citeproc-0.13/ 0000755 0000000 0000000 00000000000 07346545000 011436 5 ustar 00 0000000 0000000 citeproc-0.13/CHANGELOG.md 0000644 0000000 0000000 00000050371 07346545000 013255 0 ustar 00 0000000 0000000 # citeproc changelog
## 0.13
* Add `citationResetPosition` field to `Citation`. [API change]
When this field is set, it causes the processor to forget all
information about past citations. This affects processing of
`position`. The intended usage is to set this for the first
citation of every chapter, so that "subsequent" behavior is
reset at chapter boundaries. See #160 for discussion.
## 0.12
* Fix suppression of substituted variables for number,
short- variants (#174).
* Fix is-numeric detection for non-locators with en-dash (#175).
* Fix handling of CSL JSON formatting (i.e. handling of
tags like `` and also quotes, which are "smartified") (#170,
#173).
We were previously handling this in the wrong way, by parsing
it in the `fromText` method for `CslJson Text`. This meant that
there was no way to prevent quotes from turning into smart
quotes, even in things like URLs (see #173).
What is more, we were not handling this sort of formatting at
all in other contexts, e.g. in terms, `text` elements with a
`value`, locators, prefixes, and suffixes. The CSL tests were
passing only because the raw HTML was being passed through
verbatim, but in other formats this led to undesirable results
(see #170).
Formatting is now parsed in prefix, suffix, locator, text
value, and terms. And `fromText` is now just `CslText`, so that
purely textual values like URLs can be inserted.
We also handle the conversion of Unicode superscript characters
to explicit `.` in CSL JSON somewhat differently.
Instead of making the replacement in *parsing* CSL JSON,
which would now affect other formats too, because terms in
locales are parsed as CSL JSON, we make the replacement in
*rendering* CSL JSON. This gives us behavior consistent with
the previous behavior, with the substitution occuring in
CSL JSON output but not in Pandoc.
[API changes]
+ Citeproc.Types now exports `parseCslJson`, `lookupQuotes`,
`superscriptChars`.
+ Citeproc.Locale no longer exports `lookupQuotes`.
+ `parseCslJson` now takes an additional parameter for a Locale.
* Add StandardVariable constructor for VariableType [API change]
(#173). Also change the interpretation of StringVariable,
so that StringVariables are not parsed for quotes and HTML-like
formatting. Make URL, ISBN, etc. StringVariables.
* Test suite improvements:
+ Indicate FAILED:EXPECTED or :UNEXPECTED in output.
+ Fix formatting of columns in test summary.
## 0.11
* Expand macros in evaluation rather than style parsing (#172).
This fixes a serious performance issue in styles with heavy
use of macros, such as the new chicago styles. With this change,
memory use goes down by more than a factor of ten with these styles.
* All fields in NameFormat are now Maybe values, so we can tell what
has been explicitly set [API change].
* A new function `combineNameFormat` allows filling Nothing values
in the first argument with Just values in the second [API change].
The old defaults that were used for the non-Maybe values are
now set at the appropriate place in Citeproc.Eval.
* Add `styleNameFormat` field to Style [API change].
* Add `layoutNameFormat` to Layout [API change].
* Add parameter for a NameFormat to SortKeyMacro constructor on SortKey
[API change].
* CSL JSON: allow formatting in numeric fields (#170).
There's a catch, though. Currently the number splitting code
(`splitNums`) has to convert everything to text, so the
formatting will be lost. Still, this is better than treating
the formatting code as plain text which will then be escaped
in the output. So, for example, we get
`1er` instead of `1<sup>er</sup>` for
CSL JSON `1er`.
* Improve test suite so that expected failures are tracked.
## 0.10
* Update locales from upstream (#161). A number of new locales, as well
as new terms, e.g. `number-of-volumes`, have been added.
* Add PreserveCase constructor to TextCase [API change].
Ensure that PreserveCase is added to names that begin
with a lowercase letter. See jgm/pandoc#10983. This will
block transformations like the addition of a capital letter
at the beginning of a note citation.
* Fix handling of `` so it works with `` inside (#159).
* Put TagPrefix/TagSuffix tags only over prefix/suffix.
Previously they also enclosed the material being prefixed/suffixed.
This change has no effect on any citeproc or pandoc tests.
* Update CSL tests from upstream and adjust tests expected to pass.
Note that the expected test outputs in these tests seem out of
sync with the new locales...
* locator = "page" should not be true when there is no locator (#165).
* Add Citation prefix and suffix (#156).
This adds `citationPrefix`, `citationSuffix` fields to `Citation`
[API change].
* Fix sorting so that anything with a prefix or suffix is left in place (#155,
cf. #89). Motivating example: `blabla [e.g., @zeta2021;@alpha2020]` should
not render as (Alpha 2020, e.g., Zeta 2021).
* Fix entity-escaping of characters in the executable output (#153,
Daphne Preston-Kendal).
* Fix `is-numeric="locator"` (#164). Previously we weren't looking at the
locator in this case, but only at the variables defined in the Reference.
* Improve `is-numeric` detection.
* Add Eq typeclass instance for `Result a` (Linus Arver) [API change].
* Improve README (#167, building on suggestinos by @listx).
## 0.9.0.1
* Fix `readAsInt` so it handles negative numbers in strings.
`readAsInt` attempts to read strings as integers, but previously
it didn't properly handle strings like `"-387"`, which are
sometimes used in bibliographies. See jgm/pandoc#10839.
## 0.9
* Fix handling of `type` conditions in `if` (#151).
In an `if` element with `type="article-journal chapter"`, citeproc
previously treated this as two separate conditions
(type=article-journal, type=chapter). But it seems that the
intended behavior is to treat it as a single condition that
succeeds if any of the listed types match. The difference between
current and intended behavior comes out when `match="all"` is used;
this will always fail when `type` contains more than one type.
To fix this, we change the `HasType` constructor on `Condition`
so that it takes a list of Texts rather than single one [API change],
and we populate it with the result of splitting the argument
of `type`. In Eval, we change the clause for the HasType condition
so that it succeeds if any of the types in the list match.
* Add `--link-citations` and `--link-bibliography` options to binary
(#142, Daphne Preston-Kendal).
* Bump containers upper bound.
## 0.8.1.3
* Don't add SubstitutedVal to variables that were empty (#148).
This fixes a bug which caused `variable=` tests to succeed
in some cases where they should have failed.
## 0.8.1.2
* Allow containers 0.7 (#143)
* Update tests to use Diff >= 1.0 (#146).
* Fix `dropTextWhile` and `dropTextWhileEnd` in Citeproc.Pandoc.
Ensure that they treat SoftBreak like Space (jgm/pandoc#10451).
## 0.8.1.1
* Include `10/` prefix in short DOI links (#136).
* Properly implement `demote-non-dropping-particle="sort-only"` (#141).
We had previously gotten sorting behavior right for this, but
not display behavior.
## 0.8.1
* In Pandoc and CslJson CaseTransform, group punctuation in clusters (#127).
* Fix sorting on dates (#126). Previously this broke for some styles,
e.g. apa.csl, which styles dates as MM/DD/YYYY, and would lead to
incorrect sorting of dates with months and/or days.
* Add citation-key variable from citeId. This is a new addition in CSL 1.0.2.
* Update locales from upstream.
* Raise an error if multiple layout elements are present (#120).
* Fix two test cases. They had illegal bibliography elements with
no layout children.
* If there are multiple layout elements, only use the last one.
This can happen with CSL-M styles. The last layout should be
locale-unspecific. This change will prevent us from emitting
doubled citations or bibliographic references (see #120),
allowing more graceful handling of CSL-M styles, even though we
don't support CSL-M.
## 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
disambiguating when only one of two ambiguous names had a
subsequent citation.
* Chicago page numbering fixes.
* Update test suite form upstream.
* Handle whole-citation links differently in `secondFieldAlign` (#113,
Benjamin Bray).
* Require data-default >= 0.5.2 (#114, Bodigrim).
## 0.8
* Add `SubstitutedVal` constructor for `Val` [API change] (#101, #108).
This is used to track variables that are repressed due to substitution.
(We can't just delete them, because they still count when we have
"if" elements that check for a variable.)
* Fix logic for including a group. A group with a text node and an
empty variable should count as empty.
* CaseTransform: don't change words that are a mix of uppercase
and nonletters, like CRT1000.
* Fix label with "page" variable (#107).
* Fix error in test suite. We stripped indentation in the expected result
in some cases.
* Update fr-FR locale from upstream.
## 0.7
* Handle old term form `sub verbo` as if it is `sub-verbo` (the new form).
* Update to latest locales in CSL repository.
* Makefile: Fix update-locales target.
* Keep explicit "et al." (#102, Albert Krewinkel).
* Factor out `deleteSubstitutedVariables`.
* Add any references in `citationItemData` to references.
* Add `citationItemData` field to `CitationItem` [API change].
This corresponds to the `itemData` that can appear
in the JSON representation of a citation item.
* Add Ord, Eq instances for `Reference`, `DisambiguationData`, `Val` [API change].
## 0.6.0.1
* Ensure that position evaluates false inside bibliography (#99).
## 0.6
* Add Term parameter to TagTerm [API change].
* Add TagPrefix, TagSuffix constructors to Tag [API change].
* Make sure that extracted AuthorOnly names have the correct
formatting (#55).
* Do case-insensitive sorting, like Zotero (#91).
* Ignore "ibid" entries in computing ambiguities.
* Improved disambiguation for author-in-text citations.
* In disambiguating, convert author-in-text to normal citations.
Otherwise we disambiguate incorrectly.
* Fix title disambiguation with note style (#90).
Previously we'd been calculating ambiguities by generating
renderings for citation items independently of context.
This meant that we didn't detect ambiguities in "subsequent"
citations (which might e.g. just have an author).
* Ensure we don't do collapsing of items across a prefix or suffix (#89).
If we have `[@doe99; for contrasting views see @smith33; @doe00]`,
we don't want to get collapsing to
`(Doe 1999, 2000; for contrasting views, see Smith 1933)`.
This isn't strictly by the spec, but it gives better results.
* Allow collapsing after an initial prefix.
## 0.5
* Add `linkBibliography` field to `CiteprocOptions` [API change].
When this is set to True, we hyperlink bibliography entries according
to the draft of the CSL v1.02 spec (Appendix VI). When an entry has
a DOI, PMCID, PMID, or URL available but none of these are rendered
by the style, add a link to the title (or, if no title is present,
the whole entry), using the URL for the DOI, PMCID, PMID, or URL
(in that order of priority). (Benjamin Bray, #88.)
* In generating citation labels, only use `issued` date.
Not, for example, `accessed` (#80).
* Citeproc.Locale: export `lookupQuotes`. [API change]
* Citeproc.Types: Add `localizeQuotes` method to CiteprocOutput class
[API change].
* Citeproc.CslJson, Citeproc.Pandoc: Implement `localizeQuotes`.
* Citeproc: apply `localizeQuotes` after rendering. This ensures
that quotes are properly localized and flipflopped. Previously this
was done in `renderCslJson` (for CSL JSON) and in pandoc
(for Pandoc Inlines). It is more consistent to do this as part
of the rendering pipeline, in citeproc itself.
* Citeproc.CslJson: Drop the Locale parameter from the signature of
`renderCslJson` [breaking API change]. It was only needed for quote
localization, which now occurs outside of this function.
* Citeproc.Pandoc: use a Span with class csl-quoted for quotes,
rather than a Quoted inline. This way we can leave Quoted elements
passed in by pandoc alone, and we won't get strange effects like the
one described in #87 (where `"` behaves differently when in
a citation suffix).
* Default to Shifted with `icu` flag (#83). This makes the library
behave similarly whether compiled with `icu` or with the default
`unicode-collation` and prevents test failures with `icu`.
* Require recent text-icu with icu flag.
Older versions don't build with newer versions of icu4c.
* Support links in CslJson (Benjamin Bray). Currently they are
only supported in rendering, not parsing (in support of #88).
* Allow test cases to specify CiteprocOptions (Benjamin Bray).
* Update locales from upstream.
* Add new CSL tests to repository.
## 0.4.1
* Change Pandoc `inNote` so it creates a `Span` with class `csl-note`
rather than a `Note`. This should make it easier to integrate
citations with ordinary notes in pandoc.
* Do not hyperlink author-only citations (#77). If we do this we get
two consecutive hyperlinks for author-in-text forms.
* `movePunctuationInsideQuotes`: only move `,` and `.`, not `?` and `!`,
as per the CSL spec.
## 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.
The type constructor has changed, as has the signature of
parseLang.
* Use unicode-collation by default for more accurate sorting.
- text-icu will still be used if the icu flag is set. This may
give better performance, at the cost of depending on a large
C library.
- Change type of SortKeyValue so it doesn't embed Lang. [API change]
Instead, we now store a language-specific collator in the Eval Context.
- Move compSortKeyValues from Types to Eval.
* Add curly open quote to word splitters in normalizeSortKey.
* Improve date sorting: use the format YYYY0000 if no month, day,
and YYYYMM00 if no day when generating sort keys.
* Special treatment of literal "others" as last name in a list (#61).
When we convert bibtex/biblatex bibliographies, the form "and others"
yields a last name with nameLiteral = "others". We detect this and
generate a localized "and others" (et al).
* Make abbreviations case-insensitive (#45).
## 0.3.0.9
* Implement `et-al-subsequent-min` and `et-al-subsequent-use-first` (#60).
## 0.3.0.8
* In parsing abbreviations JSON, ignore top-level fields
besides "default" (#57), e.g. "info" which is used in Zotero's
default abbreviations file.
## 0.3.0.7
* Remove check for ASCII in case transform code.
Previously we weren't doing case transform on words
containing non-ASCII characters.
## 0.3.0.6
* Fix infinite loop in `fixPunct` (#49). In a few rare cases
`fixPunct` would hang.
## 0.3.0.5
* Add a space between "no date" term and disambiguator
if the long form is used (#47).
## 0.3.0.4
* Improve disambiguation code. Add type signatures,
move some functions to the top-level, and make the
logic clearer and more efficient.
* Re-render after each stage of ambiguity resolution
instead of relying on analysis of names and dates.
This is necessary especially for styles like
chicago-note-bibliography which use titles in
citations. Closes #44. No measurable
performance impact.
* Update test suite from upstream.
* Update `it-IT` locale.
## 0.3.0.3
* Fix author-only citations (#43). We got bad results with some
styles when a reference had both an author and a translator.
## 0.3.0.2
* Don't use cite-group delimiter if ANY citation in group has
locator (#38). This seems to be citeproc.js's behavior and it gives
better results for chicago-author-date: we want both
`[@foo20; @foo21, p. 3]` and `[@foo20, p. 3; @foo21]` to produce
a semicolon separator, rather than a comma.
## 0.3.0.1
* Better handle `initialize-with` that ends in a nonbreaking space.
In this case, citeproc should not add an additional space
or strip the nonbreaking space. Closes #37.
## 0.3
* Change `makeReferenceMap` to return a cleaned-up list of
references as well as a reference map. The cleanup-up list
removes references with duplicate ids. When there are multiple
references with the same id, the last one is included and
the others discarded. [API change]
## 0.2.0.1
* FromJSON for Name: make straight quotes curly.
Otherwise nothing will do this, when we are decoding
JSON to (Reference a), a /= CslJson Text.
* Remove redundant pragmas and imports (Albert Krewinkel).
* Use custom prelude with GHC 8.6.* and older (Albert
Krewinkel). This adds support for GHC 8.0.x.
## 0.2
* Remove `AfterOtherPunctuation` constructor from
`CaseTransformState` [API change].
This gave bad results with things like parentheses (#27).
* Change `SortKeyValue` to include `Maybe Lang` [API change].
This allows us to do locale-sensitive sorting (though this
won't matter much unless the `icu` flag is used).
* Add `Maybe Lang` parameter on `initialize` (since
capitalization can be locale-dependent).
* Add cabal.project.icu for building with icu lib.
* Add (unexported) Citeproc.Unicode compatibility module.
This allows us to use the same functions whether or not
the `icu` flag is used.
## 0.1.1.1
* Pay attention to citationNoteNumber in computing position.
In calculating whether an item is alone in its citation,
we need to take into account citationNoteNumber, since
two citations may occur in the same note and they should
not be ranked "alone." See jgm/pandoc#6813,
citation-style-language/documentation#121
## 0.1.1
* Ensure that uncited references are sorted last
when it comes to assigning citation numbers (#22).
* Remove "capitalize initial term" feature. This is required by
the test suite but not the spec. It makes more sense for us to do
this capitalization in the calling program, e.g. pandoc. For some
citations in note styles may already be in notes and thus not
trigger separate footnotes. If initial terms had been capitalized,
we'd need to uncapitalize, and that is hard to do reliably.
* Treat empty `FancyVal` as an empty value.
* Derive Functor, Traversable, Foldable for Result [API change].
## 0.1.0.3
* Better handling of author-only/suppress-author.
Previously all results of "names" elements were treated
as authors. But only the first should be (generally this
is the author, but it could be the editor of an edited
volume with no author). See jgm/pandoc#6765.
## 0.1.0.2
* Don't enclose contents of e:choose in a Formatted element (#19).
The e:choose element is "transparent" and the delimiter
controlling its formatting should be inserted between
the items it returns.
## 0.1.0.1
* Fix sorting when no `` element given. The spec says:
"In the absence of cs:sort, cites and bibliographic entries appear in
the order in which they are cited." This affects IEEE in particular. See
jgm/pandoc#6741.
* Improve `sameNames` and citation grouping. Preivously if a citation
item had a prefix, it would not be grouped with following citations.
See jgm/pandoc#6722 for discussion.
* Remove unneeded `hasNoSuffix` check in `sameNames`.
* Remove unneeded import
* `citeproc` executable: strip BOM before parsing style (#18).
## 0.1
* Initial release.
citeproc-0.13/LICENSE 0000644 0000000 0000000 00000002455 07346545000 012451 0 ustar 00 0000000 0000000 BSD 2-Clause License
Copyright (c) 2020, John MacFarlane
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
citeproc-0.13/README.md 0000644 0000000 0000000 00000012215 07346545000 012716 0 ustar 00 0000000 0000000 # citeproc
[](LICENSE)
[](https://github.com/jgm/citeproc/actions)
[](https://hackage.haskell.org/package/citeproc)
This library generates citations and bibliography formatted
according to a [CSL] style. Currently version 1.0.2 of the CSL
spec is targeted.
This library is a successor to pandoc-citeproc, which was a fork
of Andrea Rossato's citeproc-hs. I always found it difficult to
fix bugs in pandoc-citeproc and decided that implementing
citeproc from scratch would give me a better basis for
understanding. This library has a number of other advantages
over pandoc-citeproc:
- it is much faster (as a rough benchmark, running the CSL
test suite takes less than 4 seconds with this library,
compared to 12 seconds with pandoc-citeproc)
- it interprets CSL more faithfully, passing more of the CSL
tests
- it has fewer dependencies (in particular, it does not depend
on pandoc)
- it is more flexible, not being tied to pandoc's types.
Unlike pandoc-citeproc, this library does not provide an
executable. It will be used in pandoc itself to provide
integrated citation support and bibliography format conversion
(so the pandoc-citeproc filter will no longer be necessary).
[CSL]: https://docs.citationstyles.org/en/stable/specification.html
## How to use it
The main point of entry is the function `citeproc` from the
module `Citeproc`. This takes as arguments:
- a `CiteprocOptions` structure, which includes the following options:
* `linkCitations` controls whether citations are hyperlinked
to the bibliography.
* `linkBibliography` automatically linkifies any identifiers (DOI,
PMCID, PMID, or URL) appearing in a bibliography entry. When an
entry has a DOI, PMCID, PMID, or URL available but none of these
are rendered by the style, add a link to the title (or, if no title
is present, the whole entry), using the URL for the DOI, PMCID,
PMID, or URL (in that order of priority). See
[Appendix VI](https://github.com/citation-style-language/documentation/blob/master/specification.rst#appendix-vi-links)
of the CSL v1.0.2 spec.
- a `Style`, which you will want to produce by parsing a CSL
style file using `parseStyle` from `Citeproc.Style`.
- Optionally a `Lang`, which allows you to override a default locale,
- a list of `Reference`s, which you can produce from a CSL JSON
bibliography using aeson's `decode`,
- a list of `Citation`s (each of which may have multiple
`CitationItems`).
It yields a `Result`, which includes a list of formatted
citations and a formatted bibliography, as well any warnings
produced in evaluating the style.
The types are parameterized on a `CiteprocOutput` instance `a`,
which represents formatted content in your bibliographic
fields (e.g. the title). If you want a classic CSL processor,
you can use `CslJson Text`. But you can also use another type,
such as a pandoc `Inlines`. If you want to work with a type
other than these, you need to define an instance of
`CiteprocOutput` for your type. This tells citeproc how to
apply various kinds of formatting transformations, such as
adding emphasis, making things uppercase, and so on. Note that
the same type must be used for `Reference`s and `Citation`s; thus,
for example, you can't process a list of `Citation Inlines`
against references of type `Reference (CslJson Text)`.
The signature of `parseStyle` may not be self-evident:
the first argument is a function that takes a URL and
retrieves the text from that URL. This is used to fetch
the "independent parent" of a dependent style. You can supply
whatever function you like: it can search your local file
system or fetch the content via HTTP. If you're not using
dependent styles, you can get by with `\_ -> return mempty`.
## The citeproc executable
If the package is compiled with the `executable` flag, an
executable `citeproc` will be built. `citeproc` reads
a JSON-encoded `Inputs` object from `stdin` (or from
a file if a filename is provided) and writes
a JSON-encoded `Result` object to `stdout`. (It does so using
`CslJson Text` as the underlying type.) This executable
can be used to add citation processing to non-Haskell projects.
`citeproc --help` will summarize usage information. See
the [man page](man/citeproc.1.md) for more information.
## Known bugs and limitations
Although this library is much more accurate in implementing the
CSL spec than pandoc-citeproc was, it still fails some of the
tests from the CSL test suite (62/818). However, most of the
failures are on minor corner cases, and in many cases the
expected behavior goes beyond what is required by the CSL spec.
(For example, we intentionally refrain from capitalizing
terms in initial position in note styles. It makes more sense
for the calling program, e.g. pandoc, to do the capitalization
when it puts the citations in notes, since some citations
in note styles may already be in notes and in this case
their rendering may not require capitalization. It is easy
to capitalize reliably, hard to uncapitalize reliably.)
citeproc-0.13/app/ 0000755 0000000 0000000 00000000000 07346545000 012216 5 ustar 00 0000000 0000000 citeproc-0.13/app/Main.hs 0000644 0000000 0000000 00000016101 07346545000 013435 0 ustar 00 0000000 0000000 {-# LANGUAGE CPP #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE ScopedTypeVariables #-}
module Main where
import Citeproc
import Citeproc.CslJson
import Control.Monad (when, unless, foldM)
import Control.Applicative ((<|>))
import Data.Bifunctor (second)
import Data.Maybe (fromMaybe)
import Data.Text (Text)
import qualified Data.Text as T
import qualified Data.Text.IO as TIO
import qualified Data.ByteString.Lazy as BL
import qualified Data.Aeson as Aeson
import Data.Aeson.Encode.Pretty as AesonPretty
import Data.Ord (comparing)
import System.IO
import System.Exit
import System.Environment
import System.Console.GetOpt
main :: IO ()
main = do
rawargs <- getArgs
let (opts, args, errs) = getOpt Permute options rawargs
unless (null errs) $ do
mapM_ err errs
exitWith $ ExitFailure 1
opt <- foldM (flip ($)) defaultOpt opts
when (optHelp opt) $ do
putStr $ usageInfo "citeproc [OPTIONS] [FILE]" options
exitSuccess
when (optVersion opt) $ do
putStrLn $ "citeproc version " ++ VERSION_citeproc
exitSuccess
format <- case optFormat opt of
Just "html" -> return Html
Just "json" -> return Json
Just _ -> err "--format must be html or json"
Nothing -> return Html
bs <- case args of
[] -> BL.getContents
(f:_) -> BL.readFile f
case Aeson.eitherDecode bs of
Left e -> err e
Right (inp :: Inputs (CslJson Text)) -> do
stylesheet <- case optStyle opt of
Just fp -> T.dropWhile (=='\xFEFF') <$> -- drop BOM
TIO.readFile fp
Nothing ->
case inputsStyle inp of
Just s -> return s
Nothing -> err "No style specified"
references <- case optReferences opt of
Just fp -> do
raw <- BL.readFile fp
case Aeson.eitherDecode raw of
Left e -> err e
Right rs -> return rs
Nothing ->
case inputsReferences inp of
Just rs -> return rs
Nothing -> err "No references specified"
abbreviations <- case optAbbreviations opt of
Just fp -> do
raw <- BL.readFile fp
case Aeson.eitherDecode raw of
Left e -> err e
Right ab -> return $ Just ab
Nothing -> return $ inputsAbbreviations inp
let lang = optLang opt <|> inputsLang inp
parseResult <-
parseStyle (\_ -> return mempty) stylesheet
case parseResult of
Left e -> err (T.unpack $ prettyCiteprocError e)
Right parsedStyle -> do
let style = parsedStyle{ styleAbbreviations = abbreviations }
let result=
citeproc
defaultCiteprocOptions
{ linkCitations = optLinkCitations opt
, linkBibliography = optLinkBibliography opt
}
style
lang
references
(fromMaybe [] (inputsCitations inp))
let jsonResult :: Aeson.Value
jsonResult =
case format of
Json -> Aeson.object
[ ("citations", Aeson.toJSON $
map cslJsonToJson
(resultCitations result))
, ("bibliography", Aeson.toJSON $
map (second cslJsonToJson)
(resultBibliography result))
, ("warnings", Aeson.toJSON $ resultWarnings result)
]
Html -> Aeson.object
[ ("citations", Aeson.toJSON $
map cslJsonToHtml
(resultCitations result))
, ("bibliography", Aeson.toJSON $
map (second cslJsonToHtml)
(resultBibliography result))
, ("warnings", Aeson.toJSON $ resultWarnings result)
]
where cslJsonToHtml el =
renderCslJson True mempty el
BL.putStr $ AesonPretty.encodePretty'
AesonPretty.defConfig
{ confIndent = AesonPretty.Spaces 2
, confCompare = AesonPretty.keyOrder
["citations","bibliography","warnings"]
`mappend` comparing T.length
, confTrailingNewline = True }
jsonResult
data Format = Json | Html deriving (Show, Ord, Eq)
data Opt =
Opt{ optStyle :: Maybe String
, optReferences :: Maybe String
, optAbbreviations :: Maybe String
, optFormat :: Maybe String
, optLang :: Maybe Lang
, optLinkCitations :: Bool
, optLinkBibliography :: Bool
, optHelp :: Bool
, optVersion :: Bool
} deriving Show
defaultOpt :: Opt
defaultOpt =
Opt { optStyle = Nothing
, optReferences = Nothing
, optAbbreviations = Nothing
, optFormat = Nothing
, optLang = Nothing
, optLinkCitations = False
, optLinkBibliography = False
, optHelp = False
, optVersion = False
}
options :: [OptDescr (Opt -> IO Opt)]
options =
[ Option ['s'] ["style"]
(ReqArg (\fp opt -> return opt{ optStyle = Just fp }) "FILE")
"CSL style file"
, Option ['r'] ["references"]
(ReqArg (\fp opt -> return opt{ optReferences = Just fp }) "FILE")
"CSL JSON bibliography"
, Option ['a'] ["abbreviations"]
(ReqArg (\fp opt -> return opt{ optAbbreviations = Just fp }) "FILE")
"CSL abbreviations table"
, Option ['l'] ["lang"]
(ReqArg (\lang opt ->
case parseLang (T.pack lang) of
Right l -> return opt{ optLang = Just l }
Left msg -> err $ "Could not parse language tag:\n" ++ msg)
"BCP 47 language tag")
"Override locale"
, Option ['f'] ["format"]
(ReqArg (\format opt -> return opt{ optFormat = Just format }) "html|json")
"Controls formatting of entries in result"
, Option [] ["link-citations"]
(NoArg (\opt -> return opt{ optLinkCitations = True }))
"Enable hyperlinking of citations to the bibliography"
, Option [] ["link-bibliography"]
(NoArg (\opt -> return opt{ optLinkBibliography = True }))
"Enable hyperlinking of bibliography entries"
, Option ['h'] ["help"]
(NoArg (\opt -> return opt{ optHelp = True }))
"Print usage information"
, Option ['V'] ["version"]
(NoArg (\opt -> return opt{ optVersion = True }))
"Print version number"
]
err :: String -> IO a
err s = do
hPutStrLn stderr s
exitWith $ ExitFailure 1
citeproc-0.13/cabal.project 0000644 0000000 0000000 00000000106 07346545000 014065 0 ustar 00 0000000 0000000 packages: citeproc.cabal
package citeproc
flags: -icu +executable
citeproc-0.13/citeproc.cabal 0000644 0000000 0000000 00000012535 07346545000 014240 0 ustar 00 0000000 0000000 cabal-version: 2.2
name: citeproc
version: 0.13
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
entries. For more information about CSL, see
.
license: BSD-2-Clause
license-file: LICENSE
author: John MacFarlane
maintainer: jgm@berkeley.edu
copyright: 2020 John MacFarlane
category: Text
build-type: Simple
extra-doc-files: README.md
, CHANGELOG.md
extra-source-files: stack.yaml
cabal.project
locales/*.xml
locales/locales.json
man/citeproc.1.md
man/citeproc.1
test/NOTES.md
test/csl/*.txt
test/extra/*.txt
test/overrides/*.txt
source-repository head
type: git
location: https://github.com/jgm/citeproc.git
flag icu
description: Use Haskell bindings to the ICU library
default: False
flag executable
description: Build citeproc executable
default: False
common hie-options
if impl(ghc >= 8.8)
ghc-options: -fwrite-ide-info -hiedir=.hie
library
import: hie-options
hs-source-dirs: src
exposed-modules: Citeproc
Citeproc.Types
Citeproc.Locale
Citeproc.Style
Citeproc.CslJson
Citeproc.Pandoc
Citeproc.Eval
Citeproc.CaseTransform
other-modules: Citeproc.Element
Citeproc.Data
Citeproc.Unicode
build-depends: base >= 4.8 && < 5
, safe
, bytestring
, text
, containers >= 0.6.0.1 && < 0.9
, transformers >= 0.5.6 && < 0.7
, case-insensitive >= 1.2 && < 1.3
, vector
, scientific
, uniplate
, xml-conduit
, attoparsec
, data-default >= 0.5.2
, aeson
, filepath
, file-embed
, pandoc-types >= 1.22 && < 1.24
, unicode-collation >= 0.1.3 && < 0.2
-- , pretty-show
if flag(icu)
build-depends: text-icu >= 0.7.1.0
ghc-options: -Wall
-Wincomplete-record-updates
-Wcompat
-Widentities
-Wredundant-constraints
if impl(ghc >= 8.2)
ghc-options: -Wcpp-undef
if impl(ghc >= 8.4)
ghc-options: -Wincomplete-uni-patterns
-Widentities
-Werror=missing-home-modules
-fhide-source-paths
if impl(ghc < 8.8)
build-depends: base-compat >= 0.10
hs-source-dirs: prelude
other-modules: Prelude
default-language: Haskell2010
executable citeproc
import: hie-options
hs-source-dirs: app
main-is: Main.hs
build-depends: base >= 4.8 && < 5
, citeproc
, bytestring
, text
, aeson
, aeson-pretty
ghc-options: -Wall
-Wincomplete-record-updates
-Wcompat
-Widentities
-Wredundant-constraints
-optP-Wno-nonportable-include-path
if impl(ghc >= 8.2)
ghc-options: -Wcpp-undef
if impl(ghc >= 8.4)
ghc-options: -Wincomplete-uni-patterns
-Widentities
-fhide-source-paths
default-language: Haskell2010
if flag(executable)
buildable: True
else
buildable: False
test-suite spec
import: hie-options
type: exitcode-stdio-1.0
hs-source-dirs: test
main-is: Spec.hs
build-depends: base >= 4.8 && < 5
, citeproc
, bytestring
, text
, containers
, directory
, transformers
, mtl
, timeit
, Diff >= 1.0
, pretty
, filepath
, aeson
ghc-options: -Wall
-threaded
-rtsopts
-with-rtsopts=-N
-Wincomplete-record-updates
-Wcompat
-Widentities
-Wredundant-constraints
if impl(ghc >= 8.2)
ghc-options: -Wcpp-undef
if impl(ghc >= 8.4)
ghc-options: -Wincomplete-uni-patterns
-Widentities
-Werror=missing-home-modules
-fhide-source-paths
default-language: Haskell2010
citeproc-0.13/locales/ 0000755 0000000 0000000 00000000000 07346545000 013060 5 ustar 00 0000000 0000000 citeproc-0.13/locales/af-ZA.xml 0000644 0000000 0000000 00000071462 07346545000 014512 0 ustar 00 0000000 0000000
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License
2012-07-04T23:31:02+00:00
aanlyn voordrukweergawe
album
klankopname
film
voortaan
loc.cit.
sine loco
s.l.
sine nomine
s.n.
op
op.cit.
oorspronklik gepubliseer
persoonlike kommunikasie
podsending
podsendingepisode
voordruk
radio-uitsending
radioreeks
radioreeksepisode
spesiale uitgawe
spesiale afdeling
televisie-uitsending
televisiereeks
televisiereeksepisode
video
konsepdokument
geraadpleeg
en
e.a.
anoniem
anon.
by
beskikbaar by
deur
circa
ca.
aangehaal
verwysing
verwysings
nommer
nommers
uitgawe
uitgawes
verw.
verws.
nr.
nrs.
uitg.
et al.
voorhande
van
ibid.
in
ter perse
internet
brief
sonder jaar
s.j.
aanlyn
gelewer by die
verwysing
verwysings
verw.
verws.
resensie van
resensie v.
geraadpleeg
skaal
weergawe
voordruk-artikel
joernaalartikel
tydskrifartikel
koerantartikel
wetsontwerp
uitsending
klassieke werk
versameling
datastel
dokument
inskrywing
woordeboekinskrywing
ensiklopedie-inskrywing
geleentheid
visuele materiaal
verhoor
onderhoud
regsaak
wetgewing
manuskrip
kaart
video-opname
musiekpartituur
pamflet
kongresartikel
patent
optrede
tydskrif
persoonlike kommunikasie
inskrywing
bloginskrywing
regulasie
verslag
resensie
boekresensie
sagteware
klankopname
lesing
norm
tesis
verdrag
webblad
joernaalart.
tydskrifart.
koerantart.
dok.
visuele mat.
interv.
ms.
video rec.
rep.
rev.
bk. rev.
audio rec.
getuienis gelewer deur
geresenseer deur
boekresensie van
AD
v.C.
VAJ
AJ
“
”
‘
’
–
:
,
;
ste
ste
de
de
de
de
de
de
ste
de
de
de
de
de
de
de
de
de
de
de
ste
eerste
tweede
derde
vierde
vyfde
sesde
sewende
agste
negende
tiende
bedryf
bedrywe
bylaag
bylae
artikel
artikels
kanon
kanons
posisie
posisies
vergelyking
vergelykings
bepaling
bepalings
toneel
tonele
tabel
tabelle
titel
titels
boek
boeke
hoofstuk
hoofstukke
kolom
kolomme
figuur
figure
folio
folio's
nommer
nommers
reël
reëls
aantekening
aantekeninge
opus
opera
bladsy
bladsye
volume
volumes
pagina
paginas
druk
drukke
hfst.
hfste.
verw.
verws.
nr.
pagina
paginas
paragraaf
paragrawe
deel
dele
afdeling
afdelings
bylaag
bylae
sub verbo
sub verbis
vers
verse
volume
volumes
byl.
byl.
art.
arts.
loc.
locs.
verg.
vergs.
bep.
beps.
sc.
scs.
tab.
tabs.
tit.
tits.
bk.
hfst.
kol.
fig.
fol.
nr.
r.
aant.
op.
bl.
ble.
vol.
vols.
p.
pp.
dr.
dre.
p.
pp.
par.
dl.
afd.
byl.
byl.
s.v.
s.vv.
vs.
vse.
vol.
vols.
¶
¶¶
chapter
chapters
citation
citations
number
numbers
§
§§
redakteur
redakteurs
voorsitter
voorsitters
samesteller
samestellers
bydraer
bydraers
kurator
kuratore
uitvoerende vervaardiger
uitvoerende vervaardigers
gas
gaste
aanbieder
aanbieders
verteller
vertellers
organiseerder
organiseerders
kunstenaar
kunstenaars
vervaardiger
vervaardigers
draaiboekskrywer
draaiboekskrywers
reeksskepper
reeksskeppers
regisseur
regisseurs
redakteur
redakteurs
reeksredakteur
reeksredakteurs
illustreerder
illustreerders
vertaler
vertalers
redakteur & vertaler
redakteurs & vertalers
samest.
samest.
bydraer
bydraers
cur.
curs.
exec. prod.
exec. prods.
vert.
verts.
org.
orgs.
perf.
perfs.
prod.
prods.
skr.
skrs.
cre.
cres.
reg.
regs.
red.
reds.
red.
reds.
ill.
ills.
vert.
verts.
red. & vert.
reds. & verts.
onder redaksie van
onder voorsitterskap van
saamgestel deur
met
onder kurasie van
uitvoerend vervaardig deur
met verskyning deur
aangebied deur
vertel deur
georganiseer deur
uitgevoer deur
vervaardig deur
geskryf deur
geskep deur
deur
onder regie van
geredigeer deur
onder redaksie van
geïllustreer deur
onderhoud gevoer deur
aan
resensie van
geredigeer deur
vertaal deur
geredigeer en vertaal deur
opg. deur
met
gekureer deur
exec. prod. by
w. guest
hosted by
vertel
georg. deur
perf. by
prod. by
geskr. deur
cre. by
gedir. deur
o.r.v.
o.r.v.
geïill. deur
vert. deur
gered. & vert. deur
Januarie
Februarie
Maart
April
Mei
Junie
Julie
Augustus
September
Oktober
November
Desember
Jan.
Feb.
Mrt.
Apr.
Mei
Jun.
Jul.
Aug.
Sep.
Okt.
Nov.
Des.
Lente
Somer
Herfs
Winter
citeproc-0.13/locales/ar.xml 0000644 0000000 0000000 00000055262 07346545000 014216 0 ustar 00 0000000 0000000
abdealikhurrum
Dr. Ayman Saleh
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License
2012-07-04T23:31:02+00:00
advance online publication
album
audio recording
film
henceforth
loc. cit.
no place
n.p.
no publisher
n.p.
on
op. cit.
original work published
اتصال شخصي
podcast
podcast episode
preprint
radio broadcast
radio series
radio series episode
special issue
special section
television broadcast
television series
television series episode
video
working paper
تاريخ الوصول
و
وآخرون
مجهول
مجهول
عند
موجود في
عن طريق
حوالي
حوالي
وثق
reference
references
number
numbers
الطبعة
الطبعات
ref.
refs.
no.
nos.
ط
وآخرون
التالي
من
المرجع السابق
في
قيد النشر
انترنت
خطاب
دون تاريخ
د.ت
مباشر على الإنترنت
قُدَّم في
مرجع
مراجع
مرجع
مراجع
review of
rev. of
استرجع في
السلم الموسيقي
إصدار
preprint
journal article
magazine article
newspaper article
bill
broadcast
classic
collection
dataset
document
entry
dictionary entry
encyclopedia entry
event
graphic
hearing
مقابلة
legal case
legislation
manuscript
map
video recording
musical score
pamphlet
conference paper
patent
performance
periodical
اتصال شخصي
post
blog post
regulation
report
review
book review
software
audio recording
presentation
standard
thesis
treaty
webpage
journal art.
mag. art.
newspaper art.
doc.
graph.
interv.
MS
video rec.
rep.
rev.
bk. rev.
audio rec.
testimony of
review of
review of the book
ب.م.
ق.م.
BCE
CE
"
"
'
'
–
:
,
;
الأول
الثاني
الثالث
الرابع
الخامس
السادس
السابع
الثامن
التاسع
العاشر
act
acts
appendix
appendices
article
articles
canon
canons
location
locations
equation
equations
rule
rules
scene
scenes
table
tables
title
titles
كتاب
كتب
فصل
فصول
عمود
أعمدة
رسم توضيحي
رسوم توضيحية
ورقة
أوراق
عدد
أعداد
سطر
أسطر
ملاحظة
ملاحظات
نوته موسيقية
نوتات موسيقية
صفحة
صفحات
volume
volumes
page
pages
printing
printings
chap.
chaps.
cit.
cits.
عدد
صفحة
صفحات
فقرة
فقرات
جزء
أجزاء
قسم
أقسام
supplement
supplements
تفسير فرعي
تفسيرات فرعية
بيت شعر
أبيات شعر
مجلد
مجلدات
app.
apps.
art.
arts.
loc.
locs.
eq.
eqs.
r.
rr.
sc.
scs.
tbl.
tbls.
tit.
tits.
كتاب
فصل
عمود
رسم توضيحي
مطوية
عدد
سـ
ملاحظة
نوتة موسيقية
ص
ص
vol.
vols.
p.
pp.
print.
prints.
ص
ص
فقرة
ج
قسم
supp.
supps.
تفسير فرعي
تفسيرات فرعية
بيت شعر
أبيات شعر
م
م
¶
¶¶
chapter
chapters
citation
citations
عدد
أعداد
§
§§
ed.
eds.
chair
chairs
compiler
compilers
contributor
contributors
curator
curators
executive producer
executive producers
guest
guests
host
hosts
narrator
narrators
organizer
organizers
performer
performers
producer
producers
writer
writers
series creator
series creators
إدارة
تحقيق
إدارة التحرير
رسوم
ترجمة
ترجمة وتحقيق
comp.
comps.
contrib.
contribs.
cur.
curs.
exec. prod.
exec. prods.
narr.
narrs.
org.
orgs.
perf.
perfs.
prod.
prods.
writ.
writs.
cre.
cres.
edited by
chaired by
compiled by
with
curated by
executive produced by
with guest
hosted by
narrated by
organized by
performed by
produced by
written by
created by
إنشاء
إشراف
تحقيق
إعداد
رسوم
مقابلة مع
المستلم
مراجعة
ed. by
ترجمة
تحقيق وترجمة
comp. by
w.
cur. by
exec. prod. by
w. guest
hosted by
narr. by
org. by
perf. by
prod. by
writ. by
cre. by
يناير
فبراير
مارس
أبريل
مايو
يونيو
يوليو
أغسطس
سبتمبر
أكتوبر
نوفمبر
ديسمبر
يناير
فبراير
مارس
أبريل
مايو
يونيو
يوليو
أغسطس
سبتمبر
أكتوبر
نوفمبر
ديسمبر
ربيع
صيف
خريف
شتاء
citeproc-0.13/locales/bal-PK.xml 0000644 0000000 0000000 00000042721 07346545000 014656 0 ustar 00 0000000 0000000
عثمان
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License
2024-03-24T07:49:00+00:00
رسایی کرتگ
دیما شتگیں تندتاک
البم
ءُ
آ دِگه
گمنام
پر
تواربند
رسان پر
گون
کم ءُ گیش
سرشون داته
آ دِگه
تامُر
آیوک
از
چد ءُ رند
ایزن
در
در چاپار
نٹ
چٹی
ایزن
بے رمس
بے جاه
بے شنگکار
پر
تندیم
ایزن
اسلیں کار شنگ کرتگ
زاتییں رسانک
پاڈکسٹ
پاڈکسٹ اپیسوڈ
پریپرنٹ
پیش کرتگ پر
ریڈیو براڈکسٹ
ریڈیو ردیگ
ریڈیو ردیگ
سرشون
سرشون
هاسل کرتگ
چمشانک از
سکیل
هاسیں تاک
هاسین باب
ٹیوی براڈکسٹ
ٹیوی ردیگ
ٹیوی اپیسوڈ
ویڈیو
ورکنگ پیپر
پریپرنٹ
نبشتانک
میگزینءِ نبشتانک
اکبارءِ نبشتانک
بِل
براڈکسٹ
کلیسک
جمانک
ڈیٹاسٹ
مدرک
اندراج
لبزبلدءِ اندراج
زانتگنجءِ اندراج
گندک
نگاری
سمایت
هالتران
شر
کانودسازی
دزنبشت
نکشه
ویڈیو ریکارڈ
زیمرییں سکور
پمپلٹ
کانفرنس پیپر
پیٹنٹ
ناٹک
تیلبند
زاتییں رسانک
پُسٹ
بلاگ پُسٹ
ریگولیشن
اهوال
چمشانک
کتابءِ چمشانک
نرمابزار
تواربند
گشتانک
انجار
تهیسس
پیمان
تندیم
سبوت داته از
چمشانک کرتگ از
کتابءِ چمشانک کرتگ از
میلادی
پیشمیلاد
پیشمیلاد
میلادی
”
“
’
‘
–
:
،
؛
می
یکمی
دومی
سیمی
چارمی
پنچمی
ششمی
هپتمی
هشتمی
نهمی
دهمی
ایکٹ
ایکٹ
زمیمه
زمیمه
نبشتانک
نبشتانک
کتاب
کتاب
کانون
کانون
در
در
تنب
تنب
جاه
جاه
مساوات
مساوات
تسویر
تسویر
پولیو
پولیو
تاک
تاک
بند
بند
نوٹ
نوٹ
کارنامه
کارنامه
تاکدیم
تاکدیم
بهرگ
بهرگ
بهر
بهر
رول
رول
ندارگ
ندارگ
باب
باب
زیر کلمه
زیر کلمه
لاهک
لاهک
ٹیبل
ٹیبل
سرگال
سرگال
لچه
لچه
ورژن
ورژن
جلد
جلد
¶
¶¶
§
§§
در
در
سرشون
سرشون
نمبر
نمبر
چاپرد
چاپرد
سرشون
سرشون
نمبر
نمبر
تاکدیم
تاکدیم
جلد
جلد
تاکدیم
تاکدیم
چاپکاری
چاپکاری
چیر
چیر
شونکار
شونکار
نزاروک
نزاروک
بهرشتکار
بهرشتکار
کیوریٹر
کیوریٹر
سوجکار
سوجکار
شونکار
شونکار
شونکار ءُ رجانکار
شونکار ءُ رجانکار
سرشونکار
سرشونکار
انتزامیه
انتزامیه
مهمان
مهمان
واسیدار
واسیدار
مسور
مسور
راوی
راوی
برجمدار
برجمدار
ازمکار
ازمکار
پروڈیوسر
پروڈیوسر
لبزانت
لبزانت
ردیگءِ ساچشتکار
ردیگءِ ساچشتکار
رجانکار
رجانکار
نبشته گون
چیر کرتگ گون
ردینته گون
نزآرته گون
پربسته گون
نبشته گون
بهرشته گون
کیوریٹ کرتگ گون
سوج داته گون
ردینته گون
ردینته ءُ رجانک کرتگ گون
ردینته گون
انتزامیه گون
مهمان گون
واسیدار گون
مسور گون
انٹرویو گون
راوی گون
واسیدار گون
نبشته گون
ازمکاری گون
پروڈیوس کرتگ گون
په
نبشته گون
نبشته گون
ساچشته گون
رجانک کرتگ گون
جنوری
پروری
مارچ
اپریل
میی
جون
جلاییی
اگست
ستمبر
اکتوبر
نومبر
دسمبر
جنو
پرو
مار
اپر
میی
جون
جلا
اگس
ستم
اکت
نوم
دسم
بهار
گرماگ
توهمشان
زمستان
citeproc-0.13/locales/bg-BG.xml 0000644 0000000 0000000 00000064760 07346545000 014475 0 ustar 00 0000000 0000000
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License
2024-03-12T14:00:50+00:00
Valeriya Simeonova
simeonova@fmi.uni-sofia.bg
http://www.mendeley.com/profiles/valeriya-simeonova/
advance online publication
album
audio recording
film
henceforth
loc. cit.
no place
n.p.
no publisher
n.p.
on
op. cit.
original work published
лична комуникация
podcast
podcast episode
preprint
radio broadcast
radio series
radio series episode
special issue
special section
television broadcast
television series
television series episode
video
working paper
отворен на
и
и други
анонимен
анон.
в
достъпен на
от
около
ок.
цитиран
reference
references
number
numbers
издание
издания
ref.
refs.
no.
nos.
изд.
и съавт.
предстоящ
от
пак там
в
под печат
интернет
писмо
без дата
б.д.
онлайн
представен на
източник
източници
изт.
изт.
review of
rev. of
изтеглен на
скала
версия
preprint
journal article
magazine article
newspaper article
bill
broadcast
classic
collection
dataset
document
entry
dictionary entry
encyclopedia entry
event
graphic
hearing
интервю
legal case
legislation
manuscript
map
video recording
musical score
pamphlet
conference paper
patent
performance
periodical
лична комуникация
post
blog post
regulation
report
review
book review
software
audio recording
presentation
standard
thesis
treaty
webpage
journal art.
mag. art.
newspaper art.
doc.
graph.
interv.
MS
video rec.
rep.
rev.
bk. rev.
audio rec.
testimony of
review of
review of the book
сл.хр.
пр.хр.
BCE
CE
„
“
„
“
–
:
,
;
то
во
ро
то
во
ро
то
ти
ви
ри
ти
ви
ри
ти
та
ва
ра
та
ва
ра
та
първo
вторo
третo
четвъртo
петo
шестo
седмo
осмo
деветo
десетo
първи
втори
трети
четверти
пети
шести
седми
осми
девети
десети
първа
втора
трета
четверта
пета
шеста
седма
осма
девета
десета
act
acts
appendix
appendices
article
articles
canon
canons
location
locations
equation
equations
rule
rules
scene
scenes
table
tables
title
titles
книга
книги
глава
глави
колона
колони
фигура
фигури
фолио
фолия
брой
броеве
ред
редове
бележка
бележки
опус
опуси
страница
страници
volume
volumes
page
pages
printing
printings
chap.
chaps.
cit.
cits.
брой страници
абзац
абзаци
част
части
раздел
раздели
supplement
supplements
под раздел
под раздели
стихотворение
стихове
том
томове
app.
apps.
art.
arts.
loc.
locs.
eq.
eqs.
r.
rr.
sc.
scs.
tbl.
tbls.
tit.
tits.
кн.
гл.
кол.
фиг.
фол.
бр.
р.
бел.
оп.
стр.
vol.
vols.
p.
pp.
print.
prints.
бр.стр.
абз.
ч.
разд.
supp.
supps.
подразд.
ст.
том
томове
¶
¶¶
chapter
chapters
citation
citations
брой
броеве
§
§§
ed.
eds.
chair
chairs
compiler
compilers
contributor
contributors
curator
curators
executive producer
executive producers
guest
guests
host
hosts
narrator
narrators
organizer
organizers
performer
performers
producer
producers
writer
writers
series creator
series creators
режисьор
редактор
редактори
главен редактор
редакторски колектив
илюстрации
преводач
преводачи
editor & translator
editors & translators
comp.
comps.
contrib.
contribs.
cur.
curs.
exec. prod.
exec. prods.
narr.
narrs.
org.
orgs.
perf.
perfs.
prod.
prods.
writ.
writs.
cre.
cres.
реж.
ред.
ред.кол.
гл.ред.
гл.ред.кол.
ил.
прев
прев.кол.
ред. & прев.
ред.кол. & прев.
edited by
chaired by
compiled by
with
curated by
executive produced by
with guest
hosted by
narrated by
organized by
performed by
produced by
written by
created by
от
под общата редакция на
редактиран от
главен редактор
илюстрации от
интервюиран от
до
рецензент
ed. by
преведен от
редактирано & преведено от
comp. by
w.
cur. by
exec. prod. by
w. guest
hosted by
narr. by
org. by
perf. by
prod. by
writ. by
cre. by
п.о.р.
ред.
гл.ред.
ил.
прев.
ред. & прев. от
Януари
Февруари
Март
Април
Май
Юни
Юли
Август
Септември
Октомври
Ноември
Декември
Яну
Фев
Мар
Апр
Май
Юни
Юли
Авг
Сеп
Окт
Ное
Дек
Пролет
Лято
Есен
Зима
citeproc-0.13/locales/brh-PK.xml 0000644 0000000 0000000 00000043307 07346545000 014674 0 ustar 00 0000000 0000000
عثمان
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License
2024-03-31T09:48:00+00:00
رسوخ کرے
پیشگی آن لائن چھاپ
البم
پر
پین پین
گم پن
اوڑیک
آڈیو ریکارڈ
داڑیک دوبروک
اونگان
تقریباً
حوالہ تس
پین پین
فلم
بردورہٹی
ایکان
اینگی
ایضاً
اونگی
چھاپہٹی
انٹرنیٹ
چٹھی
ایضاً
بے تاریخ
بے جاگہ
بے چھاپہ خانہ
زی
آن لائن
ایضاً
اصل کار چھاپ کرے
ذاتی ہیت
پاڈکاسٹ
پاڈکاسٹ ایپیسوڈ
پریپرنٹ
کانفرنس
ریڈیو تالان کننگ
ریڈیو سلسلہ
ریڈیو ایپیسوڈ
حوالہ
حوالہغاک
حاصل کرے
ریویوکہ
سکیل
خاص شمارہ
خاص جز
ٹیلی ویژن تالان کننگ
ٹیلی ویژن سلسلہ
ٹیلی ویژن ایپیسوڈ
ویڈیو
ورکنگ پیپر
مضمون
جرنیلنا مضمون
میگزیننا مضمون
اخبارنا مضمون
بِل
تالان کننگ
کلیسک
مجموعہ
ڈیٹا سیٹ
دستاویز
اندراج
ڈکشنرینا اندراج
انسائیکلو پیڈیانا اندراج
واقعہ
نگاری
پیشی
انٹرویو
مقدمہ
قانود نامہ
مسودہ
نقشہ
ویڈیو ریکارڈ
سازی سکور
پمفلٹ
کانفرنس پیپر
پیٹنٹ
ناٹک
مدتنا چھاپ
ذاتی ہیت
پوسٹ
بلاگ پوسٹ
ضابطہ
روداد
ریویو
کتابی ریویو
سافٹویر
آڈیو ریکارڈ
تران
علمدار
تهیسس
عہد نامہ
ویب پنہ
پیشیکہ
ریویوکہ
کتابنا ریویوکہ
عیسوی سن
مست عیسوی سن
مست عام سن
عام سن
”
“
’
‘
–
:
،
؛
میکو
لیکو
میکو
اولیکو
ارٹمیکو
مسٹمیکو
چارمیکو
پنچمیکو
ششمیکو
ہفتمیکو
ہشتمیکو
نوہمیکو
دہمیکو
ایکٹ
ایکٹاک
ضمیمہ
ضمیمہغاک
مضمون
مضمونک
کتاب
کتاباک
قانود
قانوداک
در
دک
کالم
کالمک
جاگہ
جاگہغاک
مساوات
مساواتاک
تصویر
تصویک
فولیو
فولیوک
شمارہ
شمارہغاک
قطار
قطاک
نوٹ
نوٹاک
کارنامہ
کارنامہغاک
پنہ
پنہغاک
بہرگ
بہرگاک
حصہ
حصہغاک
رول
رولک
سین
سینک
جز
جزک
زیر کلمہ
زیر کلمہغاک
لاحق
لاحقاک
ٹیبل
ٹیبلک
سرورق
سرورقاک
شعر
شعک
ورژن
ورژنک
جلد
جلداک
¶
¶¶
§
§§
در
دک
حوالہ
حوالہغاک
نمبر
نمبک
چھاپ
چھاپاک
حوالہ
حوالہغاک
نمبر
نمبک
پنہ
پنہغاک
جلد
جلداک
پنہ
پنہغاک
ٹپو
ٹپوک
چیر
چیک
ایڈٹر
ایڈٹک
سرجم کروک
سرجم کروکاک
حصہ دار
حصہ داک
کیوریٹر
کیودیٹک
ڈائریکٹر
ڈائریکٹک
ایڈٹر
ایڈٹک
ایڈٹر & مترجم
ایڈٹک & مترجمک
ایڈٹر
ایڈٹک
انتظامیہ
انتظامیہ
مہمان
مہمانک
مہمانی کروک
مہمانی کروکاک
مصور
مصوک
راوی
راویک
تنظیم کروک
نظیم کروکاک
فنکار
فنکاک
پیدا کروک
پیدا کروکاک
لکھوک
لکھوکاک
سلسلہ ودی کروک
سلسلہ ودی کروکاک
مترجم
مترجمک
لکھوکٹ
چیرٹ
ایڈٹرٹ
سرجم کروکٹ
ترکیب کروک
لکھوکٹ
حصہ دارٹ
کیوریٹرٹ
ڈائریکٹرٹ
ایڈٹرٹ
مترجمٹ & ایڈٹرٹ
ایڈٹرٹ
انتظامیٹ
مہمانٹ
مہمانی کروکٹ
مصورٹ
انٹرویوئٹ
راویئٹ
تنظیم کروکٹ
لکھوکٹ
فنکارٹ
پیدا کروکٹ
وصول کروکٹ
لکھوکٹ
لکھوکٹ
سلسلہ ودی کروکٹ
مترجمٹ
جنوری
فروری
مارچ
اپریل
مئی
جون
جلائی
اگست
ستمبر
اکتوبر
نومبر
دسمبر
جنو
فرو
مار
اپر
مئی
جون
جلا
اگس
ستم
اکت
نوم
دسم
ہتم
تیرمہ
خزان
سیڷ
citeproc-0.13/locales/ca-AD.xml 0000644 0000000 0000000 00000062657 07346545000 014467 0 ustar 00 0000000 0000000
anidal
javimat
jotaemi
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License
2012-07-04T23:31:02+00:00
avançament de publicació en línia
àlbum
enregistrament d'àudio
pel·lícula
en endevant
loc. cit.
sense lloc
s.l.
sense nom
s.n.
a
op. cit.
obra original publicada el
comunicació personal
pòdcast
capítol de pòdcast
preprint
emissió de ràdio
sèrie de ràdio
capítol de sèrie de ràdio
número especial
secció especial
emissió de televisió
sèrie de televisió
capítol de sèrie de televisió
vídeo
working paper
consulta
i
i altres
anònim
anòn.
a
disponible a
per
circa
c.
citat
referència
referències
número
números
edició
edicions
ref.
refs.
núm.
núms.
ed.
et al.
previst
de
ibíd.
dins
en impremta
internet
carta
sense data
s.d.
en línia
presentat a
referència
referències
ref.
ref.
ressenya de
res. de
recuperat
escala
versió
preprint
article de revista acadèmica
article de revista
article de diari
projecte de llei
emissió
clàssic
col·lecció
dataset
document
entrada
entrada de diccionari
entrada d'enciclopèdia
esdeveniment
gràfic
vista
entrevista
causa judicial
legislació
manuscrit
mapa
enregistrament de vídeo
partitura musical
fullet
comunicació
patent
actuació
periòdic
comunicació personal
post
entrada de blog
regulació
informe
revisió
ressenya de llibre
programari
enregistrament d'àudio
presentació
estàndard
tesi
tractat
lloc web
art. acad.
art. rev.
art. diari
doc.
graf.
entr.
manus.
video
inf.
rev.
res.
àudio
testimoni de
revisió de
ressenya del llibre
dC
aC
BCE
CE
«
»
“
”
-
:
,
;
a
r
n
r
t
è
primera
segona
tercera
quarta
cinquena
sisena
setena
vuitena
novena
desena
primer
segon
tercer
quart
cinquè
sisè
setè
vuitè
novè
desè
acte
actes
apèndix
apèndixs
article
articles
cànon
cànons
localització
localitzacions
equació
equacions
norma
normes
escena
escenes
taula
taules
títol
títols
llibre
llibres
capítol
capítols
columna
columnes
figura
figures
foli
folis
número
números
línia
línies
nota
notes
opus
opera
pàgina
pàgines
volum
volums
pàgina
pàgines
impressió
impressions
cap.
caps.
cit.
cits.
núm.
pàgina
pàgines
paràgraf
paràgrafs
part
parts
secció
seccions
suplement
suplements
sub voce
sub vocibus
vers
versos
volum
volums
ap.
aps.
art.
arts.
loc.
locs.
eq.
eqs.
r.
rr.
sc.
scs.
tbl.
tbls.
tit.
tits.
llib.
cap.
col.
fig.
f.
núm.
l.
n.
op.
p.
pp.
vol.
vols.
p.
pp.
print.
prints.
p.
pp.
par.
pt.
sec.
sup.
sups.
s.v.
s.v.
v.
v.
vol.
vol.
§
§
capítol
capítols
cita
cites
número
números
§
§
ed.
eds.
chair
chairs
compiler
compilers
contributor
contributors
curator
curators
executive producer
executive producers
guest
guests
host
hosts
narrator
narrators
organizer
organizers
performer
performers
producer
producers
writer
writers
series creator
series creators
director
directors
editor
editors
editor
editors
il·lustrador
il·lustradors
traductor
traductors
editor i traductor
editors i traductors
comp.
comps.
contrib.
contribs.
cur.
curs.
exec. prod.
exec. prods.
narr.
narrs.
org.
orgs.
perf.
perfs.
prod.
prods.
writ.
writs.
cre.
cres.
dir.
dir.
ed.
ed.
ed.
ed.
il·lust.
il·lust.
trad.
trad.
ed. i trad.
ed. i trad.
editat per
chaired by
compilat per
amb
curat per
producció executiva de
amb la participació de
presentat per
narrat per
organitzat per
representat per
produït per
escrit per
creat per
per
dirigit per
editat per
editat per
il·lustrat per
entrevista feta per
a
per
ed.
traduït per
editat i traduït per
comp.
amb
cur.
prod. exec.
amb
pres.
narr.
org.
act.
prod.
escr.
crea.
dir.
ed.
ed.
il·lust.
trad.
ed. i trad. per
gener
febrer
març
abril
maig
juny
juliol
agost
setembre
octubre
novembre
desembre
gen.
feb.
març
abr.
maig
juny
jul.
ago.
set.
oct.
nov.
des.
primavera
estiu
tardor
hivern
citeproc-0.13/locales/cs-CZ.xml 0000644 0000000 0000000 00000057336 07346545000 014537 0 ustar 00 0000000 0000000
nosaal
Andrew Dunning
libora
Michal Hoftich
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License
2012-07-04T23:31:02+00:00
advance online publication
album
audio recording
film
henceforth
loc. cit.
no place
n.p.
no publisher
n.p.
on
op. cit.
original work published
osobní komunikace
podcast
podcast episode
preprint
radio broadcast
radio series
radio series episode
special issue
special section
television broadcast
television series
television series episode
video
working paper
viděno
vid.
a
a další
anonym
anon.
v
dostupné z
od
asi
cca.
citován
reference
references
number
numbers
vydání
vydání
ref.
refs.
no.
nos.
vyd.
et al.
nadcházející
z
ibid.
in
v tisku
internet
dopis
nedatováno
b.r.
online
prezentováno v
reference
reference
ref.
ref.
review of
rev. of
získáno
měřítko
verze
preprint
journal article
magazine article
newspaper article
bill
broadcast
classic
collection
dataset
document
entry
dictionary entry
encyclopedia entry
event
graphic
hearing
interview
legal case
legislation
manuscript
map
video recording
musical score
pamphlet
conference paper
patent
performance
periodical
osobní komunikace
post
blog post
regulation
report
review
book review
software
audio recording
presentation
standard
thesis
treaty
webpage
journal art.
mag. art.
newspaper art.
doc.
graph.
interv.
MS
video rec.
rep.
rev.
bk. rev.
audio rec.
testimony of
review of
review of the book
n. l.
př. n. l.
BCE
CE
„
"
‚
´
–
:
,
;
.
první
druhé
třetí
čtvrté
páté
šesté
sedmé
osmé
deváté
desáté
act
acts
appendix
appendices
article
articles
canon
canons
location
locations
equation
equations
rule
rules
scene
scenes
table
tables
title
titles
kniha
knihy
kapitola
kapitoly
sloupec
sloupce
obrázek
obrázky
list
listy
číslo
čísla
řádek
řádky
poznámka
poznámky
opus
opusy
strana
strany
volume
volumes
page
pages
printing
printings
chap.
chaps.
cit.
cits.
č.
strana
strany
odstavec
odstavce
část
části
sekce
sekce
supplement
supplements
pod heslem
pod hesly
verš
verše
ročník
ročníky
app.
apps.
art.
arts.
loc.
locs.
eq.
eqs.
r.
rr.
sc.
scs.
tbl.
tbls.
tit.
tits.
k.
kap.
sl.
obr.
l.
č.
ř.
pozn.
op.
s.
s.
vol.
vols.
p.
pp.
print.
prints.
s.
s.
odst.
č.
sek.
supp.
supps.
s.v.
s.v.
v.
v.
roč.
roč.
¶
¶¶
chapter
chapters
citation
citations
číslo
čísla
§
§§
ed.
eds.
chair
chairs
compiler
compilers
contributor
contributors
curator
curators
executive producer
executive producers
guest
guests
host
hosts
narrator
narrators
organizer
organizers
performer
performers
producer
producers
writer
writers
series creator
series creators
ředitel
ředitelé
editor
editoři
vedoucí editor
vedoucí editoři
ilustrátor
ilustrátoři
překladatel
překladatelé
editor a překladatel
editoři a překladatelé
comp.
comps.
contrib.
contribs.
cur.
curs.
exec. prod.
exec. prods.
narr.
narrs.
org.
orgs.
perf.
perfs.
prod.
prods.
writ.
writs.
cre.
cres.
řed.
řed.
ed.
ed.
ed.
ed.
il.
il.
přel.
přel.
ed. a přel.
ed. a přel.
edited by
chaired by
compiled by
with
curated by
executive produced by
with guest
hosted by
narrated by
organized by
performed by
produced by
written by
created by
řídil
editoval
editoval
ilustroval
rozhovor vedl
pro
recenzoval
ed. by
přeložil
editoval a přeložil
comp. by
w.
cur. by
exec. prod. by
w. guest
hosted by
narr. by
org. by
perf. by
prod. by
writ. by
cre. by
řed.
ed.
ed.
ilust.
přel.
ed. a přel.
leden
únor
březen
duben
květen
červen
červenec
srpen
září
říjen
listopad
prosinec
led.
úno.
bře.
dub.
kvě.
čer.
čvc.
srp.
zář.
říj.
lis.
pro.
jaro
léto
podzim
zima
citeproc-0.13/locales/cy-GB.xml 0000644 0000000 0000000 00000057336 07346545000 014521 0 ustar 00 0000000 0000000
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License
2014-10-08T12:00:00+00:00
advance online publication
album
audio recording
film
henceforth
loc. cit.
no place
n.p.
no publisher
n.p.
on
op. cit.
original work published
cyfathrebu personol
podcast
podcast episode
preprint
radio broadcast
radio series
radio series episode
special issue
special section
television broadcast
television series
television series episode
video
working paper
gwelwyd
a/ac
ac eraill
di-enw
dienw
at
ar gael
gan
circa
c.
dyfynnwyd
reference
references
number
numbers
argraffiad
argraffiadau
ref.
refs.
no.
nos.
arg.
et al.
ar fin ymddangos
gan
ibid.
yn
yn y wasg
rhyngrwyd
llythyr
dim dyddiad
d.d.
arlein
cyflwynwyd yn
cyfeirnod
cyfeirnodau
cyf.
cyf’au.
review of
rev. of
gwelwyd
graddfa
fersiwn
preprint
journal article
magazine article
newspaper article
bill
broadcast
classic
collection
dataset
document
entry
dictionary entry
encyclopedia entry
event
graphic
hearing
cyfweliad
legal case
legislation
manuscript
map
video recording
musical score
pamphlet
conference paper
patent
performance
periodical
cyfathrebu personol
post
blog post
regulation
report
review
book review
software
audio recording
presentation
standard
thesis
treaty
webpage
journal art.
mag. art.
newspaper art.
doc.
graph.
interv.
MS
video rec.
rep.
rev.
bk. rev.
audio rec.
testimony of
review of
review of the book
OC
CC
BCE
CE
‘
’
“
”
–
:
,
;
th
af
il
ydd
ed
ed
ed
cyntaf
ail
trydydd
pedwerydd
pumed
chweched
seithfed
wythfed
nawfed
degfed
act
acts
appendix
appendices
article
articles
canon
canons
location
locations
equation
equations
rule
rules
scene
scenes
table
tables
title
titles
llyfr
llyfrau
pennod
penodau
colofn
colofnau
ffigwr
ffigyrau
ffolio
ffolios
rhifyn
rhifynnau
llinell
llinellau
nodyn
nodiadau
opus
opera
tudalen
tudalennau
volume
volumes
page
pages
printing
printings
chap.
chaps.
cit.
cits.
rhif.
tudalen
tudalennau
paragraff
paragraffau
rhan
rhannau
adran
adrannau
supplement
supplements
sub verbo
sub verbis
pennill
penillion
cyfrol
cyfrolau
app.
apps.
art.
arts.
loc.
locs.
eq.
eqs.
r.
rr.
sc.
scs.
tbl.
tbls.
tit.
tits.
llyfr.
pen.
col.
ffig.
ff.
rhif.
ll.
n.
op.
t.
tt.
vol.
vols.
p.
pp.
print.
prints.
t.
tt.
para.
rhan.
adr.
supp.
supps.
s.v.
s.vv.
p.
pp.
rhif.
rhifu.
¶
¶¶
chapter
chapters
citation
citations
rhifyn
rhifynnau
§
§§
ed.
eds.
chair
chairs
compiler
compilers
contributor
contributors
curator
curators
executive producer
executive producers
guest
guests
host
hosts
narrator
narrators
organizer
organizers
performer
performers
producer
producers
writer
writers
series creator
series creators
cyfarwyddwr
cyfarwyddwyr
golygydd
golygyddion
cyfarwyddwr-golygyddol
cyfarwyddwyr-golygyddol
darlunydd
darlunwyr
cyfieithydd
cyfieithwyr
golygydd a chyfieithydd
golygyddion a chyfieithwyr
comp.
comps.
contrib.
contribs.
cur.
curs.
exec. prod.
exec. prods.
narr.
narrs.
org.
orgs.
perf.
perfs.
prod.
prods.
writ.
writs.
cre.
cres.
cyf.
cyfy.
gol.
goln.
gol.
goln.
darlun.
darlun.
cyf.
cyf.
gol. a chyf.
goln. a chyf.
edited by
chaired by
compiled by
with
curated by
executive produced by
with guest
hosted by
narrated by
organized by
performed by
produced by
written by
created by
gan
cyfarwyddwyd gan
golygwyd gan
cyfarwyddwyd a golygwyd gan
darlunwyd gan
cyfweliad gan
i
gan
ed. by
cyfieithwyd gan
golygwyd a chyfieithwyd gan
comp. by
w.
cur. by
exec. prod. by
w. guest
hosted by
narr. by
org. by
perf. by
prod. by
writ. by
cre. by
cyf. gan
gol. gan
cyf.-gol. gan
darlun. gan
cyf. gan
gol. a chyf. gan
Ionawr
Chwefror
Mawrth
Ebrill
Mai
Mehefin
Gorffennaf
Awst
Medi
Hydref
Tachwedd
Rhagfyr
Ion.
Chwe.
Maw.
Ebr.
Mai
Meh.
Gorff.
Aws.
Med.
Hyd.
Tach.
Rhag.
Gwanwyn
Haf
Hydref
Gaeaf
citeproc-0.13/locales/da-DK.xml 0000644 0000000 0000000 00000057156 07346545000 014500 0 ustar 00 0000000 0000000
Niels Erik Wille
Jonas Nyrup
hafnius
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License
2012-07-04T23:31:02+00:00
advance online publication
album
audio recording
film
henceforth
loc. cit.
no place
n.p.
no publisher
n.p.
on
op. cit.
original work published
personlig kommunikation
podcast
podcast episode
preprint
radio broadcast
radio series
radio series episode
special issue
special section
television broadcast
television series
television series episode
video
working paper
set
og
med flere
anonym
anon.
på
tilgængelig hos
af
cirka
ca.
henvist
reference
references
number
numbers
udgave
udgaver
ref.
refs.
no.
nos.
udg.
m.fl.
kommende
fra
ibid.
i
i trykken
internet
brev
uden år
u.å.
online
præsenteret ved
reference
referencer
ref.
refr.
review of
rev. of
hentet
skala
version
preprint
journal article
magazine article
newspaper article
bill
broadcast
classic
collection
dataset
document
entry
dictionary entry
encyclopedia entry
event
graphic
hearing
interview
legal case
legislation
manuscript
map
video recording
musical score
pamphlet
conference paper
patent
performance
periodical
personlig kommunikation
post
blog post
regulation
report
review
book review
software
audio recording
presentation
standard
thesis
treaty
webpage
journal art.
mag. art.
newspaper art.
doc.
graph.
interv.
MS
video rec.
rep.
rev.
bk. rev.
audio rec.
testimony of
review of
review of the book
e.v.t.
f.v.t.
BCE
CE
“
”
‘
’
–
:
,
;
.
første
anden
tredje
fjerde
femte
sjette
syvende
ottende
niende
tiende
act
acts
appendix
appendices
article
articles
canon
canons
location
locations
equation
equations
rule
rules
scene
scenes
table
tables
title
titles
bog
bøger
kapitel
kapitler
kolonne
kolonner
figur
figurer
folio
folio
nummer
numre
linje
linjer
note
noter
opus
opus
side
sider
volume
volumes
page
pages
printing
printings
chap.
chaps.
cit.
cits.
nr.
side
sider
afsnit
afsnit
del
dele
paragraf
paragraffer
supplement
supplements
sub voce
sub voce
vers
vers
bind
bind
app.
apps.
art.
arts.
loc.
locs.
eq.
eqs.
r.
rr.
sc.
scs.
tbl.
tbls.
tit.
tits.
b.
kap.
kol.
fig.
fol.
nr.
l.
n.
op.
s.
s.
vol.
vols.
p.
pp.
print.
prints.
s.
s.
afs.
d.
par.
supp.
supps.
s.v.
s.v.
v.
v.
bd.
bd.
¶
¶¶
chapter
chapters
citation
citations
nummer
numre
§
§§
ed.
eds.
chair
chairs
compiler
compilers
contributor
contributors
curator
curators
executive producer
executive producers
guest
guests
host
hosts
narrator
narrators
organizer
organizers
performer
performers
producer
producers
writer
writers
series creator
series creators
instruktør
instruktører
redaktør
redaktører
redaktør
redaktører
illustrator
illustratorer
oversætter
oversættere
redaktør & oversætter
redaktører & oversættere
comp.
comps.
contrib.
contribs.
cur.
curs.
exec. prod.
exec. prods.
narr.
narrs.
org.
orgs.
perf.
perfs.
prod.
prods.
writ.
writs.
cre.
cres.
instr.
instr.
red.
red.
red.
red.
ill.
ill.
overs.
overs.
red. & overs.
red. & overs.
edited by
chaired by
compiled by
with
curated by
executive produced by
with guest
hosted by
narrated by
organized by
performed by
produced by
written by
created by
af
instrueret af
redigeret af
redigeret af
illustreret af
interviewet af
modtaget af
af
ed. by
oversat af
redigeret & oversat af
comp. by
w.
cur. by
exec. prod. by
w. guest
hosted by
narr. by
org. by
perf. by
prod. by
writ. by
cre. by
instr.
red.
red.
illus.
overs.
red. & overs. af
januar
februar
marts
april
maj
juni
juli
august
september
oktober
november
december
jan.
feb.
mar.
apr.
maj
jun.
jul.
aug.
sep.
okt.
nov.
dec.
Forår
Sommer
Efterår
Vinter
citeproc-0.13/locales/de-AT.xml 0000644 0000000 0000000 00000060373 07346545000 014505 0 ustar 00 0000000 0000000
Till A. Heilmann
Georg Duffner
Sebastian Karcher
Sylvester Keil
jakov
Frank Bennett
Patrick O'Brien
Nicolas Chachereau
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License
2023-03-28T23:31:02+00:00
Online-Vorab-Publikation
Album
Audioaufzeichnung
Film
zukünftig
loc. cit.
ohne Ort
o. O.
ohne Verlag
o. V.
auf
op. cit.
Ursprünglich erschienen
persönliche Kommunikation
Podcast
Podcast-Episode
preprint
Radioaufzeichnung
Sendereihe
Sendereihenfolge
Spezialausgabe
Sonderbereich
Fernsehsendung
Fernsehserie
Serienfolge
Video
Arbeitspapier
zugegriffen
und
und andere
ohne Autor
o. A.
auf
verfügbar unter
von
circa
ca.
zitiert
reference
references
number
numbers
Auflage
Auflagen
ref.
refs.
no.
nos.
Aufl.
u. a.
i. E.
von
ebd.
in
im Druck
Internet
Brief
ohne Datum
o. J.
online
gehalten auf der
Referenz
Referenzen
Ref.
Ref.
review of
rev. of
abgerufen
Maßstab
Version
preprint
journal article
magazine article
newspaper article
bill
broadcast
classic
collection
dataset
document
entry
dictionary entry
encyclopedia entry
event
graphic
hearing
Interview
legal case
legislation
manuscript
map
video recording
musical score
pamphlet
conference paper
patent
performance
periodical
persönliche Kommunikation
post
blog post
regulation
report
review
book review
software
audio recording
presentation
standard
thesis
treaty
webpage
journal art.
mag. art.
newspaper art.
doc.
graph.
interv.
MS
video rec.
rep.
rev.
bk. rev.
audio rec.
testimony of
review of
review of the book
n. Chr.
v. Chr.
BCE
CE
„
“
‚
‘
–
:
,
;
.
erster
zweiter
dritter
vierter
fünfter
sechster
siebter
achter
neunter
zehnter
act
acts
appendix
appendices
article
articles
canon
canons
location
locations
equation
equations
rule
rules
scene
scenes
table
tables
title
titles
Buch
Bücher
Kapitel
Kapitel
Spalte
Spalten
Abbildung
Abbildungen
Blatt
Blätter
Nummer
Nummern
Zeile
Zeilen
Anmerkung
Anmerkungen
Opus
Opera
Seite
Seiten
volume
volumes
page
pages
printing
printings
chap.
chaps.
cit.
cits.
Nr.
Seite
Seiten
Absatz
Absätze
Teil
Teile
Abschnitt
Abschnitte
supplement
supplements
sub verbo
sub verbis
Vers
Verse
Band
Bände
app.
apps.
art.
arts.
loc.
locs.
eq.
eqs.
r.
rr.
sc.
scs.
tbl.
tbls.
tit.
tits.
B.
Kap.
Sp.
Abb.
Fol.
Nr.
Z.
Anm.
op.
S.
S.
vol.
vols.
p.
pp.
print.
prints.
S.
S.
Abs.
Teil
Abschn.
supp.
supps.
s. v.
s. vv.
V.
V.
Bd.
Bde.
¶
¶¶
chapter
chapters
citation
citations
Nummer
Nummern
§
§§
chair
chairs
compiler
compilers
contributor
contributors
curator
curators
executive producer
executive producers
guest
guests
host
hosts
narrator
narrators
organizer
organizers
performer
performers
producer
producers
writer
writers
series creator
series creators
Regisseur
Regisseure
Herausgeber
Herausgeber
Reihenherausgeber
Reihenherausgeber
Herausgeber
Herausgeber
Illustrator
Illustratoren
Übersetzer
Übersetzer
Herausgeber & Übersetzer
Herausgeber & Übersetzer
comp.
comps.
contrib.
contribs.
cur.
curs.
exec. prod.
exec. prods.
narr.
narrs.
org.
orgs.
perf.
perfs.
prod.
prods.
writ.
writs.
cre.
cres.
Reg.
Reg.
Hrsg.
Hrsg.
Hrsg.
Hrsg.
Hrsg.
Hrsg.
Ill.
Ill.
Übers.
Übers.
Hrsg. & Übers.
Hrsg. & Übers.
chaired by
compiled by
with
curated by
executive produced by
with guest
hosted by
narrated by
organized by
performed by
produced by
written by
created by
von
Regie von
herausgegeben von
herausgegeben von
herausgegeben von
illustriert von
interviewt von
an
von
übersetzt von
herausgegeben und übersetzt von
comp. by
w.
cur. by
exec. prod. by
w. guest
hosted by
narr. by
org. by
perf. by
prod. by
writ. by
cre. by
Reg.
hg. von
hg. von
hg. von
illus. von
übers. von
hg. & übers. von
Januar
Februar
März
April
Mai
Juni
Juli
August
September
Oktober
November
Dezember
Jan.
Feb.
März
Apr.
Mai
Juni
Juli
Aug.
Sep.
Okt.
Nov.
Dez.
Frühjahr
Sommer
Herbst
Winter
citeproc-0.13/locales/de-CH.xml 0000644 0000000 0000000 00000060534 07346545000 014472 0 ustar 00 0000000 0000000
Till A. Heilmann
Sylvester Keil
jakov
Sebastian Karcher
Patrick O'Brien
Nicolas Chachereau
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License
2023-03-28T23:31:02+00:00
Online-Vorab-Publikation
Album
Audioaufzeichnung
Film
zukünftig
loc. cit.
ohne Ort
o. O.
ohne Verlag
o. V.
auf
op. cit.
Ursprünglich erschienen
persönliche Kommunikation
Podcast
Podcast-Episode
preprint
Radioaufzeichnung
Sendereihe
Sendereihenfolge
Spezialausgabe
Sonderbereich
Fernsehsendung
Fernsehserie
Serienfolge
Video
Arbeitspapier
zugegriffen
und
und andere
ohne Autor
o. A.
auf
verfügbar unter
von
circa
ca.
zitiert
reference
references
number
numbers
Auflage
Auflagen
ref.
refs.
no.
nos.
Aufl.
u. a.
i. E.
von
ebd.
in
im Druck
Internet
Brief
ohne Datum
o. J.
online
gehalten auf der
Referenz
Referenzen
Ref.
Ref.
review of
rev. of
abgerufen
Massstab
Version
preprint
journal article
magazine article
newspaper article
bill
broadcast
classic
collection
dataset
document
entry
dictionary entry
encyclopedia entry
event
graphic
hearing
Interview
legal case
legislation
manuscript
map
video recording
musical score
pamphlet
conference paper
patent
performance
periodical
persönliche Kommunikation
post
blog post
regulation
report
review
book review
software
audio recording
presentation
standard
thesis
treaty
webpage
journal art.
mag. art.
newspaper art.
doc.
graph.
interv.
MS
video rec.
rep.
rev.
bk. rev.
audio rec.
testimony of
review of
review of the book
n. Chr.
v. Chr.
BCE
CE
«
»
‹
›
–
:
,
;
.
erster
zweiter
dritter
vierter
fünfter
sechster
siebter
achter
neunter
zehnter
act
acts
appendix
appendices
article
articles
canon
canons
location
locations
equation
equations
rule
rules
scene
scenes
table
tables
title
titles
Buch
Bücher
Kapitel
Kapitel
Spalte
Spalten
Abbildung
Abbildungen
Blatt
Blätter
Nummer
Nummern
Zeile
Zeilen
Anmerkung
Anmerkungen
Opus
Opera
Seite
Seiten
volume
volumes
page
pages
printing
printings
chap.
chaps.
cit.
cits.
Nr.
Seite
Seiten
Absatz
Absätze
Teil
Teile
Abschnitt
Abschnitte
supplement
supplements
sub verbo
sub verbis
Vers
Verse
Band
Bände
app.
apps.
art.
arts.
loc.
locs.
eq.
eqs.
r.
rr.
sc.
scs.
tbl.
tbls.
tit.
tits.
B.
Kap.
Sp.
Abb.
Fol.
Nr.
Z.
Anm.
op.
S.
S.
vol.
vols.
p.
pp.
print.
prints.
S.
S.
Abs.
Teil
Abschn.
supp.
supps.
s. v.
s. vv.
V.
V.
Bd.
Bde.
¶
¶¶
chapter
chapters
citation
citations
Nummer
Nummern
§
§§
ed.
eds.
chair
chairs
compiler
compilers
contributor
contributors
curator
curators
executive producer
executive producers
guest
guests
host
hosts
narrator
narrators
organizer
organizers
performer
performers
producer
producers
writer
writers
series creator
series creators
Regisseur
Regisseure
Herausgeber
Herausgeber
Reihenherausgeber
Reihenherausgeber
Herausgeber
Herausgeber
Illustrator
Illustratoren
Übersetzer
Übersetzer
Herausgeber & Übersetzer
Herausgeber & Übersetzer
comp.
comps.
contrib.
contribs.
cur.
curs.
exec. prod.
exec. prods.
narr.
narrs.
org.
orgs.
perf.
perfs.
prod.
prods.
writ.
writs.
cre.
cres.
Reg.
Reg.
Hrsg.
Hrsg.
Hrsg.
Hrsg.
Hrsg.
Hrsg.
Ill.
Ill.
Übers.
Übers.
Hrsg. & Übers.
Hrsg. & Übers.
edited by
chaired by
compiled by
with
curated by
executive produced by
with guest
hosted by
narrated by
organized by
performed by
produced by
written by
created by
von
Regie von
herausgegeben von
herausgegeben von
herausgegeben von
illustriert von
interviewt von
an
von
ed. by
übersetzt von
herausgegeben und übersetzt von
comp. by
w.
cur. by
exec. prod. by
w. guest
hosted by
narr. by
org. by
perf. by
prod. by
writ. by
cre. by
Reg.
hg. von
hg. von
hg. von
illus. von
übers. von
hg. & übers. von
Januar
Februar
März
April
Mai
Juni
Juli
August
September
Oktober
November
Dezember
Jan.
Feb.
März
Apr.
Mai
Juni
Juli
Aug.
Sep.
Okt.
Nov.
Dez.
Frühjahr
Sommer
Herbst
Winter
citeproc-0.13/locales/de-DE.xml 0000644 0000000 0000000 00000060256 07346545000 014471 0 ustar 00 0000000 0000000
Till A. Heilmann
Ulrich
Rintze M. Zelle
Sebastian Karcher
jakov
Patrick O'Brien
Nicolas Chachereau
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License
2024-03-28T23:31:02+00:00
Online-Vorab-Publikation
Album
Audioaufzeichnung
Film
zukünftig
loc. cit.
ohne Ort
o. O.
ohne Verlag
o. V.
auf
op. cit.
Ursprünglich erschienen
persönliche Kommunikation
Podcast
Podcast-Episode
preprint
Radioaufzeichnung
Sendereihe
Sendereihenfolge
Spezialausgabe
Sonderbereich
Fernsehsendung
Fernsehserie
Serienfolge
Video
Arbeitspapier
zugegriffen
und
und andere
ohne Autor
o. A.
auf
verfügbar unter
von
circa
ca.
zitiert
reference
references
number
numbers
Auflage
Auflagen
ref.
refs.
no.
nos.
Aufl.
u. a.
i. E.
von
ebd.
in
im Druck
Internet
Brief
ohne Datum
o. J.
online
gehalten auf der
Referenz
Referenzen
Ref.
Ref.
review of
rev. of
abgerufen
Maßstab
Version
preprint
journal article
magazine article
newspaper article
bill
broadcast
classic
collection
dataset
document
entry
dictionary entry
encyclopedia entry
event
graphic
hearing
Interview
legal case
legislation
manuscript
map
video recording
musical score
pamphlet
conference paper
patent
performance
periodical
persönliche Kommunikation
post
blog post
regulation
report
review
book review
software
audio recording
presentation
standard
thesis
treaty
webpage
journal art.
mag. art.
newspaper art.
doc.
graph.
interv.
MS
video rec.
rep.
rev.
bk. rev.
audio rec.
testimony of
review of
review of the book
n. Chr.
v. Chr.
BCE
CE
„
“
‚
‘
–
:
,
;
.
erster
zweiter
dritter
vierter
fünfter
sechster
siebter
achter
neunter
zehnter
act
acts
appendix
appendices
article
articles
canon
canons
location
locations
equation
equations
rule
rules
scene
scenes
table
tables
title
titles
Buch
Bücher
Kapitel
Kapitel
Spalte
Spalten
Abbildung
Abbildungen
Blatt
Blätter
Nummer
Nummern
Zeile
Zeilen
Anmerkung
Anmerkungen
Opus
Opera
Seite
Seiten
volume
volumes
page
pages
printing
printings
chap.
chaps.
cit.
cits.
Nr.
Seite
Seiten
Absatz
Absätze
Teil
Teile
Abschnitt
Abschnitte
supplement
supplements
sub verbo
sub verbis
Vers
Verse
Band
Bände
app.
apps.
art.
arts.
loc.
locs.
eq.
eqs.
r.
rr.
sc.
scs.
tbl.
tbls.
tit.
tits.
B.
Kap.
Sp.
Abb.
Fol.
Nr.
Z.
Anm.
op.
S.
S.
vol.
vols.
p.
pp.
print.
prints.
S.
S.
Abs.
Teil
Abschn.
supp.
supps.
s. v.
s. vv.
V.
V.
Bd.
Bde.
¶
¶¶
chapter
chapters
citation
citations
Nummer
Nummern
§
§§
chair
chairs
compiler
compilers
contributor
contributors
curator
curators
executive producer
executive producers
guest
guests
host
hosts
narrator
narrators
organizer
organizers
performer
performers
producer
producers
writer
writers
series creator
series creators
Regisseur
Regisseure
Herausgeber
Herausgeber
Reihenherausgeber
Reihenherausgeber
Herausgeber
Herausgeber
Illustrator
Illustratoren
Übersetzer
Übersetzer
Herausgeber & Übersetzer
Herausgeber & Übersetzer
comp.
comps.
contrib.
contribs.
cur.
curs.
exec. prod.
exec. prods.
narr.
narrs.
org.
orgs.
perf.
perfs.
prod.
prods.
writ.
writs.
cre.
cres.
Reg.
Reg.
Hrsg.
Hrsg.
Hrsg.
Hrsg.
Hrsg.
Hrsg.
Ill.
Ill.
Übers.
Übers.
Hrsg. & Übers.
Hrsg. & Übers.
chaired by
compiled by
with
curated by
executive produced by
with guest
hosted by
narrated by
organized by
performed by
produced by
written by
created by
von
Regie von
herausgegeben von
herausgegeben von
herausgegeben von
illustriert von
interviewt von
an
von
übersetzt von
herausgegeben und übersetzt von
comp. by
w.
cur. by
exec. prod. by
w. guest
hosted by
narr. by
org. by
perf. by
prod. by
writ. by
cre. by
Reg.
hg. von
hg. von
hg. von
illus. von
übers. von
hg. & übers. von
Januar
Februar
März
April
Mai
Juni
Juli
August
September
Oktober
November
Dezember
Jan.
Feb.
März
Apr.
Mai
Juni
Juli
Aug.
Sep.
Okt.
Nov.
Dez.
Frühjahr
Sommer
Herbst
Winter
citeproc-0.13/locales/el-GR.xml 0000644 0000000 0000000 00000062332 07346545000 014516 0 ustar 00 0000000 0000000
thanasis57
dimtamb
Patrick O'Brien
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License
2013-11-08T20:31:02+00:00
advance online publication
album
audio recording
film
henceforth
loc. cit.
no place
n.p.
no publisher
n.p.
on
op. cit.
original work published
προσωπική επικοινωνία
podcast
podcast episode
preprint
radio broadcast
radio series
radio series episode
special issue
special section
television broadcast
television series
television series episode
video
working paper
ημερομηνία πρόσβασης
και
και άλλοι
ανώνυμο
ανών.
εφ.
διαθέσιμο στο
από
περίπου
περ.
παρατίθεται
reference
references
number
numbers
έκδοση
εκδόσεις
ref.
refs.
no.
nos.
έκδ.
κ.ά.
προσεχές
από
στο ίδιο
στο
υπό έκδοση
διαδίκτυο
επιστολή
χωρίς χρονολογία
χ.χ.
έκδοση σε ψηφιακή μορφή
παρουσιάστηκε στο
παραπομπή
παραπομπές
παρ.
παρ.
review of
rev. of
ανακτήθηκε
κλίμακα
εκδοχή
preprint
journal article
magazine article
newspaper article
bill
broadcast
classic
collection
dataset
document
entry
dictionary entry
encyclopedia entry
event
graphic
hearing
συνέντευξη
legal case
legislation
manuscript
map
video recording
musical score
pamphlet
conference paper
patent
performance
periodical
προσωπική επικοινωνία
post
blog post
regulation
report
review
book review
software
audio recording
presentation
standard
thesis
treaty
webpage
journal art.
mag. art.
newspaper art.
doc.
graph.
interv.
MS
video rec.
rep.
rev.
bk. rev.
audio rec.
testimony of
review of
review of the book
μ.Χ.
π.Χ.
BCE
CE
‘
’
'
'
–
:
,
·
ο
η
ος
πρώτος
δεύτερος
τρίτος
τέταρτος
πέμπτος
έκτος
έβδομος
όγδοος
ένατος
δέκατος
act
acts
appendix
appendices
article
articles
canon
canons
location
locations
equation
equations
rule
rules
scene
scenes
table
tables
title
titles
βιβλίο
βιβλία
κεφάλαιο
κεφάλαια
στήλη
στήλες
εικόνα
εικόνες
φάκελος
φάκελοι
τεύχος
τεύχη
σειρά
σειρές
σημείωση
σημειώσεις
έργο
έργα
σελίδα
σελίδες
volume
volumes
page
pages
printing
printings
chap.
chaps.
cit.
cits.
τχ.
σελίδα
σελίδες
παράγραφος
παράγραφοι
μέρος
μέρη
τμήμα
τμήματα
supplement
supplements
λήμμα
λήμματα
στίχος
στίχοι
τόμος
τόμοι
app.
apps.
art.
arts.
loc.
locs.
eq.
eqs.
r.
rr.
sc.
scs.
tbl.
tbls.
tit.
tits.
βιβ.
κεφ.
στ.
εικ.
φάκ
τχ.
γρ.
σημ.
έργ.
σελ.
σελ.
vol.
vols.
p.
pp.
print.
prints.
σ.
σσ.
παρ.
μέρ.
τμ.
supp.
supps.
λήμ.
λήμ.
στ.
στ.
τ.
τ.
¶
¶¶
chapter
chapters
citation
citations
τεύχος
τεύχη
§
§§
ed.
eds.
chair
chairs
compiler
compilers
contributor
contributors
curator
curators
executive producer
executive producers
guest
guests
host
hosts
narrator
narrators
organizer
organizers
performer
performers
producer
producers
writer
writers
series creator
series creators
Διευθυντής
Διευθυντές
επιμελητής
επιμελητές
διευθυντής σειράς
διευθυντές σειράς
εικονογράφος
εικονογράφοι
μεταφραστής
μεταφραστές
μεταφραστής και επιμελητής
μεταφραστές και επιμελητές
comp.
comps.
contrib.
contribs.
cur.
curs.
exec. prod.
exec. prods.
narr.
narrs.
org.
orgs.
perf.
perfs.
prod.
prods.
writ.
writs.
cre.
cres.
δ/ντης.
δ/ντές.
επιμ.
επιμ.
δ/ντής σειράς
δ/ντές σειρας
εικ.
εικ..
μτφ.
μτφ.
μτφ. και επιμ.
μτφ. και επιμ.
edited by
chaired by
compiled by
with
curated by
executive produced by
with guest
hosted by
narrated by
organized by
performed by
produced by
written by
created by
στον συλλ. τόμο
διεύθυνση
επιμέλεια
διεύθυνση σειράς
εικονογράφηση:
συνέντευξη
παραλήπτης
συγγραφέας:
ed. by
μετάφραση
μετάφραση και επιμέλεια
comp. by
w.
cur. by
exec. prod. by
w. guest
hosted by
narr. by
org. by
perf. by
prod. by
writ. by
cre. by
διευθ.
επιμέλ.
δ/νση σειράς
εικον.
μετάφρ.
μετάφρ. και επιμέλ.
Ιανουάριος
Φεβρουάριος
Μάρτιος
Απρίλιος
Μάιος
Ιούνιος
Ιούλιος
Αύγουστος
Σεπτέμβριος
Οκτώβριος
Νοέμβριος
Δεκέμβριος
Ιανουαρίου
Φεβρουαρίου
Μαρτίου
Απριλίου
Μαΐου
Ιουνίου
Ιουλίου
Αυγούστου
Σεπτεμβρίου
Οκτωβρίου
Νοεμβρίου
Δεκεμβρίου
Άνοιξη
Καλοκαίρι
Φθινόπωρο
Χειμώνας
citeproc-0.13/locales/en-GB.xml 0000644 0000000 0000000 00000077275 07346545000 014514 0 ustar 00 0000000 0000000
Andrew Dunning
https://orcid.org/0000-0003-0464-5036
Sebastian Karcher
https://orcid.org/0000-0001-8249-7388
Rintze M. Zelle
https://orcid.org/0000-0003-1779-8883
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License
2025-06-24T00:00:00+00:00
accessed
advance online publication
album
and
and others
anonymous
at
audio recording
available at
by
circa
cited
et al.
film
forthcoming
from
henceforth
ibid.
in
in press
internet
letter
loc. cit.
no date
no place
no publisher
on
online
op. cit.
original work published
personal communication
podcast
podcast episode
preprint
presented at the
radio broadcast
radio series
radio series episode
reference
references
retrieved
review of
scale
special issue
special section
television broadcast
television series
television series episode
video
working paper
adv. online pub.
anon.
au. rec.
avail. at
c.
cit.
et al.
flm
fr.
let.
n.d.
n.p.
n.p.
orig. pub.
pers. comm.
podcast ep.
radio bdcst
radio ser.
radio ser. ep.
ref.
refs
rtvd
rev. of
sc.
spec. iss.
spec. sect.
TV bdcst
TV ser.
TV ser. ep.
vid.
wkg paper
&
@
preprint
journal article
magazine article
newspaper article
bill
broadcast
classical work
archival collection
data set
document
entry
dictionary entry
encyclopedia entry
event
graphic
hearing
interview
legal case
legislation
manuscript
map
video recording
musical score
pamphlet
conference paper
patent
performance
periodical
personal communication
post
blog post
regulation
report
review
book review
software
audio recording
presentation
standard
thesis
treaty
web page
jour. art.
mag. art.
newspaper art.
bdcst
class. wk
arch. coll.
doc.
dict. entry
ency. entry
gr.
int.
leg. case
legis.
MS
MSS
vid. rec.
mus. score
pam.
conf. paper
pat.
prfm.
pers. comm.
reg.
rep.
rev.
bk rev.
sftw.
au. rec.
std
thes.
web pg.
testimony of
review of
review of the book
test. of
rev. of
rev. of the bk
AD
BC
BCE
CE
‘
’
“
”
–
:
,
;
th
st
nd
rd
th
th
th
first
second
third
fourth
fifth
sixth
seventh
eighth
ninth
tenth
act
acts
appendix
appendices
article
articles
book
books
canon
canons
chapter
chapters
column
columns
location
locations
equation
equations
figure
figures
folio
folios
issue
issues
line
lines
note
notes
opus
opera
page
pages
paragraph
paragraphs
part
parts
rule
rules
scene
scenes
section
sections
sub verbo
sub verbis
supplement
supplements
table
tables
title
titles
verse
verses
volume
volumes
app.
apps
art.
arts
bk
bks
can.
cann.
ch.
chs
col.
cols
loc.
locs
eq.
eqq.
fig.
figs
fol.
fols
no.
nos
l.
ll.
n.
nn.
op.
opp.
p.
pp.
para.
paras
pt
pts
r.
rr.
sc.
scs
sect.
sects
s.v.
s.vv.
suppl.
suppls
tbl.
tbls
tit.
titt.
v.
vv.
vol.
vols
c.
cc.
¶
¶¶
§
§§
chapter
chapters
citation
citations
number
numbers
edition
editions
reference
references
number
numbers
page
pages
volume
volumes
page
pages
printing
printings
version
versions
ch.
chs
cit.
cits
no.
nos
edn
edns
ref.
refs
no.
nos
p.
pp.
vol.
vols
p.
pp.
ptg
ptgs
v.
chair
chairs
editor
editors
compiler
compilers
contributor
contributors
curator
curators
director
directors
editor
editors
editor & translator
editors & translators
editor & translator
editors & translators
editor
editors
executive producer
executive producers
guest
guests
host
hosts
illustrator
illustrators
narrator
narrators
organizer
organizers
performer
performers
producer
producers
writer
writers
series creator
series creators
translator
translators
ed.
eds
comp.
comps
contrib.
contribs
cur.
curs
dir.
dirs
ed.
eds
ed. & trans.
eds & trans.
ed. & trans.
eds & trans.
ed.
eds
exec. prod.
exec. prods
illus.
narr.
narrs
org.
orgs
perf.
perfs
prod.
prods
wrtr
wrtrs
ser. creator
ser. creators
trans.
chaired by
edited by
compiled by
composed by
by
with
curated by
directed by
edited by
edited & translated by
edited & translated by
edited by
executive produced by
with guest
with guests
hosted by
illustrated by
interview by
read by
organized by
by
performed by
produced by
to
by
written by
created by
translated by
ed. by
comp. by
comp. by
cur. by
dir. by
ed. by
ed. & trans. by
ed. & trans. by
ed. by
exec. prod. by
illus. by
read by
org. by
perfd by
prod. by
writ. by
trans. by
January
February
March
April
May
June
July
August
September
October
November
December
Jan.
Feb.
Mar.
Apr.
May
June
July
Aug.
Sept.
Oct.
Nov.
Dec.
Spring
Summer
Autumn
Winter
citeproc-0.13/locales/en-US.xml 0000644 0000000 0000000 00000077304 07346545000 014544 0 ustar 00 0000000 0000000
Andrew Dunning
https://orcid.org/0000-0003-0464-5036
Sebastian Karcher
https://orcid.org/0000-0001-8249-7388
Rintze M. Zelle
https://orcid.org/0000-0003-1779-8883
Denis Meier
Brenton M. Wiernik
https://orcid.org/0000-0001-9560-6336
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License
2025-06-24T00:00:00+00:00
accessed
advance online publication
album
and
and others
anonymous
at
audio recording
available at
by
circa
cited
et al.
film
forthcoming
from
henceforth
ibid.
in
in press
internet
letter
loc. cit.
no date
no place
no publisher
on
online
op. cit.
original work published
personal communication
podcast
podcast episode
preprint
presented at the
radio broadcast
radio series
radio series episode
reference
references
retrieved
review of
scale
special issue
special section
television broadcast
television series
television series episode
video
working paper
adv. online pub.
anon.
au. rec.
avail. at
c.
cit.
et al.
flm.
fr.
let.
n.d.
n.p.
n.p.
orig. pub.
pers. comm.
podcast ep.
radio bdcst.
radio ser.
radio ser. ep.
ref.
refs.
rtvd.
rev. of
sc.
spec. iss.
spec. sec.
TV bdcst.
TV ser.
TV ser. ep.
vid.
wkg. paper
&
@
preprint
journal article
magazine article
newspaper article
bill
broadcast
classical work
archival collection
dataset
document
entry
dictionary entry
encyclopedia entry
event
graphic
hearing
interview
legal case
legislation
manuscript
map
video recording
musical score
pamphlet
conference paper
patent
performance
periodical
personal communication
post
blog post
regulation
report
review
book review
software
audio recording
presentation
standard
thesis
treaty
webpage
jour. art.
mag. art.
newspaper art.
bdcst.
class. wk.
arch. coll.
doc.
dict. entry
ency. entry
gr.
int.
leg. case
legis.
MS
MSS
vid. rec.
mus. score
pam.
conf. paper
pat.
prfm.
pers. comm.
reg.
rep.
rev.
bk. rev.
sftw.
au. rec.
std.
thes.
webpg.
testimony of
review of
review of the book
test. of
rev. of
rev. of the bk.
AD
BC
BCE
CE
“
”
‘
’
–
:
,
;
th
st
nd
rd
th
th
th
first
second
third
fourth
fifth
sixth
seventh
eighth
ninth
tenth
act
acts
appendix
appendices
article
articles
book
books
canon
canons
chapter
chapters
column
columns
location
locations
equation
equations
figure
figures
folio
folios
issue
issues
line
lines
note
notes
opus
opera
page
pages
paragraph
paragraphs
part
parts
rule
rules
scene
scenes
section
sections
sub verbo
sub verbis
supplement
supplements
table
tables
title
titles
verse
verses
volume
volumes
app.
apps.
art.
arts.
bk.
bks.
can.
cann.
chap.
chaps.
col.
cols.
loc.
locs.
eq.
eqq.
fig.
figs.
fol.
fols.
no.
nos.
l.
ll.
n.
nn.
op.
opp.
p.
pp.
para.
paras.
pt.
pts.
r.
rr.
sc.
scs.
sec.
secs.
s.v.
s.vv.
supp.
supps.
tbl.
tbls.
tit.
titt.
v.
vv.
vol.
vols.
c.
cc.
¶
¶¶
§
§§
chapter
chapters
citation
citations
number
numbers
edition
editions
reference
references
number
numbers
page
pages
volume
volumes
page
pages
printing
printings
version
versions
chap.
chaps.
cit.
cits.
no.
nos.
ed.
eds.
ref.
refs.
no.
nos.
p.
pp.
vol.
vols.
p.
pp.
ptg.
ptgs.
v.
chair
chairs
editor
editors
compiler
compilers
contributor
contributors
curator
curators
director
directors
editor
editors
editor & translator
editors & translators
editor & translator
editors & translators
editor
editors
executive producer
executive producers
guest
guests
host
hosts
illustrator
illustrators
narrator
narrators
organizer
organizers
performer
performers
producer
producers
writer
writers
series creator
series creators
translator
translators
ed.
eds.
comp.
comps.
contrib.
contribs.
cur.
curs.
dir.
dirs.
ed.
eds.
ed. & trans.
eds. & trans.
ed. & trans.
eds. & trans.
ed.
eds.
exec. prod.
exec. prods.
ill.
ills.
narr.
narrs.
org.
orgs.
perf.
perfs.
prod.
prods.
wrtr.
wrtrs.
ser. creator
ser. creators
trans.
chaired by
edited by
compiled by
composed by
by
with
curated by
directed by
edited by
edited & translated by
edited & translated by
edited by
executive produced by
with guest
with guests
hosted by
illustrated by
interview by
narrated by
organized by
by
performed by
produced by
to
by
written by
created by
translated by
ed. by
comp. by
comp. by
cur. by
dir. by
ed. by
ed. & trans. by
ed. & trans. by
ed. by
exec. prod. by
ill. by
narr. by
org. by
perf. by
prod. by
writ. by
trans. by
January
February
March
April
May
June
July
August
September
October
November
December
Jan.
Feb.
Mar.
Apr.
May
June
July
Aug.
Sept.
Oct.
Nov.
Dec.
Spring
Summer
Autumn
Winter
citeproc-0.13/locales/es-CL.xml 0000644 0000000 0000000 00000057062 07346545000 014517 0 ustar 00 0000000 0000000
Scott Sadowsky
http://sadowsky.cl/
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License
2013-10-28T13:57:31-04:00
advance online publication
album
audio recording
film
henceforth
loc. cit.
no place
n.p.
no publisher
n.p.
on
op. cit.
original work published
comunicación personal
podcast
podcast episode
preprint
radio broadcast
radio series
radio series episode
special issue
special section
television broadcast
television series
television series episode
video
working paper
accedido
y
et al.
anónimo
anón.
en
disponible en
de
circa
c.
citado
reference
references
number
numbers
edición
ediciones
ref.
refs.
no.
nos.
ed.
et al.
en preparación
a partir de
ibid.
en
en imprenta
internet
carta
sin fecha
s. f.
en línea
presentado en
referencia
referencias
ref.
refs.
review of
rev. of
recuperado
escala
versión
preprint
journal article
magazine article
newspaper article
bill
broadcast
classic
collection
dataset
document
entry
dictionary entry
encyclopedia entry
event
graphic
hearing
entrevista
legal case
legislation
manuscript
map
video recording
musical score
pamphlet
conference paper
patent
performance
periodical
comunicación personal
post
blog post
regulation
report
review
book review
software
audio recording
presentation
standard
thesis
treaty
webpage
journal art.
mag. art.
newspaper art.
doc.
graph.
interv.
MS
video rec.
rep.
rev.
bk. rev.
audio rec.
testimony of
review of
review of the book
d. C.
a. C.
BCE
CE
“
”
‘
’
–
:
,
;
ª
primera
segunda
tercera
cuarta
quinta
sexta
séptima
octava
novena
décima
act
acts
appendix
appendices
article
articles
canon
canons
location
locations
equation
equations
rule
rules
scene
scenes
table
tables
title
titles
libro
libros
capítulo
capítulos
columna
columnas
figura
figuras
folio
folios
número
números
línea
líneas
nota
notas
opus
opera
página
páginas
volume
volumes
page
pages
printing
printings
chap.
chaps.
cit.
cits.
nº
página
páginas
párrafo
párrafos
parte
partes
sección
secciones
supplement
supplements
sub voce
sub vocibus
verso
versos
volumen
volúmenes
app.
apps.
art.
arts.
loc.
locs.
eq.
eqs.
r.
rr.
sc.
scs.
tbl.
tbls.
tit.
tits.
lib.
cap.
col.
fig.
f.
nº
l.
n.
op.
p.
pp.
vol.
vols.
p.
pp.
print.
prints.
p.
pp.
párr.
pt.
sec.
supp.
supps.
s. v.
s. vv.
v.
vv.
vol.
vols.
§
§
chapter
chapters
citation
citations
número
números
§
§
ed.
eds.
chair
chairs
compiler
compilers
contributor
contributors
curator
curators
executive producer
executive producers
guest
guests
host
hosts
narrator
narrators
organizer
organizers
performer
performers
producer
producers
writer
writers
series creator
series creators
director
directores
editor
editores
coordinador
coordinadores
ilustrador
ilustradores
traductor
traductores
editor y traductor
editores y traductores
comp.
comps.
contrib.
contribs.
cur.
curs.
exec. prod.
exec. prods.
narr.
narrs.
org.
orgs.
perf.
perfs.
prod.
prods.
writ.
writs.
cre.
cres.
dir.
dirs.
ed.
eds.
coord.
coords.
ilust.
ilusts.
trad.
trads.
ed. y trad.
eds. y trads.
edited by
chaired by
compiled by
with
curated by
executive produced by
with guest
hosted by
narrated by
organized by
performed by
produced by
written by
created by
de
dirigido por
editado por
coordinado por
ilustrado por
entrevistado por
a
por
ed. by
traducido por
editado y traducido por
comp. by
w.
cur. by
exec. prod. by
w. guest
hosted by
narr. by
org. by
perf. by
prod. by
writ. by
cre. by
dir.
ed.
coord.
ilust.
trad.
ed. y trad.
enero
febrero
marzo
abril
mayo
junio
julio
agosto
septiembre
octubre
noviembre
diciembre
ene.
feb.
mar.
abr.
may
jun.
jul.
ago.
sep.
oct.
nov.
dic.
primavera
verano
otoño
invierno
citeproc-0.13/locales/es-ES.xml 0000644 0000000 0000000 00000056747 07346545000 014541 0 ustar 00 0000000 0000000
javimat
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License
2012-07-04T23:31:02+00:00
advance online publication
album
audio recording
film
henceforth
loc. cit.
no place
n.p.
no publisher
n.p.
on
op. cit.
obra original publicada en
comunicación personal
podcast
podcast episode
preprint
radio broadcast
radio series
radio series episode
special issue
special section
television broadcast
television series
television series episode
video
working paper
accedido
y
y otros
anónimo
anón.
en
disponible en
de
circa
c.
citado
reference
references
number
numbers
edición
ediciones
ref.
refs.
no.
nos.
ed.
et al.
previsto
a partir de
ibid.
en
en imprenta
internet
carta
sin fecha
s. f.
en línea
presentado en
referencia
referencias
ref.
refs.
review of
rev. of
recuperado
escala
versión
preprint
journal article
magazine article
newspaper article
bill
broadcast
classic
collection
dataset
document
entry
dictionary entry
encyclopedia entry
event
graphic
hearing
entrevista
legal case
legislation
manuscript
map
video recording
musical score
pamphlet
conference paper
patent
performance
periodical
comunicación personal
post
blog post
regulation
report
review
book review
software
audio recording
presentation
standard
thesis
treaty
webpage
journal art.
mag. art.
newspaper art.
doc.
graph.
interv.
MS
video rec.
rep.
rev.
bk. rev.
audio rec.
testimony of
review of
review of the book
d. C.
a. C.
BCE
CE
«
»
“
”
-
:
,
;
.ª
primera
segunda
tercera
cuarta
quinta
sexta
séptima
octava
novena
décima
act
acts
appendix
appendices
article
articles
canon
canons
location
locations
equation
equations
rule
rules
scene
scenes
table
tables
title
titles
libro
libros
capítulo
capítulos
columna
columnas
figura
figuras
folio
folios
número
números
línea
líneas
nota
notas
opus
opera
página
páginas
volume
volumes
page
pages
printing
printings
chap.
chaps.
cit.
cits.
n.º
página
páginas
párrafo
párrafos
parte
partes
sección
secciones
supplement
supplements
sub voce
sub vocibus
verso
versos
volumen
volúmenes
app.
apps.
art.
arts.
loc.
locs.
eq.
eqs.
r.
rr.
sc.
scs.
tbl.
tbls.
tit.
tits.
lib.
cap.
col.
fig.
f.
n.º
l.
n.
op.
p.
pp.
vol.
vols.
p.
pp.
print.
prints.
p.
pp.
párr.
pt.
sec.
supp.
supps.
s. v.
s. vv.
v.
vv.
vol.
vols.
§
§
chapter
chapters
citation
citations
número
números
§
§
ed.
eds.
chair
chairs
compiler
compilers
contributor
contributors
curator
curators
executive producer
executive producers
guest
guests
host
hosts
narrator
narrators
organizer
organizers
performer
performers
producer
producers
writer
writers
series creator
series creators
director
directores
editor
editores
editor
editores
ilustrador
ilustradores
traductor
traductores
editor y traductor
editores y traductores
comp.
comps.
contrib.
contribs.
cur.
curs.
exec. prod.
exec. prods.
narr.
narrs.
org.
orgs.
perf.
perfs.
prod.
prods.
writ.
writs.
cre.
cres.
dir.
dirs.
ed.
eds.
ed.
eds.
ilust.
ilusts.
trad.
trads.
ed. y trad.
eds. y trads.
edited by
chaired by
compiled by
with
curated by
executive produced by
with guest
hosted by
narrated by
organized by
performed by
produced by
written by
created by
de
dirigido por
editado por
editado por
ilustrado por
entrevistado por
a
por
ed. by
traducido por
editado y traducido por
comp. by
w.
cur. by
exec. prod. by
w. guest
hosted by
narr. by
org. by
perf. by
prod. by
writ. by
cre. by
dir.
ed.
ed.
ilust.
trad.
ed. y trad.
enero
febrero
marzo
abril
mayo
junio
julio
agosto
septiembre
octubre
noviembre
diciembre
ene.
feb.
mar.
abr.
may
jun.
jul.
ago.
sep.
oct.
nov.
dic.
primavera
verano
otoño
invierno
citeproc-0.13/locales/es-MX.xml 0000644 0000000 0000000 00000061172 07346545000 014542 0 ustar 00 0000000 0000000
Juan Ignacio Flores Salgado
https://www.mendeley.com/profiles/juan-ignacio-flores-salgado/
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License
2015-06-13T13:57:31-04:00
advance online publication
album
audio recording
film
henceforth
loc. cit.
no place
n.p.
no publisher
n.p.
on
op. cit.
obra original publicada en
comunicación personal
podcast
podcast episode
preprint
radio broadcast
radio series
radio series episode
special issue
special section
television broadcast
television series
television series episode
video
working paper
consultado
y
et al.
anónimo
anón.
en
disponible en
de
circa
c.
citado
reference
references
number
numbers
edición
ediciones
ref.
refs.
no.
nos.
ed.
eds.
et al.
en preparación
a partir de
ibid.
en
en imprenta
internet
carta
sin fecha
s/f
en línea
presentado en
referencia
referencias
ref.
refs.
review of
rev. of
recuperado
escala
versión
preprint
journal article
magazine article
newspaper article
bill
broadcast
classic
collection
dataset
document
entry
dictionary entry
encyclopedia entry
event
graphic
hearing
entrevista
legal case
legislation
manuscript
map
video recording
musical score
pamphlet
conference paper
patent
performance
periodical
comunicación personal
post
blog post
regulation
report
review
book review
software
audio recording
presentation
standard
thesis
treaty
webpage
journal art.
mag. art.
newspaper art.
doc.
graph.
interv.
MS
video rec.
rep.
rev.
bk. rev.
audio rec.
testimony of
review of
review of the book
d. C.
a. C.
BCE
CE
“
”
‘
’
–
:
,
;
a
a
o
primera
segunda
tercera
cuarta
quinta
sexta
séptima
octava
novena
décima
act
acts
appendix
appendices
article
articles
canon
canons
location
locations
equation
equations
rule
rules
scene
scenes
table
tables
title
titles
libro
libros
capítulo
capítulos
columna
columnas
figura
figuras
folio
folios
número
números
línea
líneas
nota
notas
opus
opera
página
páginas
volume
volumes
page
pages
printing
printings
chap.
chaps.
cit.
cits.
núm.
núms.
página
páginas
párrafo
párrafos
parte
partes
sección
secciones
supplement
supplements
sub voce
sub vocibus
verso
versos
volumen
volúmenes
app.
apps.
art.
arts.
loc.
locs.
eq.
eqs.
r.
rr.
sc.
scs.
tbl.
tbls.
tit.
tits.
lib.
libs.
cap.
caps.
col.
cols.
fig.
figs.
f.
ff.
núm.
núms.
l.
ls.
n.
nn.
op.
opp.
p.
pp.
vol.
vols.
p.
pp.
print.
prints.
p.
pp.
párr.
párrs.
pt.
pts.
sec.
secs.
supp.
supps.
s. v.
s. vv.
v.
vv.
vol.
vols.
¶
¶
chapter
chapters
citation
citations
número
números
§
§
ed.
eds.
chair
chairs
compiler
compilers
contributor
contributors
curator
curators
executive producer
executive producers
guest
guests
host
hosts
narrator
narrators
organizer
organizers
performer
performers
producer
producers
writer
writers
series creator
series creators
director
directores
editor
editores
coordinador
coordinadores
ilustrador
ilustradores
traductor
traductores
editor y traductor
editores y traductores
comp.
comps.
contrib.
contribs.
cur.
curs.
exec. prod.
exec. prods.
narr.
narrs.
org.
orgs.
perf.
perfs.
prod.
prods.
writ.
writs.
cre.
cres.
dir.
dirs.
ed.
eds.
coord.
coords.
ilust.
ilusts.
trad.
trads.
ed. y trad.
eds. y trads.
edited by
chaired by
compiled by
with
curated by
executive produced by
with guest
hosted by
narrated by
organized by
performed by
produced by
written by
created by
de
dirigido por
editado por
coordinado por
ilustrado por
entrevistado por
a
por
ed. by
traducido por
editado y traducido por
comp. by
w.
cur. by
exec. prod. by
w. guest
hosted by
narr. by
org. by
perf. by
prod. by
writ. by
cre. by
dir.
ed.
coord.
ilust.
trad.
ed. y trad.
enero
febrero
marzo
abril
mayo
junio
julio
agosto
septiembre
octubre
noviembre
diciembre
ene.
feb.
mar.
abr.
may
jun.
jul.
ago.
sep.
oct.
nov.
dic.
primavera
verano
otoño
invierno
citeproc-0.13/locales/et-EE.xml 0000644 0000000 0000000 00000056636 07346545000 014521 0 ustar 00 0000000 0000000
Andrew Dunning
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License
2012-07-04T23:31:02+00:00
advance online publication
album
audio recording
film
henceforth
loc. cit.
no place
n.p.
no publisher
n.p.
on
op. cit.
original work published
isiklik suhtlus
podcast
podcast episode
preprint
radio broadcast
radio series
radio series episode
special issue
special section
television broadcast
television series
television series episode
video
working paper
vaadatud
ja
ja teised
anonüümne
anon
available at
umbes
u
tsiteeritud
reference
references
number
numbers
väljaanne
väljaanded
ref.
refs.
no.
nos.
tr
et al.
ilmumisel
ibid.
trükis
internet
kiri
s.a.
s.a.
online
esitatud
viide
viited
viide
viited
review of
rev. of
salvestatud
scale
version
preprint
journal article
magazine article
newspaper article
bill
broadcast
classic
collection
dataset
document
entry
dictionary entry
encyclopedia entry
event
graphic
hearing
intervjuu
legal case
legislation
manuscript
map
video recording
musical score
pamphlet
conference paper
patent
performance
periodical
isiklik suhtlus
post
blog post
regulation
report
review
book review
software
audio recording
presentation
standard
thesis
treaty
webpage
journal art.
mag. art.
newspaper art.
doc.
graph.
interv.
MS
video rec.
rep.
rev.
bk. rev.
audio rec.
testimony of
review of
review of the book
pKr
eKr
BCE
CE
„
“
‘
’
–
:
,
;
.
esimene
teine
kolmas
neljas
viies
kuues
seitsmes
kaheksas
üheksas
kümnes
act
acts
appendix
appendices
article
articles
canon
canons
location
locations
equation
equations
rule
rules
scene
scenes
table
tables
title
titles
raamat
raamatud
peatükk
peatükid
veerg
veerud
joonis
joonised
foolio
fooliod
number
numbrid
rida
read
viide
viited
opus
opera
lehekülg
leheküljed
volume
volumes
page
pages
printing
printings
chap.
chaps.
cit.
cits.
nr
lehekülg
leheküljed
lõik
lõigud
osa
osad
alajaotis
alajaotised
supplement
supplements
sub verbo
sub verbis
värss
värsid
köide
köited
app.
apps.
art.
arts.
loc.
locs.
eq.
eqs.
r.
rr.
sc.
scs.
tbl.
tbls.
tit.
tits.
rmt
ptk
v
joon
f
nr
l.
n.
op
lk
lk
vol.
vols.
p.
pp.
print.
prints.
lk
lk
lõik
osa
alajaot.
supp.
supps.
s.v.
s.vv.
v
vv
kd
kd
¶
¶¶
chapter
chapters
citation
citations
number
numbrid
§
§§
ed.
eds.
chair
chairs
compiler
compilers
contributor
contributors
curator
curators
executive producer
executive producers
guest
guests
host
hosts
narrator
narrators
organizer
organizers
performer
performers
producer
producers
writer
writers
series creator
series creators
director
directors
toimetaja
toimetajad
toimetaja
toimetajad
illustrator
illustrators
tõlkija
tõlkijad
toimetaja & tõlkija
toimetajad & tõlkijad
comp.
comps.
contrib.
contribs.
cur.
curs.
exec. prod.
exec. prods.
narr.
narrs.
org.
orgs.
perf.
perfs.
prod.
prods.
writ.
writs.
cre.
cres.
dir.
dirs.
toim
toim
toim
toim
ill.
ills.
tõlk
tõlk
toim & tõlk
toim & tõlk
edited by
chaired by
compiled by
with
curated by
executive produced by
with guest
hosted by
narrated by
organized by
performed by
produced by
written by
created by
directed by
toimetanud
toimetanud
illustrated by
intervjueerinud
by
ed. by
tõlkinud
toimetanud & tõlkinud
comp. by
w.
cur. by
exec. prod. by
w. guest
hosted by
narr. by
org. by
perf. by
prod. by
writ. by
cre. by
dir.
toim
toim
illus.
tõlk
toim & tõlk
jaanuar
veebruar
märts
aprill
mai
juuni
juuli
august
september
oktoober
november
detsember
jaan
veebr
märts
apr
mai
juuni
juuli
aug
sept
okt
nov
dets
kevad
suvi
sügis
talv
citeproc-0.13/locales/eu.xml 0000644 0000000 0000000 00000057333 07346545000 014226 0 ustar 00 0000000 0000000
Amaraun
Miren BZ
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License
2012-07-04T23:31:02+00:00
advance online publication
album
audio recording
film
henceforth
loc. cit.
no place
n.p.
no publisher
n.p.
on
op. cit.
original work published
komunikazio pertsonala
podcast
podcast episode
preprint
radio broadcast
radio series
radio series episode
special issue
special section
television broadcast
television series
television series episode
video
working paper
eskuratua
eta
eta beste
ezezaguna
ezez.
-(e)n
available at
-(e)k egina
inguru
ing.
aipatua
reference
references
number
numbers
argitalpena
argitalpenak
ref.
refs.
no.
nos.
arg.
et al.
bidean
hemendik:
ibíd.
in
moldiztegian
internet
gutuna
datarik gabe
d. g.
sarean
-(e)n aurkeztua
aipamena
aipamenak
aip.
aip.
review of
rev. of
berreskuratua
scale
bertsioa
preprint
journal article
magazine article
newspaper article
bill
broadcast
classic
collection
dataset
document
entry
dictionary entry
encyclopedia entry
event
graphic
hearing
elkarrizketa
legal case
legislation
manuscript
map
video recording
musical score
pamphlet
conference paper
patent
performance
periodical
komunikazio pertsonala
post
blog post
regulation
report
review
book review
software
audio recording
presentation
standard
thesis
treaty
webpage
journal art.
mag. art.
newspaper art.
doc.
graph.
interv.
MS
video rec.
rep.
rev.
bk. rev.
audio rec.
testimony of
review of
review of the book
K.a.
K.o.
BCE
CE
«
»
“
”
–
:
,
;
.
lehenengo
bigarren
hirugarren
laugarren
bosgarren
seigarren
zazpigarren
zortzigarren
bederatzigarren
hamargarren
act
acts
appendix
appendices
article
articles
canon
canons
location
locations
equation
equations
rule
rules
scene
scenes
table
tables
title
titles
liburua
liburuak
kapitulua
kapituluak
zutabea
zutabeak
irudia
irudiak
orria
orriak
zenbakia
zenbakiak
lerroa
lerroak
oharra
oharrak
obra
obrak
orrialdea
orrialdeak
volume
volumes
page
pages
printing
printings
chap.
chaps.
cit.
cits.
zenb.
orrialdea
orrialdeak
paragrafoa
paragrafoak
zatia
zatiak
atala
atalak
supplement
supplements
sub voce
sub vocem
bertsoa
bertsoak
liburukia
liburukiak
app.
apps.
art.
arts.
loc.
locs.
eq.
eqs.
r.
rr.
sc.
scs.
tbl.
tbls.
tit.
tits.
lib.
kap.
zut.
iru.
or.
zenb.
l.
n.
op.
or.
or.
vol.
vols.
p.
pp.
print.
prints.
or.
or.
par.
zt.
atal.
supp.
supps.
s.v.
s.v.
b.
bb.
libk.
libk.
¶
¶¶
chapter
chapters
citation
citations
zenbakia
zenbakiak
§
§
ed.
eds.
chair
chairs
compiler
compilers
contributor
contributors
curator
curators
executive producer
executive producers
guest
guests
host
hosts
narrator
narrators
organizer
organizers
performer
performers
producer
producers
writer
writers
series creator
series creators
director
directors
argitaratzailea
argitaratzaileak
argitaratzailea
argitaratzaileak
illustrator
illustrators
itzultzailea
itzultzaileak
argitaratzaile eta itzultzailea
argitaratzaile eta itzultzaileak
comp.
comps.
contrib.
contribs.
cur.
curs.
exec. prod.
exec. prods.
narr.
narrs.
org.
orgs.
perf.
perfs.
prod.
prods.
writ.
writs.
cre.
cres.
dir.
dirs.
arg.
arg.
arg.
arg.
ill.
ills.
itzul.
itzul.
arg. eta itzul.
arg. eta itzul.
edited by
chaired by
compiled by
with
curated by
executive produced by
with guest
hosted by
narrated by
organized by
performed by
produced by
written by
created by
directed by
-(e)k argitaratua
-(e)k argitaratua
illustrated by
-(e)k elkarrizketatua
-(r)entzat
by
ed. by
-(e)k itzulia
-(e)k argitaratu eta itzulia
comp. by
w.
cur. by
exec. prod. by
w. guest
hosted by
narr. by
org. by
perf. by
prod. by
writ. by
cre. by
dir.
arg.
arg.
illus.
itzul.
-(e)k arg. eta itzul.
urtarrila
otsaila
martxoa
apirila
maiatza
ekaina
uztaila
abuztua
iraila
urria
azaroa
abendua
urt.
ots.
mar.
apr.
mai.
eka.
uzt.
abz.
ira.
urr.
aza.
abe.
udaberria
uda
udazkena
negua
citeproc-0.13/locales/fa-IR.xml 0000644 0000000 0000000 00000060742 07346545000 014511 0 ustar 00 0000000 0000000
Hamed Heydari
abdealikhurrum
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License
2012-07-04T23:31:02+00:00
advance online publication
album
audio recording
film
henceforth
loc. cit.
no place
n.p.
no publisher
n.p.
on
op. cit.
original work published
ارتباط شخصی
podcast
podcast episode
preprint
radio broadcast
radio series
radio series episode
special issue
special section
television broadcast
television series
television series episode
video
working paper
دسترسی
و
و دیگران
ناشناس
ناشناس
در
قابل دسترس در
توسط
تقریباً
c.
ارجاع شده
reference
references
number
numbers
ویرایش
ویرایشهای
ref.
refs.
no.
nos.
ویرایش
و همکاران
در دست انتشار
از
همان
در
زیر چاپ
اینترنت
نامه
بدون تاریخ
بدون تاریخ
آنلاین
ارائه شده در
مرجع
مراجع
مرجع
مراجع
review of
rev. of
retrieved
scale
نسخه
preprint
journal article
magazine article
newspaper article
bill
broadcast
classic
collection
dataset
document
entry
dictionary entry
encyclopedia entry
event
graphic
hearing
مصاحبه
legal case
legislation
manuscript
map
video recording
musical score
pamphlet
conference paper
patent
performance
periodical
ارتباط شخصی
post
blog post
regulation
report
review
book review
software
audio recording
presentation
standard
thesis
treaty
webpage
journal art.
mag. art.
newspaper art.
doc.
graph.
interv.
MS
video rec.
rep.
rev.
bk. rev.
audio rec.
testimony of
review of
review of the book
بعد از میلاد
قبل از میلاد
BCE
CE
“
”
‘
’
–
:
,
;
اول
دوم
سوم
چهارم
پنجم
ششم
هفتم
هشتم
نهم
دهم
act
acts
appendix
appendices
article
articles
canon
canons
location
locations
equation
equations
rule
rules
scene
scenes
table
tables
title
titles
کتاب
کتابهای
فصل
فصلهای
ستون
ستونهای
تصویر
تصاویر
برگ
برگهای
شماره
شمارههای
خط
خطوط
یادداشت
یادداشتهای
قطعه
قطعات
صفحه
صفحات
volume
volumes
page
pages
printing
printings
chap.
chaps.
cit.
cits.
ش
صفحه
صفحات
پاراگراف
پاراگرافهای
بخش
بخشهای
قسمت
قسمتهای
supplement
supplements
در ذیلِ واژه
در ذیلِ واژههای
بیت
بیتهای
جلد
جلدهای
app.
apps.
art.
arts.
loc.
locs.
eq.
eqs.
r.
rr.
sc.
scs.
tbl.
tbls.
tit.
tits.
کتاب
فصل
ستون
تصویر
برگ
ش
خط
یادداشت
قطعه
ص
صص
vol.
vols.
p.
pp.
print.
prints.
ص
صص
پاراگراف
بخش
قسمت
supp.
supps.
s.v
s.vv
بیت
ابیات
ج
جج
¶
¶¶
chapter
chapters
citation
citations
شماره
شمارههای
§
§§
ed.
eds.
chair
chairs
compiler
compilers
contributor
contributors
curator
curators
executive producer
executive producers
guest
guests
host
hosts
narrator
narrators
organizer
organizers
performer
performers
producer
producers
writer
writers
series creator
series creators
director
directors
ویراستار
ویراستاران
ویراستار
ویراستاران
طراح گرافیک
طراحان گرافیک
مترجم
مترجمین
ویراستار و مترجم
ویراستاران و مترجمین
comp.
comps.
contrib.
contribs.
cur.
curs.
exec. prod.
exec. prods.
narr.
narrs.
org.
orgs.
perf.
perfs.
prod.
prods.
writ.
writs.
cre.
cres.
dir.
dirs.
ویراستار
ویراستاران
ویراستار
ویراستاران
تصویرگر
تصویرگران
مترجم
مترجمین
ویراستار و مترجم
ویراستاران و مترجمین
edited by
chaired by
compiled by
with
curated by
executive produced by
with guest
hosted by
narrated by
organized by
performed by
produced by
written by
created by
توسط
زیر نظر
ویراستهی
ویراستهی
طراحی گرافیکی از
مصاحبه توسط
به
بازبینی توسط
ed. by
ترجمهی
ترجمه و ویراستهی
comp. by
w.
cur. by
exec. prod. by
w. guest
hosted by
narr. by
org. by
perf. by
prod. by
writ. by
cre. by
dir.
ویراستهی
ویراستهی
طراحی از
ترجمهی
ترجمه و ویراستهی
ژانویه
فوریه
مارس
آوریل
می
ژوئن
جولای
آگوست
سپتامبر
اکتبر
نوامبر
دسامبر
ژانویه
فوریه
مارس
آوریل
می
ژوئن
جولای
آگوست
سپتامبر
اکتبر
نوامبر
دسامبر
بهار
تابستان
پاییز
زمستان
citeproc-0.13/locales/fi-FI.xml 0000644 0000000 0000000 00000057630 07346545000 014507 0 ustar 00 0000000 0000000
Janne Huovari
snissine
villelahtinen
Juhana Venäläinen
Tuomas Hietala
Luukas Pörtfors
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License
2012-07-04T23:31:02+00:00
advance online publication
albumi
äänite
film
henceforth
loc. cit.
no place
n.p.
no publisher
n.p.
on
op. cit.
original work published
henkilökohtainen viestintä
podcast
podcast episode
preprint
radiolähetys
radio series
radio series episode
erikoisnumero
special section
televisiolähetys
televisiosarja
televisiosarjan jakso
video
working paper
viitattu
ja
ym.
tuntematon
tuntematon
osoitteessa
saatavissa
tekijä
noin
n.
viitattu
viite
viitteet
number
numbers
painos
painokset
ref.
refs.
no.
nos.
p.
ym.
tulossa
osoitteesta
mt.
teoksessa
painossa
internet
kirje
ei päivämäärää
ei pvm.
verkossa
esitetty tilaisuudessa
viittaus
viittaukset
viit.
viit.
review of
rev. of
noudettu
mittakaava
versio
preprint
journal article
magazine article
newspaper article
bill
lähetys
classic
collection
dataset
document
entry
dictionary entry
encyclopedia entry
event
graphic
hearing
haastattelu
legal case
legislation
käsikirjoitus
kartta
videotallenne
musical score
pamphlet
conference paper
patentti
esitys
periodical
henkilökohtainen viestintä
post
blogikirjoitus
regulation
raportti
review
kirja-arvostelu
ohjelmisto
äänite
esitys
standardi
thesis
treaty
webpage
journal art.
mag. art.
newspaper art.
doc.
graph.
interv.
MS
video rec.
rep.
rev.
bk. rev.
audio rec.
testimony of
review of
review of the book
jKr.
eKr.
eaa.
jaa.
”
”
’
’
–
:
,
;
.
ensimmäinen
toinen
kolmas
neljäs
viides
kuudes
seitsemäs
kahdeksas
yhdeksäs
kymmenes
act
acts
appendix
appendices
article
articles
canon
canons
location
locations
equation
equations
rule
rules
scene
scenes
table
tables
title
titles
kirja
kirjat
luku
luvut
palsta
palstat
kuvio
kuviot
folio
foliot
numero
numerot
rivi
rivit
huomautus
huomautukset
opus
opukset
sivu
sivut
volume
volumes
sivu
sivut
printing
printings
chap.
chaps.
cit.
cits.
nro
sivu
sivut
kappale
kappaleet
osa
osat
osa
osat
supplement
supplements
sub verbo
sub verbis
säkeistö
säkeistöt
volyymi
volyymit
app.
apps.
art.
arts.
loc.
locs.
eq.
eqs.
r.
rr.
sc.
scs.
tbl.
tbls.
tit.
tits.
kirja
luku
palsta
kuv.
fol.
nro
r.
huom.
op.
s.
s.
vol.
vols.
s.
s.
print.
prints.
s.
s.
kappale
osa
osa
supp.
supps.
s.v.
s.vv.
säk.
säk.
vol.
vol.
¶
¶¶
luku
luvut
viite
viitteet
numero
numerot
§
§§
toim.
toim.
chair
chairs
compiler
compilers
contributor
contributors
kuraattori
kuraattorit
executive producer
executive producers
guest
guests
host
hosts
narrator
narrators
järjestäjä
järjestäjät
esittäjä
esittäjät
tuottaja
tuottajat
käsikirjoittaja
käsikirjoittajat
sarjan luoja
sarjan luojat
ohjaaja
ohjaajat
toimittaja
toimittajat
toimittaja
toimittajat
kuvittaja
kuvittajat
kääntäjä
kääntäjät
toimittaja ja kääntäjä
toimittajat ja kääntäjät
comp.
comps.
contrib.
contribs.
cur.
curs.
exec. prod.
exec. prods.
narr.
narrs.
org.
orgs.
esitt.
esitt.
tuott.
tuott.
käsik.
käsik.
cre.
cres.
ohj.
ohj.
toim.
toim.
toim.
toim.
kuv.
kuv.
käänt.
käänt.
toim. ja käänt.
toim. ja käänt.
toimittanut
chaired by
compiled by
with
kuratoinut
executive produced by
with guest
hosted by
narrated by
järjestänyt
esittänyt
tuottanut
käsikirjoittanut
created by
ohjannut
toimittanut
toimittanut
kuvittanut
haastatellut
vastaanottaja
ed. by
kääntänyt
toimittanut ja kääntänyt
comp. by
w.
cur. by
exec. prod. by
w. guest
hosted by
narr. by
org. by
esitt.
tuott.
käsik.
cre. by
ohj.
toim.
toim.
kuv.
käänt.
toim. ja käänt.
tammikuuta
helmikuuta
maaliskuuta
huhtikuuta
toukokuuta
kesäkuuta
heinäkuuta
elokuuta
syyskuuta
lokakuuta
marraskuuta
joulukuuta
tammi
helmi
maalis
huhti
touko
kesä
heinä
elo
syys
loka
marras
joulu
kevät
kesä
syksy
talvi
citeproc-0.13/locales/fr-CA.xml 0000644 0000000 0000000 00000060471 07346545000 014502 0 ustar 00 0000000 0000000
Grégoire Colly
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License
2012-07-04T23:31:02+00:00
advance online publication
album
audio recording
film
henceforth
loc. cit.
no place
n.p.
no publisher
n.p.
on
op. cit.
original work published
communication personnelle
podcast
podcast episode
preprint
radio broadcast
radio series
radio series episode
special issue
special section
television broadcast
television series
television series episode
video
working paper
consulté le
et
et autres
anonyme
anon.
sur
disponible à
par
vers
v.
cité
reference
references
number
numbers
édition
éditions
ref.
refs.
no.
nos.
éd.
et al.
à paraître
à l'adresse
ibid.
dans
sous presse
Internet
lettre
sans date
s. d.
en ligne
présenté à
référence
références
réf.
réf.
review of
rev. of
consulté
échelle
version
preprint
journal article
magazine article
newspaper article
bill
broadcast
classic
collection
dataset
document
entry
dictionary entry
encyclopedia entry
event
graphic
hearing
entretien
legal case
legislation
manuscript
map
video recording
musical score
pamphlet
conference paper
patent
performance
periodical
communication personnelle
post
blog post
regulation
report
review
book review
software
audio recording
presentation
standard
thesis
treaty
webpage
journal art.
mag. art.
newspaper art.
doc.
graph.
interv.
MS
video rec.
rep.
rev.
bk. rev.
audio rec.
testimony of
review of
review of the book
apr. J.-C.
av. J.-C.
BCE
CE
«
»
“
”
‑
:
,
;
ᵉ
ʳᵉ
ᵉʳ
premier
deuxième
troisième
quatrième
cinquième
sixième
septième
huitième
neuvième
dixième
act
acts
appendix
appendices
article
articles
canon
canons
location
locations
equation
equations
rule
rules
scene
scenes
table
tables
title
titles
livre
livres
chapitre
chapitres
colonne
colonnes
figure
figures
folio
folios
numéro
numéros
ligne
lignes
note
notes
opus
opus
page
pages
volume
volumes
page
pages
printing
printings
chap.
chaps.
cit.
cits.
nᵒ
nᵒˢ
page
pages
paragraphe
paragraphes
partie
parties
section
sections
supplement
supplements
sub verbo
sub verbis
verset
versets
volume
volumes
app.
apps.
art.
arts.
loc.
locs.
eq.
eqs.
r.
rr.
sc.
scs.
tbl.
tbls.
tit.
tits.
liv.
chap.
col.
fig.
fᵒ
fᵒˢ
nᵒ
nᵒˢ
l.
n.
op.
p.
p.
vol.
vols.
p.
pp.
print.
prints.
p.
p.
paragr.
part.
sect.
supp.
supps.
s. v.
s. vv.
v.
v.
vol.
vol.
§
§
chapter
chapters
citation
citations
numéro
numéros
§
§
ed.
eds.
chair
chairs
compiler
compilers
contributor
contributors
curator
curators
executive producer
executive producers
guest
guests
host
hosts
narrator
narrators
organizer
organizers
performer
performers
producer
producers
writer
writers
series creator
series creators
réalisateur
réalisateurs
éditeur
éditeurs
directeur
directeurs
illustrateur
illustrateurs
traducteur
traducteurs
éditeur et traducteur
éditeurs et traducteurs
comp.
comps.
contrib.
contribs.
cur.
curs.
exec. prod.
exec. prods.
narr.
narrs.
org.
orgs.
perf.
perfs.
prod.
prods.
writ.
writs.
cre.
cres.
réal.
réal.
éd.
éd.
dir.
dir.
ill.
ill.
trad.
trad.
éd. et trad.
éd. et trad.
edited by
chaired by
compiled by
with
curated by
executive produced by
with guest
hosted by
narrated by
organized by
performed by
produced by
written by
created by
par
réalisé par
édité par
sous la direction de
illustré par
entretien réalisé par
à
par
ed. by
traduit par
édité et traduit par
comp. by
w.
cur. by
exec. prod. by
w. guest
hosted by
narr. by
org. by
perf. by
prod. by
writ. by
cre. by
réal. par
éd. par
ss la dir. de
ill. par
trad. par
éd. et trad. par
janvier
février
mars
avril
mai
juin
juillet
août
septembre
octobre
novembre
décembre
janv.
févr.
mars
avr.
mai
juin
juill.
août
sept.
oct.
nov.
déc.
printemps
été
automne
hiver
citeproc-0.13/locales/fr-FR.xml 0000644 0000000 0000000 00000061063 07346545000 014524 0 ustar 00 0000000 0000000
Grégoire Colly
Collectif Zotero francophone
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License
2012-07-04T23:31:02+00:00
publication en ligne anticipée
album
enregistrement audio
film
désormais
loc. cit.
sans lieu
s. l.
sans nom
s. n.
sur
op. cit.
édition originale
communication personnelle
podcast
épisode de podcast
prépublication
émission de radio
série radiophonique
épisode de série radiophonique
numéro spécial
section spéciale
émission de télévision
série télévisée
épisode de série télévisée
vidéo
document de travail
consulté le
et
et autres
anonyme
anon.
sur
disponible sur
par
vers
v.
cité
reference
references
number
numbers
édition
éditions
ref.
refs.
no.
nos.
éd.
et al.
à paraître
à l'adresse
ibid.
in
sous presse
Internet
lettre
sans date
s. d.
en ligne
présenté à
référence
références
réf.
réf.
review of
rev. of
consulté
échelle
version
article
article de revue
article de magazine
article de presse
projet de loi
émission
classique
collection
jeu de données
document
entrée
entrée de dictionnaire
entrée d'encyclopédie
événement
image
audience
entretien
affaire
acte juridique
manuscrit
carte
enregistrement vidéo
partition
pamphlet
article de colloque
brevet
interprétation
périodique
communication personnelle
billet
billet de blog
règlement
rapport
recension
recension de livre
logiciel
chanson
présentation
norme
thèse
traité
page web
art. de revue
art. de mag.
art. de presse
doc.
graph.
interv.
ms
enr. vidéo
rap.
recens.
recens. de liv.
enr. audio
testimony of
recension de
recension du livre
apr. J.-C.
av. J.-C.
av. n. è.
n. è.
«
»
“
”
‑
:
,
;
ᵉ
ʳᵉ
ᵉʳ
premier
deuxième
troisième
quatrième
cinquième
sixième
septième
huitième
neuvième
dixième
acte
actes
appendice
appendices
article
articles
canon
canons
emplacement
emplacements
équation
équations
règle
règles
scène
scènes
tableau
tableaux
titre
titres
livre
livres
chapitre
chapitres
colonne
colonnes
figure
figures
folio
folios
numéro
numéros
ligne
lignes
note
notes
opus
opus
page
pages
volume
volumes
page
pages
printing
printings
chap.
chaps.
cit.
cits.
nᵒ
nᵒˢ
page
pages
paragraphe
paragraphes
partie
parties
section
sections
supplement
supplements
sub verbo
sub verbis
verset
versets
volume
volumes
append.
append.
art.
art.
emplact
emplact
eq.
eq.
règle
règles
sc.
sc.
tab.
tab.
tit.
tit.
liv.
chap.
col.
fig.
fᵒ
fᵒˢ
nᵒ
nᵒˢ
l.
n.
op.
p.
p.
vol.
vols.
p.
pp.
print.
prints.
p.
p.
paragr.
part.
sect.
supp.
supps.
s. v.
s. vv.
v.
v.
vol.
vol.
§
§
chapter
chapters
citation
citations
numéro
numéros
§
§
ed.
eds.
président
présidents
compilateur
compilateurs
contributeur
contributeurs
commissaire
commissaires
producteur exécutif
producteurs exécutifs
invité
invités
hôte
hôtes
narrateur
narrateurs
organisateur
organisateurs
interprète
interprètes
producteur
producteurs
scénariste
scénaristes
créateur de série
créateurs de série
réalisateur
réalisateurs
éditeur
éditeurs
directeur
directeurs
illustrateur
illustrateurs
traducteur
traducteurs
éditeur et traducteur
éditeurs et traducteurs
compil.
compil.
contrib.
contrib.
commiss.
commiss.
prod. exé.
prod. exé.
narr.
narr.
org.
org.
interpr.
interpr.
prod.
prod.
scénar.
scénar.
créat.
créat.
réal.
réal.
éd.
éd.
dir.
dir.
ill.
ill.
trad.
trad.
éd. et trad.
éd. et trad.
edited by
présidé par
compilé par
avec
organisé par
production exécutive par
avec pour invité
animé par
lu par
organisé par
interprété par
produit par
scénario de
créé par
par
réalisé par
édité par
sous la direction de
illustré par
entretien réalisé par
à
par
ed. by
traduit par
édité et traduit par
compil. par
ac
org. par
prod. exé. par
ac pr inv.
anim. par
lu par
org. par
interpr. par
prod. par
scénar. de
créé par
réal. par
éd. par
ss la dir. de
ill. par
trad. par
éd. et trad. par
janvier
février
mars
avril
mai
juin
juillet
août
septembre
octobre
novembre
décembre
janv.
févr.
mars
avr.
mai
juin
juill.
août
sept.
oct.
nov.
déc.
printemps
été
automne
hiver
citeproc-0.13/locales/gl-ES.xml 0000644 0000000 0000000 00000057452 07346545000 014526 0 ustar 00 0000000 0000000
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License
2021-04-20T23:31:02+00:00
Manuel Magán
David Cotelo Varela
Andrea Real
publicación en línea anticipada
álbum
accedido
e
e outros
anónimo
anón.
gravación de son
en
dispoñíbel en
por
arredor do
c.
citado
referencia
referencias
número
números
edición
edicións
ref.
refs.
no.
nos.
ed.
película
et al.
a publicar
entón
de
ibid.
en
no prelo
internet
suceso legal
lexislación
manuscrito
mapa
gravación de vídeo
partitura musical
panfleto
informe de conferencia
patente
actuación
periódico
comunicado persoal
publicación
publicación web
regulamento
informe
revisión
crítica
software
canción
presentación
estándar
tese
tratado
páxina na rede
art.
art.
art.
doc.
graf.
manuscrito
grav. vid.
inf.
rev.
rev. libro
canción
entrevista
loc. cit.
carta
sen data
sen lugar
s. l.
sen editorial
s. e.
en
sen data
op. cit.
traballo orixinal publicado
comunicado persoal
podcast
episodio de podcast
pre-impresión
en liña
emisión de radio
serie de radio
episodio de serie de radio
presentado na
referencia
referencias
ref.
refs.
revisión de
rev. de
obtido
número especial
sección especial
emisión de televisión
serie de televisión
episodio de serie de televisión
video
artigo inacabado
pre-impresión
artigo
artigo de revista
artigo de periódico
factura
emisión
clásico
colección
conxunto de datos
documento
entrada
entrada no dicionario
entrada na enciclopedia
evento
gráfica
audio
escala
versión
d. C.
BCE
CE
a. C.
“
”
“
”
:
,
;
–
.º
.ª
primeiro
primeira
segundo
segunda
terceiro
terceira
cuarto
cuarta
quinto
quinta
sexto
sexta
séptimo
séptima
oitavo
oitava
noveno
novena
décimo
décima
acta
actas
apéndice
apéndices
artigo
artigos
c.
cc.
libro
libros
capítulo
capítulos
localización
localizacións
ecuación
ecuacións
columna
columnas
figura
figuras
folio
folios
número
números
liña
liñas
nota
notas
opus
ópera
páxina
páxinas
volume
volumes
páxina
páxina
impreso
impresos
cap.
caps.
cit.
cits.
n.
páxina
páxinas
parágrafo
parágrafos
regra
regras
escena
escenas
parte
partes
sección
seccións
suplemento
suplementos
táboa
táboa
título
títulos
sub verbo
sub verbis
versículo
versículos
ap.
aps.
art.
arts.
volume
volumes
lib.
cap.
loc.
locs.
ec.
ecs.
col.
fig.
f.
n.
l.
n.
op.
páx.
páxs.
vol.
vols.
páx.
páxs.
impr.
imprs.
presidente
presidentes
compilador
compiladores
contribuínte
contribuíntes
conservador
conservadores
editor
editores
páx.
páxs.
par.
r.
rr.
esc.
escs.
pt.
sec.
supl.
supls.
táb.
táb.
tit.
tits.
s.v.
s.vv.
v.
vv.
vol.
vols.
¶
¶¶
capítulo
capítulos
cita
citas
número
números
§
§§
director
directores
editor
editores
produtor executivo
produtores executivos
invitado
invitados
anfitrión
anfitrións
editor
editores
narrador
narradores
organizador
organizadores
intérprete
intérpretes
produtor
produtores
escritor
escritores
creador da serie
creadores da serie
ilustrador
ilustradores
comp.
comps.
contrib.
contribs.
conservador
conservadores
tradutor
tradutores
editor e tradutor
editores e tradutores
dir.
dirs.
ed.
eds.
exec. prod.
exec. prods.
ed.
eds.
narr.
narrs.
org.
orgs.
interp.
interps.
prod.
prods.
escritores
escritores
cre.
cres.
il.
ils.
presidido por
editado por
compilado con
trad.
trads.
ed. e trad.
eds. e trads.
con
con
por
dirixido por
editado por
executado e producido por
ca compañía de
feito por
editorial de
ilustrado por
narrado por
organizado por
interpretado por
producido por
entrevistado por
para
escrito por
escrito por
revisado por
ed. por
comp. con
con
con
traducido por
editado e traducido por
dir.
ed.
exec. e prod. por
ca compañía de
ed.
narr. por
org. por
inerp. por
prod. por
escrito por
cre. por
ilus.
trad.
ed. e trad. por
xaneiro
febreiro
marzo
abril
maio
xuño
xullo
agosto
setembro
outubro
novembro
decembro
xan.
fev.
mar.
abr.
mai.
xun.
xul.
ago.
set.
out.
nov.
dec.
primavera
verán
outono
inverno
citeproc-0.13/locales/he-IL.xml 0000644 0000000 0000000 00000060406 07346545000 014506 0 ustar 00 0000000 0000000
roypeled1
dinkame
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License
2025-09-02T14:48:02+00:00
advance online publication
album
audio recording
סרט
henceforth
loc. cit.
no place
n.p.
no publisher
n.p.
on
op. cit.
פורסם במקור בשנת
תקשורת אישית
הסכת
פרק בהסכת
preprint
תשדיר רדיו
תוכנית רדיו
פרק בתוכנית רדיו
special issue
special section
television broadcast
סדרת טלוויזיה
television series episode
וידאו
working paper
נבדק לאחרונה
ו
ואחרים
אלמוני
anon
-ב
זמין ב
על-ידי
לערך
c.
מצוטט ב
reference
references
number
numbers
מהדורה
מהדורות
ref.
refs.
מס׳
מס׳
ed
ואחרים
צפוי
מתוך
שם
בתוך
בהדפסה
אינטרנט
מכתב
ללא תאריך
ל.ת.
מקוון
הוצג ב
הפניה
הפניות
ref.
refs.
review of
rev. of
אוחזר
scale
גירסה
preprint
מאמר בכתב עת
magazine article
מאמר בעיתון
bill
תשדיר
classic
collection
dataset
document
entry
ערך מילוני
ערך אנציקלופדי
event
graphic
hearing
ראיון
legal case
legislation
manuscript
מפה
video recording
musical score
pamphlet
conference paper
patent
performance
periodical
תקשורת אישית
פוסט
פוסט בבלוג
regulation
דוח
review
סקירת ספר
תוכנה
audio recording
presentation
standard
תזה
treaty
עמוד אינטרנט
מאמר
mag. art.
newspaper art.
doc.
graph.
ראיון
MS
video rec.
rep.
rev.
bk. rev.
audio rec.
testimony of
review of
review of the book
לספירה
לפני הספירה
לספירה
לפני הספירה
"
"
'
'
–
:
,
;
th
st
nd
rd
th
th
th
ראשון
שני
שלישי
רביעי
חמישי
שישי
שביעי
שמיני
תשיעי
עשירי
act
acts
appendix
appendices
article
articles
canon
canons
location
locations
משוואה
משוואות
חוק
חוקים
scene
scenes
table
tables
title
titles
ספר
ספרים
פרק
פרקים
טור
טורים
איור
איורים
פוליו
פוליו
מספר
מספרים
שורה
שורות
הערה
הערות
אופוס
אופרה
עמוד
עמודים
כרך
כרכים
עמוד
עמודים
printing
printings
פרק.
פרקים
cit.
cits.
no
עמוד
עמודים
פיסקה
פיסקאות
חלק
חלקים
סעיף
סעיפים
supplement
supplements
sub verbo
sub verbis
בית
בתים
כרך
כרכים
app.
apps.
art.
arts.
loc.
locs.
eq.
eqs.
r.
rr.
סצנה
סצנות
tbl.
tbls.
tit.
tits.
bk
chap
col
fig
f
no
l.
n.
op
'עמ
'עמ
כרך
כרכים
עמ׳
עמ׳
print.
prints.
'עמ
'עמ
para
pt
ס'
supp.
supps.
s.v.
s.vv.
פסוק
פסוקים
כרך
כרכים
¶
¶¶
פרק
פרקים
ציטוט
ציטוטים
מספר
מספרים
§
§§
ed.
eds.
chair
chairs
compiler
compilers
contributor
contributors
curator
curators
executive producer
executive producers
guest
guests
host
hosts
narrator
narrators
organizer
organizers
performer
performers
producer
producers
writer
writers
series creator
series creators
במאי
במאים
עורך
עורכים
עורך ראשי
עורכים ראשיים
מאייר
מאיירים
מתרגם
מתרגמים
editor & translator
editors & translators
comp.
comps.
contrib.
contribs.
cur.
curs.
exec. prod.
exec. prods.
narr.
narrs.
org.
orgs.
perf.
perfs.
prod.
prods.
writ.
writs.
cre.
cres.
dir.
dirs.
ed
eds
ed.
eds.
ill.
ills.
tran
trans
ed. & tran.
eds. & trans.
edited by
chaired by
compiled by
with
curated by
executive produced by
with guest
hosted by
narrated by
organized by
performed by
produced by
written by
created by
by
בוים ע"י
נערך ע"י
בוים ע"י
אויר ע"י
רואיין ע"י
אל
ע"י
ed. by
תורגם ע"י
edited & translated by
comp. by
w.
cur. by
exec. prod. by
w. guest
hosted by
narr. by
org. by
perf. by
prod. by
writ. by
cre. by
dir.
ed
ed.
illus.
trans
ed. & trans. by
ינואר
פברואר
מרץ
אפריל
מאי
יוני
יולי
אוגוסט
ספטמבר
אוקטובר
נובמבר
דצמבר
Jan
Feb
Mar
Apr
May
Jun
Jul
Aug
Sep
Oct
Nov
Dec
אביב
קיץ
סתיו
חורף
citeproc-0.13/locales/hi-IN.xml 0000644 0000000 0000000 00000065005 07346545000 014514 0 ustar 00 0000000 0000000
Neha Srivastava
neha-srivastava@outlook.com
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License
2021-02-22T12:13:02+05:30
advance online publication
album
audio recording
film
henceforth
loc. cit.
no place
n.p.
no publisher
n.p.
on
op. cit.
original work published
personal communication
podcast
podcast episode
preprint
radio broadcast
radio series
radio series episode
special issue
special section
television broadcast
television series
television series episode
video
working paper
अंतिम उपयोग
व
व अन्य
अज्ञात
अज्ञात
पर
पर उपलब्ध
द्वारा
सन
सन.
उल्लेखित
reference
references
number
numbers
संस्करण
संस्करण
ref.
refs.
no.
nos.
ed.
इत्यादि
आगामी
से
उक्त
में
मुद्रण में
इंटर्नेट
पत्र
दिनांक अज्ञात
n.d.
ऑनलाइन
पर प्रस्तुत
संदर्भ
references
ref.
refs.
review of
rev. of
पुनर्प्राप्त
scale
संस्करण
preprint
journal article
magazine article
newspaper article
bill
broadcast
classic
collection
dataset
document
entry
dictionary entry
encyclopedia entry
event
graphic
hearing
साक्षात्कार
legal case
legislation
manuscript
map
video recording
musical score
pamphlet
conference paper
patent
performance
periodical
personal communication
post
blog post
regulation
report
review
book review
software
audio recording
presentation
standard
thesis
treaty
webpage
journal art.
mag. art.
newspaper art.
doc.
graph.
interv.
MS
video rec.
rep.
rev.
bk. rev.
audio rec.
testimony of
review of
review of the book
CE
BCE
BCE
CE
“
”
‘
’
–
:
,
;
वाँ
पहला
पहली
दूसरा
दूसरी
तीसरा
तीसरी
चौथा
चौथी
पाँचवा
पाँचवी
छठा
छठी
सातवाँ
सातवीं
आठवाँ
आठवीं
नवाँ
नौवीं
दसवाँ
दसवीं
act
acts
appendix
appendices
article
articles
canon
canons
location
locations
equation
equations
rule
rules
scene
scenes
table
tables
title
titles
पुस्तक
पुस्तकें
अध्याय
अध्याय
कॉलम
columns
चित्र
चित्रों
पर्ण
folios
संख्या
संख्याएँ
पंक्ति
पंक्तियाँ
नोट
notes
opus
opera
पृष्ठ
पृष्ठ
volume
volumes
page
pages
printing
printings
chap.
chaps.
cit.
cits.
no.
nos.
पृष्ठ संख्या
पृष्ठों की संख्या
अनुच्छेद
paragraphs
भाग
parts
अनुभाग
sections
supplement
supplements
sub verbo
sub verbis
पद
verses
वॉल्यूम
वॉल्यूम्ज़
app.
apps.
art.
arts.
loc.
locs.
eq.
eqs.
r.
rr.
sc.
scs.
tbl.
tbls.
tit.
tits.
bk.
bks.
chap.
chaps.
col.
cols.
fig.
figs.
fol.
fols.
no.
nos.
l.
ll.
n.
nn.
op.
opp.
पृ.
पृ.
vol.
vols.
p.
pp.
print.
prints.
पृ. स.
पृ. स.
para.
paras.
pt.
pts.
sec.
secs.
supp.
supps.
s.v.
s.vv.
v.
vv.
vol.
vols.
¶
¶¶
chapter
chapters
citation
citations
संख्या
संख्याएँ
§
§§
ed.
eds.
chair
chairs
compiler
compilers
contributor
contributors
curator
curators
executive producer
executive producers
guest
guests
host
hosts
narrator
narrators
organizer
organizers
performer
performers
producer
producers
writer
writers
series creator
series creators
निर्देशक
directors
सम्पादक
editors
सम्पादक
editors
चित्रकार
illustrators
अनुवादक
translators
सम्पादक & अनुवादक
editors & translators
comp.
comps.
contrib.
contribs.
cur.
curs.
exec. prod.
exec. prods.
narr.
narrs.
org.
orgs.
perf.
perfs.
prod.
prods.
writ.
writs.
cre.
cres.
dir.
dirs.
ed.
eds.
ed.
eds.
ill.
ills.
tran.
trans.
ed. & tran.
eds. & trans.
edited by
chaired by
compiled by
with
curated by
executive produced by
with guest
hosted by
narrated by
organized by
performed by
produced by
written by
created by
द्वारा
निर्देशन
सम्पादन
निर्देशन
चित्रकारी
साक्षात्कारकर्ता
सेवा में
द्वारा
ed. by
अनुवाद
सम्पादन & अनुवाद
comp. by
w.
cur. by
exec. prod. by
w. guest
hosted by
narr. by
org. by
perf. by
prod. by
writ. by
cre. by
dir. by
ed. by
ed. by
illus. by
trans. by
ed. & trans. by
जनवरी
फ़रवरी
मार्च
अप्रैल
मई
जून
जुलाई
अगस्त
सितम्बर
अक्टूबर
नवम्बर
दिसम्बर
जन.
फ़र.
मार्च
अप्रैल
मई
जून
जुलाई
अग.
सित.
अक्ट.
नव.
दिस.
वसंत ऋतु
ग्रीष्म ऋतु
पतझड़ ऋतु
शिशिर ऋतु
citeproc-0.13/locales/hr-HR.xml 0000644 0000000 0000000 00000057002 07346545000 014526 0 ustar 00 0000000 0000000
tvrbanec
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License
2012-07-04T23:31:02+00:00
advance online publication
album
audio recording
film
henceforth
loc. cit.
no place
n.p.
no publisher
n.p.
on
op. cit.
original work published
osobna komunikacija
podcast
podcast episode
preprint
radio broadcast
radio series
radio series episode
special issue
special section
television broadcast
television series
television series episode
video
working paper
pristupljeno
i
i dr.
anonimno
anon.
na
dostupno na
od
oko
oko
citirano
reference
references
number
numbers
izdanje
izdanja
ref.
refs.
no.
nos.
izd.
i sur.
u pripremi
od
ibid.
u
u tisku
internet
pismo
bez datuma
bez dat.
na internetu
predstavljeno na
reference
reference
ref.
ref.
review of
rev. of
preuzeto
skala
verzija
preprint
journal article
magazine article
newspaper article
bill
broadcast
classic
collection
dataset
document
entry
dictionary entry
encyclopedia entry
event
graphic
hearing
intervju
legal case
legislation
manuscript
map
video recording
musical score
pamphlet
conference paper
patent
performance
periodical
osobna komunikacija
post
blog post
regulation
report
review
book review
software
audio recording
presentation
standard
thesis
treaty
webpage
journal art.
mag. art.
newspaper art.
doc.
graph.
interv.
MS
video rec.
rep.
rev.
bk. rev.
audio rec.
testimony of
review of
review of the book
pr. Kr.
BCE
CE
„
“
‚
‘
–
:
,
;
.
prvi
drugi
treći
četvrti
peti
šesti
sedmi
osmi
deveti
deseti
act
acts
appendix
appendices
article
articles
canon
canons
location
locations
equation
equations
rule
rules
scene
scenes
table
tables
title
titles
knjiga
knjige
poglavlje
poglavlja
stupac
stupci
crtež
crteži
folija
folije
izdanje
izdanja
red
redovi
bilješka
bilješke
djelo
djela
stranica
stranice
volume
volumes
page
pages
printing
printings
chap.
chaps.
cit.
cits.
izd.
stranica
stranice
pasus
pasusi
dio
dijelova
odjeljak
odjeljci
supplement
supplements
sub verbo
sub verbis
stih
stihovi
svezak
svesci
app.
apps.
art.
arts.
loc.
locs.
eq.
eqs.
r.
rr.
sc.
scs.
tbl.
tbls.
tit.
tits.
knj.
pogl.
stup.
crt.
fol.
izd.
red
bilj.
sv.
str.
str.
vol.
vols.
p.
pp.
print.
prints.
str.
str.
par.
dio
od.
supp.
supps.
s.v.
s.vv.
st.
st.
sv.
sv.
¶
¶¶
chapter
chapters
citation
citations
izdanje
izdanja
§
§§
ed.
eds.
chair
chairs
compiler
compilers
contributor
contributors
curator
curators
executive producer
executive producers
guest
guests
host
hosts
narrator
narrators
organizer
organizers
performer
performers
producer
producers
writer
writers
series creator
series creators
voditelj
voditelji
urednik
urednici
urednik
urednici
ilustrator
ilustratori
prevoditelj
prevoditelji
urednik & prevoditelj
urednici & prevoditelji
comp.
comps.
contrib.
contribs.
cur.
curs.
exec. prod.
exec. prods.
narr.
narrs.
org.
orgs.
perf.
perfs.
prod.
prods.
writ.
writs.
cre.
cres.
vod.
vod.
ur.
ur.
ur.-vod.
ur.-vod.
il.
il.
prev.
prev.
ur. & prev.
ur. & prev.
edited by
chaired by
compiled by
with
curated by
executive produced by
with guest
hosted by
narrated by
organized by
performed by
produced by
written by
created by
od
vodio
uredio
uredio
ilustrirao
intervjuirao
primatelj
pregledao
ed. by
preveo
uredio & preveo
comp. by
w.
cur. by
exec. prod. by
w. guest
hosted by
narr. by
org. by
perf. by
prod. by
writ. by
cre. by
vod.
ur.
ur. vod.
ilus.
prev.
ur. & prev.
siječanj
veljača
ožujak
travanj
svibanj
lipanj
srpanj
kolovoz
rujan
listopad
studeni
prosinac
sij.
velj.
ožu.
tra.
svi.
lip.
srp.
kol.
ruj.
lis.
stu.
pros.
proljeće
ljeto
jesen
zima
citeproc-0.13/locales/hu-HU.xml 0000644 0000000 0000000 00000057151 07346545000 014541 0 ustar 00 0000000 0000000
Miklos Vajna
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License
2014-06-17T09:56:35+02:00
advance online publication
album
audio recording
film
henceforth
loc. cit.
no place
n.p.
no publisher
n.p.
on
op. cit.
original work published
személyes kommunikáció
podcast
podcast episode
preprint
radio broadcast
radio series
radio series episode
special issue
special section
television broadcast
television series
television series episode
video
working paper
elérés
és
és mások
szerző nélkül
sz. n.
elérhető
by
körülbelül
kb.
idézi
reference
references
number
numbers
kiadás
kiadás
ref.
refs.
no.
nos.
kiad.
és mtsai.
megjelenés alatt
forrás
uo.
in
nyomtatás alatt
internet
levél
évszám nélkül
é. n.
online
előadás
hivatkozás
hivatkozás
hiv.
hiv.
review of
rev. of
elérés
skála
verzió
preprint
journal article
magazine article
newspaper article
bill
broadcast
classic
collection
dataset
document
entry
dictionary entry
encyclopedia entry
event
graphic
hearing
interjú
legal case
legislation
manuscript
map
video recording
musical score
pamphlet
conference paper
patent
performance
periodical
személyes kommunikáció
post
blog post
regulation
report
review
book review
software
audio recording
presentation
standard
thesis
treaty
webpage
journal art.
mag. art.
newspaper art.
doc.
graph.
interv.
MS
video rec.
rep.
rev.
bk. rev.
audio rec.
testimony of
review of
review of the book
Kr. u.
Kr. e.
i. e.
i. sz.
„
”
»
«
–
:
,
;
.
első
második
harmadik
negyedik
ötödik
hatodik
hetedik
nyolcadik
kilencedik
tizedik
act
acts
appendix
appendices
article
articles
canon
canons
location
locations
equation
equations
rule
rules
scene
scenes
table
tables
title
titles
könyv
könyv
fejezet
fejezet
oszlop
oszlop
ábra
ábra
fóliáns
fóliáns
szám
szám
sor
sor
jegyzet
jegyzet
mű
mű
oldal
oldal
volume
volumes
page
pages
printing
printings
chap.
chaps.
cit.
cits.
sz.
oldal
oldal
bekezdés
bekezdés
rész
rész
szakasz
szakasz
supplement
supplements
sub verbo
sub verbis
versszak
versszak
kötet
kötet
app.
apps.
art.
arts.
loc.
locs.
eq.
eqs.
r.
rr.
sc.
scs.
tbl.
tbls.
tit.
tits.
könyv
fej.
oszl.
ábr.
fol.
sz.
s.
j.
op.
o.
o.
vol.
vols.
p.
pp.
print.
prints.
o.
o.
bek.
rész
szak.
supp.
supps.
s. v.
s. vv.
vsz.
vsz.
köt.
köt.
¶
¶¶
chapter
chapters
citation
citations
szám
szám
§
§§
ed.
eds.
chair
chairs
compiler
compilers
contributor
contributors
curator
curators
executive producer
executive producers
guest
guests
host
hosts
narrator
narrators
organizer
organizers
performer
performers
producer
producers
writer
writers
series creator
series creators
igazgató
igazgató
szerkesztő
szerkesztő
szerkesztőségi igazgató
szerkesztőségi igazgató
illusztrátor
illusztrátor
fordító
fordító
szerkesztő & fordító
szerkesztő & fordító
comp.
comps.
contrib.
contribs.
cur.
curs.
exec. prod.
exec. prods.
narr.
narrs.
org.
orgs.
perf.
perfs.
prod.
prods.
writ.
writs.
cre.
cres.
ig.
ig.
szerk.
szerk.
szerk. ig.
szerk. ig.
ill.
ill.
ford.
ford.
szerk. & ford.
szerk. & ford.
edited by
chaired by
compiled by
with
curated by
executive produced by
with guest
hosted by
narrated by
organized by
performed by
produced by
written by
created by
by
directed by
szerkesztette
edited by
illusztrálta
interjúkészítő
címzett
by
ed. by
fordította
szerkesztette & fordította
comp. by
w.
cur. by
exec. prod. by
w. guest
hosted by
narr. by
org. by
perf. by
prod. by
writ. by
cre. by
ig.
szerk.
ed.
ill.
ford.
szerk. & ford.
január
február
március
április
május
június
július
augusztus
szeptember
október
november
december
jan.
febr.
márc.
ápr.
máj.
jún.
júl.
aug.
szept.
okt.
nov.
dec.
tavasz
nyár
ősz
tél
citeproc-0.13/locales/id-ID.xml 0000644 0000000 0000000 00000057546 07346545000 014511 0 ustar 00 0000000 0000000
faizhabibullah
Deden Habibi
xbypass
mzaini30
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License
2015-08-05T23:31:02+00:00
advance online publication
album
perekaman audio
film
henceforth
loc. cit.
tiada tempat
n.p.
tiada penerbit
n.p.
on
op. cit.
original work published
komunikasi pribadi
podcast
podcast episode
preprint
radio broadcast
seri radio
episode seri radio
isu spesial
bagian spesial
broadcast televisi
seri televisi
episode seri televisi
video
kertas kerja
diakses
dan
dan lainnya
anonim
anon.
pada
tersedia pada
oleh
circa
ca.
dikutip
reference
references
number
numbers
edisi
edisi
ref.
refs.
no.
nos.
ed.
dkk.
mendatang
dari
ibid.
dalam
dalam proses cetakan
internet
surat
tanpa tanggal
t.t.
daring
dipresentasikan pada
referensi
referensi
ref.
ref.
review of
rev. of
diambil
skala
versi
artikel
artikel jurnal
artikel majalah
artikel koran
tagihan
broadcast
klasik
koleksi
dataset
dokumen
entry
dictionary entry
encyclopedia entry
acara
grafis
mendengarkan
wawancara
kasus legal
legislation
manuskrip
peta
video recording
skor musik
pamflet
kertas konferensi
paten
performa
berdasarkan periode tertentu
komunikasi pribadi
postingan
postingan blog
regulasi
laporan
review
review buku
perangakat lunak
lagu
pidato
standard
tesis
treaty
halaman website
journal art.
mag. art.
newspaper art.
doc.
graph.
interv.
MS
video rec.
rep.
rev.
bk. rev.
audio rec.
testimony of
review of
review of the book
M
SM
BCE
CE
“
”
‘
’
–
:
,
;
pertama
kedua
ketiga
keempat
kelima
keenam
ketujuh
kedelapan
kesembilan
kesepuluh
act
acts
appendix
appendices
article
articles
canon
canons
location
locations
equation
equations
rule
rules
scene
scenes
table
tables
title
titles
buku
buku
bab
bab
kolom
kolom
gambar
gambar
folio
folio
nomor
nomor
baris
baris
catatan
catatan
opus
opera
halaman
halaman
volume
volumes
page
pages
printing
printings
chap.
chaps.
cit.
cits.
no.
halaman
halaman
paragraf
paragraf
bagian
bagian
bagian
bagian
supplement
supplements
sub verbo
sub verbis
ayat
ayat
volume
volume
app.
apps.
art.
arts.
loc.
locs.
eq.
eqs.
r.
rr.
sc.
scs.
tbl.
tbls.
tit.
tits.
bk.
bb.
kol.
gbr.
fol.
no.
brs.
ctt.
op.
hlm.
hlm.
vol.
vols.
p.
pp.
print.
prints.
hlm.
hlm.
para.
bag.
bag.
supp.
supps.
s.v.
s.vv.
a.
a.
vol.
vol.
¶
¶¶
chapter
chapters
citation
citations
nomor
nomor
§
§§
ed.
eds.
chair
chairs
compiler
compilers
contributor
contributors
curator
curators
executive producer
executive producers
guest
guests
host
hosts
narrator
narrators
organizer
organizers
performer
performers
producer
producers
writer
writers
series creator
series creators
direktur
direktur
editor
editor
editor
editor
ilustrator
ilustrator
penerjemah
penerjemah
editor & penerjemah
editor & penerjemah
comp.
comps.
contrib.
contribs.
cur.
curs.
exec. prod.
exec. prods.
narr.
narrs.
org.
orgs.
perf.
perfs.
prod.
prods.
writ.
writs.
cre.
cres.
dir.
dir.
ed.
ed.
ed.
ed.
il.
il.
penerj.
penerj.
ed. & penerj.
ed. & penerj.
edited by
chaired by
compiled by
with
curated by
executive produced by
with guest
hosted by
narrated by
organized by
performed by
produced by
written by
created by
oleh
diarahkan oleh
disunting oleh
disunting oleh
diilustrasi oleh
diwawancara oleh
kepada
oleh
ed. by
diterjemahkan oleh
disunting & diterjemahkan oleh
comp. by
w.
cur. by
exec. prod. by
w. guest
hosted by
narr. by
org. by
perf. by
prod. by
writ. by
cre. by
dir. oleh
ed. oleh
ed. oleh
illus. oleh
trans. oleh
ed. & penerj. oleh
Januari
Februari
Maret
April
Mei
Juni
Juli
Agustus
September
Oktober
November
Desember
Jan
Feb
Mar
Apr
Mei
Jun
Jul
Agu
Sep
Okt
Nov
Des
Semi
Panas
Gugur
Dingin
citeproc-0.13/locales/is-IS.xml 0000644 0000000 0000000 00000057170 07346545000 014540 0 ustar 00 0000000 0000000
dadamaster
styrmirm
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License
2012-07-04T23:31:02+00:00
advance online publication
album
audio recording
film
henceforth
loc. cit.
no place
n.p.
no publisher
n.p.
on
op. cit.
original work published
persónuleg samskipti
podcast
podcast episode
preprint
radio broadcast
radio series
radio series episode
special issue
special section
television broadcast
television series
television series episode
video
working paper
sótt
og
og fleiri
nafnlaus
nafnl.
af
aðgengilegt á
eftir
sirka
u.þ.b.
tilvitnun
reference
references
number
numbers
útgáfa
útgáfur
ref.
refs.
no.
nos.
útg.
o.fl.
óbirt
af
sama heimild
í
í prentun
rafrænt
bréf
engin dagsetning
e.d.
rafrænt
flutt á
tilvitnun
tilvitnanir
tilv.
tilv.
review of
rev. of
sótt
scale
útgáfa
preprint
journal article
magazine article
newspaper article
bill
broadcast
classic
collection
dataset
document
entry
dictionary entry
encyclopedia entry
event
graphic
hearing
viðtal
legal case
legislation
manuscript
map
video recording
musical score
pamphlet
conference paper
patent
performance
periodical
persónuleg samskipti
post
blog post
regulation
report
review
book review
software
audio recording
presentation
standard
thesis
treaty
webpage
journal art.
mag. art.
newspaper art.
doc.
graph.
interv.
MS
video rec.
rep.
rev.
bk. rev.
audio rec.
testimony of
review of
review of the book
e.Kr.
f.Kr.
BCE
CE
„
“
‘
’
–
:
,
;
.
fyrsti
annar
þriðji
fjórði
fimmti
sjötti
sjöundi
áttundi
níundi
tíundi
act
acts
appendix
appendices
article
articles
canon
canons
location
locations
equation
equations
rule
rules
scene
scenes
table
tables
title
titles
bók
bækur
kafli
kaflar
dálkur
dálkar
mynd
myndir
handrit
handrit
tölublað
tölublöð
lína
línur
athugasemd
athugasemdir
tónverk
tónverk
blaðsíða
blaðsíður
volume
volumes
page
pages
printing
printings
chap.
chaps.
cit.
cits.
tbl.
blaðsíða
blaðsíður
málsgrein
málsgreinar
hluti
hlutar
hluti
hlutar
supplement
supplements
sub verbo
sub verbis
vers
vers
bindi
bindi
app.
apps.
art.
arts.
loc.
locs.
eq.
eqs.
r.
rr.
sc.
scs.
tbl.
tbls.
tit.
tits.
bók
k.
d.
mynd.
handr.
tbl.
l.
ath.
tónv.
bls.
bls.
vol.
vols.
p.
pp.
print.
prints.
bls.
bls.
málsgr.
hl.
hl.
supp.
supps.
s.v.
s.vv.
v.
v.
b.
b.
¶
¶¶
chapter
chapters
citation
citations
tölublað
tölublöð
§
§§
ed.
eds.
chair
chairs
compiler
compilers
contributor
contributors
curator
curators
executive producer
executive producers
guest
guests
host
hosts
narrator
narrators
organizer
organizers
performer
performers
producer
producers
writer
writers
series creator
series creators
leikstjóri
leikstjórar
ritstjóri
ritstjórar
ritstjóri
ritstjórar
höfundur myndskreytinga
höfundar myndskreytinga
þýðandi
þýðendur
ritstjóri og þýðandi
ritstjórar og þýðendur
comp.
comps.
contrib.
contribs.
cur.
curs.
exec. prod.
exec. prods.
narr.
narrs.
org.
orgs.
perf.
perfs.
prod.
prods.
writ.
writs.
cre.
cres.
leikstj.
leikstj.
ritstj.
ritstj.
ritstj.
ritstj.
höf. mynd.
höf. mynd.
þýð.
þýð.
ritstj. og þýð.
ritstj. og þýð.
edited by
chaired by
compiled by
with
curated by
executive produced by
with guest
hosted by
narrated by
organized by
performed by
produced by
written by
created by
eftir
leikstýrt af
ritstýrt af
ritstýrt af
myndskreytt af
viðtal tók
til
by
ed. by
þýddi
ritstýrt og þýtt af
comp. by
w.
cur. by
exec. prod. by
w. guest
hosted by
narr. by
org. by
perf. by
prod. by
writ. by
cre. by
leikstj.
ritstj.
ritstj.
myndskr.
þýð.
ritstj. og þýð.
janúar
febrúar
mars
apríl
maí
júní
júlí
ágúst
september
október
nóvember
desember
jan.
feb.
mar.
apr.
maí
jún.
júl.
ágú.
sep.
okt.
nóv.
des.
vor
sumar
haust
vetur
citeproc-0.13/locales/it-IT.xml 0000644 0000000 0000000 00000063325 07346545000 014541 0 ustar 00 0000000 0000000
Filippo Vomiero
filippo.vomiero@unipd.it
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License
2022-07-07T17:56:02+01:00
pubblicazione online ad accesso anticipato
album
registrazione audio
film
d'ora in poi
loc. cit.
sine loco
s.l.
sine nomine
s.n.
su
op. cit.
opera originale pubblicata
comunicazione personale
podcast
episodio di podcast
preprint
trasmissione radiofonica
serie radiofonica
episodio di serie radiofonica
edizione speciale
sezione speciale
trasmissione televisiva
serie televisiva
episodio di serie televisiva
video
documento di lavoro
consultato
e
e altri
anonimo
anon.
a
disponibile su
su
di
circa
c.
citato
reference
references
number
numbers
edizione
edizioni
ref.
refs.
no.
nos.
ed.
et al.
in corso di pubblicazione
da
ibidem
ibid.
in
in stampa
internet
lettera
sine data
s.d.
online
presentato al
riferimento
riferimenti
rif.
rif.
review of
rev. of
recuperato
scala
versione
preprint
articolo di rivista
articolo di rivista generalista
articolo di giornale
proposta di legge
broadcast
classico
collezione
dataset
documento
voce
voce di dizionario
voce di enciclopedia
evento
opera d'arte
udienza
intervista
causa
legislazione
manoscritto
mappa
film
spartito musicale
opuscolo
atto di convegno
brevetto
esecuzione
periodico
comunicazione personale
messaggio
messaggio di blog
decreto
report
review
recensione di libro
software
registrazione audio
presentazione
norma
tesi
trattato
pagina web
art. di riv.
art. di riv
art. di g.
doc.
op. d'arte
interv.
ms.
film
rep.
rev.
rec. di l.
reg. audio
testimony of
review of
review of the book
d.C.
a.C.
BCE
CE
«
»
“
”
–
:
,
;
º
º
ª
prima
primo
prima
seconda
secondo
seconda
terza
terzo
terza
quarta
quarto
quarta
quinta
quinto
quinta
sesta
sesto
sesta
settima
settimo
settima
ottava
ottavo
ottava
nona
nono
nona
decima
decimo
decima
atto
atto
appendice
appendici
articolo
articoli
canone
canoni
indirizzo
indirizzi
equazione
equazioni
regola
regole
scena
scene
tavola
tavole
titolo
titoli
libro
libri
capitolo
capitoli
colonna
colonne
figura
figure
foglio
fogli
fascicolo
fascicoli
riga
righe
nota
note
opera
opere
pagina
pagine
volume
volumes
page
pages
printing
printings
chap.
chaps.
cit.
cits.
fasc.
pagina
pagine
paragrafo
paragrafi
parte
parti
sezione
sezioni
supplement
supplements
sub verbo
sub verbis
verso
versi
volume
volumi
app.
app.
art.
art.
loc.
locs.
eq.
eq.
r.
r.
sc.
sc.
tab.
tab.
tit.
tits.
lib.
cap.
capp.
col.
fig.
fgl.
fasc.
r.
n.
op.
p.
pp.
vol.
vols.
p.
pp.
print.
prints.
p.
pp.
par.
pt.
sez.
supp.
supps.
s.v.
s.vv.
v.
vv.
vol.
voll.
¶
¶¶
chapter
chapters
citation
citations
fascicolo
fascicoli
§
§§
ed.
eds.
presidente
presidenti
compilatore
compilatori
collaboratore
collaboratori
curatore
curatori
produttore esecutivo
produttori esecutivi
ospite
ospiti
conduttore
conduttori
narratore
narratori
organizzatore
organizzatori
esecutore
esecutori
produttore
produttori
sceneggiatore
sceneggiatori
autore della serie
autori della serie
regista
registi
curatore
curatori
direttore editoriale
direttori editoriali
illustratore
illustratori
traduttore
traduttori
curatore e traduttore
curatori e tradutori
comp.
comp.
collab.
collab.
cur.
cur.
prod.es.
prod. es.
narr.
narr.
org.
org.
esec.
esec.
prod.
prod.
scen.
scen.
aut. d. serie
aut. d. serie
reg.
reg.
a c. di
a c. di
dir. ed.
dir. ed.
ill.
ill.
trad.
trad.
cur. e trad.
cur. e trad.
edited by
presieduto da
compilato da
con un contributo di
a cura di
produzione esecutiva di
con ospite
condotto da
narrato da
organizzato da
esecuzione di
prodotto da
scritto da
creato da
di
diretto da
a cura di
direzione editoriale di
illustrato da
intervista di
a
di
ed. by
tradotto da
a cura di e tradotto da
comp. da
con un contrib. di
a c. di
prod. esec. di
con osp.
cond. da
narr. da
org. da
esec. di
prod. da
scr. da
cre. da
dir. da
a c. di
dir. ed. di
ill. da
trad. da
a c. di e trad. da
gennaio
febbraio
marzo
aprile
maggio
giugno
luglio
agosto
settembre
ottobre
novembre
dicembre
gen.
feb.
mar.
apr.
mag.
giu.
lug.
ago.
set.
ott.
nov.
dic.
primavera
estate
autunno
inverno
citeproc-0.13/locales/ja-JP.xml 0000644 0000000 0000000 00000057702 07346545000 014516 0 ustar 00 0000000 0000000
Shoji Takahashi
cmplstofB
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License
2024-03-12T14:01:18+00:00
advance online publication
album
audio recording
film
henceforth
loc. cit.
no place
n.p.
no publisher
n.p.
on
op. cit.
original work published
個人的なやり取り
podcast
podcast episode
preprint
radio broadcast
radio series
radio series episode
special issue
special section
television broadcast
television series
television series episode
video
working paper
参照
と
ほか
匿名
匿名
にて
入手先
による
およそ
およそ
引用
reference
references
number
numbers
版
版
ref.
refs.
no.
nos.
版
ほか
近刊
から
前掲
近刊
インターネット
手紙
日付なし
日付なし
online
presented at the
参照
参照
参照
参照
review of
rev. of
読み込み
位
版
preprint
journal article
magazine article
newspaper article
bill
broadcast
classic
collection
dataset
document
entry
dictionary entry
encyclopedia entry
event
graphic
hearing
面接
legal case
legislation
manuscript
map
video recording
musical score
pamphlet
conference paper
patent
performance
periodical
個人的なやり取り
post
blog post
regulation
report
review
book review
software
audio recording
presentation
standard
thesis
treaty
webpage
journal art.
mag. art.
newspaper art.
doc.
graph.
面接
MS
video rec.
rep.
rev.
bk. rev.
audio rec.
testimony of
review of
review of the book
紀元前
紀元後
BCE
CE
「
」
『
』
–
:
,
;
番目
番目
番目
番目
番目
番目
番目
1番目
2番目
3番目
4番目
5番目
6番目
7番目
8番目
9番目
10番目
act
acts
appendix
appendices
article
articles
canon
canons
location
locations
equation
equations
rule
rules
scene
scenes
table
tables
title
titles
書籍
書籍
章
章
欄
欄
図
図
面
面
号
号
行
行
註
註
作品
作品
ページ
ページ
volume
volumes
page
pages
printing
printings
chap.
chaps.
cit.
cits.
no.
ページ
ページ
段落
段落
部
部
節
節
supplement
supplements
における
における
詩歌
詩歌
巻
巻
app.
apps.
art.
arts.
loc.
locs.
eq.
eqs.
r.
rr.
sc.
scs.
tbl.
tbls.
tit.
tits.
bk.
chap.
col.
fig.
f.
no.
l.
n.
op.
p.
pp.
vol.
vols.
p.
pp.
print.
prints.
p.
pp.
para.
pt.
sec.
supp.
supps.
s.v.
s.vv.
v.
vv.
vol.
vols.
¶
¶¶
chapter
chapters
citation
citations
号
号
§
§§
ed.
eds.
chair
chairs
compiler
compilers
contributor
contributors
curator
curators
executive producer
executive producers
guest
guests
host
hosts
narrator
narrators
organizer
organizers
performer
performers
producer
producers
writer
writers
series creator
series creators
指導者
指導者
編集者
編集者
編集者
編集者
図解者
図解者
翻訳者
翻訳者
編集・翻訳者
編集・翻訳者
comp.
comps.
contrib.
contribs.
cur.
curs.
exec. prod.
exec. prods.
narr.
narrs.
org.
orgs.
perf.
perfs.
prod.
prods.
writ.
writs.
cre.
cres.
指導
指導
編
編
編
編
図
図
訳
訳
編・訳
編・訳
edited by
chaired by
compiled by
with
curated by
executive produced by
with guest
hosted by
narrated by
organized by
performed by
produced by
written by
created by
作者:
指導者:
編集者:
編集者:
図解者:
面接者:
受領者:
査読者:
ed. by
翻訳者:
編集・翻訳者:
comp. by
w.
cur. by
exec. prod. by
w. guest
hosted by
narr. by
org. by
perf. by
prod. by
writ. by
cre. by
指導:
編:
編:
図:
訳:
編・訳:
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
春季
夏季
秋季
冬季
citeproc-0.13/locales/km-KH.xml 0000644 0000000 0000000 00000060161 07346545000 014515 0 ustar 00 0000000 0000000
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License
2012-07-04T23:31:02+00:00
advance online publication
album
audio recording
film
henceforth
loc. cit.
no place
n.p.
no publisher
n.p.
on
op. cit.
original work published
personal communication
podcast
podcast episode
preprint
radio broadcast
radio series
radio series episode
special issue
special section
television broadcast
television series
television series episode
video
working paper
accessed
and
and others
anonymous
anon.
at
available at
by
circa
c.
cited
reference
references
number
numbers
edition
editions
ref.
refs.
no.
nos.
ed.
et al.
forthcoming
from
ibid
in
in press
internet
letter
no date
n.d.
online
presented at the
reference
references
ref.
refs.
review of
rev. of
retrieved
scale
version
preprint
journal article
magazine article
newspaper article
bill
broadcast
classic
collection
dataset
document
entry
dictionary entry
encyclopedia entry
event
graphic
hearing
interview
legal case
legislation
manuscript
map
video recording
musical score
pamphlet
conference paper
patent
performance
periodical
personal communication
post
blog post
regulation
report
review
book review
software
audio recording
presentation
standard
thesis
treaty
webpage
journal art.
mag. art.
newspaper art.
doc.
graph.
interv.
MS
video rec.
rep.
rev.
bk. rev.
audio rec.
testimony of
review of
review of the book
AD
BC
BCE
CE
“
”
‘
’
–
:
,
;
th
st
nd
rd
th
th
th
ទីមួយ
ទីពីរ
ទីបី
ទីបួន
ទីប្រាំ
ទីប្រាំមួយ
ទីប្រាំពីរ
ទីប្រាំបី
ទីប្រាំបួន
ទីដប់មួយ
act
acts
appendix
appendices
article
articles
canon
canons
location
locations
equation
equations
rule
rules
scene
scenes
table
tables
title
titles
សៀវភៅ
សៀវភៅ
ជំពូក
ជំពូក
កាឡោន
កាឡោន
តួលេខ
តួលេខ
folio
folios
ចំនួន
ចំនួន
បន្ទាត់
បន្ទាត់
កំណត់ចំណាំ
កំណត់ចំណាំ
opus
opera
ទំព័រ
ទំព័រ
volume
volumes
page
pages
printing
printings
chap.
chaps.
cit.
cits.
no.
ទំព័រ
ទំព័រ
កថាខណ្ឌ
កថាខណ្ឌ
ជំពូក
ជំពូក
ផ្នែក
ផ្នែក
supplement
supplements
sub verbo
sub verbis
verse
verses
វ៉ុល
វ៉ុល
app.
apps.
art.
arts.
loc.
locs.
eq.
eqs.
r.
rr.
sc.
scs.
tbl.
tbls.
tit.
tits.
bk.
chap.
col.
fig.
f.
no.
l.
n.
op.
p.
pp.
vol.
vols.
p.
pp.
print.
prints.
p.
pp.
para.
pt.
sec.
supp.
supps.
s.v.
s.vv.
v.
vv.
vol.
vols.
¶
¶¶
chapter
chapters
citation
citations
ចំនួន
ចំនួន
§
§§
ed.
eds.
chair
chairs
compiler
compilers
contributor
contributors
curator
curators
executive producer
executive producers
guest
guests
host
hosts
narrator
narrators
organizer
organizers
performer
performers
producer
producers
writer
writers
series creator
series creators
director
directors
editor
editors
editors
illustrator
illustrators
translator
translator
editor & translator
editors & translators
comp.
comps.
contrib.
contribs.
cur.
curs.
exec. prod.
exec. prods.
narr.
narrs.
org.
orgs.
perf.
perfs.
prod.
prods.
writ.
writs.
cre.
cres.
dir.
dirs.
ed.
eds.
ed.
eds.
ill.
ills.
tran.
trans.
ed. & tran.
eds. & trans.
edited by
chaired by
compiled by
with
curated by
executive produced by
with guest
hosted by
narrated by
organized by
performed by
produced by
written by
created by
by
directed by
edited by
edited by
illustrated by
interview by
to
by
ed. by
translated by
edited & translated by
comp. by
w.
cur. by
exec. prod. by
w. guest
hosted by
narr. by
org. by
perf. by
prod. by
writ. by
cre. by
dir.
ed.
ed.
illus.
trans.
ed. & trans. by
មករា
កុម្ភៈ
មីនា
មេសា
ឧសភា
មិថុនា
កក្កដា
សីហា
កញ្ញា
តុលា
វិច្ឆិកា
ធ្នូ
Jan.
Feb.
Mar.
Apr.
May
Jun.
Jul.
Aug.
Sep.
Oct.
Nov.
Dec.
Spring
Summer
Autumn
Winter
citeproc-0.13/locales/ko-KR.xml 0000644 0000000 0000000 00000057070 07346545000 014536 0 ustar 00 0000000 0000000
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License
2012-07-04T23:31:02+00:00
advance online publication
album
audio recording
film
henceforth
loc. cit.
no place
n.p.
no publisher
n.p.
on
op. cit.
original work published
개인 서신
podcast
podcast episode
preprint
radio broadcast
radio series
radio series episode
special issue
special section
television broadcast
television series
television series episode
video
working paper
접근된
와/과
and others
anonymous
anon
at
available at
by
circa
c.
cited
reference
references
number
numbers
edition
editions
ref.
refs.
no.
nos.
ed
기타
근간
(으)로부터
ibid.
in
in press
internet
편지
no date
일자 없음
online
presented at the
reference
references
ref.
refs.
review of
rev. of
retrieved
scale
version
preprint
journal article
magazine article
newspaper article
bill
broadcast
classic
collection
dataset
document
entry
dictionary entry
encyclopedia entry
event
graphic
hearing
interview
legal case
legislation
manuscript
map
video recording
musical score
pamphlet
conference paper
patent
performance
periodical
개인 서신
post
blog post
regulation
report
review
book review
software
audio recording
presentation
standard
thesis
treaty
webpage
journal art.
mag. art.
newspaper art.
doc.
graph.
interv.
MS
video rec.
rep.
rev.
bk. rev.
audio rec.
testimony of
review of
review of the book
AD
BC
BCE
CE
“
”
‘
’
–
:
,
;
th
st
nd
rd
th
th
th
first
second
third
fourth
fifth
sixth
seventh
eighth
ninth
tenth
act
acts
appendix
appendices
article
articles
canon
canons
location
locations
equation
equations
rule
rules
scene
scenes
table
tables
title
titles
book
books
chapter
chapters
column
columns
figure
figures
folio
folios
number
numbers
행
행
note
notes
opus
opera
페이지
페이지
volume
volumes
page
pages
printing
printings
chap.
chaps.
cit.
cits.
호
페이지
페이지
단락
단락
part
parts
section
sections
supplement
supplements
sub verbo
sub verbis
verse
verses
volume
volumes
app.
apps.
art.
arts.
loc.
locs.
eq.
eqs.
r.
rr.
sc.
scs.
tbl.
tbls.
tit.
tits.
bk
chap
col
fig
f
호
l.
n.
op
p
pp
vol.
vols.
p.
pp.
print.
prints.
p
pp
para
pt
sec
supp.
supps.
s.v.
s.vv.
v
vv
vol
vols
¶
¶¶
chapter
chapters
citation
citations
number
numbers
§
§§
ed.
eds.
chair
chairs
compiler
compilers
contributor
contributors
curator
curators
executive producer
executive producers
guest
guests
host
hosts
narrator
narrators
organizer
organizers
performer
performers
producer
producers
writer
writers
series creator
series creators
director
directors
편집자
편집자
editor
editors
illustrator
illustrators
번역자
번역자
editor & translator
editors & translators
comp.
comps.
contrib.
contribs.
cur.
curs.
exec. prod.
exec. prods.
narr.
narrs.
org.
orgs.
perf.
perfs.
prod.
prods.
writ.
writs.
cre.
cres.
dir.
dirs.
편집자
편집자
ed.
eds.
ill.
ills.
번역자
번역자
ed. & tran.
eds. & trans.
edited by
chaired by
compiled by
with
curated by
executive produced by
with guest
hosted by
narrated by
organized by
performed by
produced by
written by
created by
by
directed by
편집자:
edited by
illustrated by
interview by
to
by
ed. by
번역자:
edited & translated by
comp. by
w.
cur. by
exec. prod. by
w. guest
hosted by
narr. by
org. by
perf. by
prod. by
writ. by
cre. by
dir.
ed
ed.
illus.
trans
ed. & trans. by
1월
2월
3월
4월
5월
6월
7월
8월
9월
10월
11월
12월
1
2
3
4
5
6
7
8
9
10
11
12
Spring
Summer
Autumn
Winter
citeproc-0.13/locales/la.xml 0000644 0000000 0000000 00000056707 07346545000 014215 0 ustar 00 0000000 0000000
Andrew Dunning
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License
2019-01-21T13:33:33+00:00
advance online publication
album
audio recording
film
henceforth
loc. cit.
no place
n.p.
no publisher
n.p.
on
op. cit.
original work published
personal communication
podcast
podcast episode
preprint
radio broadcast
radio series
radio series episode
special issue
special section
television broadcast
television series
television series episode
video
working paper
consultatus
et
et alii
anonymus
anon.
ad
praestatus ad
a
circa
c.
citatus
reference
references
number
numbers
editio
editiones
ref.
refs.
no.
nos.
ed.
et al.
futurus
ab
ibid.
in
impressorio
interrete
epistula
sine die
s.d.
in linea
praebitus ad
relatio
relationes
rel.
rell.
review of
rev. of
recuperatus
scala
uersio
preprint
journal article
magazine article
newspaper article
bill
broadcast
classic
collection
dataset
document
entry
dictionary entry
encyclopedia entry
event
graphic
hearing
congressus
legal case
legislation
manuscript
map
video recording
musical score
pamphlet
conference paper
patent
performance
periodical
personal communication
post
blog post
regulation
report
review
book review
software
audio recording
presentation
standard
thesis
treaty
webpage
journal art.
mag. art.
newspaper art.
doc.
graph.
interv.
MS
video rec.
rep.
rev.
bk. rev.
audio rec.
testimony of
review of
review of the book
A.D.
A.C.
BCE
CE
‘
’
“
”
–
:
,
;
º
primus
secundus
tertius
quartus
quintus
sextus
septimus
octauus
nonus
decimus
act
acts
appendix
appendices
article
articles
canon
canons
location
locations
equation
equations
rule
rules
scene
scenes
table
tables
title
titles
liber
libri
capitulum
capitula
columna
columnae
figura
figurae
folium
folii
numerus
numeri
linea
lineae
nota
notae
opus
opera
pagina
paginae
volume
volumes
page
pages
printing
printings
chap.
chaps.
cit.
cits.
n.
pagina
paginae
paragraphus
paragraphi
pars
partes
paragraphus
paragraphi
supplement
supplements
sub uerbo
sub uerbis
versus
versus
tomus
tomi
app.
apps.
art.
arts.
loc.
locs.
eq.
eqs.
r.
rr.
sc.
scs.
tbl.
tbls.
tit.
tits.
lib.
cap.
col.
fig.
fol.
n.
l.
n.
op.
p.
pp.
vol.
vols.
p.
pp.
print.
prints.
p.
pp.
par.
pr.
par.
supp.
supps.
s.u.
s.uu.
u.
uu.
t.
tt.
¶
¶¶
chapter
chapters
citation
citations
numerus
numeri
§
§§
ed.
eds.
chair
chairs
compiler
compilers
contributor
contributors
curator
curators
executive producer
executive producers
guest
guests
host
hosts
narrator
narrators
organizer
organizers
performer
performers
producer
producers
writer
writers
series creator
series creators
director
directores
curator
curatores
editor
editores
illustrator
illustratores
interpres
interpretes
curator et interpres
curatores et interpretes
comp.
comps.
contrib.
contribs.
cur.
curs.
exec. prod.
exec. prods.
narr.
narrs.
org.
orgs.
perf.
perfs.
prod.
prods.
writ.
writs.
cre.
cres.
dir.
dirs.
cur.
curs.
ed.
eds.
ill.
ills.
interp.
interps.
cur. et interp.
curs. et interps.
edited by
chaired by
compiled by
with
curated by
executive produced by
with guest
hosted by
narrated by
organized by
performed by
produced by
written by
created by
a
a directione
a cura
ab editione
ab illustratione
a congressione
a
a
ed. by
a interpretatione
a cura et interpretatione
comp. by
w.
cur. by
exec. prod. by
w. guest
hosted by
narr. by
org. by
perf. by
prod. by
writ. by
cre. by
dir.
cur.
ed.
illus.
interp.
a cur. et interp.
ianuarius
februarius
martius
aprilis
maius
iunius
iulius
augustus
september
october
nouember
december
ian.
feb.
mar.
apr.
mai.
iun.
iul.
aug.
sep.
oct.
nou.
dec.
uer
aestas
autumnus
hiems
citeproc-0.13/locales/lij-IT.xml 0000644 0000000 0000000 00000063462 07346545000 014705 0 ustar 00 0000000 0000000
Jean Maillard
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License
2025-04-22T00:10:15-07:00
pubricaçion in linia antiçipâ
album
registraçion audio
cine
de chì in avanti
loc. cit.
sine loco
s.l.
sine nomine
s.n.
in sce
op. cit.
euvia originale pubricâ
communicaçion personale
podcast
pontâ de podcast
preprint
trasmiscion pe l'aradio
serie pe l'aradio
pontâ de serie pe l'aradio
ediçion speçiale
seçion speçiale
trasmiscion pe televixon
serie pe televixon
pontâ de serie pe televixon
video
documento de travaggio
consultou
e
e atri
anònimo
anòn.
à
disponibile in sce
in sce
de
circa
c.
çittou
referensa
referense
numero
numeri
ediçion
ediçioin
ref.
reff.
n.
nn.
ed.
et al.
in pubricaçion
da
ibidem
ibid.
inte
in stampa
internet
lettia
sine data
s.d.
in linia
presentou à
referensa
referense
ref.
reff.
reçenscion de
reç. de
ottegnuo
scâ
verscion
articolo
articolo de revista
articolo de revista generalista
articolo de giornale
propòsta de lezze
trasmiscion
clascico
arrecuggeita
dataset
documento
intrâ
intrâ de diçionäio
intrâ d'ençiclopedia
evento
euvia d'arte
udiensa
intervista
causa
legislaçion
manoscrito
carta
cine
spartio de muxica
volantin
atto de convëgno
brevetto
esecuçion
periòdico
communicaçion personale
messaggio
messaggio de blog
decretto
report
reçenscion
reçenscion de libbro
software
registraçion audio
presentaçion
nòrma
texi
trattato
pagina web
art. de rev.
art. de rev. gen.
art. de giorn.
doc.
euv. d'arte
interv.
ms.
cine
rep.
reç.
reç. de l.
reg. audio
testimoniansa de
reçenscion de
reçenscion do libbro
d.C.
a.C.
AEV
EV
«
»
“
”
–
:
,
;
º
º
ª
primma
primmo
primma
segonda
segondo
segonda
tersa
terso
tersa
quarta
quarto
quarta
quinta
quinto
quinta
sesta
sesto
sesta
setteña
setten
setteña
otteña
otten
otteña
noveña
noven
noveña
dexeña
dexen
dexeña
atto
atto
appendixe
appendixe
articolo
articoli
canone
canoni
adresso
adressi
equaçion
equaçioin
regola
regole
scena
scene
töa
töe
titolo
titoli
libbro
libbri
cavo
cavi
colònna
colònne
figua
figue
feuggio
feuggi
fascicolo
fascicoli
riga
righe
nòtta
nòtte
euvia
euvie
pagina
pagine
volumme
volummi
pagina
pagine
stampa
stampe
cav.
cavv.
çit.
çitt.
fasc.
pag.
pagg.
paragrafo
paragrafi
parte
parte
seçion
seçioin
supplemento
supplementi
sub verbo
sub verbis
verso
versci
volumme
volummi
app.
app.
art.
art.
loc.
locc.
eq.
eqq.
r.
r.
sc.
sc.
töa
töe
tit.
tit.
lib.
cap.
capp.
col.
fig.
fgg.
fasc.
r.
n.
euv.
p.
pp.
vol.
voll.
p.
pp.
st.
stt.
p.
pp.
par.
pt.
seç.
supp.
supp.
s.v.
s.vv.
v.
vv.
vol.
voll.
¶
¶¶
cavo
cavi
çittaçion
çittaçioin
fascicolo
fascicoli
§
§§
ed.
edd.
prescidente
prescidenti
realizzatô
realizzatoî
conlaboratô
conlaboratoî
cuatô
cuatoî
produttô executivo
produttoî executivi
òspite
òspiti
conduttô
conduttoî
narratô
narratoî
organizzatô
organizzatoî
executô
executoî
produttô
produttoî
scenezzatô
scenezzatoî
autô da serie
autoî da serie
regista
registi
cuatô
cuatoî
direttô editoriale
direttoî editoriali
inlustratô
inlustratoî
traduttô
traduttoî
cuatô e traduttô
curatoî e traduttoî
realizz.
realizz.
conlab.
conlab.
cua.
cua.
prod.ex.
prod.ex.
narr.
narr.
org.
org.
exec.
exec.
prod.
prod.
scen.
scen.
autô da serie
autoî da serie
reg.
reg.
à c. de
à c. de
dir. ed.
dir. ed.
inl.
inl.
trad.
trad.
cua. e trad.
cua. e trad.
à cua de
prescieduo da
realizzou da
con un contributo de
à cua de
produçion executiva de
con òspite
conduto da
narrou da
organizzou da
execuçion de
produto da
scrito da
creou da
de
diretto da
à cua de
direçion editoriale de
inlustrou da
intervista de
à
de
ed. da
traduto da
à cua de e traduto da
realizz. da
con un contrib. de
à c. de
prod. exec. de
con òsp.
cond. da
narr. da
org. da
exec. de
prod. da
scr. da
cre. da
dir. da
à c. de
dir. ed. de
inl. da
trad. da
à c. de e trad. da
zenâ
frevâ
marso
avrî
mazzo
zugno
luggio
agosto
settembre
ottobre
novembre
dexembre
zen.
fre.
mar.
avr.
maz.
zug.
lug.
ago.
set.
ott.
nov.
dex.
primmaveia
estæ
ötunno
inverno
citeproc-0.13/locales/locales.json 0000644 0000000 0000000 00000014332 07346545000 015400 0 ustar 00 0000000 0000000 {
"primary-dialects": {
"af": "af-ZA",
"ar": "ar",
"bal": "bal-PK",
"bg": "bg-BG",
"brh": "brh-PK",
"ca": "ca-AD",
"cs": "cs-CZ",
"cy": "cy-GB",
"da": "da-DK",
"de": "de-DE",
"el": "el-GR",
"en": "en-US",
"es": "es-ES",
"et": "et-EE",
"eu": "eu",
"fa": "fa-IR",
"fi": "fi-FI",
"fr": "fr-FR",
"gl": "gl-ES",
"he": "he-IL",
"hi": "hi-IN",
"hr": "hr-HR",
"hu": "hu-HU",
"id": "id-ID",
"is": "is-IS",
"it": "it-IT",
"ja": "ja-JP",
"km": "km-KH",
"ko": "ko-KR",
"la": "la",
"lij": "lij-IT",
"lt": "lt-LT",
"lv": "lv-LV",
"mn": "mn-MN",
"ms": "ms-MY",
"nb": "nb-NO",
"nl": "nl-NL",
"nn": "nn-NO",
"pa": "pa-PK",
"pl": "pl-PL",
"pt": "pt-PT",
"ro": "ro-RO",
"ru": "ru-RU",
"sk": "sk-SK",
"sl": "sl-SI",
"sr": "sr-RS",
"sv": "sv-SE",
"th": "th-TH",
"tr": "tr-TR",
"uk": "uk-UA",
"vi": "vi-VN",
"zh": "zh-CN"
},
"language-names": {
"af-ZA": [
"Afrikaans",
"Afrikaans"
],
"ar": [
"العربية",
"Arabic"
],
"bal-PK": [
"بلوچی (پاکستان)",
"Balochi (Pakistan)"
],
"bg-BG": [
"Български",
"Bulgarian"
],
"brh-PK": [
"براہوئی",
"Brahui"
],
"ca-AD": [
"Català",
"Catalan"
],
"cs-CZ": [
"Čeština",
"Czech"
],
"cy-GB": [
"Cymraeg",
"Welsh"
],
"da-DK": [
"Dansk",
"Danish"
],
"de-AT": [
"Deutsch (Österreich)",
"German (Austria)"
],
"de-CH": [
"Deutsch (Schweiz)",
"German (Switzerland)"
],
"de-DE": [
"Deutsch (Deutschland)",
"German (Germany)"
],
"el-GR": [
"Ελληνικά",
"Greek"
],
"en-GB": [
"English (UK)",
"English (UK)"
],
"en-US": [
"English (US)",
"English (US)"
],
"es-CL": [
"Español (Chile)",
"Spanish (Chile)"
],
"es-ES": [
"Español (España)",
"Spanish (Spain)"
],
"es-MX": [
"Español (México)",
"Spanish (Mexico)"
],
"et-EE": [
"Eesti keel",
"Estonian"
],
"eu": [
"Euskara",
"Basque"
],
"fa-IR": [
"فارسی",
"Persian"
],
"fi-FI": [
"Suomi",
"Finnish"
],
"fr-CA": [
"Français (Canada)",
"French (Canada)"
],
"fr-FR": [
"Français (France)",
"French (France)"
],
"gl-ES": [
"Galego (Spain)",
"Galician (Spain)"
],
"he-IL": [
"עברית",
"Hebrew"
],
"hi-IN": [
"हिंदी",
"Hindi"
],
"hr-HR": [
"Hrvatski",
"Croatian"
],
"hu-HU": [
"Magyar",
"Hungarian"
],
"id-ID": [
"Bahasa Indonesia",
"Indonesian"
],
"is-IS": [
"Íslenska",
"Icelandic"
],
"it-IT": [
"Italiano",
"Italian"
],
"ja-JP": [
"日本語",
"Japanese"
],
"km-KH": [
"ភាសាខ្មែរ",
"Khmer"
],
"ko-KR": [
"한국어",
"Korean"
],
"la": [
"Latina",
"Latin"
],
"lij-IT": [
"Lìgure",
"Ligurian"
],
"lt-LT": [
"Lietuvių kalba",
"Lithuanian"
],
"lv-LV": [
"Latviešu",
"Latvian"
],
"mn-MN": [
"Монгол",
"Mongolian"
],
"ms-MY": [
"Bahasa Melayu",
"Malay"
],
"nb-NO": [
"Norsk bokmål",
"Norwegian (Bokmål)"
],
"nl-NL": [
"Nederlands",
"Dutch"
],
"nn-NO": [
"Norsk nynorsk",
"Norwegian (Nynorsk)"
],
"pa-PK": [
"پنجابی (شاہمکھی)",
"Punjabi (Shahmukhi)"
],
"pl-PL": [
"Polski",
"Polish"
],
"pt-BR": [
"Português (Brasil)",
"Portuguese (Brazil)"
],
"pt-PT": [
"Português (Portugal)",
"Portuguese (Portugal)"
],
"ro-RO": [
"Română",
"Romanian"
],
"ru-RU": [
"Русский",
"Russian"
],
"sk-SK": [
"Slovenčina",
"Slovak"
],
"sl-SI": [
"Slovenščina",
"Slovenian"
],
"sr-RS": [
"Српски / Srpski",
"Serbian"
],
"sv-SE": [
"Svenska",
"Swedish"
],
"th-TH": [
"ไทย",
"Thai"
],
"tr-TR": [
"Türkçe",
"Turkish"
],
"uk-UA": [
"Українська",
"Ukrainian"
],
"vi-VN": [
"Tiếng Việt",
"Vietnamese"
],
"zh-CN": [
"中文 (中国大陆)",
"Chinese (PRC)"
],
"zh-TW": [
"中文 (台灣)",
"Chinese (Taiwan)"
]
}
}
citeproc-0.13/locales/lt-LT.xml 0000644 0000000 0000000 00000061564 07346545000 014552 0 ustar 00 0000000 0000000
Valdemaras Klumbys
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License
2017-01-18T10:31:02+00:00
advance online publication
album
audio recording
film
henceforth
loc. cit.
no place
n.p.
no publisher
n.p.
on
op. cit.
original work published
communicationis personalis
podcast
podcast episode
preprint
radio broadcast
radio series
radio series episode
special issue
special section
television broadcast
television series
television series episode
video
working paper
žiūrėta
ir
ir kt.
anonimas
anon.
adresas
apie
apie
žiūrėta
reference
references
number
numbers
leidimas
leidimai
ref.
refs.
no.
nos.
leid.
ir kt.
ruošiamas
ten pat
priimta spaudai
prieiga per internetą
laiškas
sine anno
s.a.
interaktyvus
pristatytas
nuoroda
nuorodos
nuor.
nuor.
review of
rev. of
gauta
mastelis
versija
preprint
journal article
magazine article
newspaper article
bill
broadcast
classic
collection
dataset
document
entry
dictionary entry
encyclopedia entry
event
graphic
hearing
interviu
legal case
legislation
manuscript
map
video recording
musical score
pamphlet
conference paper
patent
performance
periodical
communicationis personalis
post
blog post
regulation
report
review
book review
software
audio recording
presentation
standard
thesis
treaty
webpage
journal art.
mag. art.
newspaper art.
doc.
graph.
interv.
MS
video rec.
rep.
rev.
bk. rev.
audio rec.
testimony of
review of
review of the book
po Kr.
pr. Kr.
BCE
CE
„
“
,
‘
–
:
,
;
-asis
-asis
-oji
-iasis
-asis
-ioji
-oji
pirmasis
antrasis
trečiasis
ketvirtasis
penktasis
šeštasis
septintasis
aštuntasis
devintasis
dešimtasis
pirmoji
antroji
trečioji
ketvirtoji
penktoji
šeštoji
septintoji
aštuntoji
devintoji
dešimtoji
act
acts
appendix
appendices
article
articles
canon
canons
location
locations
equation
equations
rule
rules
scene
scenes
table
tables
title
titles
knyga
knygos
skyrius
skyriai
skiltis
skiltys
iliustracija
iliustracijos
lapas
lapai
numeris
numeriai
eilutė
eilutės
pastaba
pastabos
kūrinys
kūriniai
puslapis
puslapiai
volume
volumes
page
pages
printing
printings
chap.
chaps.
cit.
cits.
nr.
puslapis
puslapiai
pastraipa
pastraipos
dalis
dalys
poskyris
poskyriai
supplement
supplements
žiūrėk
žiūrėk
eilėraštis
eilėraščiai
tomas
tomai
app.
apps.
art.
arts.
loc.
locs.
eq.
eqs.
r.
rr.
sc.
scs.
tbl.
tbls.
tit.
tits.
kn.
sk.
skilt.
il.
l.
nr.
eil.
pstb.
kūr.
p.
p.
vol.
vols.
p.
pp.
print.
prints.
p.
p.
pastr.
d.
posk.
supp.
supps.
žr.
žr.
eilėr.
eilėr.
t.
t.
¶
¶¶
chapter
chapters
citation
citations
numeris
numeriai
§
§§
ed.
eds.
chair
chairs
compiler
compilers
contributor
contributors
curator
curators
executive producer
executive producers
guest
guests
host
hosts
narrator
narrators
organizer
organizers
performer
performers
producer
producers
writer
writers
series creator
series creators
vadovas
vadovai
sudarytojas
sudarytojai
atsakingasis redaktorius
atsakingieji redaktoriai
iliustratorius
iliustratoriai
vertėjas
vertėjai
sudarytojas ir vertėjas
sudarytojai ir vertėjai
comp.
comps.
contrib.
contribs.
cur.
curs.
exec. prod.
exec. prods.
narr.
narrs.
org.
orgs.
perf.
perfs.
prod.
prods.
writ.
writs.
cre.
cres.
vad.
vad.
sud.
sud.
ats. red.
ats. red.
iliustr.
iliustr.
vert.
vert.
sud. ir vert.
sud. ir vert.
edited by
chaired by
compiled by
with
curated by
executive produced by
with guest
hosted by
narrated by
organized by
performed by
produced by
written by
created by
vadovavo
sudarė
parengė
iliustravo
interviu ėmė
gavo
recenzavo
ed. by
vertė
sudarė ir vertė
comp. by
w.
cur. by
exec. prod. by
w. guest
hosted by
narr. by
org. by
perf. by
prod. by
writ. by
cre. by
vad.
sud.
pareng.
iliustr.
vert.
sud. ir vert.
sausio
vasario
kovo
balandžio
gegužės
birželio
liepos
rugpjūčio
rugsėjo
spalio
lapkričio
gruodžio
saus.
vas.
kovo
bal.
geg.
birž.
liep.
rugpj.
rugs.
spal.
lapkr.
gruodž.
pavasaris
vasara
ruduo
žiema
citeproc-0.13/locales/lv-LV.xml 0000644 0000000 0000000 00000062550 07346545000 014552 0 ustar 00 0000000 0000000
Andris Lupgins
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License
2012-12-27T11:40:58+02:00
advance online publication
album
audio recording
film
henceforth
loc. cit.
no place
n.p.
no publisher
n.p.
on
op. cit.
original work published
personīga komunikācija
podcast
podcast episode
preprint
radio broadcast
radio series
radio series episode
special issue
special section
television broadcast
television series
television series episode
video
working paper
skatīts
un
un citi
anonīms
anon.
pieejams
apmēram
apm.
citēts
reference
references
number
numbers
redakcija
redakcijas
ref.
refs.
no.
nos.
red.
u.c.
gaidāms
no
turpat
no
presē
internets
vēstule
bez datuma
b.g.
tiešsaiste
iesniegts
atsauce
atsauces
ats.
ats.
review of
rev. of
iegūts
mērogs
versija
preprint
journal article
magazine article
newspaper article
bill
broadcast
classic
collection
dataset
document
entry
dictionary entry
encyclopedia entry
event
graphic
hearing
intervija
legal case
legislation
manuscript
map
video recording
musical score
pamphlet
conference paper
patent
performance
periodical
personīga komunikācija
post
blog post
regulation
report
review
book review
software
audio recording
presentation
standard
thesis
treaty
webpage
journal art.
mag. art.
newspaper art.
doc.
graph.
interv.
MS
video rec.
rep.
rev.
bk. rev.
audio rec.
testimony of
review of
review of the book
m.ē.
p.m.ē.
BCE
CE
"
"
"
"
–
:
,
;
-ais
-ā
pirmais
otrais
trešais
ceturtais
piektais
sestais
septītais
astotais
devītais
desmitais
pirmā
otrā
trešā
ceturtā
piektā
sestā
septītā
astotā
devītā
desmitā
act
acts
appendix
appendices
article
articles
canon
canons
location
locations
equation
equations
rule
rules
scene
scenes
table
tables
title
titles
grāmata
grāmatas
nodaļa
nodaļas
sleja
slejas
ilustrācija
ilustrācijas
folio
folio
numurs
numuri
rinda
rindas
piezīme
piezīmes
opuss
opusi
lappuse
lappuses
volume
volumes
page
pages
printing
printings
chap.
chaps.
cit.
cits.
nr.
lappuse
lappuses
rindkopa
rindkopas
daļa
daļas
apakšnodaļa
apakšnodaļas
supplement
supplements
skatīt
skatīt
pants
panti
sējums
sējumi
app.
apps.
art.
arts.
loc.
locs.
eq.
eqs.
r.
rr.
sc.
scs.
tbl.
tbls.
tit.
tits.
grām.
nod.
sl.
il.
fo.
nr.
r.
piez.
op.
lpp.
lpp.
vol.
vols.
p.
pp.
print.
prints.
lpp.
lpp.
rindk.
d.
apakšnod.
supp.
supps.
sk.
sk.
p.
p.
sēj.
sēj.
¶
¶¶
chapter
chapters
citation
citations
numurs
numuri
§
§§
chair
chairs
compiler
compilers
contributor
contributors
curator
curators
executive producer
executive producers
guest
guests
host
hosts
narrator
narrators
organizer
organizers
performer
performers
producer
producers
writer
writers
series creator
series creators
krājuma redaktors
krājuma redaktori
sastādītājs
sastādītāji
pamatmateriāla autors
pamatmateriāla autori
vadītājs
vadītāji
redaktors
redaktors
galvenais redaktors
galvenie redaktori
redaktors un tulkotājs
redaktors un tulkotājs
ilustrators
ilustratori
intervētājs
intervētāji
saņēmējs
saņēmēji
tulkotājs
tulkotāji
comp.
comps.
contrib.
contribs.
cur.
curs.
exec. prod.
exec. prods.
narr.
narrs.
org.
orgs.
perf.
perfs.
prod.
prods.
writ.
writs.
cre.
cres.
kr. red.
kr. red.
sast.
sast.
pamatmat. aut.
pamatmat. aut.
vad.
vad.
red.
red.
galv. red.
galv. red.
red. un tulk.
red. un tulk.
ilustr.
ilustr.
interv.
interv.
saņ.
saņ.
tulk.
tulk.
chaired by
compiled by
with
curated by
executive produced by
with guest
hosted by
narrated by
organized by
performed by
produced by
written by
created by
sastādīja
vadīja
sagatavoja
sagatavoja
sagatavoja un tulkoja
ilustrēja
intervēja
saņēma
tulkoja
comp. by
w.
cur. by
exec. prod. by
w. guest
hosted by
narr. by
org. by
perf. by
prod. by
writ. by
cre. by
sast.
sag.
sag.
ilustr.
tulk.
sag. un tulk.
janvārī
februārī
martā
aprīlī
maijā
jūnijā
jūlijā
augustā
septembrī
oktobrī
novembrī
decembrī
janv.
febr.
mar.
apr.
mai.
jūn.
jūl.
aug.
sept.
okt.
nov.
dec.
pavasaris
vasara
rudens
ziema
citeproc-0.13/locales/mn-MN.xml 0000644 0000000 0000000 00000060115 07346545000 014527 0 ustar 00 0000000 0000000
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License
2012-07-04T23:31:02+00:00
advance online publication
album
audio recording
film
henceforth
loc. cit.
no place
n.p.
no publisher
n.p.
on
op. cit.
original work published
хувийн харилцаа холбоо
podcast
podcast episode
preprint
radio broadcast
radio series
radio series episode
special issue
special section
television broadcast
television series
television series episode
video
working paper
accessed
and
and others
anonymous
anon
at
available at
by
circa
c.
cited
reference
references
number
numbers
edition
editions
ref.
refs.
no.
nos.
ed
et al.
forthcoming
from
ibid.
in
in press
internet
захиа
no date
n.d.
online
presented at the
reference
references
ref.
refs.
review of
rev. of
retrieved
scale
version
preprint
journal article
magazine article
newspaper article
bill
broadcast
classic
collection
dataset
document
entry
dictionary entry
encyclopedia entry
event
graphic
hearing
interview
legal case
legislation
manuscript
map
video recording
musical score
pamphlet
conference paper
patent
performance
periodical
хувийн харилцаа холбоо
post
blog post
regulation
report
review
book review
software
audio recording
presentation
standard
thesis
treaty
webpage
journal art.
mag. art.
newspaper art.
doc.
graph.
interv.
MS
video rec.
rep.
rev.
bk. rev.
audio rec.
testimony of
review of
review of the book
AD
BC
BCE
CE
«
»
„
“
–
:
,
;
-p
нэгдүгээр
хоёрдугаар
гуравдугаар
дөрөвдүгээр
тавдугаар
зургаадугаар
долоодугаар
наймдугаар
есдүгээр
аравдугаар
act
acts
appendix
appendices
article
articles
canon
canons
location
locations
equation
equations
rule
rules
scene
scenes
table
tables
title
titles
ном
номнууд
chapter
chapters
багана
баганууд
figure
figures
folio
folios
тоо
тоонууд
шугам
шугамнууд
note
notes
opus
opera
хуудас
хуудаснууд
volume
volumes
page
pages
printing
printings
chap.
chaps.
cit.
cits.
no
хуудас
хуудаснууд
paragraph
paragraph
part
parts
section
sections
supplement
supplements
sub verbo
sub verbis
verse
verses
volume
volumes
app.
apps.
art.
arts.
loc.
locs.
eq.
eqs.
r.
rr.
sc.
scs.
tbl.
tbls.
tit.
tits.
bk
chap
col
fig
f
no
l.
n.
op
p
pp
vol.
vols.
p.
pp.
print.
prints.
p
pp
para
pt
sec
supp.
supps.
s.v.
s.vv.
v
vv
vol
vols
¶
¶¶
chapter
chapters
citation
citations
тоо
тоонууд
§
§§
ed.
eds.
chair
chairs
compiler
compilers
contributor
contributors
curator
curators
executive producer
executive producers
guest
guests
host
hosts
narrator
narrators
organizer
organizers
performer
performers
producer
producers
writer
writers
series creator
series creators
director
directors
редактор
редакторууд
редактор
редакторууд
illustrator
illustrators
орчуулагч
орчуулагчид
редактор ба орчуулагч
редакторууд ба орчуулагчид
comp.
comps.
contrib.
contribs.
cur.
curs.
exec. prod.
exec. prods.
narr.
narrs.
org.
orgs.
perf.
perfs.
prod.
prods.
writ.
writs.
cre.
cres.
dir.
dirs.
ред.
ред.
ред.
ред.
ill.
ills.
орч
орч
ред. ба орч.
ред. ба орч.
edited by
chaired by
compiled by
with
curated by
executive produced by
with guest
hosted by
narrated by
organized by
performed by
produced by
written by
created by
by
directed by
edited by
edited by
illustrated by
interview by
to
by
ed. by
translated by
edited & translated by
comp. by
w.
cur. by
exec. prod. by
w. guest
hosted by
narr. by
org. by
perf. by
prod. by
writ. by
cre. by
dir.
ed
ed.
illus.
trans
ed. & trans. by
Нэгдүгээр сар
Хоёрдугаар сар
Гуравдугаар сар
Дөрөвдүгээр сар
Тавдугаар сар
Зургаадугаар сар
Долдугаар сар
Наймдугаар сар
Есдүгээр сар
Аравдугаар сар
Арван нэгдүгээр сар
Арван хоёрдугаар сар
1-р сар
2-р сар
3-р сар
4-р сар
5-р сар
6-р сар
7-р сар
8-р сар
9-р сар
10-р сар
11-р сар
12-р сар
Хавар
Зун
Намар
Өвөл
citeproc-0.13/locales/ms-MY.xml 0000644 0000000 0000000 00000024645 07346545000 014557 0 ustar 00 0000000 0000000
Fareed Sairi
fareed@ukm.edu.my
Farah Diba Abu Bakar
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License
2019-01-01T12:00:00+00:00
diakses
dan
dan lainnya
anon
anon.
pada
tersedia pada
oleh
lebih kurang
ca.
disitasi
edisi
edisi
ed.
et al.
mendatang
dari
ibid.
dalam
dalam proses cetakan
internet
wawancara
surat
tiada tarikh
t.th.
dalam talian
dibentangkan pada
rujukan
rujukan
ruj.
ruj.
diambil
skala
versi
M
SM
“
”
‘
’
–
pertama
kedua
ketiga
keempat
kelima
keenam
ketujuh
kelapan
kesembilan
kesepuluh
buku
buku
bab
bab
ruang
ruang
rajah
rajah
folio
folio
isu
isu
baris
baris
catatan
catatan
opus
opus
halaman
halaman
halaman
halaman
perenggan
perenggan
fasal
fasal
bahagian
bahagian
sub verbo
sub verbis
ayat
ayat
jilid
jilid
bk.
bab
kol.
raj.
fol.
no.
brs.
ctt.
op.
hlm.
hlm.
hlm.
hlm.
pgn.
fs.
bag.
s.v.
s.vv.
ayat
ayat
jil.
jil.
¶
¶¶
§
§§
pengarah
pengarah
penyunting
penyunting
pengarah penyuntingan
pengarah penyuntingan
ilustrator
ilustrator
penterjemah
penterjemah
editor & penterjemah
editor & penterjemah
dir.
dir.
pnyt.
pnyt.
ed.
ed.
il.
il.
ptrj.
ptrj.
pnyt. & ptrj.
pnyt. & ptrj.
oleh
diarahkan oleh
disunting oleh
disunting oleh
diilustrasi oleh
diwawancara oleh
kepada
oleh
diterjemahkan oleh
disunting & diterjemahkan oleh
dir. oleh
ed. oleh
ed. oleh
illus. oleh
trans. oleh
ed. & penerj. oleh
Januari
Februari
Mac
April
Mei
Jun
Julai
Ogoss
September
Oktober
November
Disember
Jan
Feb
Mac
Apr
Mei
Jun
Jul
Ogo
Sep
Okt
Nov
Dis
Bunga
Panas
Luruh
Sejuk
citeproc-0.13/locales/nb-NO.xml 0000644 0000000 0000000 00000051471 07346545000 014523 0 ustar 00 0000000 0000000
Guttorm Flatabø
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License
2013-03-01T12:20:00+01:00
forhåndspublisert på nett
album
lydopptak
film
heretter
loc. cit.
mangler sted
mangler utgiver
s.n.
om
op. cit.
opprinnelig verk utgitt
personlig kommunikasjon
podkast
podkastepisode
innsendt manuskript
radiosending
radioserie
radioserie-episode
spesialutgave
spesialseksjon
fjernsynssending
fjernsynsserie
fjernsynsserie-episode
video
notat
åpnet
og
med flere
anonym
anon.
på
tilgjengelig på
av
circa
ca.
sitert
reference
references
number
numbers
utgave
utgave
ref.
refs.
no.
nos.
utg.
mfl.
kommende
fra
ibid.
i
i trykk
Internett
brev
uten dato
u.å.
online
presentert på
referanse
referanse
ref.
ref.
review of
rev. of
hentet
målestokk
versjon
innsendt manuskript
tidsskriftartikkel
magasinartikkel
avisartikkel
proposisjon
kringkasting
klassiker
samling
datasett
dokument
oppføring
ordbokoppføring
leksikonoppføring
begivenhet
grafikk
høring
intervju
rettssak
lovgiving
manuskript
kart
videoopptak
partitur
pamflett
konferanseartikkel
patent
fremføring
tidsskrift
personlig kommunikasjon
innlegg
blogginnlegg
forskrift
rapport
anmeldelse
bokanmeldelse
programvare
lydopptak
presentasjon
standard
avhandling
traktat
nettside
tidsskriftart.
avisart.
dok.
ms.
testimony of
review of
review of the book
e.Kr.
f.Kr.
fvt.
evt.
«
»
‘
’
–
:
,
;
.
første
andre
tredje
fjerde
femte
sjette
sjuende
åttende
niende
tiende
akt
akt
appendiks
appendiks
artikkel
artikkel
kanon
kanon
sted
sted
ligning
ligning
regel
regel
scene
scene
tabell
tabell
tittel
tittel
bok
bok
kapittel
kapittel
kolonne
kolonne
figur
figur
folio
folio
nummer
nummer
linje
linje
note
note
opus
opus
side
side
volume
volumes
page
pages
printing
printings
chap.
chaps.
cit.
cits.
nr.
side
sider
avsnitt
avsnitt
del
del
paragraf
paragraf
supplement
supplements
sub verbo
sub verbis
vers
vers
bind
bind
art.
art.
tab.
tab.
kap.
kol.
fig.
fol.
nr.
op.
s.
s.
vol.
vols.
p.
pp.
print.
prints.
s.
s.
avsn.
pargr.
supp.
supps.
s.v.
s.vv.
v.
v.
bd.
bd.
¶
¶¶
chapter
chapters
citation
citations
nummer
nummer
§
§§
ed.
eds.
leder
ledere
kompilator
kompilatorer
bidragsyter
bidragsytere
kurator
kuratorer
utøvende produsent
utøvende produsenter
gjest
gjester
vert
verter
forteller
fortellere
organisator
organisatorer
utøver
utøvere
produsent
produsenter
manusforfatter
manusforfattere
serieskaper
serieskapere
regissør
regissører
redaktør
redaktører
redaktør
redaktører
illustratør
illustratører
oversetter
oversettere
redaktør & oversetter
redaktører & oversettere
utøv. prod.
utøv. prod.
prod.
prod.
forf.
forf.
regi
regi
red.
red.
red.
red.
ill.
ill.
overs.
overs.
red. & overs.
red. & overs.
edited by
leda av
kompilert av
med
kuratert av
utøvende produsert av
med gjest
vertskap av
fortalt av
organisert av
fremført av
produsert av
forfatta av
skapt av
av
regissert av
redigert av
redigert av
illustrert av
intervjuet av
til
av
ed. by
oversatt av
redigert & oversatt av
utøv. prod. av
prod. av
forf. av
regi
red.
red.
illus.
overs.
red. & overs. av
januar
februar
mars
april
mai
juni
juli
august
september
oktober
november
desember
jan.
feb.
mar.
apr.
mai
jun.
jul.
aug.
sep.
okt.
nov.
des.
vår
sommer
høst
vinter
citeproc-0.13/locales/nl-NL.xml 0000644 0000000 0000000 00000060747 07346545000 014540 0 ustar 00 0000000 0000000
Rintze M. Zelle
http://twitter.com/rintzezelle
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License
2017-04-01T12:00:00+00:00
advance online publication
album
audio recording
film
henceforth
loc. cit.
no place
n.p.
no publisher
n.p.
on
op. cit.
original work published
persoonlijke communicatie
podcast
podcast episode
preprint
radio broadcast
radio series
radio series episode
special issue
special section
television broadcast
television series
television series episode
video
working paper
geraadpleegd
en
en anderen
anoniem
anon.
bij
beschikbaar op
door
circa
c.
geciteerd
reference
references
number
numbers
druk
drukken
ref.
refs.
no.
nos.
dr.
e.a.
in voorbereiding
van
ibid.
in
in druk
internet
brief
zonder datum
z.d.
online
gepresenteerd bij
referentie
referenties
ref.
refs.
review of
rev. of
geraadpleegd
schaal
versie
preprint
journal article
magazine article
newspaper article
bill
broadcast
classic
collection
dataset
document
entry
dictionary entry
encyclopedia entry
event
graphic
hearing
interview
legal case
legislation
manuscript
map
video recording
musical score
pamphlet
conference paper
patent
performance
periodical
persoonlijke communicatie
post
blog post
regulation
report
review
book review
software
audio recording
presentation
standard
thesis
treaty
webpage
journal art.
mag. art.
newspaper art.
doc.
graph.
interv.
MS
video rec.
rep.
rev.
bk. rev.
audio rec.
testimony of
review of
review of the book
AD
BC
BCE
CE
‘
’
“
”
-
:
,
;
ste
de
de
de
de
de
de
de
de
de
de
de
de
de
de
de
de
de
de
eerste
tweede
derde
vierde
vijfde
zesde
zevende
achtste
negende
tiende
act
acts
appendix
appendices
article
articles
canon
canons
location
locations
equation
equations
rule
rules
scene
scenes
table
tables
title
titles
boek
boeken
hoofdstuk
hoofdstukken
column
columns
figuur
figuren
folio
folio's
nummer
nummers
regel
regels
aantekening
aantekeningen
opus
opera
pagina
pagina's
volume
volumes
page
pages
printing
printings
chap.
chaps.
cit.
cits.
nr.
pagina
pagina's
paragraaf
paragrafen
deel
delen
sectie
secties
supplement
supplements
sub verbo
sub verbis
vers
versen
volume
volumes
app.
apps.
art.
arts.
loc.
locs.
eq.
eqs.
r.
rr.
sc.
scs.
tbl.
tbls.
tit.
tits.
bk.
hfdst.
col.
fig.
f.
nr.
l.
n.
op.
p.
pp.
vol.
vols.
p.
pp.
print.
prints.
p.
pp.
par.
deel
sec.
supp.
supps.
s.v.
s.vv.
v.
vv.
vol.
vols.
¶
¶¶
chapter
chapters
citation
citations
nummer
nummers
§
§§
ed.
eds.
chair
chairs
compiler
compilers
contributor
contributors
curator
curators
executive producer
executive producers
guest
guests
host
hosts
narrator
narrators
organizer
organizers
performer
performers
producer
producers
writer
writers
series creator
series creators
regisseur
regisseurs
redacteur
redacteuren
redacteur
redacteuren
illustrator
illustrators
vertaler
vertalers
redacteur & vertaler
redacteuren & vertalers
comp.
comps.
contrib.
contribs.
cur.
curs.
exec. prod.
exec. prods.
narr.
narrs.
org.
orgs.
perf.
perfs.
prod.
prods.
writ.
writs.
cre.
cres.
reg.
reg.
red.
red.
red.
red.
ill.
ill.
vert.
vert.
red. & vert.
red. & vert.
edited by
chaired by
compiled by
with
curated by
executive produced by
with guest
hosted by
narrated by
organized by
performed by
produced by
written by
created by
door
geregisseerd door
onder redactie van
onder redactie van
geïllustreerd door
geïnterviewd door
ontvangen door
door
ed. by
vertaald door
bewerkt & vertaald door
comp. by
w.
cur. by
exec. prod. by
w. guest
hosted by
narr. by
org. by
perf. by
prod. by
writ. by
cre. by
geregisseerd door
onder redactie van
bewerkt door
geïllustreerd door
vertaald door
bewerkt & vertaald door
januari
februari
maart
april
mei
juni
juli
augustus
september
oktober
november
december
jan.
feb.
mrt.
apr.
mei
jun.
jul.
aug.
sep.
okt.
nov.
dec.
lente
zomer
herfst
winter
citeproc-0.13/locales/nn-NO.xml 0000644 0000000 0000000 00000051403 07346545000 014532 0 ustar 00 0000000 0000000
Guttorm Flatabø
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License
2013-03-01T12:20:00+01:00
førehandspublisert på nett
album
lydopptak
film
heretter
loc. cit.
manglar stad
manglar utgjevar
s.n.
om
op. cit.
opphavleg verk utgitt
personlig kommunikasjon
podkast
podkast-episode
innsendt manuskript
radiosending
radioserie
radioserie-episode
spesialutgåve
spesialbolk
fjernsynssending
fjernsynsserie
fjernsynsserie-episode
video
notat
vitja
og
med fleire
anonym
anon.
på
tilgjengeleg på
av
circa
ca.
sitert
reference
references
number
numbers
utgåve
utgåve
ref.
refs.
no.
nos.
utg.
mfl.
kommande
frå
ibid.
i
i trykk
Internett
brev
utan dato
u.å.
på nett
presentert på
referanse
referanse
ref.
ref.
review of
rev. of
henta
målestokk
versjon
innsendt manuskript
tidsskriftartikkel
magasinartikkel
avisartikkel
proposisjon
kringkasting
klassikar
samling
datasett
dokument
oppføring
ordbokoppføring
leksikonoppføring
hending
grafikk
høyring
intervju
rettssak
lovgjeving
manuskript
kart
video-opptak
partitur
pamflett
konferanseartikkel
patent
framføring
tidsskrift
personleg kommunikasjon
innlegg
blogginnlegg
forskrift
rapport
melding
bokmelding
programvare
lydopptak
presentasjon
standard
avhandling
traktat
nettside
tidsskrift art.
avisart.
dok.
ms.
testimony of
review of
review of the book
e.Kr.
f.Kr.
fvt.
evt.
«
»
‘
’
–
:
,
;
.
første
andre
tredje
fjerde
femte
sjette
sjuande
åttande
niande
tiande
akt
akt
appendiks
appendiks
artikkel
artikkel
kanon
kanon
stad
stad
likning
likning
regel
regel
scene
scene
tabell
tabell
tittel
tittel
bok
bok
kapittel
kapittel
kolonne
kolonne
figur
figur
folio
folio
nummer
nummer
linje
linje
note
note
opus
opus
side
side
volume
volumes
page
pages
printing
printings
chap.
chaps.
cit.
cits.
nr.
side
sider
avsnitt
avsnitt
del
del
paragraf
paragraf
supplement
supplements
sub verbo
sub verbis
vers
vers
bind
bind
art.
art.
tab.
tab.
kap.
kol.
fig.
fol.
nr.
op.
s.
s.
vol.
vols.
p.
pp.
print.
prints.
s.
s.
avsn.
par.
supp.
supps.
s.v.
s.vv.
v.
v.
bd.
bd.
¶
¶¶
chapter
chapters
citation
citations
nummer
nummer
§
§§
ed.
eds.
leiar
leiarar
kompilator
kompilatorar
bidragsytar
bidragsytarar
kurator
kuratorar
utøvande produsent
utøvande produsentar
gjest
gjester
vert
vertar
forteljar
forteljarar
organisator
organisatorar
utøvar
utøvarar
produsent
produsentar
manusforfattar
manusforfattarar
serieskapar
serieskaparar
regissør
regissørar
redaktør
redaktørar
redaktør
redaktørar
illustratør
illustratørar
omsetjar
omsetjarar
redaktør & omsetjar
redaktørar & omsetjarar
utøv. prod.
utøv. prod.
prod.
prod.
forf.
forf.
regi
regi
red.
red.
red.
red.
ill.
ill.
oms.
oms.
red. & oms.
red. & oms.
edited by
leia av
kompilert av
med
kuratert av
utøvande produsert av
med gjest
vertskap av
fortald av
organisert av
utført av
produsert av
forfatta av
skapt av
av
regissert av
redigert av
redigert av
illustrert av
intervjua av
til
av
ed. by
omsett av
redigert & omsett av
vert
prod. av
forf. av
regi
red.
red.
ill.
oms.
red. & oms. av
januar
februar
mars
april
mai
juni
juli
august
september
oktober
november
desember
jan.
feb.
mar.
apr.
mai
jun.
jul.
aug.
sep.
okt.
nov.
des.
vår
sommar
haust
vinter
citeproc-0.13/locales/pa-PK.xml 0000644 0000000 0000000 00000050041 07346545000 014512 0 ustar 00 0000000 0000000
عثمان
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License
2024-03-18T11:52:00+00:00
پہنچیا
آن لائن اگاؤں دتی اشاعت
البم
تے
تے ہور
گم نام
پر
آدیو ریکارڈ
دستیابی دی پتا
وسیلیوں
تقریباً
حوالہ دتا
تے ہور
فلم
آوݨ والا
از
ہݨ توں
ایضاً
در
پریس وچ
انٹرنیٹ
چٹھی
ایضاً
بے تاریخ
بے تھاں
بے چھاپا خانہ
پر
آن لائن
ایضاً
اصل کم چھاپیا
نجی گل کرن
پاڈ کاسٹ
پاڈ کاسٹ ایپیسوڈ
پریپرنٹ
کانفرنس
ریڈیو براڈ کاسٹ
ریڈیو سلسلہ
ریڈیو ایپیسوڈ
حوالہ
حوالے
حاصل کیتا
ریویو از
سکیل
خاص شمارہ
خاص جز
ٹیلی ویژن براڈ کاسٹ
ٹیلی ویژن سلسلہ
ٹیلی ویژن ایپیسوڈ
ویڈیو
ورکنگ پیپر
پریپرنٹ
جرنل دا لیکھ
میگزین دا لیکھ
اخبار دا لیکھ
بِل
براڈ کاسٹ
کلیسک
مجموعہ
ڈیٹا سیٹ
دستاویز
اندراج
لغت وچ اندراج
انسائیکلو پیڈیا وچ اندراج
واقعہ
نگاری
سماعت
انٹرویو
مقدمہ
قانون نامہ
مسودہ
نقشہ
ویڈیو ریکارڈ
موسیقار سکور
پمفلٹ
کانفرنس پیپر
پیٹنٹ
ناٹک
رسالہ
نجی گل کرن
پوسٹ
بلاگ پوسٹ
ریگولیشن
ریپورٹ
ریویو
کتابی ریویو
سافٹویر
آڈیو ریکارڈ
سپیچ
سٹینڈرڈ
تھیسس
معاہدہ
ویب صفحہ
ثبوت دتا از
ریویو کیتا از
کتاب دا ریویو کیتا
عیسوی
قبل مسیح
قبل عام زمانہ
عام زمانہ
”
“
’
‘
–
:
،
؛
واں
ویں
لا
جا
جا
تھا
واں
واں
واں
واں
لی
جی
جی
تھی
ویں
ویں
ویں
ویں
پہلا
دوجا
تیجا
چوتھا
پنجواں
چھیواں
ستواں
اٹھواں
نوواں
دسواں
پہلی
دوجی
تیجی
چوتھی
پنجویں
چھیویں
ستویں
اٹھویں
نوویں
دسویں
ایکٹ
ایکٹ
ضمیمہ
ضمیمے
لیکھ
لیکھ
کتاب
کتاباں
قانون
قانون
کانڈ
کانڈ
کالم
کالم
تھاں
تھاواں
مساوات
مساواتاں
تصویر
تصویراں
فولیو
فولیو
شمارہ
شمارے
قطار
قطاراں
نوٹ
نوٹ
کارنامہ
کارنامے
صفحہ
صفحے
پیرا
پیرے
حصہ
حصے
رول
رول
سین
سین
جز
جز
زیر کلمہ
زیر کلمے
لاحق
لاحق
ٹیبل
ٹیبل
عنوان
عنوان
شعر
شعر
ورژن
ورژن
جلد
جلد
¶
¶¶
§
§§
کانڈ
کانڈ
حوالہ
حوالے
نمبر
نمبر
چھپائی
چھپائیاں
حوالہ
حوالے
نمبر
نمبر
صفحہ
صفحے
جلد
جلد
صفحہ
صفحے
چھاپ
چھاپاں
چیر
چیر
سودھی
سودھی
مرتب
مرتب
حصہ لاوݨ والا
حصہ لاوݨ والے
کیوریٹر
کیوریٹر
ڈائریکٹر
ڈائریکٹر
سودھی
سودھی
سودھی & مترجم
سودھی & مترجم
سودھی
سودھی
انتظامیہ
انتظامیہ
مہمان
مہمان
میزبان
میزبان
مصور
مصور
راوی
راوی
تنظیم کرن والا
تنظیم کرن والے
کلاکار
کلاکار
پروڈیوسر
پروڈیوسر
لکھاری
لکھاری
سلسلہ بݨاوݨ والا
سلسلہ بݨاوݨ والے
مترجم
مترجم
چیر نال
سودھی نال
مرتب نال
رچنا کار نال
بقلم
تے حصہ لاوݨ والے نال
کیوریٹر نال
ڈائریکٹر نال
سودھی نال
سودھی & مترجم نال
سودھی نال
انتظامیے نال
مہمان نال
میزبان نال
مصور نال
انٹرویو نال
راوی نال
تنظیم کرن والے نال
بقلم
کلاکار نال
پروڈیوسر نال
توں
بقلم
بقلم
رچنا کار نال
مترجم نال
جنوری
فروری
مارچ
اپریل
مئی
جون
جولئی
اگست
ستمبر
اکتوبر
نومبر
دسمبر
جنو
فرو
مار
اپر
مئی
جون
جول
اگس
ستم
اکت
نوم
دسم
بہار
گرمی
پتجھڑ
سردی
citeproc-0.13/locales/pl-PL.xml 0000644 0000000 0000000 00000057631 07346545000 014542 0 ustar 00 0000000 0000000
pAo
Michal
Pendzoncymisio
Natalia L
Kacper Kłosowski
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License
2025-07-10T16:00:00+00:00
advance online publication
album
audio recording
film
henceforth
loc. cit.
brak miejsca wydania
b.m.
brak wydawcy
b.w.
on
op. cit.
original work published
korespondencja prywatna
podcast
podcast episode
preprint
radio broadcast
radio series
radio series episode
special issue
special section
television broadcast
television series
television series episode
video
working paper
dostęp
i
i inni
anonim
anon.
na
dostępne na
przez
około
ok.
cytowane
reference
references
numer
numery
wydanie
wydania
cyt.
cyt.
nr
nr.
wyd.
et al.
w przygotowaniu
z
ibid.
w
w druku
internet
list
brak daty
b.d.
online
zaprezentowano na
referencja
referencje
ref.
ref.
recenzja
rec.
pobrano
skala
wersja
preprint
journal article
magazine article
newspaper article
bill
broadcast
classic
collection
dataset
document
entry
dictionary entry
encyclopedia entry
event
graphic
hearing
wywiad
legal case
legislation
manuscript
map
video recording
musical score
pamphlet
conference paper
patent
performance
periodical
osobista komunikacja
post
blog post
regulation
report
review
book review
software
audio recording
presentation
standard
thesis
treaty
webpage
journal art.
mag. art.
newspaper art.
doc.
graph.
interv.
MS
video rec.
rep.
rev.
bk. rev.
audio rec.
testimony of
review of
review of the book
n.e.
p.n.e.
BCE
CE
„
”
«
»
–
:
,
;
.
pierwszy
drugi
trzeci
czwarty
piąty
szósty
siódmy
ósmy
dziewiąty
dziesiąty
akt
akty
załącznik
załączniki
artykuł
artykuły
kanon
kanony
lokalizacja
lokalizacje
równanie
równania
zasada
zasady
scena
sceny
tabela
tabele
tytuł
tytuły
książka
książki
rozdział
rozdziały
kolumna
kolumny
rycina
ryciny
folio
folio
numer
numery
wiersz
wiersze
notatka
notatki
opus
opera
strona
strony
tom
tomy
strona
strony
druk
druki
rozdz.
rozdz.
cyt.
cyt.
nr
nr.
strona
strony
akapit
akapity
część
części
sekcja
sekcje
suplement
suplementy
sub verbo
sub verbis
wers
wersy
tom
tomy
zał.
zał.
art.
art.
lok.
lok.
równ.
równ.
zas.
zas.
sc.
sc.
tab.
tab.
tyt.
tyt.
książka
rozdz.
kol.
ryc.
fol.
nr
l.
n.
op.
s.
s.
t.
t.
s.
s.
druk
druk.
s.
s.
akap.
cz.
sekc.
sup.
sup.
s.v.
s.vv.
w.
w.
t.
t.
¶
¶¶
rozdział
rozdziały
cytowanie
cytowania
numer
numery
§
§§
ed.
eds.
chair
chairs
compiler
compilers
contributor
contributors
curator
curators
executive producer
executive producers
guest
guests
host
hosts
narrator
narrators
organizer
organizers
performer
performers
producer
producers
writer
writers
series creator
series creators
reżyser
reżyserzy
redaktor
redaktorzy
edytor
edytorzy
ilustrator
ilustratorzy
tłumacz
tłumacze
redaktor & tłumacz
redaktorzy & tłumacze
comp.
comps.
contrib.
contribs.
cur.
curs.
exec. prod.
exec. prods.
narr.
narrs.
org.
orgs.
perf.
perfs.
prod.
prods.
writ.
writs.
cre.
cres.
reż.
reż.
red.
red.
red.
red.
il.
il.
tłum.
tłum.
red.tłum.
red.tłum.
edited by
chaired by
compiled by
with
curated by
executive produced by
with guest
hosted by
narrated by
organized by
performed by
produced by
written by
created by
przez
reżyserowane przez
zredagowane przez
zredagowane przez
ilustrowane przez
przeprowadzony przez
dla
przez
ed. by
przetłumaczone przez
zredagowane i przetłumaczone przez
comp. by
w.
cur. by
exec. prod. by
w. guest
hosted by
narr. by
org. by
perf. by
prod. by
writ. by
cre. by
reż.
red.
red.
il.
tłum.
red.tłum.
stycznia
lutego
marca
kwietnia
maja
czerwca
lipca
sierpnia
września
października
listopada
grudnia
sty.
lut.
mar.
kwi.
maja
cze.
lip.
sie.
wrz.
paź.
lis.
grud.
wiosna
lato
jesień
zima
citeproc-0.13/locales/pt-BR.xml 0000644 0000000 0000000 00000063271 07346545000 014537 0 ustar 00 0000000 0000000
José Antonio Meira da Rocha
Meira da Rocha
Renato Cirino
André Luiz Appel
Renato Cirino
Isabelly Silva
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License
2025-06-29T15:45:00+04:00
publicação prévia em linha
álbum
gravação de áudio
filme
daqui em diante
loc. cit.
sine loco
s. l.
sine nomine
s. n.
em
op. cit.
trabalho original publicado
comunicação pessoal
podcast
episódio de podcast
preprint
transmissão de rádio
série radiofônica
episódio de série radiofônica
edição especial
sessão especial
transmissão de tv
série de tv
episódio de série de televisão
vídeo
artigo inacabado
acesso em
e
e outros
anônimo
anon
em
disponível em
por
circa
c.
citado
reference
references
number
numbers
edição
edições
ref.
refs.
n.
n.
ed.
et al.
a ser publicado
de
ibidem
em
no prelo
internet
entrevista
carta
sem data
s. d.
online
apresentado em
referência
referências
ref.
refs.
review of
rev. of
recuperado
escala
versão
preprint
artigo de periódico
artigo de revista
artigo de jornal
lei
transmissão
clássico
coleção
conjunto de dados
documento
verbete
verbete de dicionário
verbete de enciclopédia
evento
figura
iconográfico
audiência
entrevista
jurisprudência
legislação
manuscrito
mapa
gravação de vídeo
partitura musical
panleto
trabalho em evento
patente
performance
periódico
comunicação pessoal
publicação
publicação de blog
regulamento
relatório
resenha
resenha de livro
programa de computador
gravação de áudio
apresentação
norma
tese
tratado
página da web
art. periódico
art. rev.
art. j.
doc.
iconog.
entrev.
MS
grav. vídeo
rel.
rev.
resenha liv.
gravação áudio
testimony of
review of
review of the book
depois de Cristo
AC
BCE
CE
“
”
‘
’
–
:
,
;
º
ª
º
primeiro
segundo
terceiro
quarto
quinto
sexto
sétimo
oitavo
nono
décimo
primeira
segunda
terceira
quarta
quinta
sexta
sétima
oitava
nona
décima
ato
atos
apêndice
apêndices
artigo
artigos
cânone
cânones
localizador
localizadores
equação
equações
norma
normas
cena
cenas
tabela
tabelas
título
títulos
livro
livros
capítulo
capítulos
coluna
colunas
figura
figuras
fólio
fólios
número
números
linha
linhas
nota
notas
opus
opera
página
páginas
volume
volumes
page
pages
printing
printings
cap.
cap.
cit.
cit.
nº
página
páginas
parágrafo
parágrafos
parte
partes
seção
seções
supplement
supplements
sub verbo
sub verbis
verso
versos
volume
volumes
app.
apps.
art.
arts.
local.
locals.
eq.
eqs.
norma
normas
c.
cns.
tbl.
tbls.
tit.
tits.
liv.
cap.
col.
fig.
f.
n.
l.
n.
op.
p.
p.
vol.
vols.
p.
p.
print.
prints.
p.
p.
par.
pt.
seç.
supl.
supl.
s.v.
s.vv.
v.
p.
v.
v.
¶
¶¶
chapter
chapters
citation
citations
número
números
§
§§
ed.
eds.
presidente
presidentes
compilador
compiladores
contribuidor
contribuidores
curador
curadores
produtor executivo
produtores executivos
convidado
convidados
anfitrião
anfitriões
narrador
narradores
organizador
organizadores
intérprete
intérpretes
produtor
produtores
roteirista
roteiristas
criador da série
criadores da série
diretor
diretores
organizador
organizadores
editor
editores
editor
editores
ilustrador
ilustradores
tradutor
tradutores
editor e tradutor
editores e tradutores
pres.
pres.
comp.
comps.
contrib.
contribs.
cur.
curs.
prod. exec.
prods. execs.
narr.
narrs.
org.
orgs.
intérp.
intérps.
prod.
prods.
roteir.
roteirs.
cre.
cres.
dir.
dirs.
org.
org.
ed.
ed.
ed.
eds.
il.
ils.
trad.
trads.
ed. e trad.
eds. e trads.
presidido por
compiled by
com
curadoria de
executive produced by
with guest
apresentado por
narração de
organizado por
interpretado por
produzido por
escrito por
criado por
por
organizado por
editado por
ilustrado por
entrevista cedida a
destinado a
por
ed. by
traduzido por
editado e traduzido por
comp. por
w.
cur. by
prod. exec. por
c/ conv.
ofer. por
narr. por
org. por
perf. por
prod. por
escr. por
criad. por
dir.
org.
ed.
ilus.
trad.
ed. e trad. por
janeiro
fevereiro
março
abril
maio
junho
julho
agosto
setembro
outubro
novembro
dezembro
jan.
fev.
mar.
abr.
maio
jun.
jul.
ago.
set.
out.
nov.
dez.
Primavera
Verão
Outono
Inverno
citeproc-0.13/locales/pt-PT.xml 0000644 0000000 0000000 00000061413 07346545000 014553 0 ustar 00 0000000 0000000
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License
2013-09-20T23:31:02+00:00
Jonadabe PT
advance online publication
album
gravação áudio
filme
henceforth
loc. cit.
sem local
s.l.
sem editor
s.e.
em
op. cit.
trabalho original publicado
comunicação pessoal
podcast
episódio podcast
pré-impressão
transmissão de rádio
série de rádio
episódio de série de rádio
edição especial
secção especial
transmissão televisiva
série televisiva
episódio de série televisiva
vídeo
trabalho em progresso
acedido
e
e outros
anónimo
anón.
em
disponível em
por
circa
c.
citado
reference
references
number
numbers
edição
edições
ref.
refs.
no.
nos.
ed.
et al.
a publicar
de
ibid.
em
no prelo
internet
carta
sem data
sem data
online
apresentado na
referência
referências
ref.
refs.
review of
rev. of
obtido
escala
versão
pré-impressão
article journal
artigo de revista
artigo de jornal
fatura
transmissão
clássico
coleção
dataset
documento
entrada
entrada de dicionário
entrada de enciclopédia
evento
gráfico
audiência
entrevista
legal case
legislação
manuscrito
mapa
gravação de vídeo
musical score
panfleto
conference paper
patente
performance
periódico
comunicação pessoal
post
blog post
regulamento
relatório
review
book review
software
gravação áudio
discurso
padrão
tése
tratado
webpage
journal art.
mag. art.
newspaper art.
doc.
gráf.
entrev.
MS
transm. vídeo
rel.
rev.
bk. rev.
grav. áudio
testimony of
review of
review of the book
AD
AC
AEC
EC
«
»
“
”
–
:
,
;
.º
.ª
primeiro
primeira
segundo
segunda
terceiro
terceira
quarto
quarta
quinto
quinta
sexto
sexta
sétimo
sétima
oitavo
oitava
nono
nona
décimo
décima
ata
atas
apêndice
apêndices
artigo
artigos
canon
canons
localização
localizações
equação
equações
regra
regras
cena
cenas
tabela
tabelas
título
títulos
livro
livros
capítulo
capítulos
coluna
colunas
figura
figuras
fólio
fólios
número
números
linha
linhas
nota
notas
opus
opera
página
páginas
volume
volumes
page
pages
printing
printings
chap.
chaps.
cit.
cits.
n.º
página
páginas
parágrafo
parágrafos
parte
partes
secção
secções
supplement
supplements
sub verbo
sub verbis
versículo
versículos
volume
volumes
app.
apps.
art.
arts.
loc.
locs.
eq.
eqs.
r.
rr.
sc.
scs.
tbl.
tbls.
tít.
títs.
liv.
cap.
col.
fig.
f.
n.º
l.
n.
op.
p.
pp.
vol.
vols.
p.
pp.
print.
prints.
p.
pp.
par.
pt.
sec.
supp.
supps.
s.v.
s.vv.
v
vv
vol.
vols.
¶
¶¶
chapter
chapters
citation
citations
número
números
§
§§
ed.
eds.
cadeira
cadeiras
compilador
compiladores
contribuinte
contribuintes
curador
curadores
produtor executivo
produtores executivos
convidado
convidados
anfitrião
anfitriões
narrador
narradores
organizador
organizadores
ator
atores
produtor
produtores
escritor
escritores
criador de séries
criadores de séries
diretor
diretores
editor
editores
diretor editorial
diretores editoriais
ilustrador
ilustradores
tradutor
tradutores
editor e tradutor
editores e tradutores
comp.
comps.
contrib.
contribs.
cur.
curs.
prod. exec.
prods. exec.
narr.
narrs.
org.
orgs.
perf.
perfs.
prod.
prods.
writ.
writs.
cre.
cres.
dir.
dirs.
ed.
eds.
ed.
eds.
il.
ils.
trad.
trads.
ed. & trad.
eds. & trads.
edited by
presidido por
compilado por
com
curado por
executive produced by
com convidado
hosted by
narrado por
organizado por
atuado por
produzido por
escrito por
criado por
por
dirigido por
editado por
editorial de
ilustrado por
entrevistado por
para
revisto por
ed. by
traduzido por
editado e traduzido por
comp. by
w.
cur. by
exec. prod. by
w. guest
hosted by
narr. by
org. by
perf. by
prod. by
writ. by
cre. by
dir.
ed.
ed.
ilus.
trad.
ed. & trad. por
janeiro
fevereiro
março
abril
maio
junho
julho
agosto
setembro
outubro
novembro
dezembro
jan.
fev.
mar.
abr.
mai.
jun.
jul.
ago.
set.
out.
nov.
dez.
Primavera
Verão
Outono
Inverno
citeproc-0.13/locales/ro-RO.xml 0000644 0000000 0000000 00000060212 07346545000 014541 0 ustar 00 0000000 0000000
Nicolae Turcan
nturcan@gmail.com
Alin Andrei Bălașa
alin.andrei.balasa@blsalin.dev
Dorin Jorea
dorin.jorea@gmail.com
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License
2012-07-04T23:31:02+00:00
publicare online în avans
album
înregistrare audio
film
de aici înainte
loc. cit.
fără loc
f. l.
fără editor
f. e.
pe
op. cit.
lucrare originală publicată
comunicare personală
podcast
episod de podcast
preprint
transmisie radio
serie radio
episod de serie radio
număr special
secțiune specială
emisiune de televiziune
serial televizat
episod al serialului televizat
înregistrare video
lucrare în curs de elaborare
data accesării
și
și alții
anonim
anon.
la
disponibil la
de
circa
cca.
citat
referință
referințe
numărul
numerele
ediția
edițiile
cf.
nr.
ed.
et al.
în curs de apariție
din
ibidem
în
sub tipar
internet
scrisoare
fără dată
f.a.
online
prezentat la
referință
referințe
ref.
ref.
recenzie a
rec. a
preluat în
scală
versiunea
preprint
articol de revistă
articol de revistă
articol de ziar
proiect de lege
transmisie
clasic
colecție
set de date
document
intrare
intrare în dicționar
intrare în enciclopedie
eveniment
grafică
audiere
interviu
caz juridic
legislație
manuscris
hartă
înregistrare video
partitură muzicală
pamflet
articol de conferință
brevet
interpretare
periodic
comunicare personală
postare
postare pe blog
reglementare
raport
recenzie
recenzie de carte
software
înregistrare audio
prezentare
standard
teză
tratat
pagină Web
art. revistă
art. revistă
art. ziar
doc.
graf.
interv.
MS
înreg. video
rap.
rec.
rec. carte
înreg. audio
mărturie a
recenzie a
recenzie a cărții
d.Hr.
î.Hr.
BCE
CE
„
”
«
»
-
:
,
;
-lea
primul
al doilea
al treilea
al patrulea
al cincilea
al șaselea
al șaptelea
al optulea
al nouălea
al zecelea
actul
actele
anexa
anexele
articolul
articolele
canonul
canoanele
locul
locurile
ecuația
ecuațiile
regula
regulile
scena
scenele
tabelul
tabelele
titlul
titlurile
cartea
cărțile
capitolul
capitolele
coloana
coloanele
figura
figurile
folioul
foliourile
numărul
numerele
linia
liniile
nota
notele
opusul
opusurile
pagina
paginile
volumul
volumele
pagina
paginile
tiparul
tiparele
cap.
chaps.
cit.
cits.
nr.
pagina
paginile
paragraful
paragrafele
partea
părțile
secțiunea
secțiunile
suplimentul
suplimentele
sub verbo
sub verbis
versetul
versetele
volumul
volumele
app.
apps.
art.
loc.
locs.
ec.
ecs.
r.
rr.
sc.
scs.
tbl.
tbls.
tit.
tits.
cart.
cap.
col.
fig.
fol.
nr.
l.
n.
op.
p.
pp.
vol.
vol.
p.
pp.
print.
print.
p.
pp.
par.
part.
sec.
suplim.
suplim.
s.v.
s.vv.
v.
vv.
vol.
vol.
¶
¶¶
capitolul
capitolele
citarea
citările
numărul
numerele
§
§§
ƒ
ƒƒ
editorul seriei
editorii seriei
președinte
președinți
compilator
compilatori
contributor
contributori
curator
curatori
producător executiv
producători executivi
invitat
invitați
gazdă
gazde
narator
naratori
organizator
organizatori
interpret
interpreți
producător
producători
scriitor
scriitori
creator de serie
creatori de serie
director
directori
editor
editori
coordonator
coordonatori
ilustrator
ilustratori
traducător
traducători
editor și traducător
editori și traducători
comp.
comp.
contrib.
contrib.
curat.
curat.
prod. exec.
prod. exec.
nar.
nar.
org.
org.
interpr.
interpr..
prod.
prod.
scriit.
scriit.
ed. col.
ed. col.
dir.
dir.
ed.
ed.
coord.
coord.
ilustr.
ilustr.
trad.
trad.
ed. și trad.
ed. și trad.
editat de
condus de
compilat de
cu contribuția
curator
produs executiv de
cu invitatul
găzduit de
narat de
organizat de
realizat de
produs de
scris de
colecție editată de
de
coordonat de
ediție de
coordonat de
ilustrații de
interviu de
în
de
ed. de
traducere de
ediție și traducere de
comp. de
cu
cur.
prod. exec. de
cu invit.
găzd. de
nar. de
org. de
interpr. de
prod. de
scen. de
ed. col. de
dir.
ed. de
coord. de
ilustr. de
trad. de
ed. și trad. de
ianuarie
februarie
martie
aprilie
mai
iunie
iulie
august
septembrie
octombrie
noiembrie
decembrie
ian.
feb.
mar.
apr.
mai
iun.
iul.
aug.
sep.
oct.
nov.
dec.
primăvara
vara
toamna
iarna
citeproc-0.13/locales/ru-RU.xml 0000644 0000000 0000000 00000067451 07346545000 014571 0 ustar 00 0000000 0000000
Alexei Kouprianov
alexei.kouprianov@gmail.com
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License
2012-07-04T23:31:02+00:00
advance online publication
album
audio recording
film
henceforth
loc. cit.
no place
n.p.
no publisher
n.p.
on
op. cit.
original work published
личная переписка
podcast
podcast episode
preprint
radio broadcast
radio series
radio series episode
special issue
special section
television broadcast
television series
television series episode
video
working paper
просмотрено
и
и др.
аноним
анон.
на
доступно на
около
ок.
цитируется по
цит. по
reference
references
number
numbers
издание
издания
ref.
refs.
no.
nos.
изд.
и др.
ожидается
от
там же
в
в печати
Интернет
письмо
без даты
б. д.
онлайн
представлено на
ссылка
ссылки
ссылка
ссылки
review of
rev. of
извлечено
масштаб
версия
preprint
journal article
magazine article
newspaper article
bill
broadcast
classic
collection
dataset
document
entry
dictionary entry
encyclopedia entry
event
graphic
hearing
интервью
legal case
legislation
manuscript
map
video recording
musical score
pamphlet
conference paper
patent
performance
periodical
личная переписка
post
blog post
regulation
report
review
book review
software
audio recording
presentation
standard
thesis
treaty
webpage
journal art.
mag. art.
newspaper art.
doc.
graph.
interv.
MS
video rec.
rep.
rev.
bk. rev.
audio rec.
testimony of
review of
review of the book
н. э.
до н. э.
BCE
CE
«
»
„
“
–
:
,
;
-е
-й
-я
первое
второе
третье
четвертое
пятое
шестое
седьмое
восьмое
девятое
десятое
первый
второй
третий
четвертый
пятый
шестой
седьмой
восьмой
девятый
десятый
первая
вторая
третья
четвертая
пятая
шестая
седьмая
восьмая
девятая
десятая
act
acts
appendix
appendices
article
articles
canon
canons
location
locations
equation
equations
rule
rules
scene
scenes
table
tables
title
titles
книга
книги
глава
главы
столбец
столбцы
рисунок
рисунки
лист
листы
выпуск
выпуски
строка
строки
примечание
примечания
сочинение
сочинения
страница
страницы
volume
volumes
page
pages
printing
printings
chap.
chaps.
cit.
cits.
вып.
страница
страницы
параграф
параграфы
часть
части
раздел
разделы
supplement
supplements
смотри
стих
стихи
том
тома
app.
apps.
art.
arts.
loc.
locs.
eq.
eqs.
r.
rr.
sc.
scs.
tbl.
tbls.
tit.
tits.
кн.
гл.
стб.
рис.
л.
лл.
вып.
стр.
прим.
соч.
с.
сс.
vol.
vols.
p.
pp.
print.
prints.
с.
сс.
п.
пп.
ч.
чч.
разд.
supp.
supps.
см.
ст.
т.
тт.
¶
¶¶
chapter
chapters
citation
citations
выпуск
выпуски
§
§§
ed.
eds.
chair
chairs
compiler
compilers
contributor
contributors
curator
curators
executive producer
executive producers
guest
guests
host
hosts
narrator
narrators
organizer
organizers
performer
performers
producer
producers
writer
writers
series creator
series creators
режиссер
режиссеры
редактор
редакторы
ответственный редактор
ответственные редакторы
иллюстратор
иллюстраторы
переводчик
переводчики
редактор и переводчик
редакторы и переводчики
comp.
comps.
contrib.
contribs.
cur.
curs.
exec. prod.
exec. prods.
narr.
narrs.
org.
orgs.
perf.
perfs.
prod.
prods.
writ.
writs.
cre.
cres.
реж.
ред.
отв. ред.
ил.
пер.
ред. и пер.
edited by
chaired by
compiled by
with
curated by
executive produced by
with guest
hosted by
narrated by
organized by
performed by
produced by
written by
created by
режиссировано
под редакцией
под ответственной редакцией
иллюстрировано
интервью проведено
к
ed. by
переведено
под редакцией и переведено
comp. by
w.
cur. by
exec. prod. by
w. guest
hosted by
narr. by
org. by
perf. by
prod. by
writ. by
cre. by
реж.
под ред.
под отв. ред.
ил.
пер.
под ред. и пер.
январь
февраль
март
апрель
май
июнь
июль
август
сентябрь
октябрь
ноябрь
декабрь
янв.
фев.
мар.
апр.
май
июн.
июл.
авг.
сен.
окт.
ноя.
дек.
весна
лето
осень
зима
citeproc-0.13/locales/sk-SK.xml 0000644 0000000 0000000 00000057331 07346545000 014543 0 ustar 00 0000000 0000000
Tomáš Ferianc
kohafan
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License
2014-03-09T22:23:31+00:00
advance online publication
album
audio recording
film
henceforth
loc. cit.
no place
n.p.
no publisher
n.p.
on
op. cit.
original work published
osobná komunikácia
podcast
podcast episode
preprint
radio broadcast
radio series
radio series episode
special issue
special section
television broadcast
television series
television series episode
video
working paper
cit
a
a ďalší
anonym
anon.
v
available at
by
circa
cca.
cit
reference
references
number
numbers
vydanie
vydania
ref.
refs.
no.
nos.
vyd.
et al.
nadchádzajúci
z
ibid.
v
v tlači
internet
list
no date
n.d.
online
prezentované na
reference
references
ref.
refs.
review of
rev. of
cit
scale
version
preprint
journal article
magazine article
newspaper article
bill
broadcast
classic
collection
dataset
document
entry
dictionary entry
encyclopedia entry
event
graphic
hearing
osobná komunikácia
legal case
legislation
manuscript
map
video recording
musical score
pamphlet
conference paper
patent
performance
periodical
osobná komunikácia
post
blog post
regulation
report
review
book review
software
audio recording
presentation
standard
thesis
treaty
webpage
journal art.
mag. art.
newspaper art.
doc.
graph.
interv.
MS
video rec.
rep.
rev.
bk. rev.
audio rec.
testimony of
review of
review of the book
po Kr.
pred Kr.
BCE
CE
“
”
‘
’
–
:
,
;
th
st
nd
rd
th
th
th
first
second
third
fourth
fifth
sixth
seventh
eighth
ninth
tenth
act
acts
appendix
appendices
article
articles
canon
canons
location
locations
equation
equations
rule
rules
scene
scenes
table
tables
title
titles
kniha
knihy
kapitola
kapitoly
stĺpec
stĺpce
obrázok
obrázky
list
listy
číslo
čísla
riadok
riadky
poznámka
poznámky
opus
opera
strana
strany
volume
volumes
page
pages
printing
printings
chap.
chaps.
cit.
cits.
č.
strana
strany
odstavec
odstavce
časť
časti
sekcia
sekcie
supplement
supplements
sub verbo
sub verbis
verš
verše
ročník
ročníky
app.
apps.
art.
arts.
loc.
locs.
eq.
eqs.
r.
rr.
sc.
scs.
tbl.
tbls.
tit.
tits.
k.
kap.
stĺp.
obr.
l.
č.
l.
n.
op.
s.
s.
vol.
vols.
p.
pp.
print.
prints.
s.
s.
par.
č.
sek.
supp.
supps.
s.v.
s.vv.
v.
v.
roč.
roč.
¶
¶
chapter
chapters
citation
citations
číslo
čísla
§
§
ed.
eds.
chair
chairs
compiler
compilers
contributor
contributors
curator
curators
executive producer
executive producers
guest
guests
host
hosts
narrator
narrators
organizer
organizers
performer
performers
producer
producers
writer
writers
series creator
series creators
director
directors
editor
editori
zostavovateľ
zostavovatelia
illustrator
illustrators
prekladateľ
prekladatelia
zostavovateľ & prekladateľ
zostavovatelia & prekladatelia
comp.
comps.
contrib.
contribs.
cur.
curs.
exec. prod.
exec. prods.
narr.
narrs.
org.
orgs.
perf.
perfs.
prod.
prods.
writ.
writs.
cre.
cres.
dir.
dirs.
ed.
ed.
zost.
zost.
ill.
ills.
prel.
prel.
ed. & tran.
eds. & trans.
edited by
chaired by
compiled by
with
curated by
executive produced by
with guest
hosted by
narrated by
organized by
performed by
produced by
written by
created by
by
directed by
zostavil
zostavil
illustrated by
rozhovor urobil
adresát
by
ed. by
preložil
zostavil & preložil
comp. by
w.
cur. by
exec. prod. by
w. guest
hosted by
narr. by
org. by
perf. by
prod. by
writ. by
cre. by
dir.
ed.
ed.
illus.
prel.
zost. & prel.
január
február
marec
apríl
máj
jún
júl
august
september
október
november
december
jan.
feb.
mar.
apr.
máj.
jún.
júl.
aug.
sep.
okt.
nov.
dec.
Jar
Leto
Jeseň
Zima
citeproc-0.13/locales/sl-SI.xml 0000644 0000000 0000000 00000056752 07346545000 014550 0 ustar 00 0000000 0000000
Kristof Ostir
ratek1
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License
2014-11-06T09:41:02+00:00
advance online publication
album
audio recording
film
henceforth
loc. cit.
no place
n.p.
no publisher
n.p.
on
op. cit.
original work published
osebna komunikacija
podcast
podcast episode
preprint
radio broadcast
radio series
radio series episode
special issue
special section
television broadcast
television series
television series episode
video
working paper
pridobljeno
in
in drugi
anonimni
anon.
pri
dostopno na
približno
prib.
citirano
reference
references
number
numbers
izdaja
izdaje
ref.
refs.
no.
nos.
izd.
idr.
pred izidom
s
isto
v
v tisku
internet
pismo
brez datuma
b. d.
na spletu
predstavljeno na
referenca
reference
ref.
ref.
review of
rev. of
pridobljeno
merilo
različica
preprint
journal article
magazine article
newspaper article
bill
broadcast
classic
collection
dataset
document
entry
dictionary entry
encyclopedia entry
event
graphic
hearing
intervju
legal case
legislation
manuscript
map
video recording
musical score
pamphlet
conference paper
patent
performance
periodical
osebna komunikacija
post
blog post
regulation
report
review
book review
software
audio recording
presentation
standard
thesis
treaty
webpage
journal art.
mag. art.
newspaper art.
doc.
graph.
interv.
MS
video rec.
rep.
rev.
bk. rev.
audio rec.
testimony of
review of
review of the book
n. št.
pr. n. št.
BCE
CE
„
“
‚
‘
–
:
,
;
.
prva
druga
tretja
četrta
peta
šesta
sedma
osma
deveta
deseta
act
acts
appendix
appendices
article
articles
canon
canons
location
locations
equation
equations
rule
rules
scene
scenes
table
tables
title
titles
knjiga
knjige
poglavje
poglavja
stolpec
stolpci
slika
slike
folio
folii
številka
številke
vrstica
vrstice
opomba
opombe
opus
opusi
stran
strani
volume
volumes
page
pages
printing
printings
chap.
chaps.
cit.
cits.
št.
stran
strani
odstavek
odstavki
del
deli
odsek
odseki
supplement
supplements
sub verbo
sub verbis
verz
verzi
letnik
letniki
app.
apps.
art.
arts.
loc.
locs.
eq.
eqs.
r.
rr.
sc.
scs.
tbl.
tbls.
tit.
tits.
knj.
pogl.
stolp.
sl.
fol.
št.
vrst.
op.
opus
str.
str.
vol.
vols.
p.
pp.
print.
prints.
str.
str.
odst.
del
ods.
supp.
supps.
s. v.
s. v.
v.
v.
let.
let.
¶
¶¶
chapter
chapters
citation
citations
številka
številke
§
§§
ed.
eds.
chair
chairs
compiler
compilers
contributor
contributors
curator
curators
executive producer
executive producers
guest
guests
host
hosts
narrator
narrators
organizer
organizers
performer
performers
producer
producers
writer
writers
series creator
series creators
režiser
režiserji
urednik
uredniki
glavni urednik
glavni uredniki
ilustrator
ilustratorji
prevajalec
prevajalci
urednik & prevajalec
uredniki & prevajalci
comp.
comps.
contrib.
contribs.
cur.
curs.
exec. prod.
exec. prods.
narr.
narrs.
org.
orgs.
perf.
perfs.
prod.
prods.
writ.
writs.
cre.
cres.
rež.
rež.
ur.
ur.
gl. ur.
gl. ur.
ilus.
ilus.
prev.
prev.
ur. & prev.
ur. & prev.
edited by
chaired by
compiled by
with
curated by
executive produced by
with guest
hosted by
narrated by
organized by
performed by
produced by
written by
created by
režiral
uredil
uredil
ilustriral
intervjuval
za
od
ed. by
prevedel
uredil & prevedel
comp. by
w.
cur. by
exec. prod. by
w. guest
hosted by
narr. by
org. by
perf. by
prod. by
writ. by
cre. by
rež.
ured.
ured.
ilus.
prev.
ured. & prev. by
januar
februar
marec
april
maj
junij
julij
avgust
september
oktober
november
december
jan.
feb.
mar.
apr.
maj
jun.
jul.
avg.
sep.
okt.
nov.
dec.
pomlad
poletje
jesen
zima
citeproc-0.13/locales/sr-RS.xml 0000644 0000000 0000000 00000060411 07346545000 014552 0 ustar 00 0000000 0000000
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License
2012-07-04T23:31:02+00:00
advance online publication
album
audio recording
film
henceforth
loc. cit.
no place
n.p.
no publisher
n.p.
on
op. cit.
original work published
лична комуникација
podcast
podcast episode
preprint
radio broadcast
radio series
radio series episode
special issue
special section
television broadcast
television series
television series episode
video
working paper
приступљено
и
и остали
анонимна
анон.
на
available at
by
circa
c.
цитирано
reference
references
number
numbers
издање
издања
ref.
refs.
no.
nos.
изд.
и остали
долазећи
од
ibid.
у
у штампи
Интернет
писмо
no date
без датума
на Интернету
представљено на
reference
references
ref.
refs.
review of
rev. of
преузето
scale
version
preprint
journal article
magazine article
newspaper article
bill
broadcast
classic
collection
dataset
document
entry
dictionary entry
encyclopedia entry
event
graphic
hearing
интервју
legal case
legislation
manuscript
map
video recording
musical score
pamphlet
conference paper
patent
performance
periodical
лична комуникација
post
blog post
regulation
report
review
book review
software
audio recording
presentation
standard
thesis
treaty
webpage
journal art.
mag. art.
newspaper art.
doc.
graph.
interv.
MS
video rec.
rep.
rev.
bk. rev.
audio rec.
testimony of
review of
review of the book
AD
BC
BCE
CE
„
“
‚
‘
–
:
,
;
th
st
nd
rd
th
th
th
first
second
third
fourth
fifth
sixth
seventh
eighth
ninth
tenth
act
acts
appendix
appendices
article
articles
canon
canons
location
locations
equation
equations
rule
rules
scene
scenes
table
tables
title
titles
књига
књиге
поглавље
поглавља
колона
колоне
цртеж
цртежи
фолио
фолији
број
бројеви
линија
линије
белешка
белешке
опус
опера
страница
странице
volume
volumes
page
pages
printing
printings
chap.
chaps.
cit.
cits.
изд.
страница
странице
параграф
параграфи
део
делова
одељак
одељака
supplement
supplements
sub verbo
sub verbis
строфа
строфе
том
томова
app.
apps.
art.
arts.
loc.
locs.
eq.
eqs.
r.
rr.
sc.
scs.
tbl.
tbls.
tit.
tits.
књига
Пог.
кол.
црт.
фолио
изд.
l.
n.
оп.
стр.
стр.
vol.
vols.
p.
pp.
print.
prints.
стр.
стр.
пар.
део
од.
supp.
supps.
s.v.
s.vv.
стр.
стр.
том
томови
¶
¶¶
chapter
chapters
citation
citations
број
бројеви
§
§§
ed.
eds.
chair
chairs
compiler
compilers
contributor
contributors
curator
curators
executive producer
executive producers
guest
guests
host
hosts
narrator
narrators
organizer
organizers
performer
performers
producer
producers
writer
writers
series creator
series creators
director
directors
уредник
урединици
editor
editors
illustrator
illustrators
преводилац
преводиоци
editor & translator
editors & translators
comp.
comps.
contrib.
contribs.
cur.
curs.
exec. prod.
exec. prods.
narr.
narrs.
org.
orgs.
perf.
perfs.
prod.
prods.
writ.
writs.
cre.
cres.
dir.
dirs.
ур.
ур.
ed.
eds.
ill.
ills.
прев.
прев.
ed. & tran.
eds. & trans.
edited by
chaired by
compiled by
with
curated by
executive produced by
with guest
hosted by
narrated by
organized by
performed by
produced by
written by
created by
by
directed by
уредио
edited by
illustrated by
интервјуисао
прима
by
ed. by
превео
edited & translated by
comp. by
w.
cur. by
exec. prod. by
w. guest
hosted by
narr. by
org. by
perf. by
prod. by
writ. by
cre. by
dir.
ур.
ed.
illus.
прев.
ed. & trans. by
Јануар
Фебруар
Март
Април
Мај
Јуни
Јули
Август
Септембар
Октобар
Новембар
Децембар
Јан.
Феб.
Март
Апр.
Мај
Јуни
Јули
Авг.
Сеп.
Окт.
Нов.
Дец.
Spring
Summer
Autumn
Winter
citeproc-0.13/locales/sv-SE.xml 0000644 0000000 0000000 00000057543 07346545000 014555 0 ustar 00 0000000 0000000
torfeur
Sylvester Keil
Sebastian Karcher
Ulf Harnhammar
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License
2012-07-04T23:31:02+00:00
advance online publication
album
audio recording
film
henceforth
loc. cit.
no place
n.p.
no publisher
n.p.
on
op. cit.
original work published
personlig kommunikation
podcast
podcast episode
preprint
radio broadcast
radio series
radio series episode
special issue
special section
television broadcast
television series
television series episode
video
working paper
åtkomstdatum
och
och andra
anonym
anon.
vid
tillgänglig vid
av
cirka
ca
citerad
reference
references
number
numbers
upplaga
upplagor
ref.
refs.
no.
nos.
uppl.
m.fl.
kommande
från
ibid.
i
i tryck
internet
brev
utan årtal
u.å.
online
presenterad vid
referens
referenser
ref.
ref.
review of
rev. of
hämtad
scale
version
preprint
journal article
magazine article
newspaper article
bill
broadcast
classic
collection
dataset
document
entry
dictionary entry
encyclopedia entry
event
graphic
hearing
intervju
legal case
legislation
manuscript
map
video recording
musical score
pamphlet
conference paper
patent
performance
periodical
personlig kommunikation
post
blog post
regulation
report
review
book review
software
audio recording
presentation
standard
thesis
treaty
webpage
journal art.
mag. art.
newspaper art.
doc.
graph.
interv.
MS
video rec.
rep.
rev.
bk. rev.
audio rec.
testimony of
review of
review of the book
e.Kr.
f.Kr.
BCE
CE
”
”
’
’
–
:
,
;
:e
:a
:a
:e
:e
första
andra
tredje
fjärde
femte
sjätte
sjunde
åttonde
nionde
tionde
act
acts
appendix
appendices
article
articles
canon
canons
location
locations
equation
equations
rule
rules
scene
scenes
table
tables
title
titles
bok
böcker
kapitel
kapitel
kolumn
kolumner
figur
figurer
folio
folios
nummer
nummer
rad
rader
not
noter
opus
opera
sida
sidor
volume
volumes
page
pages
printing
printings
chap.
chaps.
cit.
cits.
nr
sida
sidor
stycke
stycken
del
delar
avsnitt
avsnitt
supplement
supplements
sub verbo
sub verbis
vers
verser
volym
volymer
app.
apps.
art.
arts.
loc.
locs.
eq.
eqs.
r.
rr.
sc.
scs.
tbl.
tbls.
tit.
tits.
bok
kap.
kol.
fig.
f.
nr
l.
n.
op.
s.
s.
vol.
vols.
p.
pp.
print.
prints.
s.
s.
st.
del
avs.
supp.
supps.
s.v.
s.vv.
vers
verser
vol.
vol.
¶
¶¶
chapter
chapters
citation
citations
nummer
nummer
§
§§
ed.
eds.
chair
chairs
compiler
compilers
contributor
contributors
curator
curators
executive producer
executive producers
guest
guests
host
hosts
narrator
narrators
organizer
organizers
performer
performers
producer
producers
writer
writers
series creator
series creators
director
directors
redaktör
redaktörer
editor
editors
illustratör
illustratörer
översättare
översättare
redaktör & översättare
redaktörer & översättare
comp.
comps.
contrib.
contribs.
cur.
curs.
exec. prod.
exec. prods.
narr.
narrs.
org.
orgs.
perf.
perfs.
prod.
prods.
writ.
writs.
cre.
cres.
dir.
dirs.
red.
red.
ed.
eds.
ill.
ill.
övers.
övers.
red. & övers.
red. & övers.
edited by
chaired by
compiled by
with
curated by
executive produced by
with guest
hosted by
narrated by
organized by
performed by
produced by
written by
created by
av
directed by
redigerad av
edited by
illustrerad av
intervjuad av
till
by
ed. by
översatt av
redigerad & översatt av
comp. by
w.
cur. by
exec. prod. by
w. guest
hosted by
narr. by
org. by
perf. by
prod. by
writ. by
cre. by
dir.
red.
ed.
illus.
övers.
red. & övers. av
januari
februari
mars
april
maj
juni
juli
augusti
september
oktober
november
december
jan.
feb.
mar.
apr.
maj
juni
juli
aug.
sep.
okt.
nov.
dec.
vår
sommar
höst
vinter
citeproc-0.13/locales/th-TH.xml 0000644 0000000 0000000 00000063322 07346545000 014534 0 ustar 00 0000000 0000000
Dusit Laohasinnarong
Watcharakorn Kaobath
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License
2012-07-04T23:31:02+00:00
advance online publication
album
audio recording
film
henceforth
loc. cit.
no place
n.p.
no publisher
n.p.
on
op. cit.
original work published
การสื่อสารส่วนบุคคล
podcast
podcast episode
preprint
radio broadcast
radio series
radio series episode
special issue
special section
television broadcast
television series
television series episode
video
working paper
สืบค้น
และ
และคณะ
นิรนาม
นิรนาม
ที่
เข้าถึงได้จาก
โดย
โดยประมาณ
ประมาณ
อ้างถึง
reference
references
number
numbers
พิมพ์ครั้งที่
พิมพ์ครั้งที่
ref.
refs.
no.
nos.
พิมพ์ครั้งที่
และคณะ
เต็มใจให้ข้อมูล
จาก
ในที่เดียวกัน
ใน
กำลังรอตีพิมพ์
อินเทอร์เน็ต
จดหมาย
ไม่ปรากฏปีที่พิมพ์
ม.ป.ป.
ออนไลน์
นำเสนอที่
เอกสารอ้างอิง
เอกสารอ้างอิง
อ้างอิง
อ้างอิง
review of
rev. of
สืบค้น
scale
version
preprint
journal article
magazine article
newspaper article
bill
broadcast
classic
collection
dataset
document
entry
dictionary entry
encyclopedia entry
event
graphic
hearing
การสัมภาษณ์
legal case
legislation
manuscript
map
video recording
musical score
pamphlet
conference paper
patent
performance
periodical
การสื่อสารส่วนบุคคล
post
blog post
regulation
report
review
book review
software
audio recording
presentation
standard
thesis
treaty
webpage
journal art.
mag. art.
newspaper art.
doc.
graph.
interv.
MS
video rec.
rep.
rev.
bk. rev.
audio rec.
testimony of
review of
review of the book
ค.ศ.
พ.ศ.
BCE
CE
“
”
‘
’
–
:
,
;
หนึ่ง
สอง
สาม
สี่
ห้า
หก
เจ็ด
แปด
เก้า
สิบ
act
acts
appendix
appendices
article
articles
canon
canons
location
locations
equation
equations
rule
rules
scene
scenes
table
tables
title
titles
หนังสือ
หนังสือ
บทที่
บทที่
สดมภ์
สดมภ์
รูปภาพ
รูปภาพ
หน้า
หน้า
ฉบับที่
ฉบับที่
บรรทัดที่
บรรทัดที่
บันทึก
บันทึก
บทประพันธ์
บทประพันธ์
หน้า
หน้า
volume
volumes
page
pages
printing
printings
chap.
chaps.
cit.
cits.
ฉบับที่
หน้า
หน้า
ย่อหน้า
ย่อหน้า
ส่วนย่อย
ส่วนย่อย
หมวด
หมวด
supplement
supplements
ใต้คำ
ใต้คำ
ร้อยกรอง
ร้อยกรอง
ปีที่
ปีที่
app.
apps.
art.
arts.
loc.
locs.
eq.
eqs.
r.
rr.
sc.
scs.
tbl.
tbls.
tit.
tits.
หนังสือ
บทที่
สดมภ์
รูปภาพ
หน้า
ฉบับที่
l.
n.
บทประพันธ์
น.
น.
vol.
vols.
p.
pp.
print.
prints.
น.
น.
ย่อหน้า
ส่วนย่อย
หมวด
supp.
supps.
ใต้คำ
ใต้คำ
ร้อยกรอง
ร้อยกรอง
ปี
ปี
¶
¶¶
chapter
chapters
citation
citations
ฉบับที่
ฉบับที่
§
§§
ed.
eds.
chair
chairs
compiler
compilers
contributor
contributors
curator
curators
executive producer
executive producers
guest
guests
host
hosts
narrator
narrators
organizer
organizers
performer
performers
producer
producers
writer
writers
series creator
series creators
director
directors
บรรณาธิการ
บรรณาธิการ
ผู้อำนวยการบทบรรณาธิการ
ผู้อำนวยการบทบรรณาธิการ
illustrator
illustrators
ผู้แปล
ผู้แปล
บรรณาธิการและผู้แปล
บรรณาธิการและผู้แปล
comp.
comps.
contrib.
contribs.
cur.
curs.
exec. prod.
exec. prods.
narr.
narrs.
org.
orgs.
perf.
perfs.
prod.
prods.
writ.
writs.
cre.
cres.
dir.
dirs.
บ.ก.
บ.ก.
ผอ.บทบรรณาธิการ
ผอ.บทบรรณาธิการ
ill.
ills.
ผู้แปล
ผู้แปล
บ.ก.
บ.ก.
edited by
chaired by
compiled by
with
curated by
executive produced by
with guest
hosted by
narrated by
organized by
performed by
produced by
written by
created by
โดย
directed by
เรียบเรียงโดย
เรียบเรียงโดย
illustrated by
สัมภาษณ์โดย
ถึง
by
ed. by
แปลโดย
แปลและเรียบเรียงโดย
comp. by
w.
cur. by
exec. prod. by
w. guest
hosted by
narr. by
org. by
perf. by
prod. by
writ. by
cre. by
dir.
โดย
โดย
illus.
แปล
แปลและเรียบเรียงโดย
มกราคม
กุมภาพันธ์
มีนาคม
เมษายน
พฤษภาคม
มิถุนายน
กรกฎาคม
สิงหาคม
กันยายน
ตุลาคม
พฤศจิกายน
ธันวาคม
ม.ค.
ก.พ.
มี.ค.
เม.ย.
พ.ค.
มิ.ย.
ก.ค.
ส.ค.
ก.ย.
ต.ค.
พ.ย.
ธ.ค.
ฤดูใบไม้ผลิ
ฤดูร้อน
ฤดูใบไม้ร่วง
ฤดูหนาว
citeproc-0.13/locales/tr-TR.xml 0000644 0000000 0000000 00000057421 07346545000 014563 0 ustar 00 0000000 0000000
ekizyener
Binici
cengiza
Muhammet Tarakçı
muhammettarakci@gmail.com
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License
2012-07-04T23:31:02+00:00
advance online publication
album
audio recording
film
henceforth
loc. cit.
no place
n.p.
no publisher
n.p.
on
op. cit.
original work published
kişisel iletişim
podcast
podcast episode
preprint
radio broadcast
radio series
radio series episode
special issue
special section
television broadcast
television series
television series episode
video
working paper
erişim
ve
ve diğerleri
anonim
anonim
de
erişim adresi
by
yaklaşık
yakl.
a.yer
reference
references
number
numbers
baskı
baskı
ref.
refs.
no.
nos.
bs
vd.
gelecek
gönderen
a.g.e.
içinde
basımda
internet
mektup
tarih yok
t.y.
çevrimiçi
program adı:
kaynak
kaynaklar
kay.
kay.
review of
rev. of
geliş tarihi
ölçek
versiyon
preprint
journal article
magazine article
newspaper article
bill
broadcast
classic
collection
dataset
document
entry
dictionary entry
encyclopedia entry
event
graphic
hearing
mülakat
legal case
legislation
manuscript
map
video recording
musical score
pamphlet
conference paper
patent
performance
periodical
kişisel iletişim
post
blog post
regulation
report
review
book review
software
audio recording
presentation
standard
thesis
treaty
webpage
journal art.
mag. art.
newspaper art.
doc.
graph.
interv.
MS
video rec.
rep.
rev.
bk. rev.
audio rec.
testimony of
review of
review of the book
M.S.
M.Ö.
BCE
CE
“
”
‘
’
-
:
,
;
.
birinci
ikinci
üçüncü
dördüncü
beşinci
altıncı
yedinci
sekizinci
dokuzuncu
onuncu
act
acts
appendix
appendices
article
articles
canon
canons
location
locations
equation
equations
rule
rules
scene
scenes
table
tables
title
titles
kitap
kitaplar
bölüm
bölümler
sütun
sütunlar
şekil
şekiller
folyo
folyo
sayı
sayı
satır
satırlar
not
notlar
eser
eserler
sayfa
sayfalar
volume
volumes
page
pages
printing
printings
chap.
chaps.
cit.
cits.
sy
sayfa sayısı
sayfa sayıları
paragraf
paragraflar
kısım
kısımlar
bölüm
bölümler
supplement
supplements
madde
maddeler
ayet
ayetler
cilt
ciltler
app.
apps.
art.
arts.
loc.
locs.
eq.
eqs.
r.
rr.
sc.
scs.
tbl.
tbls.
tit.
tits.
kit.
böl.
süt.
şek.
fl.
sy
satır
n.
a.yer
s.
ss.
vol.
vols.
p.
pp.
print.
prints.
s.
ss.
par.
ksm.
blm.
supp.
supps.
md.
md.
v.
vv.
c.
c.
¶
¶¶
chapter
chapters
citation
citations
sayı
sayı
§
§§
ed.
eds.
chair
chairs
compiler
compilers
contributor
contributors
curator
curators
executive producer
executive producers
guest
guests
host
hosts
narrator
narrators
organizer
organizers
performer
performers
producer
producers
writer
writers
series creator
series creators
direktör
direktörler
editör
editörler
sorumlu editör
sorumlu editörler
çizen
çizenler
çeviren
çevirenler
editör & çeviren
editörler & çevirenler
comp.
comps.
contrib.
contribs.
cur.
curs.
exec. prod.
exec. prods.
narr.
narrs.
org.
orgs.
perf.
perfs.
prod.
prods.
writ.
writs.
cre.
cres.
dir.
dir.
ed.
ed.
sor.ed.
sor.ed.
çzm.
çzm.
çev.
çev.
ed. & çev.
ed. & çev.
edited by
chaired by
compiled by
with
curated by
executive produced by
with guest
hosted by
narrated by
organized by
performed by
produced by
written by
created by
kitap editörü
direktör
editör
sorumlu editör
çizen
röportaj yapan
alıcı
tanıtım yazarı
ed. by
çeviren
düzenleyen & çeviren by
comp. by
w.
cur. by
exec. prod. by
w. guest
hosted by
narr. by
org. by
perf. by
prod. by
writ. by
cre. by
dir.
ed.
sor.ed.
çizen
çev.
ed. & çev.
Ocak
Şubat
Mart
Nisan
Mayıs
Haziran
Temmuz
Ağustos
Eylül
Ekim
Kasım
Aralık
Oca.
Şub.
Mar.
Nis.
May.
Haz.
Tem.
Ağu.
Eyl.
Eki.
Kas.
Ara.
Bahar
Yaz
Sonbahar
Kış
citeproc-0.13/locales/uk-UA.xml 0000644 0000000 0000000 00000055547 07346545000 014544 0 ustar 00 0000000 0000000
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License
2018-09-17T21:00:00+02:00
advance online publication
album
audio recording
film
henceforth
loc. cit.
no place
n.p.
no publisher
n.p.
on
op. cit.
original work published
особисте спілкування
podcast
podcast episode
preprint
radio broadcast
radio series
radio series episode
special issue
special section
television broadcast
television series
television series episode
video
working paper
дата звернення
і
та інші
анонімний
анон.
на
доступний у
відповідно до
близько
c.
цит. за
reference
references
number
numbers
видання
ref.
refs.
no.
nos.
вид.
et al.
майбутній
із
там само
в
у пресі
інтернет
лист
без дати
б. д.
online
представлена на
список використаних джерел
джерела
review of
rev. of
вилучено
масштаб
версія
preprint
journal article
magazine article
newspaper article
bill
broadcast
classic
collection
dataset
document
entry
dictionary entry
encyclopedia entry
event
graphic
hearing
інтервю
legal case
legislation
manuscript
map
video recording
musical score
pamphlet
conference paper
patent
performance
periodical
особисте спілкування
post
blog post
regulation
report
review
book review
software
audio recording
presentation
standard
thesis
treaty
webpage
journal art.
mag. art.
newspaper art.
doc.
graph.
interv.
MS
video rec.
rep.
rev.
bk. rev.
audio rec.
testimony of
review of
review of the book
н. е.
до н. е.
BCE
CE
«
»
‘
’
–
:
,
;
ий
перший
другий
третій
четвертий
п'ятий
шостий
сьомий
восьмий
дев'ятий
десятий
act
acts
appendix
appendices
article
articles
canon
canons
location
locations
equation
equations
rule
rules
scene
scenes
table
tables
title
titles
книга
книги
розділ
розділи
графа
графи
рисунок
рисунки
фоліант
фоліанти
випуск
Рядок
Рядки
примітка
примітки
opus
opera
С.
volume
volumes
page
pages
printing
printings
chap.
chaps.
cit.
cits.
вип.
с.
параграф
параграфи
частина
частини
розділ
розділи
supplement
supplements
sub verbo
sub verbis
verse
verses
Том
Томи
app.
apps.
art.
arts.
loc.
locs.
eq.
eqs.
r.
rr.
sc.
scs.
tbl.
tbls.
tit.
tits.
кн.
розд.
ряд.
рис.
ф.
вип.
л.
прим.
оп.
с.
vol.
vols.
p.
pp.
print.
prints.
с.
пар.
ч.
сек.
supp.
supps.
s.v.
s.vv.
с.
вип.
¶
¶¶
chapter
chapters
citation
citations
випуск
§
§§
ed.
eds.
chair
chairs
compiler
compilers
contributor
contributors
curator
curators
executive producer
executive producers
guest
guests
host
hosts
narrator
narrators
organizer
organizers
performer
performers
producer
producers
writer
writers
series creator
series creators
режисер
режисери
за ред.
за ред.
ілюстратор
ілюстратори
перекладач
перекладачі
За ред. & переклад
comp.
comps.
contrib.
contribs.
cur.
curs.
exec. prod.
exec. prods.
narr.
narrs.
org.
orgs.
perf.
perfs.
prod.
prods.
writ.
writs.
cre.
cres.
реж.
ред.
ред.
іл.
пер.
ред. & пер.
edited by
chaired by
compiled by
with
curated by
executive produced by
with guest
hosted by
narrated by
organized by
performed by
produced by
written by
created by
by
directed by
edited by
edited by
illustrated by
interview by
to
by
ed. by
translated by
edited & translated by
comp. by
w.
cur. by
exec. prod. by
w. guest
hosted by
narr. by
org. by
perf. by
prod. by
writ. by
cre. by
dir.
ed
ed.
illus.
trans
ed. & trans. by
Січень
Лютий
Березень
Квітень
Травень
Червень
Липень
Серпень
Вересень
Жовтень
Листопад
Грудень
Січ
Лют
Бер
Квіт
Трав
Чер
Лип
Сер
Вер
Жов
Лис
Груд
Spring
Summer
Autumn
Winter
citeproc-0.13/locales/vi-VN.xml 0000644 0000000 0000000 00000057706 07346545000 014560 0 ustar 00 0000000 0000000
dowens76
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License
2012-07-04T23:31:02+00:00
advance online publication
album
audio recording
film
henceforth
loc. cit.
no place
n.p.
no publisher
n.p.
on
op. cit.
original work published
giao tiếp cá nhân
podcast
podcast episode
preprint
radio broadcast
radio series
radio series episode
special issue
special section
television broadcast
television series
television series episode
video
working paper
truy cập
và
and others
vô danh
v.d
tại
available at
bởi
circa
c.
cited
reference
references
number
numbers
ấn bản
ấn bản
ref.
refs.
no.
nos.
a.b
và c.s.
sắp tới
từ
n.t.
trong
in press
internet
thư
không ngày
không ngày
online
được trình bày tại
reference
references
ref.
refs.
review of
rev. of
truy vấn
scale
version
preprint
journal article
magazine article
newspaper article
bill
broadcast
classic
collection
dataset
document
entry
dictionary entry
encyclopedia entry
event
graphic
hearing
interview
legal case
legislation
manuscript
map
video recording
musical score
pamphlet
conference paper
patent
performance
periodical
giao tiếp cá nhân
post
blog post
regulation
report
review
book review
software
audio recording
presentation
standard
thesis
treaty
webpage
journal art.
mag. art.
newspaper art.
doc.
graph.
interv.
MS
video rec.
rep.
rev.
bk. rev.
audio rec.
testimony of
review of
review of the book
AD
BC
BCE
CE
“
”
‘
’
–
:
,
;
th
st
nd
rd
th
th
th
thứ nhất
thứ hai
thứ ba
thứ tư
thứ năm
thứ sáu
thứ bảy
thứ tám
thứ chính
thứ mười
act
acts
appendix
appendices
article
articles
canon
canons
location
locations
equation
equations
rule
rules
scene
scenes
table
tables
title
titles
sách
sách
chương
chương
column
columns
figure
figures
folio
folios
số
số
dòng
dòng
ghi chú
ghi chú
opus
opera
trang
trang
volume
volumes
page
pages
printing
printings
chap.
chaps.
cit.
cits.
số p.h
trang
trang
đoạn văn
đoạn văn
phần
phần
section
sections
supplement
supplements
sub verbo
sub verbis
câu
câu
tập
tập
app.
apps.
art.
arts.
loc.
locs.
eq.
eqs.
r.
rr.
sc.
scs.
tbl.
tbls.
tit.
tits.
sách
ch
col
fig
f
số p.h
d.
gc.
op
tr
tr
vol.
vols.
p.
pp.
print.
prints.
tr
tr
para
ph
sec
supp.
supps.
s.v.
s.vv.
v
vv
vol
vols
¶
¶¶
chapter
chapters
citation
citations
số
số
§
§§
ed.
eds.
chair
chairs
compiler
compilers
contributor
contributors
curator
curators
executive producer
executive producers
guest
guests
host
hosts
narrator
narrators
organizer
organizers
performer
performers
producer
producers
writer
writers
series creator
series creators
director
directors
biên tập viên
biên tập viên
biên tập viên
biên tập viên
họa sĩ
họa sĩ
biên dịch viên
biên dịch viên
biên tập viên & biên dịch viên
biên tập viên & biên dịch viên
comp.
comps.
contrib.
contribs.
cur.
curs.
exec. prod.
exec. prods.
narr.
narrs.
org.
orgs.
perf.
perfs.
prod.
prods.
writ.
writs.
cre.
cres.
dir.
dirs.
b.t.v
b.t.v
b.t.v
b.t.v
h.s
h.s
b.d.v
b.d.v
b.t.v & b.d.v
b.t.v & b.d.v
edited by
chaired by
compiled by
with
curated by
executive produced by
with guest
hosted by
narrated by
organized by
performed by
produced by
written by
created by
bởi
directed by
biên tập bởi
biên tập bởi
illustrated by
interview by
to
bởi
ed. by
biên dịch bởi
biên tập & biên dịch bởi
comp. by
w.
cur. by
exec. prod. by
w. guest
hosted by
narr. by
org. by
perf. by
prod. by
writ. by
cre. by
dir.
b.t
b.t
h.s
b.d
b.t & b.d bởi
Tháng Giêng
Tháng Hai
Tháng Ba
Tháng Tư
Tháng Năm
Tháng Sáu
Tháng Bảy
Tháng Tám
Tháng Chín
Tháng Mười
Tháng Mười-Một
Tháng Chạp
tháng 1
tháng 2
tháng 3
tháng 4
tháng 5
tháng 6
tháng 7
tháng 8
tháng 9
tháng 10
tháng 11
tháng 12
Mùa Xuân
Mùa Hè
Mùa Thu
Mùa Đông
citeproc-0.13/locales/zh-CN.xml 0000644 0000000 0000000 00000042627 07346545000 014534 0 ustar 00 0000000 0000000
rongls
sati-bodhi
Heromyth
Zeping Lee
韩小土
韩敏义
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License
2024-03-12T18:14:12+08:00
网络首发
专辑
录音
电影
从此以后
同前注
出版地不详
出版地不详
出版者不详
出版者不详
在
同前注
原著出版于
的私人交流
播客
播客集
预印本
电台广播
广播剧
广播剧集
特刊
特稿
电视广播
电视剧
电视剧集
视频
工作论文
见于
和
及其他
作者不详
无名氏
于
载于
著
介于
约
见引于
前注
编号
版本
前注
no.
nos.
版
等
即将出版
从
同上
收入
送印中
网际网络
信函
日期不详
不详
在线
发表于
参考
参
评论
评
取读于
比例
版
预印本
期刊文章
杂志文章
报纸文章
法案
广播
古籍
馆藏
数据集
文档
词条
字典词条
百科词条
活动
视觉作品
听证会
访谈
司法案例
法律
手稿
地图
录像
乐谱
小册子
会议论文
专利
演出
期刊
的私人交流
帖子
博客帖子
法规
报告
评论
书评
软件
录音
演讲
标准
学位论文
条约
网页
期刊文章
杂志文章
报纸文章
文档
视觉作品
采访
手稿
录像
报告
评论
书评
录音
听证会
评论
书评
公元
公元前
公元前
公元
《
》
〈
〉
~
:
,
;
一
二
三
四
五
六
七
八
九
十
幕
附录
条
准则
位置
公式
规则
场
表格
编
册
章
栏
图表
版
期
行
注脚
作品
页
卷
页
编号
章
引用
册
总页数
段落
部分
节
补充
另见
篇
卷
附录
条
位置
式
规则
场
表
编
册
章
栏
图
版
期
行
注
op.
页
卷
页
编号
共
段
部
节
补充
另见
篇
卷
¶
¶¶
章
引用
册
§
§§
总编辑
主席
编撰
贡献者
策展人
监制
嘉宾
主持
朗读者
组织者
表演
制片人
编剧
创作
导演
编辑
主编
绘图
翻译
编译
编
贡献
策展
监制
朗读
组织
表演
制片人
编剧
创作
导演
编
主编
绘
译
编译
总编辑
主席
编撰
贡献
策展
监制
嘉宾
主持
朗读
组织
表演
制片
编剧
创作
著
指导
编辑
主编
绘图
采访
受函
校订
总编
翻译
编译
编
贡献
策展
监制
嘉宾
主持
朗读
组织
表演
制片
编剧
创作
导
编
主编
绘
译
编译
校
一月
二月
三月
四月
五月
六月
七月
八月
九月
十月
十一月
十二月
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
春
夏
秋
冬
citeproc-0.13/locales/zh-TW.xml 0000644 0000000 0000000 00000052431 07346545000 014560 0 ustar 00 0000000 0000000
sati-bodhi
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License
2014-05-15T23:31:02+00:00
advance online publication
album
audio recording
film
henceforth
loc. cit.
no place
n.p.
no publisher
n.p.
on
op. cit.
original work published
私人通訊
podcast
podcast episode
preprint
radio broadcast
radio series
radio series episode
special issue
special section
television broadcast
television series
television series episode
video
working paper
引見於
及
及其他
作者不詳
無名氏
於
載於
著
介於
約
見引於
reference
references
number
numbers
版本
ref.
refs.
no.
nos.
本
等
即將出版
從
同上
收入
印行中
互聯網
信函
日期不詳
不詳
線上
發表於
參考
參
review of
rev. of
讀取於
比例
版
preprint
journal article
magazine article
newspaper article
bill
broadcast
classic
collection
dataset
document
entry
dictionary entry
encyclopedia entry
event
graphic
hearing
訪談
legal case
legislation
manuscript
map
video recording
musical score
pamphlet
conference paper
patent
performance
periodical
私人通訊
post
blog post
regulation
report
review
book review
software
audio recording
presentation
standard
thesis
treaty
webpage
journal art.
mag. art.
newspaper art.
doc.
graph.
interv.
MS
video rec.
rep.
rev.
bk. rev.
audio rec.
testimony of
review of
review of the book
西元
西元前
BCE
CE
「
」
『
』
–
:
,
;
一
二
三
四
五
六
七
八
九
十
act
acts
appendix
appendices
article
articles
canon
canons
location
locations
equation
equations
rule
rules
scene
scenes
table
tables
title
titles
冊
章
欄
圖表
版
期
行
註腳
作品
頁
volume
volumes
page
pages
printing
printings
chap.
chaps.
cit.
cits.
期
總頁數
段落
部分
節
supplement
supplements
另見
篇
卷
app.
apps.
art.
arts.
loc.
locs.
eq.
eqs.
r.
rr.
sc.
scs.
tbl.
tbls.
tit.
tits.
冊
章
欄
圖
期
行
註
op.
頁
vol.
vols.
p.
pp.
print.
prints.
共
段
部
節
supp.
supps.
另見
篇
卷
¶
¶¶
chapter
chapters
citation
citations
期
§
§§
ed.
eds.
chair
chairs
compiler
compilers
contributor
contributors
curator
curators
executive producer
executive producers
guest
guests
host
hosts
narrator
narrators
organizer
organizers
performer
performers
producer
producers
writer
writers
series creator
series creators
導演
編輯
主編
繪圖師
採訪員
收信人
翻譯員
編譯員
評論人
comp.
comps.
contrib.
contribs.
cur.
curs.
exec. prod.
exec. prods.
narr.
narrs.
org.
orgs.
perf.
perfs.
prod.
prods.
writ.
writs.
cre.
cres.
導演
編輯
主編
繪圖師
採訪員
收信人
翻譯員
編譯員
評論人
chaired by
compiled by
with
curated by
executive produced by
with guest
hosted by
narrated by
organized by
performed by
produced by
written by
created by
著
指導
編輯
點校
主編
繪圖
採訪
受函
點評
翻譯
編譯
comp. by
w.
cur. by
exec. prod. by
w. guest
hosted by
narr. by
org. by
perf. by
prod. by
writ. by
cre. by
導
編
校
編
繪
譯
評
一月
二月
三月
四月
五月
六月
七月
八月
九月
十月
十一月
十二月
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
春
夏
秋
冬
citeproc-0.13/man/ 0000755 0000000 0000000 00000000000 07346545000 012211 5 ustar 00 0000000 0000000 citeproc-0.13/man/citeproc.1 0000644 0000000 0000000 00000015011 07346545000 014101 0 ustar 00 0000000 0000000 .\" Automatically generated by Pandoc 3.8.3
.\"
.TH "citeproc" "1" "" "citeproc 0.12"
.SH NAME
citeproc \- process citations using a CSL stylesheet.
.SH SYNOPSIS
\f[CR]citeproc [options] [file]\f[R]
.SH DESCRIPTION
\f[CR]citeproc\f[R] reads a JSON\-encoded \f[CR]Inputs\f[R] object from
\f[CR]stdin\f[R] (or from a file if a filename is provided) and writes a
JSON\-encoded \f[CR]Result\f[R] object to \f[CR]stdout\f[R].
This executable can be used to add citation processing to non\-Haskell
projects.
.SH OPTIONS
.TP
\f[CR]\-s\f[R] \f[I]FILE\f[R], \f[CR]\-\-style=\f[R]\f[I]FILE\f[R]
Specify a CSL style to be used.
.TP
\f[CR]\-r\f[R] \f[I]FILE\f[R], \f[CR]\-\-references=\f[R]\f[I]FILE\f[R]
Specify a CSL JSON bibliography to be used as a source for references.
.TP
\f[CR]a\f[R] \f[I]FILE\f[R], \f[CR]\-\-abbreviations=\f[R]\f[I]FILE\f[R]
Specify a CSL abbreviations file.
.TP
\f[CR]l\f[R] \f[I]LANG\f[R], \f[CR]\-\-lang=\f[R]\f[I]LANG\f[R]
Specify a locale to override the style\(cqs default.
A BCP 47 language tag is expected: for example, \f[CR]en\f[R],
\f[CR]de\f[R], \f[CR]en\-US\f[R], \f[CR]fr\-CA\f[R],
\f[CR]ug\-Cyrl\f[R].
The unicode extension syntax (after \f[CR]\-u\-\f[R]) may be used to
specify options for collation.
Here are some examples:
.RS
.IP \(bu 2
\f[CR]zh\-u\-co\-pinyin\f[R] \(en Chinese with the Pinyin collation.
.IP \(bu 2
\f[CR]es\-u\-co\-trad\f[R] \(en Spanish with the traditional collation
(with \f[CR]Ch\f[R] sorting after \f[CR]C\f[R]).
.IP \(bu 2
\f[CR]fr\-u\-kb\f[R] \(en French with \(lqbackwards\(rq accent sorting
(with \f[CR]coté\f[R] sorting after \f[CR]côte\f[R]).
.IP \(bu 2
\f[CR]en\-US\-u\-kf\-upper\f[R] \(en English with uppercase letters
sorting before lower (default is lower before upper).
.RE
.TP
\f[CR]f\f[R] \f[I]html|json\f[R], \f[CR]\-\-format=\f[R]\f[I]html|json\f[R]
Specify the format to be used for the entries.
\f[CR]html\f[R] (the default) uses HTML tags and entities for
formatting.
\f[CR]json\f[R] creates a structured JSON representation of a formatted
document.
.TP
\f[CR]\-\-link\-citations\f[R]
Enable hyperlinking of citations to the bibliography.
.TP
\f[CR]\-\-link\-bibliography\f[R]
Enable automatic linkification of any identifiers (DOI, PMCID, PMID, or
URL) appearing in a bibliography entry.
When an entry has a DOI, PMCID, PMID, or URL available but none of these
are rendered by the style, add a link to the title (or, if no title is
present, the whole entry), using the URL for the DOI, PMCID, PMID, or
URL (in that order of priority).
.TP
\f[CR]\-h, \-\-help\f[R]
Print usage information.
.TP
\f[CR]\-V, \-\-version\f[R]
Print version.
.SH NOTES
The input JSON should have the structure:
.IP
.EX
{ \(dqcitations\(dq: [ \f[B]...list\f[R] \f[B]of\f[R] \f[B]citations...\f[R] ],
\(dqreferences\(dq: [ \f[B]...list\f[R] \f[B]of\f[R] \f[B]references...\f[R] ],
\(dqstyle\(dq: \(dq\(dq,
\(dqabbreviations\(dq: { \f[B]...abbreviations...\f[R] },
\(dqlang\(dq: \(dqfr\-FR\(dq }
.EE
.PP
None of these fields is mandatory.
Instead of providing \f[CR]references\f[R] in the input JSON, one can
specify a file containing a CSL JSON bibliography, using the
\f[CR]\-\-references\f[R] option on the command line.
Instead of providing a CSL stylesheet in the JSON, one can specify a
file using the \f[CR]\-\-style\f[R] option.
\f[CR]\-\-abbreviations\f[R] and \f[CR]\-\-lang\f[R] may also be used on
the command line to specify an abbreviations file or a locale.
(Command\-line options always override any values given in the JSON
file.)
.PP
A citation is structured like this:
.IP
.EX
{ \(dqcitationID\(dq: \(dqfoo\(dq,
\(dqcitationResetPosition\(dq: \f[B]false\f[R],
\(dqcitationItems\(dq: [ \f[B]...list\f[R] \f[B]of\f[R] \f[B]citationItems...\f[R] ],
\(dqcitationNoteNumber\(dq: 3 }
.EE
.PP
Only \f[CR]citationItems\f[R] is necessary.
.PP
\f[CR]citationResetPosition\f[R] controls whether position information
is to be reset before the citation is processed (which affects whether
full citations or abbreviated forms are used, in some styles).
.PP
Alternatively, instead of
.IP
.EX
{ \(dqcitationItems\(dq: [ \f[B]...\f[R] ] }
.EE
.PP
one can just specify an array of items directly:
.IP
.EX
[ \f[B]...\f[R] ]
.EE
.PP
A citation item is structured like this:
.IP
.EX
{ \(dqid\(dq: \(dqfoo\(dq,
\(dqtype\(dq: \(dqsuppress\-author\(dq,
\(dqlabel\(dq: \(dqpage\(dq,
\(dqlocator\(dq: \(dq45\(dq,
\(dqprefix\(dq: \(dqsee \(dq,
\(dqsuffix\(dq: \(dq and others\(dq }
.EE
.PP
Only \f[CR]id\f[R] is mandatory.
If \f[CR]type\f[R] is omitted, it will be assumed to be
\f[CR]normal\-cite\f[R] (other values are \f[CR]suppress\-author\f[R]
and \f[CR]author\-only\f[R]).
.PP
A reference is structured like this:
.IP
.EX
{
\(dqauthor\(dq: [
{
\(dqfamily\(dq: \(dqAristotle\(dq
}
],
\(dqid\(dq: \(dqaristotle:prior\(dq,
\(dqissued\(dq: {
\(dqdate\-parts\(dq: [
[
1989
]
]
},
\(dqpublisher\(dq: \(dqHackett\(dq,
\(dqpublisher\-place\(dq: \(dqIndianapolis\(dq,
\(dqtitle\(dq: \(dqPrior analytics\(dq,
\(dqtranslator\(dq: [
{
\(dqfamily\(dq: \(dqSmith\(dq,
\(dqgiven\(dq: \(dqRobin\(dq
}
],
\(dqtype\(dq: \(dqbook\(dq
}
.EE
.PP
An abbreviations object has this form:
.IP
.EX
{ \(dqdefault\(dq: {
\(dqcontainer\-title\(dq: {
\(dqLloyd\(aqs Law Reports\(dq: \(dqLloyd\(aqs Rep\(dq,
\(dqEstates Gazette\(dq: \(dqEG\(dq,
\(dqScots Law Times\(dq: \(dqSLT\(dq
}
}
}
.EE
.PP
The abbreviations will be substituted in the output only when the
\f[CR]form\f[R] attribute for the style element that renders the
variable is set to \f[CR]short\f[R].
.PP
The output JSON will have the structure:
.IP
.EX
{ \(dqcitations\(dq: [ \f[B]...list\f[R] \f[B]of\f[R] \f[B]strings...\f[R] ],
\(dqbibliography\(dq: [ \f[B]...list\f[R] \f[B]of\f[R] \f[B]arrays:\f[R] \f[B]item\f[R] \f[B]id\f[R] \f[B]and\f[R] \f[B]a\f[R] \f[B]string...\f[R] ],
\(dqwarnings\(dq: [ \f[B]...list\f[R] \f[B]of\f[R] \f[B]warnings...\f[R] ]
}
.EE
.PP
The contents of the entries will be HTML by default, but if
\f[CR]\-\-format=json\f[R] is specified, it will be a structured
representation of formatted text.
.IP
.EX
[
\(dq\(em\(em\(em. 1983b. \(lqThe Concept of Truth in Formalized Languages.\(rq In \(dq,
{
\(dqformat\(dq: \(dqitalics\(dq,
\(dqcontents\(dq: [
\(dqLogic, Semantics, Metamathematics\(dq
]
},
\(dq, edited by John Corcoran, 152\(en278. Indianapolis: Hackett.\(dq
]
.EE
.PP
This representation can be used if you want to convert the result to a
format other than HTML.
.SH AUTHORS
John MacFarlane
citeproc-0.13/man/citeproc.1.md 0000644 0000000 0000000 00000012375 07346545000 014512 0 ustar 00 0000000 0000000 ---
title: citeproc
section: 1
...
# NAME
citeproc - process citations using a CSL stylesheet.
# SYNOPSIS
`citeproc [options] [file]`
# DESCRIPTION
`citeproc` reads a JSON-encoded `Inputs` object from `stdin` (or
from a file if a filename is provided) and writes a JSON-encoded
`Result` object to `stdout`. This executable can be used to add
citation processing to non-Haskell projects.
# OPTIONS
`-s` *FILE*, `--style=`*FILE*
: Specify a CSL style to be used.
`-r` *FILE*, `--references=`*FILE*
: Specify a CSL JSON bibliography to be used as a source for references.
`a` *FILE*, `--abbreviations=`*FILE*
: Specify a CSL abbreviations file.
`l` *LANG*, `--lang=`*LANG*
: Specify a locale to override the style's default.
A BCP 47 language tag is expected: for example, `en`,
`de`, `en-US`, `fr-CA`, `ug-Cyrl`. The unicode extension
syntax (after `-u-`) may be used to specify options for
collation. Here are some examples:
- `zh-u-co-pinyin` -- Chinese with the Pinyin collation.
- `es-u-co-trad` -- Spanish with the traditional collation
(with `Ch` sorting after `C`).
- `fr-u-kb` -- French with "backwards" accent sorting
(with `coté` sorting after `côte`).
- `en-US-u-kf-upper` -- English with uppercase letters sorting
before lower (default is lower before upper).
`f` *html|json*, `--format=`*html|json*
: Specify the format to be used for the entries. `html` (the
default) uses HTML tags and entities for formatting. `json`
creates a structured JSON representation of a formatted document.
`--link-citations`
: Enable hyperlinking of citations to the bibliography.
`--link-bibliography`
: Enable automatic linkification of any identifiers (DOI, PMCID,
PMID, or URL) appearing in a bibliography entry. When an entry
has a DOI, PMCID, PMID, or URL available but none of these are
rendered by the style, add a link to the title (or, if no title
is present, the whole entry), using the URL for the DOI, PMCID,
PMID, or URL (in that order of priority).
`-h, --help`
: Print usage information.
`-V, --version`
: Print version.
# NOTES
The input JSON should have the structure:
``` json
{ "citations": [ ...list of citations... ],
"references": [ ...list of references... ],
"style": "",
"abbreviations": { ...abbreviations... },
"lang": "fr-FR" }
```
None of these fields is mandatory. Instead of providing
`references` in the input JSON, one can specify a file
containing a CSL JSON bibliography, using the `--references`
option on the command line. Instead of providing a CSL
stylesheet in the JSON, one can specify a file using
the `--style` option. `--abbreviations` and `--lang`
may also be used on the command line to specify an
abbreviations file or a locale. (Command-line options
always override any values given in the JSON file.)
A citation is structured like this:
``` json
{ "citationID": "foo",
"citationResetPosition": false,
"citationItems": [ ...list of citationItems... ],
"citationNoteNumber": 3 }
```
Only `citationItems` is necessary.
`citationResetPosition` controls whether position information
is to be reset before the citation is processed (which affects
whether full citations or abbreviated forms are used, in some
styles).
Alternatively, instead of
``` json
{ "citationItems": [ ... ] }
```
one can just specify an array of items directly:
``` json
[ ... ]
```
A citation item is structured like this:
``` json
{ "id": "foo",
"type": "suppress-author",
"label": "page",
"locator": "45",
"prefix": "see ",
"suffix": " and others" }
```
Only `id` is mandatory. If `type` is omitted, it will
be assumed to be `normal-cite` (other values are
`suppress-author` and `author-only`).
A reference is structured like this:
``` json
{
"author": [
{
"family": "Aristotle"
}
],
"id": "aristotle:prior",
"issued": {
"date-parts": [
[
1989
]
]
},
"publisher": "Hackett",
"publisher-place": "Indianapolis",
"title": "Prior analytics",
"translator": [
{
"family": "Smith",
"given": "Robin"
}
],
"type": "book"
}
```
An abbreviations object has this form:
``` json
{ "default": {
"container-title": {
"Lloyd's Law Reports": "Lloyd's Rep",
"Estates Gazette": "EG",
"Scots Law Times": "SLT"
}
}
}
```
The abbreviations will be substituted in the output
only when the `form` attribute for the style element that
renders the variable is set to `short`.
The output JSON will have the structure:
``` json
{ "citations": [ ...list of strings... ],
"bibliography": [ ...list of arrays: item id and a string... ],
"warnings": [ ...list of warnings... ]
}
```
The contents of the entries will be HTML by default, but
if `--format=json` is specified, it will be a structured
representation of formatted text.
``` json
[
"———. 1983b. “The Concept of Truth in Formalized Languages.” In ",
{
"format": "italics",
"contents": [
"Logic, Semantics, Metamathematics"
]
},
", edited by John Corcoran, 152–278. Indianapolis: Hackett."
]
```
This representation can be used if you want to convert the
result to a format other than HTML.
# AUTHORS
John MacFarlane
citeproc-0.13/prelude/ 0000755 0000000 0000000 00000000000 07346545000 013076 5 ustar 00 0000000 0000000 citeproc-0.13/prelude/Prelude.hs 0000644 0000000 0000000 00000000206 07346545000 015030 0 ustar 00 0000000 0000000 module Prelude (
module Prelude.Compat
, Semigroup (..)
)
where
import Prelude.Compat
import Data.Semigroup (Semigroup ((<>)))
citeproc-0.13/src/ 0000755 0000000 0000000 00000000000 07346545000 012225 5 ustar 00 0000000 0000000 citeproc-0.13/src/Citeproc.hs 0000644 0000000 0000000 00000005446 07346545000 014342 0 ustar 00 0000000 0000000 {-# LANGUAGE OverloadedStrings #-}
-- | Process citations using the formatting instructions encoded
-- in a CSL stylesheet. The library targets version 1.0.1 of the
-- CSL spec: https://docs.citationstyles.org/en/stable/specification.html
module Citeproc
( module Citeproc.Types
, module Citeproc.Style
, module Citeproc.Locale
, citeproc
, Result(..)
) where
import Data.Bifunctor (second)
import qualified Data.Text as T
import qualified Data.Set as Set
import Citeproc.Types
import Citeproc.Style
import Citeproc.Locale
import Citeproc.Eval
-- | Process a list of 'Citation's, producing formatted citations
-- and a bibliography according to the rules of a CSL 'Style'.
-- If a 'Lang' is specified, override the style's default locale.
-- To obtain a 'Style' from an XML stylesheet, use
-- 'parseStyle' from "Citeproc.Style".
citeproc :: CiteprocOutput a
=> CiteprocOptions -- ^ Rendering options
-> Style a -- ^ Parsed CSL style
-> Maybe Lang -- ^ Overrides default locale for style
-> [Reference a] -- ^ List of references (bibliographic data)
-> [Citation a] -- ^ List of citations to process
-> Result a
citeproc opts style mblang refs citations =
Result{ resultCitations = rCitations
, resultBibliography = rBibliography
, resultWarnings = warnings ++ noPrintedFormWarnings }
where
rCitations = map ( trimR
. localizeQuotes locale
. movePunct
. renderOutput opts locale
) citationOs
rBibliography = map (second
( trimR
. localizeQuotes locale
. movePunct
. renderOutput opts{ linkCitations = False } locale ))
bibliographyOs
locale = mergeLocales mblang style
trimR = dropTextWhileEnd (== ' ')
movePunct = case localePunctuationInQuote locale of
Just True -> movePunctuationInsideQuotes
_ -> id
(citationOs, bibliographyOs, warnings) =
evalStyle style mblang refs citations
noPrintedFormWarnings = Set.toList $ mconcat $
zipWith npfCitation citations rCitations ++
map npfBibentry rBibliography
npfBibentry (ident, out) =
if out == mempty
then Set.singleton $ "Bibliography entry with no printed form: " <>
ident
else mempty
npfCitation citation res =
if res == mempty
then Set.singleton $ "Citation with no printed form: " <>
T.intercalate ","
(map (unItemId . citationItemId)
(citationItems citation))
else mempty
citeproc-0.13/src/Citeproc/ 0000755 0000000 0000000 00000000000 07346545000 013775 5 ustar 00 0000000 0000000 citeproc-0.13/src/Citeproc/CaseTransform.hs 0000644 0000000 0000000 00000010747 07346545000 017111 0 ustar 00 0000000 0000000 {-# LANGUAGE StrictData #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE OverloadedStrings #-}
-- | Provides functions that facilitate defining textcase transformations.
-- To see how these can be used used, see the definitions of @addTextCase@
-- in "Citeproc.Pandoc" and "Citproc.CslJson".
module Citeproc.CaseTransform
( CaseTransformState(..)
, CaseTransformer(..)
, withUppercaseAll
, withLowercaseAll
, withCapitalizeWords
, withCapitalizeFirst
, withSentenceCase
, withTitleCase
)
where
import Data.Ord ()
import Data.Char (isUpper, isLower, isLetter)
import Data.Text (Text)
import qualified Data.Text as T
import Citeproc.Types (Lang(..))
import qualified Citeproc.Unicode as Unicode
-- | Wraps a function used to define textcase transformations.
newtype CaseTransformer =
CaseTransformer
{ unCaseTransformer :: Maybe Lang -> CaseTransformState -> Text -> Text }
-- | Tracks context in textcase transformations.
data CaseTransformState =
Start
| StartSentence
| AfterWordEnd
| AfterWordChar
| AfterSentenceEndingPunctuation
| BeforeLastWord
deriving (Show, Eq)
-- | Uppercase everything.
withUppercaseAll :: CaseTransformer
withUppercaseAll =
CaseTransformer (\mblang _ -> Unicode.toUpper mblang)
-- | Lowercase everything.
withLowercaseAll :: CaseTransformer
withLowercaseAll =
CaseTransformer (\mblang _ -> Unicode.toLower mblang)
-- | Capitalize all words.
withCapitalizeWords :: CaseTransformer
withCapitalizeWords = CaseTransformer go
where
go mblang st chunk
| isMixedCase chunk = chunk
| st == Start || st == StartSentence || st == AfterWordEnd ||
st == BeforeLastWord
= if T.all isLower chunk
then capitalizeText mblang chunk
else chunk
| otherwise = chunk
-- | Capitalize first letter.
withCapitalizeFirst :: CaseTransformer
withCapitalizeFirst = CaseTransformer go
where
go mblang st chunk
| isMixedCase chunk = chunk
| st == Start
= if T.all isLower chunk
then capitalizeText mblang chunk
else chunk
| otherwise = chunk
-- | Capitalize first letter of each sentence.
withSentenceCase :: CaseTransformer
withSentenceCase = CaseTransformer go
where
go mblang st chunk
| isCapitalized chunk
, not (st == Start || st == StartSentence)
= Unicode.toLower mblang chunk
| isCapitalized chunk || T.all isLower chunk
, st == Start || st == StartSentence
= capitalizeText mblang $ Unicode.toLower mblang chunk
| otherwise = chunk
-- | Use title case.
withTitleCase :: CaseTransformer
withTitleCase = CaseTransformer go
where
go mblang st chunk
| isMixedCase chunk = chunk
| T.all (\c -> isUpper c || not (isLetter c)) chunk = chunk
-- spec doesn't say this but tests do: textcase_TitleCapitalization.txt
| st == StartSentence || st == Start =
capitalizeText mblang $ Unicode.toLower mblang chunk
| st == AfterWordEnd
, not (isStopWord chunk)
, T.compareLength chunk 1 == GT =
capitalizeText mblang $ Unicode.toLower mblang chunk
| st == BeforeLastWord
, T.compareLength chunk 1 == GT =
capitalizeText mblang $ Unicode.toLower mblang chunk
| otherwise = chunk
isCapitalized :: Text -> Bool
isCapitalized t =
case T.uncons t of
Just (c, t') -> isUpper c && T.all isLower t'
_ -> False
isMixedCase :: Text -> Bool
isMixedCase t = T.any isUpper t && T.any isLower t
capitalizeText :: Maybe Lang -> Text -> Text
capitalizeText mblang x =
case T.uncons x of
Just (c,x') -> Unicode.toUpper mblang (T.singleton c) <> x'
Nothing -> x
isStopWord :: Text -> Bool
isStopWord "a" = True
isStopWord "an" = True
isStopWord "and" = True
isStopWord "as" = True
isStopWord "at" = True
isStopWord "but" = True
isStopWord "by" = True
isStopWord "down" = True
isStopWord "for" = True
isStopWord "from" = True
isStopWord "in" = True
isStopWord "into" = True
isStopWord "nor" = True
isStopWord "of" = True
isStopWord "on" = True
isStopWord "onto" = True
isStopWord "or" = True
isStopWord "over" = True
isStopWord "so" = True
isStopWord "the" = True
isStopWord "till" = True
isStopWord "to" = True
isStopWord "up" = True
isStopWord "via" = True
isStopWord "with" = True
isStopWord "yet" = True
-- not in original list but seems required by test flipflop_Apostrophes
-- and textcase_SkipNameParticlesInTitleCase
isStopWord "about" = True
isStopWord "van" = True
isStopWord "von" = True
isStopWord "de" = True
isStopWord "d" = True
isStopWord "l" = True
isStopWord _ = False
citeproc-0.13/src/Citeproc/CslJson.hs 0000644 0000000 0000000 00000047152 07346545000 015715 0 ustar 00 0000000 0000000 {-# LANGUAGE StrictData #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE DeriveTraversable #-}
-- | CSL JSON is the structured text format defined in
-- .
-- It is used to represent formatted text inside CSL JSON bibliographies.
-- For the most part it is a subset of HTML, with some special
-- features like smart quote parsing. This module defines a parser
-- and a renderer for this format, as well as 'CiteprocOutput' and
-- other typeclass instances.
module Citeproc.CslJson
( CslJson(..)
, cslJsonToJson
, renderCslJson
, parseCslJson
)
where
-- represent and parse CSL JSON pseudo-html
-- https://citeproc-js.readthedocs.io/en/latest/csl-json/markup.html
-- Supported:
-- italics -- will flip-flop
-- bold -- will flip-flop
-- ... -- ill flip-flop
-- ..
-- ..
-- .. -- suppress case transformations
import Citeproc.Types
import Citeproc.CaseTransform
import Data.Ord ()
import qualified Data.Map as M
import Data.Char (isAlphaNum, isSpace, isPunctuation)
import Data.Text (Text)
import qualified Data.Text as T
import Data.Foldable (fold)
import Data.Functor.Identity
import Data.Aeson (FromJSON(..), ToJSON(..), Value(..), object)
import Control.Monad.Trans.State
import Control.Monad (when)
import Data.Generics.Uniplate.Direct
data CslJson a =
CslText a
| CslEmpty
| CslConcat (CslJson a) (CslJson a)
| CslQuoted (CslJson a)
| CslItalic (CslJson a)
| CslNormal (CslJson a)
| CslBold (CslJson a)
| CslUnderline (CslJson a)
| CslNoDecoration (CslJson a)
| CslSmallCaps (CslJson a)
| CslBaseline (CslJson a)
| CslSup (CslJson a)
| CslSub (CslJson a)
| CslNoCase (CslJson a)
| CslDiv Text (CslJson a)
| CslLink Text (CslJson a)
deriving (Show, Eq, Ord, Functor, Foldable, Traversable)
instance Semigroup (CslJson a) where
(CslConcat x y) <> z = x <> (y <> z)
CslEmpty <> x = x
x <> CslEmpty = x
x <> y = CslConcat x y
instance Monoid (CslJson a) where
mempty = CslEmpty
mappend = (<>)
instance FromJSON (CslJson Text) where
parseJSON = fmap (parseCslJson mempty) . parseJSON
instance ToJSON (CslJson Text) where
toJSON = toJSON . renderCslJson False mempty
instance Uniplate (CslJson a) where
uniplate (CslText x) = plate CslText |- x
uniplate (CslEmpty) = plate CslEmpty
uniplate (CslConcat x y) = plate CslConcat |* x |* y
uniplate (CslQuoted x) = plate CslQuoted |* x
uniplate (CslItalic x) = plate CslItalic |* x
uniplate (CslNormal x) = plate CslNormal |* x
uniplate (CslBold x) = plate CslBold |* x
uniplate (CslUnderline x) = plate CslUnderline |* x
uniplate (CslNoDecoration x) = plate CslNoDecoration |* x
uniplate (CslSmallCaps x) = plate CslSmallCaps |* x
uniplate (CslBaseline x) = plate CslBaseline |* x
uniplate (CslSup x) = plate CslSup |* x
uniplate (CslSub x) = plate CslSub |* x
uniplate (CslNoCase x) = plate CslNoCase |* x
uniplate (CslDiv t x) = plate CslDiv |- t |* x
uniplate (CslLink t x) = plate CslLink |- t |* x
instance Biplate (CslJson a) (CslJson a) where
biplate = plateSelf
instance CiteprocOutput (CslJson Text) where
toText = fold
fromText = \t -> if T.null t
then CslEmpty
else CslText t
dropTextWhile = dropTextWhile'
dropTextWhileEnd = dropTextWhileEnd'
addFontVariant x =
case x of
NormalVariant -> id
SmallCapsVariant -> CslSmallCaps
addFontStyle x =
case x of
NormalFont -> CslNormal
ItalicFont -> CslItalic
ObliqueFont -> CslItalic
addFontWeight x =
case x of
NormalWeight -> id
LightWeight -> id
BoldWeight -> CslBold
addTextDecoration x =
case x of
NoDecoration -> CslNoDecoration
UnderlineDecoration -> CslUnderline
addVerticalAlign x =
case x of
BaselineAlign -> CslBaseline
SubAlign -> CslSub
SupAlign -> CslSup
addTextCase mblang x =
case x of
Lowercase -> caseTransform mblang withLowercaseAll
Uppercase -> caseTransform mblang withUppercaseAll
CapitalizeFirst -> caseTransform mblang withCapitalizeFirst
CapitalizeAll -> caseTransform mblang withCapitalizeWords
SentenceCase -> caseTransform mblang withSentenceCase
TitleCase -> caseTransform mblang withTitleCase
PreserveCase -> CslNoCase
addDisplay x =
case x of
DisplayBlock -> CslDiv "block"
DisplayLeftMargin -> CslDiv "left-margin"
DisplayRightInline -> CslDiv "right-inline"
DisplayIndent -> CslDiv "indent"
addQuotes = CslQuoted
inNote = id -- no-op
movePunctuationInsideQuotes
= punctuationInsideQuotes
mapText f = runIdentity . traverse (return . f)
addHyperlink url x = CslLink url x
localizeQuotes = convertQuotes
dropTextWhile' :: (Char -> Bool) -> CslJson Text -> CslJson Text
dropTextWhile' f x = evalState (traverse g x) False
where
g t = do
pastFirst <- get
if pastFirst
then return t
else do
put True
return (T.dropWhile f t)
dropTextWhileEnd' :: (Char -> Bool) -> CslJson Text -> CslJson Text
dropTextWhileEnd' f el =
case el of
CslEmpty -> CslEmpty
CslText t -> CslText (T.dropWhileEnd f t)
CslConcat x y -> CslConcat x (dropTextWhileEnd' f y)
CslQuoted x -> CslQuoted (dropTextWhileEnd' f x)
CslItalic x -> CslItalic (dropTextWhileEnd' f x)
CslNormal x -> CslNormal (dropTextWhileEnd' f x)
CslBold x -> CslBold (dropTextWhileEnd' f x)
CslUnderline x -> CslUnderline (dropTextWhileEnd' f x)
CslNoDecoration x -> CslNoDecoration (dropTextWhileEnd' f x)
CslSmallCaps x -> CslSmallCaps (dropTextWhileEnd' f x)
CslBaseline x -> CslBaseline (dropTextWhileEnd' f x)
CslSub x -> CslSub (dropTextWhileEnd' f x)
CslSup x -> CslSup (dropTextWhileEnd' f x)
CslNoCase x -> CslNoCase (dropTextWhileEnd' f x)
CslDiv t x -> CslDiv t (dropTextWhileEnd' f x)
CslLink t x -> CslLink t (dropTextWhileEnd' f x)
data RenderContext =
RenderContext
{ useOuterQuotes :: Bool
, useItalics :: Bool
, useBold :: Bool
, useSmallCaps :: Bool
} deriving (Show, Eq)
-- | Render 'CslJson' as 'Text'. Set the first parameter to True
-- when rendering HTML output (so that entities are escaped).
-- Set it to False when rendering for CSL JSON bibliographies.
renderCslJson :: Bool -- ^ Escape < > & using entities
-> Locale -- ^ Locale (used for quote styles)
-> CslJson Text -- ^ CslJson to render
-> Text
renderCslJson useEntities locale =
go (RenderContext True True True True)
where
(outerQuotes, innerQuotes) = lookupQuotes locale
go :: RenderContext -> CslJson Text -> Text
go ctx el =
case el of
CslText t
| Just (c, "") <- T.uncons t
, Just t' <- M.lookup c superscriptChars
-> "" <> t' <> ""
| otherwise -> escape t
CslEmpty -> mempty
CslConcat x y -> go ctx x <> go ctx y
CslQuoted x
| useOuterQuotes ctx
-> fst outerQuotes <>
go ctx{ useOuterQuotes = False } x <>
snd outerQuotes
| otherwise
-> fst innerQuotes <>
go ctx{ useOuterQuotes = True } x <>
snd innerQuotes
CslNormal x
| useItalics ctx -> go ctx x
| otherwise -> "" <>
go ctx x <> ""
CslItalic x
| useItalics ctx -> "" <> go ctx{ useItalics = False } x <> ""
| otherwise -> "" <>
go ctx{ useItalics = True } x <> ""
CslBold x
| useBold ctx -> "" <> go ctx{ useBold = False } x <> ""
| otherwise -> "" <>
go ctx{ useBold = True } x <> ""
CslUnderline x -> "" <> go ctx x <> ""
CslNoDecoration x -> "
(if useSmallCaps ctx
then ""
else "font-variant:normal;") <>
(if useBold ctx
then ""
else "font-weight:normal;") <>
(if useItalics ctx
then ""
else "font-style:normal;") <>
"\">" <> go ctx x <> ""
CslSmallCaps x
| useSmallCaps ctx -> ""
<> go ctx{ useSmallCaps = False } x <>
""
| otherwise -> "" <>
go ctx{ useSmallCaps = True } x <> ""
CslSup x -> "" <> go ctx x <> ""
CslSub x -> "" <> go ctx x <> ""
CslBaseline x -> "" <> go ctx x <> ""
CslDiv t x -> " t <> "\">" <> go ctx x <> "
"
CslLink t x -> " t <> "\">" <> go ctx x <> ""
CslNoCase x -> go ctx x -- nocase is just for internal purposes
escape t
| useEntities
= case T.findIndex (\c -> c == '<' || c == '>' || c == '&') t of
Just _ -> T.replace "<" "<" .
T.replace ">" ">" .
T.replace "&" "&" $ t
Nothing -> t
| otherwise = t
-- localized quotes
convertQuotes :: Locale -> CslJson Text -> CslJson Text
convertQuotes locale = go True
where
(outerQuotes, innerQuotes) = lookupQuotes locale
go useOuter el =
case el of
CslConcat x y -> go useOuter x <> go useOuter y
CslQuoted x
| useOuter
-> CslText (fst outerQuotes) <>
go (not useOuter) x <>
CslText (snd outerQuotes)
| otherwise
-> CslText (fst innerQuotes) <>
go (not useOuter) x <>
CslText (snd innerQuotes)
CslNormal x -> CslNormal $ go useOuter x
CslItalic x -> CslItalic $ go useOuter x
CslBold x -> CslBold $ go useOuter x
CslUnderline x -> CslUnderline $ go useOuter x
CslNoDecoration x -> CslNoDecoration $ go useOuter x
CslSmallCaps x -> CslSmallCaps $ go useOuter x
CslSup x -> CslSup $ go useOuter x
CslSub x -> CslSub $ go useOuter x
CslBaseline x -> CslBaseline $ go useOuter x
CslDiv t x -> CslDiv t $ go useOuter x
CslNoCase x -> CslNoCase $ go useOuter x
x -> x
cslJsonToJson :: CslJson Text -> [Value]
cslJsonToJson = go (RenderContext True True True True)
where
isString (String _) = True
isString _ = False
consolidateStrings :: [Value] -> [Value]
consolidateStrings [] = []
consolidateStrings (String t : rest) =
let (xs,ys) = span isString rest
in String (t <> mconcat [t' | String t' <- xs]) :
consolidateStrings ys
consolidateStrings (x : rest) =
x : consolidateStrings rest
go :: RenderContext -> CslJson Text -> [Value]
go ctx el = consolidateStrings $
case el of
CslText t -> [String t]
CslEmpty -> []
CslConcat x CslEmpty -> go ctx x
CslConcat (CslConcat x y) z -> go ctx (CslConcat x (CslConcat y z))
CslConcat x y -> go ctx x <> go ctx y
CslQuoted x -> go ctx x -- should be localized already
CslNormal x
| useItalics ctx -> go ctx x
| otherwise -> [ object
[ ("format", "no-italics")
, ("contents", toJSON $ go ctx x)
]
]
CslItalic x
| useItalics ctx -> [ object
[ ("format", "italics")
, ("contents", toJSON $
go ctx{ useItalics = False } x)
]
]
| otherwise -> [ object
[ ("format", "no-italics")
, ("contents", toJSON $
go ctx{ useItalics = False } x)
]
]
CslBold x
| useItalics ctx -> [ object
[ ("format", "bold")
, ("contents", toJSON $
go ctx{ useBold = False } x)
]
]
| otherwise -> [ object
[ ("format", "no-bold")
, ("contents", toJSON $
go ctx{ useBold = False } x)
]
]
CslUnderline x -> [ object
[ ("format", "underline")
, ("contents", toJSON $ go ctx x)
]
]
CslNoDecoration x -> [ object
[ ("format", "no-decoration")
, ("contents", toJSON $ go ctx x)
]
]
CslSmallCaps x
| useSmallCaps ctx -> [ object
[ ("format", "small-caps")
, ("contents", toJSON $
go ctx{ useSmallCaps = False } x)
]
]
| otherwise -> [ object
[ ("format", "no-small-caps")
, ("contents", toJSON $
go ctx{ useSmallCaps = False } x)
]
]
CslSup x -> [ object
[ ("format", "superscript")
, ("contents", toJSON $ go ctx x)
]
]
CslSub x -> [ object
[ ("format", "subscript")
, ("contents", toJSON $ go ctx x)
]
]
CslBaseline x -> [ object
[ ("format", "baseline")
, ("contents", toJSON $ go ctx x)
]
]
CslDiv t x -> [ object
[ ("format", "div")
, ("class", toJSON $ "csl-" <> t)
, ("contents", toJSON $ go ctx x)
]
]
CslLink t x -> [ object
[ ("format", "link")
, ("target", toJSON $ t)
, ("contents", toJSON $ go ctx x)
]
]
CslNoCase x -> go ctx x -- nocase is just for internal purposes
-- custom traversal which does not descend into
-- CslSmallCaps, Baseline, SUp, Sub, or NoCase (implicit nocase)
caseTransform' :: (CaseTransformState -> Text -> Text)
-> Int -- level in hierarchy
-> CslJson Text
-> State CaseTransformState (CslJson Text)
caseTransform' f lev el =
case el of
CslText x -> CslText . mconcat <$> mapM g (splitUp x)
CslConcat x y -> do
x' <- caseTransform' f lev x
let lastWord = lev == 0 && not (hasWordBreak y)
st <- get
when (lastWord &&
(st == AfterWordEnd || st == StartSentence || st == Start)) $
put BeforeLastWord
y' <- caseTransform' f lev y
return $ CslConcat x' y'
CslQuoted x -> CslQuoted <$> caseTransform' f (lev + 1) x
CslItalic x -> CslItalic <$> caseTransform' f (lev + 1) x
CslNormal x -> CslNormal <$> caseTransform' f (lev + 1) x
CslBold x -> CslBold <$> caseTransform' f (lev + 1) x
CslUnderline x -> CslUnderline <$> caseTransform' f (lev + 1) x
CslNoDecoration _ -> return' el
CslSmallCaps _ -> return' el
CslBaseline _ -> return' el
CslSub _ -> return' el
CslSup _ -> return' el
CslNoCase _ -> return' el
CslDiv _ _ -> return' el
CslLink _ _ -> return' el
CslEmpty -> return' el
where
-- we need to apply g to update the state:
return' x = x <$ g (toText x)
g :: Text -> State CaseTransformState Text
g t = do
st <- get
put $ case T.unsnoc t of
Nothing -> st
Just (_,c)
| c == '.' || c == '?' || c == '!' || c == ':' ->
AfterSentenceEndingPunctuation
| isAlphaNum c -> AfterWordChar
| isSpace c
, st == AfterSentenceEndingPunctuation -> StartSentence
| isWordBreak c -> AfterWordEnd
| otherwise -> st
return $
if T.all isAlphaNum t
then f st t
else t
isWordBreak '-' = True
isWordBreak '/' = True
isWordBreak '\x2013' = True
isWordBreak '\x2014' = True
isWordBreak c = isSpace c
hasWordBreak = any (T.any isWordBreak)
splitUp = T.groupBy sameType
sameType c d =
(isAlphaNum c && isAlphaNum d) || (isSpace c && isSpace d) ||
(isPunctuation c && isPunctuation d)
caseTransform :: Maybe Lang
-> CaseTransformer
-> CslJson Text
-> CslJson Text
caseTransform mblang f x =
evalState (caseTransform' (unCaseTransformer f mblang) 0 x) Start
punctuationInsideQuotes :: CslJson Text -> CslJson Text
punctuationInsideQuotes = go
where
startsWithMovable t =
case T.uncons t of
Just (c,_) -> c == '.' || c == ','
Nothing -> False
go el =
case el of
CslConcat CslEmpty x -> go x
CslConcat x CslEmpty -> go x
CslConcat (CslQuoted x) y ->
case go y of
(CslText t) | startsWithMovable t
-> CslQuoted (go (x <> CslText (T.take 1 t)))
<> CslText (T.drop 1 t)
(CslConcat (CslText t) z) | startsWithMovable t
-> CslQuoted (go (x <> CslText (T.take 1 t))) <>
CslText (T.drop 1 t) <> z
z -> CslQuoted x <> z
CslConcat (CslConcat x y) z -> go (CslConcat x (CslConcat y z))
CslConcat x y -> go x <> go y
CslQuoted x -> CslQuoted (go x)
CslItalic x -> CslItalic (go x)
CslNormal x -> CslNormal (go x)
CslBold x -> CslBold (go x)
CslUnderline x -> CslUnderline (go x)
CslNoDecoration x -> CslNoDecoration (go x)
CslSmallCaps x -> CslSmallCaps (go x)
CslSup x -> CslSup (go x)
CslSub x -> CslSub (go x)
CslBaseline x -> CslBaseline (go x)
CslNoCase x -> CslNoCase (go x)
CslDiv t x -> CslDiv t (go x)
CslLink t x -> CslLink t (go x)
CslText t -> CslText t
CslEmpty -> CslEmpty
citeproc-0.13/src/Citeproc/Data.hs 0000644 0000000 0000000 00000000324 07346545000 015201 0 ustar 00 0000000 0000000 {-# LANGUAGE TemplateHaskell #-}
module Citeproc.Data
(localeFiles)
where
import Data.ByteString (ByteString)
import Data.FileEmbed
localeFiles :: [(FilePath, ByteString)]
localeFiles = $(embedDir "locales")
citeproc-0.13/src/Citeproc/Element.hs 0000644 0000000 0000000 00000021714 07346545000 015727 0 ustar 00 0000000 0000000 {-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
module Citeproc.Element
( pLocale
, pDate
, Attributes(..)
, lookupAttribute
, ElementParser
, runElementParser
, parseFailure
, getChildren
, allChildren
, getAttributes
, getFormatting
, getTextContent
)
where
import Citeproc.Types
import Data.Maybe (fromMaybe)
import Control.Monad (foldM)
import qualified Data.Map as M
import qualified Text.XML as X
import Data.Text (Text)
import qualified Data.Text as T
import Control.Monad.Trans.Except
newtype Attributes = Attributes (M.Map Text Text)
deriving (Show, Semigroup, Monoid, Eq)
lookupAttribute :: Text -> Attributes -> Maybe Text
lookupAttribute key (Attributes kvs) = M.lookup key kvs
type ElementParser = Except CiteprocError
runElementParser :: ElementParser a -> Either CiteprocError a
runElementParser = runExcept
parseFailure :: String -> ElementParser a
parseFailure s = throwE (CiteprocParseError $ T.pack s)
getChildren :: Text -> X.Element -> [X.Element]
getChildren name el = [e | X.NodeElement e <- X.elementNodes el
, X.nameLocalName (X.elementName e) == name]
allChildren :: X.Element -> [X.Element]
allChildren el = [e | X.NodeElement e <- X.elementNodes el]
getAttributes :: X.Element -> Attributes
getAttributes =
Attributes . M.mapKeys X.nameLocalName . X.elementAttributes
getFormatting :: Attributes -> Formatting
getFormatting attr =
Formatting
{ formatLang = Nothing
, formatFontStyle =
case lookupAttribute "font-style" attr of
Just "italic" -> Just ItalicFont
Just "oblique" -> Just ObliqueFont
Just "normal" -> Just NormalFont
_ -> Nothing
, formatFontVariant =
case lookupAttribute "font-variant" attr of
Just "small-caps" -> Just SmallCapsVariant
Just "normal" -> Just NormalVariant
_ -> Nothing
, formatFontWeight =
case lookupAttribute "font-weight" attr of
Just "bold" -> Just BoldWeight
Just "light" -> Just LightWeight
Just "normal" -> Just NormalWeight
_ -> Nothing
, formatTextDecoration =
case lookupAttribute "text-decoration" attr of
Just "underline" -> Just UnderlineDecoration
Just "none" -> Just NoDecoration
_ -> Nothing
, formatVerticalAlign =
case lookupAttribute "vertical-align" attr of
Just "sup" -> Just SupAlign
Just "sub" -> Just SubAlign
Just "baseline" -> Just BaselineAlign
_ -> Nothing
, formatPrefix = lookupAttribute "prefix" attr
, formatSuffix = lookupAttribute "suffix" attr
, formatDisplay =
case lookupAttribute "display" attr of
Just "block" -> Just DisplayBlock
Just "left-margin" -> Just DisplayLeftMargin
Just "right-inline" -> Just DisplayRightInline
Just "indent" -> Just DisplayIndent
_ -> Nothing
, formatTextCase =
case lookupAttribute "text-case" attr of
Just "lowercase" -> Just Lowercase
Just "uppercase" -> Just Uppercase
Just "capitalize-first" -> Just CapitalizeFirst
Just "capitalize-all" -> Just CapitalizeAll
Just "sentence" -> Just SentenceCase
Just "title" -> Just TitleCase
_ -> Nothing
, formatDelimiter = lookupAttribute "delimiter" attr
, formatStripPeriods =
lookupAttribute "strip-periods" attr == Just "true"
, formatQuotes =
lookupAttribute "quotes" attr == Just "true"
, formatAffixesInside = False -- should be true for layout only
}
getTextContent :: X.Element -> Text
getTextContent e = mconcat [t | X.NodeContent t <- X.elementNodes e]
pLocale :: X.Element -> ElementParser Locale
pLocale node = do
let attr = getAttributes node
lang <- case lookupAttribute "lang" attr of
Nothing -> return Nothing
Just l -> either parseFailure (return . Just) $ parseLang l
let styleOpts = mconcat . map getAttributes $
getChildren "style-options" node
let addDateElt e m =
case e of
Element (EDate _ dateType _ _) _ -> M.insert dateType e m
_ -> error "pDate returned an element other than EDate"
dateElts <- foldr addDateElt mempty <$> mapM pDate (getChildren "date" node)
let termNodes = concatMap (getChildren "term") (getChildren "terms" node)
terms <- foldM parseTerm mempty termNodes
return $
Locale
{ localeLanguage = lang
, localePunctuationInQuote = (== "true") <$>
lookupAttribute "punctuation-in-quote" styleOpts
, localeLimitDayOrdinalsToDay1 = (== "true") <$>
lookupAttribute "limit-day-ordinals-to-day-1" styleOpts
, localeDate = dateElts
, localeTerms = terms
}
parseTerm :: M.Map Text [(Term, Text)]
-> X.Element
-> ElementParser (M.Map Text [(Term, Text)])
parseTerm m node = do
let attr = getAttributes node
name <- case lookupAttribute "name" attr of
Just n -> return n
Nothing -> parseFailure "Text node has no name attribute"
let single = mconcat $ map getTextContent $ getChildren "single" node
let multiple = mconcat $ map getTextContent $ getChildren "multiple" node
let txt = getTextContent node
let form = case lookupAttribute "form" attr of
Just "short" -> Short
Just "verb" -> Verb
Just "verb-short" -> VerbShort
Just "symbol" -> Symbol
_ -> Long
let gender = case lookupAttribute "gender" attr of
Just "masculine" -> Just Masculine
Just "feminine" -> Just Feminine
_ -> Nothing
let genderForm = case lookupAttribute "gender-form" attr of
Just "masculine" -> Just Masculine
Just "feminine" -> Just Feminine
_ -> Nothing
let match = case lookupAttribute "match" attr of
Just "last-digit" -> Just LastDigit
Just "last-two-digits" -> Just LastTwoDigits
Just "whole-number" -> Just WholeNumber
_ -> Nothing
let term = Term
{ termName = name
, termForm = form
, termNumber = Nothing
, termGender = gender
, termGenderForm = genderForm
, termMatch = match
}
let addToList x Nothing = Just [x]
addToList x (Just xs) = Just (x:xs)
if T.null single
then return $ M.alter (addToList (term, txt)) (termName term) m
else do
let term_single = term{ termNumber = Just Singular }
let term_plural = term{ termNumber = Just Plural }
return $ M.alter
(addToList (term_single, single) .
addToList (term_plural, multiple)) (termName term) m
pDate :: X.Element -> ElementParser (Element a)
pDate node = do
let attr = getAttributes node
let formatting = getFormatting attr
let form = lookupAttribute "form" attr
let var = toVariable $ fromMaybe mempty $ lookupAttribute "variable" attr
let showDateParts = case lookupAttribute "date-parts" attr of
Just "year-month-day" -> Just YearMonthDay
Just "year-month" -> Just YearMonth
Just "year" -> Just Year
_ -> Nothing
dps <- mapM parseDatePartElement (getChildren "date-part" node)
let dateType = case form of
Just "numeric" -> LocalizedNumeric
Just "text" -> LocalizedText
_ -> NonLocalized
return $ Element (EDate var dateType showDateParts dps) formatting
parseDatePartElement :: X.Element -> ElementParser DP
parseDatePartElement node = do
let attr = getAttributes node
let formatting = getFormatting attr
let name = case lookupAttribute "name" attr of
Just "day" -> DPDay
Just "month" -> DPMonth
_ -> DPYear
let form = case lookupAttribute "form" attr of
Just "numeric" -> DPNumeric
Just "numeric-leading-zeros" -> DPNumericLeadingZeros
Just "ordinal" -> DPOrdinal
Just "long" -> DPLong
Just "short" -> DPShort
_ | name == DPDay -> DPNumeric
| otherwise -> DPLong
let rangeDelim = fromMaybe "–" $ lookupAttribute "range-delimiter" attr
return $ DP name form rangeDelim formatting
citeproc-0.13/src/Citeproc/Eval.hs 0000644 0000000 0000000 00000342267 07346545000 015236 0 ustar 00 0000000 0000000 {-# LANGUAGE StrictData #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE TupleSections #-}
module Citeproc.Eval
( evalStyle )
where
import Citeproc.Types
import Citeproc.Style (mergeLocales)
import qualified Citeproc.Unicode as Unicode
import Control.Monad.Trans.RWS.CPS
import Data.Containers.ListUtils (nubOrdOn, nubOrd)
import Safe (headMay, headDef, lastMay, initSafe, tailSafe, maximumMay)
import Data.Maybe
import Control.Monad (foldM, foldM_, zipWithM, when, unless)
import qualified Data.Map as M
import qualified Data.Set as Set
import Data.Coerce (coerce)
import Data.List (find, intersperse, sortBy, sortOn, groupBy, foldl', transpose,
sort, (\\))
import Data.Text (Text)
import qualified Data.Text as T
import Data.Char (isSpace, isDigit, isUpper, isLower, isLetter,
ord, chr)
import Text.Printf (printf)
import Control.Applicative
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
data Context a =
Context
{ contextLocale :: Locale
, contextCollate :: [SortKeyValue] -> [SortKeyValue] -> Ordering
, contextAbbreviations :: Maybe Abbreviations
, contextStyleOptions :: StyleOptions
, contextMacros :: M.Map Text [Element a]
, contextLocator :: Maybe Text
, contextLabel :: Maybe Text
, contextPosition :: [Position]
, contextInSubstitute :: Bool
, contextInSortKey :: Bool
, contextInBibliography :: Bool
, contextSubstituteNamesForm :: Maybe NamesFormat
, contextNameFormat :: NameFormat
}
-- used internally for group elements, which
-- are skipped if (a) the group calls a variable
-- but (b) all of the variables called are empty.
data VarCount =
VarCount
{ variablesAccessed :: Int
, variablesNonempty :: Int
} deriving (Show)
data EvalState a =
EvalState
{ stateVarCount :: VarCount
, stateLastCitedMap :: M.Map ItemId (Int, Maybe Int, Int,
Bool, Maybe Text, Maybe Text)
-- (citegroup, noteNum, posInGroup,
-- aloneInCitation, label, locator)
, stateNoteMap :: M.Map Int (Set.Set ItemId) -- ids cited in note
, stateRefMap :: ReferenceMap a
, stateReference :: Reference a
, stateUsedYearSuffix :: Bool
, stateUsedIdentifier :: Bool
-- ^ tracks whether an identifier (DOI,PMCID,PMID,URL) has yet been used
, stateUsedTitle :: Bool
-- ^ tracks whether the item title has yet been used
} deriving (Show)
type Eval a = RWS (Context a) (Set.Set Text) (EvalState a)
updateVarCount :: Int -> Int -> Eval a ()
updateVarCount total' nonempty' =
modify $ \st ->
let VarCount{ variablesAccessed = total
, variablesNonempty = nonempty } = stateVarCount st
in st{ stateVarCount =
VarCount { variablesAccessed = total + total',
variablesNonempty = nonempty + nonempty' } }
evalStyle :: CiteprocOutput a
=> Style a -- ^ Parsed CSL style.
-> Maybe Lang -- ^ Override style default locale.
-> [Reference a] -- ^ List of references (bibliographic data).
-> [Citation a] -- ^ List of citations.
-> ([Output a], [(Text, Output a)], [Text])
-- ^ (citations, (id, bibentry) pairs, warnings)
evalStyle style mblang refs' citations =
(citationOs, bibliographyOs, Set.toList warnings)
where
refs'' = refs' ++ extractItemData citations
(refs, refmap) = makeReferenceMap refs''
((citationOs, bibliographyOs), warnings) = evalRWS go
Context
{ contextLocale = mergeLocales mblang style
, contextCollate = compSortKeyValues (Unicode.comp mblang)
, contextAbbreviations = styleAbbreviations style
, contextStyleOptions = styleOptions style
, contextMacros = styleMacros style
, contextLocator = Nothing
, contextLabel = Nothing
, contextPosition = []
, contextInSubstitute = False
, contextInSortKey = False
, contextInBibliography = False
, contextSubstituteNamesForm = Nothing
, contextNameFormat = styleNameFormat (styleOptions style)
}
EvalState
{ stateVarCount = VarCount 0 0
, stateLastCitedMap = mempty
, stateNoteMap = mempty
, stateRefMap = refmap
, stateReference = Reference mempty mempty Nothing mempty
, stateUsedYearSuffix = False
, stateUsedIdentifier = False
, stateUsedTitle = False
}
assignCitationNumbers sortedIds =
modify $ \st ->
st{ stateRefMap = ReferenceMap $ foldl'
(\m (citeId, num) ->
M.adjust (\ref ->
ref{ referenceVariables =
M.insert "citation-number"
(NumVal num) .
M.insert "citation-key"
(TextVal (unItemId citeId)) .
M.alter (addIfMissing (citationLabel ref))
"citation-label"
$ referenceVariables ref
}) citeId m)
(unReferenceMap (stateRefMap st))
(zip sortedIds [1..]) }
addIfMissing x Nothing = Just x
addIfMissing _ (Just x) = Just x
go = do
-- list of citationItemIds that are actually cited
let citationOrder = M.fromList $ reverse $ zip
(concatMap (map citationItemId . citationItems) citations)
[(1 :: Int)..]
let citeIds = M.keysSet citationOrder
let sortedCiteIds = sortOn
(fromMaybe maxBound . (`M.lookup` citationOrder))
(map referenceId refs)
let layoutOpts = layoutOptions $ styleCitation style
let mbcgDelim =
case styleCiteGroupDelimiter (styleOptions style) of
Just x -> Just x
Nothing
-- grouping is activated whenever there is
-- collapsing; this is the default
-- cite-group-delimiter
| isJust (layoutCollapse layoutOpts) -> Just ", "
| otherwise -> Nothing
assignCitationNumbers sortedCiteIds
-- sorting of bibliography, insertion of citation-number
collate <- asks contextCollate
(bibCitations, bibSortKeyMap) <-
case styleBibliography style of
Nothing -> return ([], mempty)
Just biblayout -> do
bibSortKeyMap <- M.fromList
<$> mapM
((\citeId ->
(citeId,) <$> evalSortKeys biblayout citeId)
. referenceId)
refs
let sortedIds =
if null (layoutSortKeys biblayout)
then sortedCiteIds
else sortBy
(\x y -> collate
(fromMaybe [] $ M.lookup x bibSortKeyMap)
(fromMaybe [] $ M.lookup y bibSortKeyMap))
(map referenceId refs)
assignCitationNumbers $
case layoutSortKeys biblayout of
(SortKeyVariable Descending "citation-number":_)
-> reverse sortedIds
(SortKeyMacro Descending _ _:_)
-> reverse sortedIds
_ -> sortedIds
let bibCitations = map (\ident ->
Citation (Just $ unItemId ident) False Nothing Nothing Nothing
[CitationItem ident Nothing Nothing
NormalCite Nothing Nothing Nothing]) sortedIds
return (bibCitations, bibSortKeyMap)
-- styling of citations
sortKeyMap <-
foldM (\m citeId -> do
sk <- evalSortKeys (styleCitation style) citeId
return $ M.insert citeId sk m)
M.empty
citeIds
-- We can't just sort all the citations, because
-- this can make a hash out of prefixes and suffixes.
-- See e.g. pandoc-citeproc issue #292.
-- We need to first break into groups so that any item
-- with a prefix or suffix is insulated from sorting.
-- We sort the groups, then combine again:
let canGroup i1 i2
= isNothing (citationItemSuffix i1) &&
isNothing (citationItemPrefix i2) &&
isNothing (citationItemSuffix i2) &&
isNothing (citationItemPrefix i1)
let sortCitationItems citation' =
citation'{ citationItems =
concatMap
(sortBy
(\item1 item2 ->
collate
(fromMaybe [] $ M.lookup
(citationItemId item1) sortKeyMap)
(fromMaybe [] $ M.lookup
(citationItemId item2) sortKeyMap)))
$ groupBy canGroup
$ citationItems citation' }
let citCitations = map sortCitationItems citations
cs <- disambiguateCitations style bibSortKeyMap citCitations
let cs' = case mbcgDelim of
Nothing -> cs
Just citeGroupDelim -> map
(groupAndCollapseCitations citeGroupDelim
(layoutYearSuffixDelimiter layoutOpts)
(layoutAfterCollapseDelimiter layoutOpts)
(layoutCollapse layoutOpts))
cs
let removeIfEqual x y
| x == y = NullOutput
| otherwise = y
let removeNamesIfSuppressAuthor
(Tagged (TagItem SuppressAuthor cid') x)
= let y = getAuthors x
in Tagged (TagItem SuppressAuthor cid')
(transform (removeIfEqual y) x)
removeNamesIfSuppressAuthor x = x
-- we need to do this after disambiguation and collapsing
let handleSuppressAuthors = transform removeNamesIfSuppressAuthor
let isNoteCitation = styleIsNoteStyle (styleOptions style)
-- if we have an author-only citation at the beginning
-- separate it out:
let handleAuthorOnly formattedCit =
case formattedCit of
Formatted f
(x@(Tagged (TagItem AuthorOnly _) _):xs)
| isNoteCitation
-> formatted mempty
(x : [InNote (formatted f xs) | not (null xs)])
| otherwise
-> formatted mempty
(x :
if null xs
then []
else [Literal (fromText " "),
formatted f xs])
Formatted f
(Formatted f'
(x@(Tagged (TagItem AuthorOnly _) _):xs) : ys)
| isNoteCitation
-> formatted mempty
(x :
if null xs && null ys
then []
else [InNote (formatted f
(formatted f' xs : ys))])
| otherwise
-> Formatted mempty
(x :
if null xs && null ys
then []
else [Literal (fromText " "),
formatted f (formatted f' xs : ys)])
_ | isNoteCitation -> InNote formattedCit
| otherwise -> formattedCit
let cs'' = map (handleSuppressAuthors . handleAuthorOnly) cs'
-- styling of bibliography (this needs to go here to take account
-- of year suffixes added in disambiguation)
bs <- case styleBibliography style of
Just biblayout
-> local (\context ->
context{ contextInBibliography = True }) $
mapM (evalLayout biblayout) (zip [1..] bibCitations)
>>= \bs ->
case styleSubsequentAuthorSubstitute
(styleOptions style) of
Nothing -> return bs
Just subs -> subsequentAuthorSubstitutes subs bs
Nothing -> return []
return (cs'', case styleBibliography style of
Nothing -> []
Just _ ->
zip (map (fromMaybe "" . citationId) bibCitations) bs)
extractItemData :: [Citation a] -> [Reference a]
extractItemData = concatMap (mapMaybe citationItemData . citationItems)
subsequentAuthorSubstitutes :: CiteprocOutput a
=> SubsequentAuthorSubstitute
-> [Output a]
-> Eval a [Output a]
subsequentAuthorSubstitutes (SubsequentAuthorSubstitute t rule) =
return . groupCitesByNames
where
groupCitesByNames [] = []
groupCitesByNames (x:xs) =
let xnames = fromMaybe ([],NullOutput) $ getNames x
samenames = replaceMatch rule (fromText t) xnames xs
rest = drop (length samenames) xs
in (x : samenames) ++ groupCitesByNames rest
getNames (Formatted _ (x:_)) =
case [(ns,r) | (Tagged (TagNames _ _ ns) r) <- universe x] of
((ns,r) : _) -> Just (ns,r)
[] -> Nothing
getNames _ = Nothing
replaceMatch :: CiteprocOutput a
=> SubsequentAuthorSubstituteRule
-> a
-> ([Name], Output a)
-> [Output a]
-> [Output a]
replaceMatch _ _ _ [] = []
replaceMatch rule replacement (names, raw) (z:zs) =
case go z of
Nothing -> []
Just z' -> z' : replaceMatch rule replacement (names, raw) zs
where
go (Tagged t@TagItem{} y) =
Tagged t <$> go y
go (Formatted f (y:ys)) =
Formatted f . (: ys) <$> go y
go y@(Tagged (TagNames _ _ ns) r) =
case (if null names then CompleteAll else rule) of
CompleteAll ->
if ns == names && (not (null names) || r == raw)
then Just $ replaceAll y
else Nothing
CompleteEach ->
if ns == names
then Just $ transform replaceEach y
else Nothing
PartialEach ->
case numberOfMatches ns names of
num | num >= 1 -> Just $ transform (replaceFirst num) y
_ -> Nothing
PartialFirst ->
case numberOfMatches ns names of
num | num >= (1 :: Int) -> Just $ transform (replaceFirst 1) y
_ -> Nothing
go _ = Nothing
replaceAll (Tagged (TagNames t' nf ns') x)
= Tagged (TagNames t' nf ns') $
-- removeName will leave label "ed."
-- which we want, but it will also leave the substituted
-- title when there is no name, which we do not want.
-- So, if ns' is null, then we just remove everything.
if null ns'
then Literal replacement
else
case transform removeName x of
Formatted f' xs -> Formatted f' (Literal replacement : xs)
_ -> Literal replacement
replaceAll x = x
removeName (Tagged (TagName _) _) = NullOutput
removeName x = x
replaceEach (Tagged (TagName n) _)
| n `elem` names
= Tagged (TagName n) (Literal replacement)
replaceEach x = x
replaceFirst num x@(Tagged (TagNames _ _ ns') _)
= foldr (transform . replaceName) x $ take num ns'
replaceFirst _num x = x
replaceName name (Tagged (TagName n) _)
| n == name = Tagged (TagName n) (Literal replacement)
replaceName _ x = x
numberOfMatches (a:as) (b:bs)
| a == b = 1 + numberOfMatches as bs
| otherwise = 0
numberOfMatches _ _ = 0
--
-- Disambiguation
--
data DisambData =
DisambData
{ ddItem :: ItemId
, ddNames :: [Name]
, ddDates :: [Date]
, ddRendered :: Text
} deriving (Eq, Ord, Show)
disambiguateCitations :: forall a . CiteprocOutput a
=> Style a
-> M.Map ItemId [SortKeyValue]
-> [Citation a]
-> Eval a [Output a]
disambiguateCitations style bibSortKeyMap citations = do
refs <- unReferenceMap <$> gets stateRefMap
let refIds = M.keys refs
let ghostItems = [ ident
| ident <- refIds
]
-- we add additional references for EVERY citation,
-- even those we have already, to handle cases like #116
-- for purposes of disambiguation, we remove prefixes and
-- suffixes and locators, and we convert author-in-text to normal citation.
let removeAffix item = item{ citationItemLabel = Nothing
, citationItemLocator = Nothing
, citationItemPrefix = Nothing
, citationItemSuffix = Nothing }
let cleanCitation (Citation a b c d e (i1:i2:is))
| citationItemType i1 == AuthorOnly
, citationItemType i2 == SuppressAuthor
= Citation a b c d e
(map removeAffix (i2{ citationItemType = NormalCite }:is))
cleanCitation (Citation a b c d e is)
= Citation a b c d e (map removeAffix is)
-- note that citations must go first, and order must be preserved:
-- we use a "basic item" that strips off prefixes, suffixes, locators
let citations' = map cleanCitation citations ++
[Citation Nothing False Nothing Nothing Nothing (map basicItem ghostItems)]
allCites <- renderCitations citations'
mblang <- asks (localeLanguage . contextLocale)
styleOpts <- asks contextStyleOptions
let strategy = styleDisambiguation styleOpts
let allNameGroups = [ns | Tagged (TagNames _ _ ns) _ <-
concatMap universe allCites]
let allNames = nubOrd $ concat allNameGroups
let primaryNames = nubOrd $ concatMap (take 1) allNameGroups
allCites' <-
case disambiguateAddGivenNames strategy of
Nothing -> return allCites
Just ByCite -> return allCites -- do this later
Just rule -> do -- disambiguate names, not just citations
let relevantNames =
case rule of
PrimaryNameWithInitials -> primaryNames
PrimaryName -> primaryNames
_ -> allNames
let familyNames = nubOrd $ mapMaybe nameFamily relevantNames
let grps = map (\name ->
[v | v <- relevantNames
, nameFamily v == Just name])
familyNames
let toHint names name =
if any (initialsMatch mblang name) (filter (/= name) names)
then
case rule of
AllNamesWithInitials -> Nothing
PrimaryNameWithInitials -> Nothing
PrimaryName -> Just AddGivenNameIfPrimary
_ -> Just AddGivenName
else
case rule of
PrimaryNameWithInitials -> Just AddInitialsIfPrimary
PrimaryName -> Just AddInitialsIfPrimary
_ -> Just AddInitials
let namesMap = mconcat $ map
(\names -> if length names > 1
then foldr
(\name ->
case toHint names name of
Just x -> M.insert name x
Nothing -> id)
mempty
names
else mempty) grps
-- use this same names map for every citation
modify $ \st ->
st{ stateRefMap = ReferenceMap $
foldr
(M.adjust (alterReferenceDisambiguation
(\d -> d{ disambNameMap = namesMap })))
(unReferenceMap $ stateRefMap st)
refIds }
-- redo citations
renderCitations citations'
case getAmbiguities allCites' of
[] -> return ()
ambiguities -> analyzeAmbiguities mblang strategy citations' ambiguities
renderCitations citations
where
renderCitations :: [Citation a] -> Eval a [Output a]
renderCitations cs =
withRWST (\ctx st -> (ctx,
st { stateLastCitedMap = mempty
, stateNoteMap = mempty })) $
mapM (evalLayout (styleCitation style)) (zip [1..] cs)
refreshAmbiguities :: [Citation a] -> Eval a [[DisambData]]
refreshAmbiguities = fmap getAmbiguities . renderCitations
analyzeAmbiguities :: Maybe Lang
-> DisambiguationStrategy
-> [Citation a]
-> [[DisambData]]
-> Eval a ()
analyzeAmbiguities mblang strategy cs ambiguities = do
-- add names to et al.
return ambiguities
>>= (\as ->
(if not (null as) && disambiguateAddNames strategy
then do
mapM_ (tryAddNames mblang (disambiguateAddGivenNames strategy)) as
refreshAmbiguities cs
else
return as))
>>= (\as ->
(case disambiguateAddGivenNames strategy of
Just ByCite | not (null as) -> do
mapM_ (tryAddGivenNames mblang) as
refreshAmbiguities cs
_ -> return as))
>>= (\as ->
(if not (null as) && disambiguateAddYearSuffix strategy
then do
addYearSuffixes bibSortKeyMap as
refreshAmbiguities cs
else return as))
>>= mapM_ tryDisambiguateCondition
basicItem :: ItemId -> CitationItem a
basicItem iid = CitationItem
{ citationItemId = iid
, citationItemLabel = Nothing
, citationItemLocator = Nothing
, citationItemType = NormalCite
, citationItemPrefix = Nothing
, citationItemSuffix = Nothing
, citationItemData = Nothing
}
isDisambiguated :: Maybe Lang
-> Maybe GivenNameDisambiguationRule
-> Int -- et al min
-> [DisambData]
-> DisambData
-> Bool
isDisambiguated mblang mbrule etAlMin xs x =
all (\y -> x == y || disambiguatedName y /= disambiguatedName x) xs
where
disambiguatedName = nameParts . take etAlMin . ddNames
nameParts =
case mbrule of
Just AllNames -> id
Just AllNamesWithInitials ->
map (\name -> name{ nameGiven = initialize mblang True False ""
<$> nameGiven name })
Just PrimaryName ->
\case
[] -> []
(z:zs) -> z : map (\name -> name{ nameGiven = Nothing }) zs
Just PrimaryNameWithInitials ->
\case
[] -> []
(z:zs) -> z{ nameGiven =
initialize mblang True False "" <$> nameGiven z } :
map (\name -> name{ nameGiven = Nothing }) zs
Just ByCite -> id -- hints will be added later
_ -> map (\name -> name{ nameGiven = Nothing })
tryAddNames :: Maybe Lang
-> Maybe GivenNameDisambiguationRule
-> [DisambData]
-> Eval a ()
tryAddNames mblang mbrule bs =
(case mbrule of
Just ByCite -> bs <$ tryAddGivenNames mblang bs
_ -> return bs) >>= go 1
-- if ByCite, we want to make sure that
-- tryAddGivenNames is still applied, as
-- calculation of "add names" assumes this.
where
maxnames = fromMaybe 0 . maximumMay . map (length . ddNames)
go n as
| n > maxnames as = return ()
| otherwise = do
let ds = filter (isDisambiguated mblang mbrule n as) as
if null ds
then go (n + 1) as
else do
modify $ \st ->
st{ stateRefMap = ReferenceMap
$ foldr (setEtAlNames (Just n) . ddItem)
(unReferenceMap $ stateRefMap st) as }
go (n + 1) (as \\ ds)
tryAddGivenNames :: Maybe Lang
-> [DisambData]
-> Eval a ()
tryAddGivenNames mblang as = do
let correspondingNames =
map (zip (map ddItem as)) $ transpose $ map ddNames as
go [] _ = return []
go (as' :: [DisambData]) (ns :: [(ItemId, Name)]) = do
hintedIds <- Set.fromList . catMaybes <$>
mapM (addNameHint mblang (map snd ns)) ns
return $ filter (\x -> ddItem x `Set.notMember` hintedIds) as'
foldM_ go as correspondingNames
addYearSuffixes :: M.Map ItemId [SortKeyValue]
-> [[DisambData]]
-> Eval a ()
addYearSuffixes bibSortKeyMap' as = do
let allitems = concat as
collate <- asks contextCollate
let companions a =
sortBy
(\item1 item2 ->
collate
(fromMaybe [] $ M.lookup (ddItem item1) bibSortKeyMap')
(fromMaybe [] $ M.lookup (ddItem item2) bibSortKeyMap'))
(concat [ x | x <- as, a `elem` x ])
let groups = Set.map companions $ Set.fromList allitems
let addYearSuffix item suff =
modify $ \st ->
st{ stateRefMap = ReferenceMap
$ setYearSuffix suff item
$ unReferenceMap
$ stateRefMap st }
mapM_ (\xs -> zipWithM addYearSuffix (map ddItem xs) [1..]) groups
tryDisambiguateCondition :: [DisambData] -> Eval a ()
tryDisambiguateCondition as =
case as of
[] -> return ()
xs -> modify $ \st ->
st{ stateRefMap = ReferenceMap
$ foldr (setDisambCondition True . ddItem)
(unReferenceMap (stateRefMap st))
xs }
alterReferenceDisambiguation :: (DisambiguationData -> DisambiguationData)
-> Reference a
-> Reference a
alterReferenceDisambiguation f r =
r{ referenceDisambiguation = f <$>
case referenceDisambiguation r of
Nothing -> Just
DisambiguationData
{ disambYearSuffix = Nothing
, disambNameMap = mempty
, disambEtAlNames = Nothing
, disambCondition = False
}
Just x -> Just x }
initialsMatch :: Maybe Lang -> Name -> Name -> Bool
initialsMatch mblang x y =
case (nameGiven x, nameGiven y) of
(Just x', Just y') ->
initialize mblang True False "" x' ==
initialize mblang True False "" y'
_ -> False
addNameHint :: Maybe Lang -> [Name] -> (ItemId, Name) -> Eval a (Maybe ItemId)
addNameHint mblang names (item, name) = do
let familyMatches = [n | n <- names
, n /= name
, nameFamily n == nameFamily name]
case familyMatches of
[] -> return Nothing
_ -> do
let hint = if any (initialsMatch mblang name) familyMatches
then AddGivenName
else AddInitials
modify $ \st ->
st{ stateRefMap = ReferenceMap
$ setNameHint hint name item
$ unReferenceMap (stateRefMap st) }
return $ Just item
setNameHint :: NameHints -> Name -> ItemId
-> M.Map ItemId (Reference a) -> M.Map ItemId (Reference a)
setNameHint hint name = M.adjust
(alterReferenceDisambiguation
(\d -> d{ disambNameMap =
M.insert name hint
(disambNameMap d) }))
setEtAlNames :: Maybe Int -> ItemId
-> M.Map ItemId (Reference a) -> M.Map ItemId (Reference a)
setEtAlNames x = M.adjust
(alterReferenceDisambiguation
(\d -> d{ disambEtAlNames = x }))
setYearSuffix :: Int -> ItemId
-> M.Map ItemId (Reference a) -> M.Map ItemId (Reference a)
setYearSuffix x = M.adjust
(alterReferenceDisambiguation
(\d -> d{ disambYearSuffix = Just x }))
setDisambCondition :: Bool -> ItemId
-> M.Map ItemId (Reference a) -> M.Map ItemId (Reference a)
setDisambCondition x = M.adjust
(alterReferenceDisambiguation
(\d -> d{ disambCondition = x }))
getAmbiguities :: CiteprocOutput a => [Output a] -> [[DisambData]]
getAmbiguities =
mapMaybe
(\zs ->
case zs of
[] -> Nothing
[_] -> Nothing
(z:_) ->
case ddRendered z of
"" -> Nothing
_ -> case nubOrdOn ddItem zs of
ys@(_:_:_) -> Just ys -- > 1 ambiguous entry
_ -> Nothing)
. groupBy (\x y -> ddRendered x == ddRendered y)
. sortOn ddRendered
. map toDisambData
. extractTagItems
extractTagItems :: [Output a] -> [(ItemId, Output a)]
extractTagItems xs =
[(iid, x) | Tagged (TagItem NormalCite iid) x <- concatMap universe xs
, not (hasIbid x)]
where -- we don't want two "ibid" entries to be treated as ambiguous.
hasIbid x = not $ null [ trm | Tagged (TagTerm trm) _ <- universe x
, termName trm == "ibid" ]
toDisambData :: CiteprocOutput a => (ItemId, Output a) -> DisambData
toDisambData (iid, x) =
let xs = universe x
ns' = getNames xs
ds' = getDates xs
t = outputToText x
in DisambData { ddItem = iid
, ddNames = ns'
, ddDates = ds'
, ddRendered = t }
where
getNames :: [Output a] -> [Name]
getNames (Tagged (TagNames _ _ ns) _ : xs)
= ns ++ getNames xs
getNames (_ : xs) = getNames xs
getNames [] = []
getDates :: [Output a] -> [Date]
getDates (Tagged (TagDate d) _ : xs)
= d : getDates xs
getDates (_ : xs) = getDates xs
getDates [] = []
--
-- Grouping and collapsing
--
groupAndCollapseCitations :: forall a . CiteprocOutput a
=> Text
-> Maybe Text
-> Maybe Text
-> Maybe Collapsing
-> Output a
-> Output a
groupAndCollapseCitations citeGroupDelim yearSuffixDelim afterCollapseDelim
collapsing (Formatted f xs) =
case collapsing of
Just CollapseCitationNumber ->
Formatted f{ formatDelimiter = Nothing } $
foldr collapseRange []
(groupSuccessive isAdjacentCitationNumber xs)
Just collapseType ->
Formatted f{ formatDelimiter = Nothing } $
foldr (collapseGroup collapseType) [] (groupWith sameNames xs)
Nothing ->
Formatted f $
map (Formatted mempty{ formatDelimiter = Just citeGroupDelim })
(groupWith sameNames xs)
where
-- Note that we cannot assume we've sorted by name,
-- so we can't just use Data.ListgroupBy. We also
-- take care not to move anything past a prefix or suffix.
groupWith :: (Output a -> Output a -> Bool)
-> [Output a]
-> [[Output a]]
groupWith _ [] = []
groupWith isMatched (z:zs)
| hasSuffix z = [z] : groupWith isMatched zs
| otherwise = -- we allow a prefix on first item in collapsed group
case span hasNoPrefixOrSuffix zs of
([],ys) -> [z] : groupWith isMatched ys
(ws,ys) ->
(z : filter (isMatched z) ws) :
groupWith isMatched (filter (not . isMatched z) ws ++ ys)
hasNoPrefixOrSuffix :: Output a -> Bool
hasNoPrefixOrSuffix x = not (hasPrefix x) && not (hasSuffix x)
hasPrefix :: Output a -> Bool
hasPrefix x = not $ null [y | y@(Tagged TagPrefix _) <- universe x]
hasSuffix :: Output a -> Bool
hasSuffix x = not $ null [y | y@(Tagged TagSuffix _) <- universe x]
collapseRange :: [Output a] -> [Output a] -> [Output a]
collapseRange ys zs
| length ys >= 3
, Just yhead <- headMay ys
, Just ylast <- lastMay ys
= Formatted mempty{ formatDelimiter = Just $ T.singleton enDash }
[yhead, ylast] :
if null zs
then []
else maybe NullOutput literal afterCollapseDelim : zs
collapseRange ys zs =
Formatted mempty{ formatDelimiter = formatDelimiter f } ys :
if null zs
then []
else maybe NullOutput literal (formatDelimiter f) : zs
collapseGroup :: Collapsing -> [Output a] -> [Output a] -> [Output a]
collapseGroup _ [] zs = zs
collapseGroup collapseType (y:ys) zs =
let ys' = y : map (transform removeNames) ys
ws = collapseYearSuffix collapseType ys'
noCollapse = ws == y:ys
noYearSuffixCollapse = ws == ys'
hasLocator u = not $ null [x | x@(Tagged TagLocator _) <- universe u]
anyHasLocator = any hasLocator ws
-- https://github.com/citation-style-language/test-suite/issues/36 :
flippedAfterCollapseDelim = collapseType == CollapseYear
addCGDelim u [] = [u]
addCGDelim u us =
Formatted mempty{ formatSuffix =
if noCollapse || noYearSuffixCollapse &&
not (flippedAfterCollapseDelim &&
anyHasLocator)
then Just citeGroupDelim
else afterCollapseDelim <|>
formatDelimiter f } [u] : us
in Formatted mempty{ formatDelimiter = Nothing
, formatSuffix =
if null zs
then Nothing
else if noCollapse &&
not flippedAfterCollapseDelim
then formatDelimiter f
else afterCollapseDelim <|>
formatDelimiter f }
(foldr addCGDelim [] ws) : zs
collapseRanges = map rangifyGroup . groupSuccessive isSuccessive
isSuccessive x y
= case ([c | Tagged (TagYearSuffix c) _ <- universe x],
[d | Tagged (TagYearSuffix d) _ <- universe y]) of
([c],[d]) -> d == c + 1
_ -> False
rangifyGroup :: [Output a] -> Output a
rangifyGroup zs
| length zs >= 3
, Just zhead <- headMay zs
, Just zlast <- lastMay zs
= Formatted mempty{ formatDelimiter = Just (T.singleton enDash) }
[zhead, zlast]
rangifyGroup [z] = z
rangifyGroup zs = Formatted mempty{ formatDelimiter = yearSuffixDelim
} zs
yearSuffixGroup :: Bool -> [Output a] -> Output a
yearSuffixGroup _ [x] = x
yearSuffixGroup useRanges zs =
Formatted mempty{ formatDelimiter = yearSuffixDelim }
$ if useRanges then collapseRanges zs else zs
collapseYearSuffix :: Collapsing -> [Output a] -> [Output a]
collapseYearSuffix CollapseYearSuffix zs =
reverse $ yearSuffixGroup False cur : items
where
(cur, items) = foldl' (goYearSuffix False) ([], []) zs
collapseYearSuffix CollapseYearSuffixRanged zs =
reverse $ yearSuffixGroup True cur : items
where
(cur, items) = foldl' (goYearSuffix True) ([], []) zs
collapseYearSuffix _ zs = zs
getDates :: Output a -> [Date]
getDates x = [d | Tagged (TagDate d) _ <- universe x]
getYears :: Output a -> [[Maybe Int]]
getYears x = [map (\case
DateParts (y:_) -> Just y
_ -> Nothing) (dateParts d)
| d <- getDates x
, isNothing (dateLiteral d)]
goYearSuffix :: Bool -> ([Output a], [Output a]) -> Output a
-> ([Output a], [Output a])
goYearSuffix useRanges (cur, items) item =
case cur of
[] -> ([item], items)
(z:zs)
| getYears z == getYears item
-> (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
(Tagged (TagItem _ _)
(Formatted _f1 [Tagged (TagCitationNumber n1) _xs1]))
(Tagged (TagItem _ _)
(Formatted _f2 [Tagged (TagCitationNumber n2) _xs2]))
= n2 == n1 + 1
isAdjacentCitationNumber
(Tagged (TagItem _ _) (Tagged (TagCitationNumber n1) _xs1))
(Tagged (TagItem _ _) (Tagged (TagCitationNumber n2) _xs2))
= n2 == n1 + 1
isAdjacentCitationNumber _ _ = False
sameNames :: Output a -> Output a -> Bool
sameNames x y =
case (extractTagged x, extractTagged y) of
(Just (Tagged (TagNames t1 _nf1 ns1) ws1),
Just (Tagged (TagNames t2 _nf2 ns2) ws2))
-> t1 == t2 && (if ns1 == ns2
then not (null ns1) || ws1 == ws2
else ws1 == ws2)
-- case where it's just a date with no name or anything;
-- we treat this as same name e.g. (1955a,b)
(Just (Tagged TagDate{} _), Just (Tagged TagDate{} _))
-> True
-- case where title is substituted
_ -> False
extractTagged :: Output a -> Maybe (Output a)
extractTagged x =
let items = [y | y@(Tagged (TagItem ty _) _) <- universe x
, ty /= AuthorOnly]
names = [y | y@(Tagged TagNames{} _) <- concatMap universe items]
dates = [y | y@(Tagged TagDate{} _) <- concatMap universe items]
in if null items
then Nothing
else listToMaybe names <|> listToMaybe dates
groupAndCollapseCitations _ _ _ _ x = x
takeSeq :: Show a => (a -> a -> Bool) -> [a] -> ([a], [a])
takeSeq isAdjacent (x1 : x2 : rest)
| isAdjacent x1 x2 = (x1:ys, zs)
where (ys, zs) = takeSeq isAdjacent (x2:rest)
takeSeq _ (y:ys) = ([y], ys)
takeSeq _ [] = ([], [])
groupSuccessive :: Show a => (a -> a -> Bool) -> [a] -> [[a]]
groupSuccessive isAdjacent zs =
case takeSeq isAdjacent zs of
([],_) -> []
(xs,ys) -> xs : groupSuccessive isAdjacent ys
--
-- Sorting
--
evalSortKeys :: CiteprocOutput a
=> Layout a
-> ItemId
-> Eval a [SortKeyValue]
evalSortKeys layout citeId =
withRWST (\ctx st -> (ctx{ contextInSortKey = True
, contextNameFormat =
layoutNameFormat (layoutOptions layout)
}, st)) $
mapM (evalSortKey citeId) (layoutSortKeys layout)
evalSortKey :: CiteprocOutput a
=> ItemId
-> SortKey a
-> Eval a SortKeyValue
evalSortKey citeId (SortKeyMacro sortdir nameformat macroname) = do
macros <- asks contextMacros
elts <- case M.lookup macroname macros of
Nothing -> [] <$ warn ("undefined macro " <> macroname)
Just els -> pure els
refmap <- gets stateRefMap
case lookupReference citeId refmap of
Nothing -> return $ SortKeyValue sortdir Nothing
Just ref -> do
locale <- asks contextLocale
k <- normalizeSortKey . toText .
renderOutput defaultCiteprocOptions locale . grouped
<$> withRWS newContext (eElements elts)
return $ SortKeyValue sortdir (Just k)
where
newContext oldContext s =
(oldContext{ contextNameFormat = combineNameFormat
nameformat (contextNameFormat oldContext)},
s{ stateReference = ref })
evalSortKey citeId (SortKeyVariable sortdir var) = do
refmap <- gets stateRefMap
SortKeyValue sortdir <$>
case lookupReference citeId refmap >>= lookupVariable var of
Nothing -> return Nothing
Just (TextVal t) -> return $ Just $ normalizeSortKey t
Just (NumVal i) -> return $ Just [T.pack $ printf "%09d" i]
Just (FancyVal x) -> return $ Just $ normalizeSortKey $ toText x
Just (NamesVal ns) ->
Just . normalizeSortKey . mconcat . intersperse "," . map T.unwords
<$> mapM getNamePartSortOrder ns
Just (DateVal d) -> return $ Just [T.toLower $ dateToText d]
Just SubstitutedVal -> return Nothing
-- Note: we do a case-insensitive sort (using toCaseFold):
normalizeSortKey :: Text -> [Text]
normalizeSortKey = filter (not . T.null) . T.split isWordSep . T.toCaseFold
where
isWordSep c = isSpace c || c == '\'' || c == '’' || c == ',' ||
c == 'ʾ' || c == 'ʿ' -- ayn/hamza in transliterated arabic
-- absence should sort AFTER all values
-- see sort_StatusFieldAscending.txt, sort_StatusFieldDescending.txt
compSortKeyValue :: (Text -> Text -> Ordering)
-> SortKeyValue
-> SortKeyValue
-> Ordering
compSortKeyValue collate sk1 sk2 =
case (sk1, sk2) of
(SortKeyValue _ Nothing, SortKeyValue _ Nothing) -> EQ
(SortKeyValue _ Nothing, SortKeyValue _ (Just _)) -> GT
(SortKeyValue _ (Just _), SortKeyValue _ Nothing) -> LT
(SortKeyValue Ascending (Just t1), SortKeyValue Ascending (Just t2)) ->
collateKey t1 t2
(SortKeyValue Descending (Just t1), SortKeyValue Descending (Just t2))->
collateKey t2 t1
_ -> EQ
where
collateKey :: [Text] -> [Text] -> Ordering
collateKey [] [] = EQ
collateKey [] (_:_) = LT
collateKey (_:_) [] = GT
collateKey (x:xs) (y:ys) =
case collate x y of
EQ -> collateKey xs ys
GT -> GT
LT -> LT
compSortKeyValues :: (Text -> Text -> Ordering)
-> [SortKeyValue]
-> [SortKeyValue]
-> Ordering
compSortKeyValues _ [] [] = EQ
compSortKeyValues _ [] (_:_) = LT
compSortKeyValues _ (_:_) [] = GT
compSortKeyValues collate (x:xs) (y:ys) =
case compSortKeyValue collate x y of
EQ -> compSortKeyValues collate xs ys
GT -> GT
LT -> LT
-- Note! This prints negative (BC) dates as N(999,999,999 + y)
-- and positive (AD) dates as Py so they sort properly. (Note that
-- our unicode sorting ignores punctuation, so we use a letter
-- rather than -.) Do not use out of context of sort keys.
dateToText :: Date -> Text
dateToText = mconcat . map (T.pack . go . coerce) . dateParts
where
go :: [Int] -> String
go [] = ""
go [y] = toYear y <> "0000"
go [y,m] = toYear y <> printf "%02d" m <> "00"
go (y:m:d:_) = toYear y <> printf "%02d" m <> printf "%02d" d
toYear :: Int -> String
toYear y
| y < 0 = printf "N%09d" (999999999 + y)
| otherwise = printf "P%09d" y
evalLayout :: CiteprocOutput a
=> Layout a
-> (Int, Citation a)
-> Eval a (Output a)
evalLayout layout (citationGroupNumber, citation) = local
(\ctx -> ctx{ contextNameFormat =
combineNameFormat
(layoutNameFormat (layoutOptions layout))
(contextNameFormat ctx) } ) $ do
-- this is a hack to ensure that "ibid" detection will work
-- correctly in a citation starting with an author-only:
-- the combination AuthorOnly [SuppressAuthor] should not
-- count against a later Ibid citation.
let positionsInCitation =
case citationItems citation of
(c:_) | citationItemType c == AuthorOnly -> [0..]
_ -> [1..]
let addCitationAffixes =
maybe id (\pref xs ->
case xs of
[] -> []
(x:rest) -> x{ citationItemPrefix = Just $ pref <>
fromMaybe mempty (citationItemPrefix x) }
: rest)
(citationPrefix citation) .
maybe id (\suff xs ->
case reverse xs of
[] -> []
(x:rest) -> reverse rest ++ [x{ citationItemSuffix = Just $
fromMaybe mempty (citationItemSuffix x)
<> suff }])
(citationSuffix citation)
when (citationResetPosition citation) $
modify $ \st -> st{ stateLastCitedMap = mempty
, stateNoteMap = mempty }
items <- mapM evalItem' (zip positionsInCitation
(addCitationAffixes (citationItems citation)))
-- see display_SecondFieldAlignMigratePunctuation.txt
let moveSuffixInsideDisplay zs =
case (lastMay zs, formatSuffix formatting) of
(Just (Tagged (TagItem ct id') (Formatted f ys)), Just _) ->
(\ys' -> initSafe zs ++
[Tagged (TagItem ct id') (Formatted f ys')]) <$>
moveSuffixInsideDisplay ys
(Just (Formatted f ys), Just suff)
| isJust (formatDisplay f) ->
Just $ initSafe zs ++
[Formatted f{ formatSuffix = Just
(fromMaybe "" (formatSuffix f) <> suff) } ys]
| otherwise -> (\ys' -> initSafe zs ++ [Formatted f ys']) <$>
moveSuffixInsideDisplay ys
_ -> Nothing
return $
case moveSuffixInsideDisplay items of
Nothing -> formatted formatting items
Just items' -> formatted formatting{ formatSuffix = Nothing } items'
where
formatting = layoutFormatting layout
secondFieldAlign [Linked t (x:xs)] =
secondFieldAlign [x, Linked t xs]
secondFieldAlign (x:xs) =
formatted mempty{ formatDisplay = Just DisplayLeftMargin } [x]
: [formatted mempty{ formatDisplay = Just DisplayRightInline } xs]
secondFieldAlign [] = []
evalItem' (positionInCitation :: Int, item) = do
isBibliography <- asks contextInBibliography
styleOpts <- asks contextStyleOptions
let isNote = styleIsNoteStyle styleOpts
position <- getPosition citationGroupNumber (citationNoteNumber citation)
item positionInCitation
xs <- evalItem layout (position, item)
-- we only update the map in the citations section
unless isBibliography $ do
updateRefMap citationGroupNumber citation item
updateLastCitedMap citationGroupNumber positionInCitation citation item
return $
maybe id (\pref x -> grouped [Tagged TagPrefix (Literal pref), x])
(citationItemPrefix item)
. maybe id (\suff x -> grouped [x, Tagged TagSuffix (Literal suff)])
(citationItemSuffix item)
. (\x -> case x of
NullOutput -> x
_ -> Tagged (TagItem (citationItemType item)
(citationItemId item)) x)
. formatted mempty
. (if citationItemType item == AuthorOnly
then (:[]) . getAuthors . formatted mempty
else id)
. (case citationItemPrefix item of
-- this handles the case where the prefix is a whole sentence:
Just t | isNote
, ". " `T.isSuffixOf` toText t
, T.count " " (toText t) > 1 -- exclude single word
-> capitalizeInitialTerm
_ -> id)
. (if isBibliography
then
case styleSecondFieldAlign styleOpts of
Just SecondFieldAlignFlush -> secondFieldAlign
Just SecondFieldAlignMargin -> secondFieldAlign -- TODO?
Nothing -> id
else id)
$ xs
evalItem :: CiteprocOutput a
=> Layout a -> ([Position], CitationItem a) -> Eval a [Output a]
evalItem layout (position, item) = do
refmap <- gets stateRefMap
let addLangToFormatting lang (Formatted f xs) =
Formatted f{ formatLang = Just lang } xs
addLangToFormatting _ x = x
case lookupReference (citationItemId item) refmap of
Just ref -> withRWST
(\ctx st ->
(ctx{ contextLocator = citationItemLocator item
, contextLabel = citationItemLabel item
, contextPosition = position
},
st{ stateReference = ref
, stateUsedYearSuffix = False
, stateUsedIdentifier = False
, stateUsedTitle = False
}))
$ do xs <- eElements (layoutElements layout)
-- find identifiers that can be used to hyperlink the title
let mbident =
foldl (<|>) Nothing
[ IdentDOI <$> (valToText =<< lookupVariable "DOI" ref)
, IdentPMCID <$> (valToText =<< lookupVariable "PMCID" ref)
, IdentPMID <$> (valToText =<< lookupVariable "PMID" ref)
, IdentURL <$> (valToText =<< lookupVariable "URL" ref)
]
let mburl = identifierToURL <$> mbident
-- hyperlink any titles in the output
let linkTitle url (Tagged TagTitle x) = Linked url [Tagged TagTitle x]
linkTitle _ x = x
usedLink <- gets stateUsedIdentifier
usedTitle <- gets stateUsedTitle
inBiblio <- asks contextInBibliography
-- when no links were rendered for a bibliography item, hyperlink
-- the title, if it exists, otherwise hyperlink the whole item
let xs' =
if usedLink || not inBiblio
then xs
else case mburl of
Nothing -> xs
Just url -> if usedTitle
-- hyperlink the title
then fmap (transform (linkTitle url)) xs
-- hyperlink the entire bib item
else [Linked url xs]
let mblang = lookupVariable "language" ref
>>= valToText
>>= either (const Nothing) Just . parseLang
return $
case mblang of
Nothing -> xs'
Just lang -> map
(transform (addLangToFormatting lang)) xs'
Nothing -> do
warn $ "citation " <> unItemId (citationItemId item) <>
" not found"
return [Literal $ addFontWeight BoldWeight
$ fromText $ unItemId (citationItemId item) <> "?"]
updateRefMap :: Int -> Citation a -> CitationItem a -> Eval a ()
updateRefMap citationGroupNumber citation item = do
isNote <- asks (styleIsNoteStyle . contextStyleOptions)
lastCitedMap <- gets stateLastCitedMap
let notenum = NumVal $ fromMaybe citationGroupNumber (citationNoteNumber citation)
-- keep track of how many citations in each note.
-- two citations from the same note don't count as "alone"
-- for ibid purposes. See citation-style-language/documentation#121
case citationNoteNumber citation of
Nothing -> return ()
Just n -> modify $ \st ->
st{ stateNoteMap = M.alter
(maybe
(Just (Set.singleton (citationItemId item)))
(Just . Set.insert (citationItemId item)))
n
(stateNoteMap st) }
case M.lookup (citationItemId item) lastCitedMap of
Nothing | isNote -> -- first citation
modify $ \st ->
st{ stateRefMap = ReferenceMap $
M.adjust (\ref -> ref{ referenceVariables =
M.insert "first-reference-note-number" notenum
(referenceVariables ref)})
(citationItemId item)
(unReferenceMap $ stateRefMap st) }
_ -> return ()
updateLastCitedMap :: Int -> Int -> Citation a -> CitationItem a -> Eval a ()
updateLastCitedMap citationGroupNumber positionInCitation citation item = do
unless (citationItemType item == AuthorOnly) $
modify $ \st ->
st{ stateLastCitedMap =
M.insert (citationItemId item)
(citationGroupNumber, citationNoteNumber citation,
positionInCitation,
(case citationItems citation of
[_] -> True
[x,y] -> citationItemId x == citationItemId y
&& citationItemType x == AuthorOnly
&& citationItemType y == SuppressAuthor
_ -> False),
citationItemLabel item,
citationItemLocator item)
$ stateLastCitedMap st }
-- | The first-occurring element tagged as Names will be
-- treated as the "author"; generally that is the author
-- but it might be the editor if it's an edited volume.
getAuthors :: Output a -> Output a
getAuthors x =
headDef NullOutput [y | y@(Tagged TagNames{} _) <- universe x]
removeNames :: Output a -> Output a
removeNames (Tagged TagNames{} _) = NullOutput
removeNames x = x
capitalizeInitialTerm :: [Output a] -> [Output a]
capitalizeInitialTerm [] = []
capitalizeInitialTerm (z:zs) = go z : zs
where
go (Tagged (TagTerm t) x) =
Tagged (TagTerm t)
(formatted mempty{ formatTextCase = Just CapitalizeFirst } [x])
go (Formatted f xs) = Formatted f (capitalizeInitialTerm xs)
go (Tagged tg x) = Tagged tg (go x)
go x = x
getPosition :: Int -> Maybe Int -> CitationItem a -> Int -> Eval a [Position]
getPosition groupNum mbNoteNum item posInGroup = do
inBibliography <- asks contextInBibliography
if inBibliography
then return []
else getPosition'
where
getPosition' = do
lastCitedMap <- gets stateLastCitedMap
noteMap <- gets stateNoteMap
case M.lookup (citationItemId item) lastCitedMap of
Nothing -> return [FirstPosition]
Just (prevGroupNum, mbPrevNoteNum,
prevPosInGroup, prevAloneInGroup,
prevLabel, prevLoc) -> do
isNote <- asks (styleIsNoteStyle . contextStyleOptions)
nearNoteDistance <- fromMaybe 5 <$>
asks (styleNearNoteDistance . contextStyleOptions)
let noteNum = fromMaybe groupNum mbNoteNum
let prevNoteNum = fromMaybe prevGroupNum mbPrevNoteNum
let prevAloneInNote =
case M.lookup prevNoteNum noteMap of
Nothing -> True
Just s -> Set.size s <= 1
let prevAlone = prevAloneInGroup && prevAloneInNote
return $
(if isNote && noteNum - prevNoteNum < nearNoteDistance
then (NearNote :)
else id) .
(if (groupNum == prevGroupNum &&
posInGroup == prevPosInGroup + 1) ||
(groupNum == prevGroupNum + 1 &&
(((-) <$> mbNoteNum <*> mbPrevNoteNum) <= Just 1) &&
posInGroup == 1 &&
prevAlone)
then case (prevLoc, citationItemLocator item) of
(Nothing, Just _)
-> (IbidWithLocator :) . (Ibid :)
(Nothing, Nothing) -> (Ibid :)
(Just _, Nothing) -> id
(Just l1, Just l2)
| l1 == l2
, citationItemLabel item == prevLabel
-> (Ibid :)
| otherwise
-> (IbidWithLocator :) . (Ibid :)
else id)
$ [Subsequent]
eElements :: CiteprocOutput a => [Element a] -> Eval a [Output a]
eElements els = mconcat <$> mapM eElement els
eElement :: CiteprocOutput a => Element a -> Eval a [Output a]
eElement (Element etype formatting) =
case etype of
EText (TextMacro name) -> do
macros <- asks contextMacros
case M.lookup name macros of
Nothing -> [] <$ warn ("undefined macro " <> name)
Just els -> eElement (Element (EGroup True els) formatting)
EText textType ->
(:[]) <$> withFormatting formatting (eText textType)
ENumber var nform ->
(:[]) <$> withFormatting formatting (eNumber var nform)
EGroup isMacro els ->
(:[]) <$> eGroup isMacro formatting els
EChoose chooseParts -> eChoose chooseParts
ELabel var termform pluralize ->
(:[]) <$> eLabel var termform pluralize formatting
EDate var dateType mbShowDateParts dps ->
(:[]) <$> eDate var dateType mbShowDateParts dps formatting
ENames vars namesFormat subst ->
(:[]) <$> eNames vars namesFormat subst formatting
withFormatting :: CiteprocOutput a
=> Formatting -> Eval a (Output a) -> Eval a (Output a)
withFormatting (Formatting Nothing Nothing Nothing Nothing Nothing Nothing
Nothing Nothing Nothing Nothing Nothing
False False False) p
= p
withFormatting formatting p = do
-- Title case conversion only affects English-language items.
lang <- asks (localeLanguage . contextLocale)
ref <- gets stateReference
let reflang = case M.lookup "language" (referenceVariables ref) of
Just (TextVal t) ->
either (const Nothing) Just $ parseLang t
Just (FancyVal x) ->
either (const Nothing) Just $ parseLang $ toText x
_ -> Nothing
let mainLangIsEn Nothing = False
mainLangIsEn (Just l) = langLanguage l == "en"
let isEnglish = case reflang of
Just l -> mainLangIsEn (Just l)
Nothing -> mainLangIsEn lang
let formatting' = if formatTextCase formatting == Just TitleCase &&
not isEnglish
then formatting{ formatTextCase = Nothing }
else formatting
res <- p
return $ formatted formatting' [res]
lookupTerm :: Term -> Eval a [(Term, Text)]
lookupTerm term = do
terms <- asks (localeTerms . contextLocale)
let term' = if termName term == "sub verbo"
then term{ termName = "sub-verbo" }
else term
case M.lookup (termName term') terms of
Just ts -> return $ [ (term'',t)
| (term'',t) <- ts
, term' <= term''
]
Nothing -> return []
lookupTerm' :: CiteprocOutput a => Term -> Eval a (Output a)
lookupTerm' term = lookupTerm term >>= f
where
f [] =
-- “verb-short” first falls back to “verb”, “symbol”
-- first falls back to “short”, and “verb” and “short”
-- both fall back to “long”.
case termForm term of
VerbShort -> lookupTerm' term{ termForm = Verb }
Symbol -> lookupTerm' term{ termForm = Short }
Verb -> lookupTerm' term{ termForm = Long }
Short -> lookupTerm' term{ termForm = Long }
_ -> return NullOutput
f ((_,t):_) = if T.null t
then return NullOutput
else do
locale <- asks contextLocale
return $ Literal $ parseCslJson locale t
pageRange :: CiteprocOutput a => Text -> Eval a (Output a)
pageRange x = do
delimTerms <- lookupTerm emptyTerm{ termName = "page-range-delimiter" }
let pageDelim = case delimTerms of
(_,d):_ -> d
_ -> ""
mbPageRangeFormat <- asks (stylePageRangeFormat . contextStyleOptions)
let ranges = map T.strip $ T.groupBy
(\c d -> not (c == ',' || c == '&' || d == ',' || d == '&'))
x
return $ formatted mempty{ formatDelimiter = Just " " }
$ map (literal . formatPageRange mbPageRangeFormat pageDelim) ranges
enDash :: Char
enDash = '\x2013'
formatPageRange :: Maybe PageRangeFormat
-> Text
-> Text
-> Text
formatPageRange _ _ "&" = "&"
formatPageRange _ _ "," = ","
formatPageRange mbPageRangeFormat delim t =
let isDash '-' = True
isDash '\x2013' = True
isDash _ = False
rangeParts = if "\\-" `T.isInfixOf` t
then [T.replace "\\-" "-" t]
else map T.strip $ T.split isDash t
inRange pref xs
| T.null pref = mconcat (intersperse delim xs)
| otherwise = mconcat
(pref : intersperse delim xs)
changedDigits xs ys =
length $ filter not $ zipWith (==) (xs ++ repeat ' ') ys
minimal threshold pref x y =
case T.commonPrefixes x y of
Just (_comm, restx, resty) | T.length restx == T.length resty ->
if T.length resty < threshold && T.length y >= threshold
then inRange pref [x, T.takeEnd threshold y]
else inRange pref [x, resty]
_ -> inRange pref [x, y]
in case rangeParts of
[] -> ""
[w] -> w
[w,v]
| Nothing <- mbPageRangeFormat -> inRange mempty [w,v]
| Just fmt <- mbPageRangeFormat -> do
let wPrefix = T.dropWhileEnd isDigit w
let vPrefix = T.dropWhileEnd isDigit v
if wPrefix == vPrefix
then do
let pref = wPrefix
let x = T.drop (T.length wPrefix) w
let y = T.drop (T.length vPrefix) v
let xlen = T.length x
let ylen = T.length y
let y' = if ylen < xlen
then T.take (xlen - ylen) x <> y
else y
case fmt of
PageRangeChicago15
| xlen < 3 -> inRange pref [x, y']
| "00" `T.isSuffixOf` x -> inRange pref [x, y']
| T.take 1 (T.takeEnd 2 x) == "0"
, T.take 1 (T.takeEnd 2 y') == "0"
-> minimal 1 pref x y'
| xlen == 4
, changedDigits (T.unpack x) (T.unpack y') >= 3
-> inRange pref [x, y']
| otherwise -> minimal 2 pref x y'
PageRangeChicago16
| xlen < 3 -> inRange pref [x, y']
| "00" `T.isSuffixOf` x -> inRange pref [x, y']
| T.take 1 (T.takeEnd 2 x) == "0"
, T.take 1 (T.takeEnd 2 y') == "0"
-> minimal 1 pref x y'
| otherwise -> minimal 2 pref x y'
PageRangeExpanded ->
inRange mempty [pref <> x, pref <> y']
PageRangeMinimal -> minimal 1 pref x y'
PageRangeMinimalTwo -> minimal 2 pref x y'
else inRange mempty [w,v]
_ -> t
eText :: CiteprocOutput a => TextType -> Eval a (Output a)
eText (TextVariable varForm v) = do
ref <- gets stateReference
-- Note: we do book keeping on how many variables
-- have been accessed and how many are nonempty,
-- in order to properly handle the group element,
-- which is implicitly conditional.
case v of
"id" -> do
updateVarCount 1 1
return $ Literal $ fromText $ coerce $ referenceId ref
"type" -> do
updateVarCount 1 1
return $ Literal $ fromText $ referenceType ref
"locator" -> do
let handleAmpersands (Just t) | T.any (=='&') t = do
ts <- lookupTerm emptyTerm { termName = "and"
, termForm = Symbol }
case ts of
(_,x):_ -> return (Just $ T.replace "&" x t)
[] -> return (Just t)
handleAmpersands x = return x
mbv <- asks contextLocator >>= handleAmpersands
mbl <- asks contextLabel
case mbv of
Just x | isNothing mbl || mbl == Just "page" -> do
updateVarCount 1 1
Tagged TagLocator <$> pageRange x
| otherwise -> do
updateVarCount 1 1
locale <- asks contextLocale
return $ Tagged TagLocator $
Literal . parseCslJson locale $
formatPageRange Nothing (T.singleton enDash) x
Nothing -> NullOutput <$ updateVarCount 1 0
"year-suffix" -> do
disamb <- gets (referenceDisambiguation . stateReference)
case disamb >>= disambYearSuffix of
Just x -> do
-- we don't update var count here; this doesn't
-- count as a variable
return $ Tagged (TagYearSuffix x)
(Literal (fromText (showYearSuffix x)))
Nothing -> return NullOutput
"citation-number" -> do
mbv <- askVariable v
case mbv of
Just (NumVal x) -> return $
Tagged (TagCitationNumber x) $
Literal $ fromText (T.pack (show x))
_ -> do
warn $ "citation-number not defined for " <>
coerce (referenceId ref)
return NullOutput
"citation-label" -> do -- these need year suffix too
mbv <- askVariable v
mbsuff <- getYearSuffix
case mbv of
Just (TextVal t) -> return $
Tagged TagCitationLabel $
grouped $
Literal (fromText t)
: maybeToList mbsuff
Just (FancyVal x) -> return $
Tagged TagCitationLabel $
grouped $
Literal x
: maybeToList mbsuff
_ -> do
warn $ "citation-label of unknown type for " <>
coerce (referenceId ref)
return NullOutput
"DOI" -> handleIdent id IdentDOI
"PMCID" -> handleIdent id IdentPMCID
"PMID" -> handleIdent id IdentPMID
"URL" -> handleIdent id IdentURL
_ -> do
mbv <- if varForm == ShortForm
then do
mbval <- (<|>) <$> askVariable (v <> "-short")
<*> askVariable v
case mbval of
Nothing -> return Nothing
Just val -> do
mbAbbrevs <- asks contextAbbreviations
return $ Just $ fromMaybe val
$ mbAbbrevs >>= lookupAbbreviation v val
else askVariable v
res <- case mbv of
Just (TextVal x)
| v == "page" -> pageRange x
| otherwise -> return $ Literal $ fromText x
Just (FancyVal x)
| v == "page" -> pageRange (toText x)
| otherwise -> return $ Literal x
Just (NumVal x) -> return $ Literal
$ fromText (T.pack (show x))
_ -> return NullOutput
unless (isNothing mbv) $ deleteSubstitutedVariables
(v : if varForm == ShortForm -- see #174
then [v <> "-short"]
else [])
if v == "title" && res /= NullOutput
then do
modify (\st -> st { stateUsedTitle = True })
-- tag title so we can hyperlink it later
return $ Tagged TagTitle res
else return res
where
handleIdent :: CiteprocOutput b => (Text -> Text) -> (Text -> Identifier) -> Eval b (Output b)
handleIdent f identConstr = do
mbv <- askVariable v
deleteSubstitutedVariables [v]
case f <$> (valToText =<< mbv) of
Nothing -> return NullOutput
Just t -> do
-- create link and remember that we've done so far
modify (\st -> st { stateUsedIdentifier = True })
let url = identifierToURL (identConstr t)
return $ Linked url [Literal $ fromText t]
eText (TextMacro name) = do
warn ("unexpanded macro " <> name)
return NullOutput
eText (TextValue t) = do
locale <- asks contextLocale
return . Literal $ parseCslJson locale t
eText (TextTerm term) = do
t' <- lookupTerm' term
t'' <- if termName term == "no date"
then do
mbsuff <- getYearSuffix
case mbsuff of
Nothing -> return t'
Just suff
| termForm term == Long
-> return $ grouped [t', Literal (fromText " "), suff]
| otherwise -> return $ grouped [t', suff]
else return t'
return $ Tagged (TagTerm term) t''
-- | Delete substituted variables so they aren't used again.
deleteSubstitutedVariables :: [Variable] -> Eval a ()
deleteSubstitutedVariables vars = do
inSubst <- asks contextInSubstitute
when inSubst $
modify $ \st -> -- delete variables so they aren't used again...
st{ stateReference =
let Reference id' type' d' m' = stateReference st
in Reference id' type' d' (foldr (\v -> M.insert v SubstitutedVal) m' vars) }
-- Numbers with prefixes or suffixes are never ordinalized
-- or rendered in roman numerals (e.g. “2E” remains “2E).
-- Numbers without affixes are individually transformed
-- (“2, 3” can become “2nd, 3rd”, “second, third” or “ii, iii”).
-- So, first we split on punctuation and spaces:
splitNums :: Text -> [Val a]
splitNums = map go . T.groupBy sameClass
where
go t = case readAsInt t of
Just i -> NumVal i
Nothing -> TextVal $ if t == "-"
then T.singleton enDash
else t
sameClass c d = (isSepPunct c || isSpace c) ==
(isSepPunct d || isSpace d)
--- punctuation that separates pages in a range
isSepPunct :: Char -> Bool
isSepPunct ',' = True
isSepPunct ';' = True
isSepPunct '-' = True
isSepPunct '\x2013' = True
isSepPunct _ = False
eLabel :: CiteprocOutput a
=> Variable
-> TermForm
-> Pluralize
-> Formatting
-> Eval a (Output a)
eLabel var termform pluralize formatting = do
ref <- gets stateReference
let getTerm :: CiteprocOutput a
=> Text -> Val a -> Eval a (Output a)
getTerm termname x = do
let determinePlural t
| var == "number-of-volumes"
, t /= "1" && t /= "0" = Plural
| "\\-" `T.isInfixOf` t = Singular
| length (splitNums t) > 1 = Plural
-- see label_CollapsedPageNumberPluralDetection.txt
| otherwise = Singular
let number = case pluralize of
AlwaysPluralize -> Plural
NeverPluralize -> Singular
ContextualPluralize ->
case x of
TextVal t -> determinePlural t
NumVal n -> determinePlural (T.pack (show n))
FancyVal w -> determinePlural (toText w)
NamesVal ns -> if length ns > 1
then Plural
else Singular
_ -> Singular
let term = emptyTerm{ termName = termname
, termForm = termform
, termNumber = Just number }
lookupTerm' term
locator <- asks contextLocator
label <- asks contextLabel
let var' = if var == "editortranslator" then "editor" else var
term' <- case (var, locator, label) of
("locator", Just loc, Just lab) -> getTerm lab (TextVal loc)
("locator", Just loc, Nothing)
| beginsWithSpace loc -> return NullOutput
| ". " `T.isPrefixOf` T.dropWhile isLetter loc
-> return NullOutput
| otherwise -> getTerm "page" (TextVal loc)
_ -> case lookupVariable var' ref of
Nothing -> return NullOutput
Just x -> getTerm (fromVariable var) x
return $
case formatSuffix formatting of
Just suff
| "." `T.isPrefixOf` suff
-> case term' of
Literal x
| "." `T.isSuffixOf` toText x
, not (formatStripPeriods formatting)
-> formatted
formatting{ formatSuffix =
if T.length suff <= 1
then Nothing
else Just (T.drop 1 suff) }
[term']
_ -> formatted formatting [term']
_ -> formatted formatting [term']
eDate :: CiteprocOutput a
=> Variable
-> DateType
-> Maybe ShowDateParts
-> [DP]
-> Formatting
-> Eval a (Output a)
eDate var dateType mbShowDateParts dps formatting
| var == mempty = do
warn "skipping date element with no variable attribute set"
return NullOutput
| otherwise = do
datevar <- askVariable var
localeDateElt <- M.lookup dateType <$> asks (localeDate . contextLocale)
let addOverride newdps olddp accum =
case find ((== dpName olddp) . dpName) newdps of
Just x -> x{ dpFormatting =
dpFormatting olddp <> dpFormatting x } : accum
Nothing -> olddp : accum
let useDatePart dp =
case mbShowDateParts of
Just Year -> dpName dp == DPYear
Just YearMonth -> dpName dp == DPYear || dpName dp == DPMonth
_ -> True
let (dps', formatting') =
case localeDateElt of
Just (Element (EDate _ _ _ edps) f)
-> (filter useDatePart $ foldr (addOverride dps) [] edps,
formatting <> f)
_ -> (filter useDatePart dps, formatting)
case datevar of
Nothing ->
-- warn $ "date element for empty variable " <> var
return NullOutput
Just (DateVal date) ->
case dateLiteral date of
Just t -> return $ formatted formatting' [Literal $ fromText t]
Nothing -> do
let dateparts = case dateSeason date of
Just i ->
case dateParts date of
[DateParts [y]] ->
[DateParts [y, 12 + i]] -- pseudo-mo
xs -> xs
Nothing -> dateParts date
xs <- formatDateParts dps'
$ case dateparts of
[] -> (DateParts [], Nothing)
[d] -> (d, Nothing)
(d:e:_) -> (d, Just e)
when (all (== NullOutput) xs) $
-- back off on the claim to nonemptiness
-- when the only match are in date parts that
-- we aren't printing; see
-- group_SuppressTermWhenNoOutputFromPartialDate.txt
updateVarCount 0 (-1)
yearSuffix <- getYearSuffix
return $ Tagged (TagDate date) $ formatted formatting'
(xs ++ maybeToList yearSuffix)
Just _ -> do
warn $ "date element for variable with non-date value " <>
fromVariable var
return NullOutput
getYearSuffix :: CiteprocOutput a => Eval a (Maybe (Output a))
getYearSuffix = do
disamb <- gets (referenceDisambiguation . stateReference)
sopts <- asks contextStyleOptions
-- we only want year suffix on first occurence of year
-- in a reference:
usedYearSuffix <- gets stateUsedYearSuffix
case disamb >>= disambYearSuffix of
Just c
| not (styleUsesYearSuffixVariable sopts)
, not usedYearSuffix
-> do
modify $ \st -> st{ stateUsedYearSuffix = True }
return $ Just $ Tagged (TagYearSuffix c)
(Literal (fromText (showYearSuffix c)))
| otherwise -> return Nothing
Nothing -> return Nothing
formatSortDate :: CiteprocOutput a
=> [DP] -> (Maybe Int, Maybe Int, Maybe Int) -> Output a
formatSortDate dpSpecs (mbyr, mbmo, mbda) =
Literal $ fromText $ T.pack $ sortyr <> sortmo <> sortda
where
sortyr = case mbyr of
Just yr | any ((== DPYear) . dpName) dpSpecs
-> printf "%04d" (yr + 5000) -- to work with BC and AD
_ -> ""
sortmo = case mbmo of
Just mo | any ((== DPMonth) . dpName) dpSpecs
-> printf "%02d" mo
_ -> ""
sortda = case mbda of
Just da | any ((== DPDay) . dpName) dpSpecs
-> printf "%02d" da
_ -> ""
formatDateParts :: CiteprocOutput a
=> [DP] -> (DateParts, Maybe DateParts) -> Eval a [Output a]
formatDateParts dpSpecs (date, mbNextDate) = do
inSortKey <- asks contextInSortKey
let (yr,mo,da) = bindDateParts date
case bindDateParts <$> mbNextDate of
Nothing
| inSortKey -> return [formatSortDate dpSpecs (yr, mo, da)]
| otherwise -> mapM (eDP (yr,mo,da)) dpSpecs
Just (nextyr, nextmo, nextda)
| inSortKey -> return [formatSortDate dpSpecs (yr, mo, da),
Literal (fromText "-"),
formatSortDate dpSpecs (nextyr, nextmo, nextda)]
| otherwise -> do
let isOpenRange = nextyr == Just 0 &&
isNothing nextmo &&
isNothing nextda
-- figure out where the range goes:
-- first to differ out of the items selected by dpSpecs, in order y->m->d
let dpToNs DPYear = (yr, nextyr)
dpToNs DPMonth = (mo, nextmo)
dpToNs DPDay = (da, nextda)
let areSame = takeWhile (uncurry (==) . dpToNs) $
sort $ map dpName dpSpecs
let (sames1, rest) = span (\dp -> dpName dp `elem` areSame) dpSpecs
let (diffs, sames2) = span (\dp -> dpName dp `notElem` areSame) rest
let cleanup = filter (/= NullOutput)
sames1' <- cleanup <$> mapM (eDP (yr,mo,da)) sames1
diffsLeft' <- cleanup <$> mapM (eDP (yr,mo,da)) diffs
diffsRight' <- cleanup <$> mapM (eDP (nextyr,nextmo,nextda)) diffs
sames2' <- cleanup <$> mapM (eDP (yr,mo,da)) sames2
let rangeDelim = case sortOn dpName diffs of
[] -> Nothing
(dp:_) -> Just $ dpRangeDelimiter dp
let toRange xs ys =
case lastMay xs of
Just xlast ->
initSafe xs ++
[Formatted mempty{ formatDelimiter = rangeDelim }
[xlast, headDef (Literal mempty) ys]] ++
tailSafe ys
_ -> xs ++ ys
return $
if isOpenRange
then [Formatted mempty{ formatSuffix = rangeDelim }
(removeLastSuffix $ sames1' ++ diffsLeft')]
else removeLastSuffix $
sames1' ++
toRange (removeLastSuffix diffsLeft')
(removeFirstPrefix diffsRight') ++
sames2'
removeFirstPrefix :: [Output a] -> [Output a]
removeFirstPrefix (Formatted f xs : rest) =
Formatted f{ formatPrefix = Nothing } xs : rest
removeFirstPrefix xs = xs
removeLastSuffix :: [Output a] -> [Output a]
removeLastSuffix [] = []
removeLastSuffix [Formatted f xs] =
[Formatted f{ formatSuffix = Nothing } xs ]
removeLastSuffix (x:xs) = x : removeLastSuffix xs
eDP :: CiteprocOutput a
=> (Maybe Int, Maybe Int, Maybe Int) -> DP -> Eval a (Output a)
eDP (yr,mo,da) dp = do
let mbn = case dpName dp of
DPDay -> da
DPMonth -> mo
DPYear -> yr
case mbn of
Nothing -> return NullOutput
Just 0 | dpName dp == DPYear
-> return $ Literal mempty -- open date range
Just n -> do
let litStr = return . Literal . fromText . T.pack
suffix <- case dpName dp of
DPYear
| n < 0
-> (:[]) <$> lookupTerm' emptyTerm{ termName = "bc" }
| n > 0
, n < 1000
-> (:[]) <$> lookupTerm' emptyTerm{ termName = "ad" }
| otherwise -> return []
_ -> return []
let n' = case dpName dp of
DPYear -> abs n
_ -> n
formatted (dpFormatting dp) . (:suffix) <$>
case dpForm dp of
DPNumeric -> litStr (show n')
DPNumericLeadingZeros -> litStr (printf "%02d" n')
DPOrdinal -> do
locale <- asks contextLocale
if localeLimitDayOrdinalsToDay1 locale == Just True && n' /= 1
then litStr (show n')
else evalNumber NumberOrdinal Nothing (NumVal n')
form -> do
let termForMonth s = emptyTerm{ termName = T.pack s
, termForm = if form == DPShort
then Short
else Long }
case dpName dp of
DPMonth | n <= 0 -> return NullOutput
| n <= 12 ->
lookupTerm' $ termForMonth (printf "month-%02d" n)
| n <= 16 -> -- season pseudo-month
lookupTerm' $ termForMonth (printf "season-%02d" (n - 12))
| n <= 20 -> -- season pseudo-month
lookupTerm' $ termForMonth (printf "season-%02d" (n - 16))
| otherwise -> -- season pseudo-month
lookupTerm' $ termForMonth (printf "season-%02d" (n - 20))
_ -> litStr (show n')
bindDateParts :: DateParts -> (Maybe Int, Maybe Int, Maybe Int)
bindDateParts date =
case date of
DateParts (y:m:d:_) -> (Just y,Just m,Just d)
DateParts [y,m] -> (Just y,Just m,Nothing)
DateParts [y] -> (Just y,Nothing,Nothing)
_ -> (Nothing,Nothing,Nothing)
eNames :: CiteprocOutput a
=> [Variable]
-> NamesFormat
-> [Element a]
-> Formatting
-> Eval a (Output a)
eNames vars namesFormat' subst formatting' = do
substituteNamesForm <- asks contextSubstituteNamesForm
cNameFormat <- asks contextNameFormat
let formatting = formatting'{ formatDelimiter =
formatDelimiter formatting' <|>
nameDelimiter cNameFormat }
inSortKey <- asks contextInSortKey
let namesFormat =
case substituteNamesForm of
Nothing -> namesFormat'
Just subs ->
NamesFormat
{ namesLabel =
if inSortKey -- see test/csl/sort_DropNameLabelInSort.txt
-- though this doesn't seem to be in the spec
then Nothing
else namesLabel namesFormat' <|> namesLabel subs
, namesEtAl = namesEtAl namesFormat' <|>
namesEtAl subs
, namesName = namesName namesFormat' <|>
namesName subs
, namesLabelBeforeName =
if isJust (namesName namesFormat') &&
isJust (namesLabel namesFormat')
then namesLabelBeforeName namesFormat'
else namesLabelBeforeName subs
}
vars' <- if "editor" `elem` vars && "translator" `elem` vars
then do
ed <- askVariable "editor"
tr <- askVariable "translator"
let termform =
case namesLabel namesFormat of
Just (termform', _, _) -> termform'
_ -> Long
mbterm <- lookupTerm'
emptyTerm{ termName = "editortranslator"
, termForm = termform }
if ed == tr && mbterm /= NullOutput
then return $ "editortranslator" :
[v | v <- vars
, v /= "editor"
, v /= "translator"]
else return vars
else return vars
inSubstitute <- asks contextInSubstitute
let (nameFormat, nameFormatting') =
case namesName namesFormat of
Nothing -> (cNameFormat, mempty)
Just (nf,f) -> (combineNameFormat nf cNameFormat, f)
let nameFormatting = nameFormatting' <>
formatting{ formatPrefix = Nothing
, formatSuffix = Nothing
, formatDelimiter = Nothing }
rawContribs <- mapM (\var -> (var,) <$>
askVariable
(if var == "editortranslator"
then "editor"
else var)) vars'
if all (isNothing . snd) rawContribs
then
case subst of
els@(_:_) | not inSubstitute -> do
res <- withRWST
(\ctx st -> (ctx{ contextInSubstitute = True
, contextSubstituteNamesForm =
Just namesFormat },
st)) $ eSubstitute els
return $
case res of
(Tagged TagNames{} _:_) -> formatted formatting res
-- important to have title (or whatever) tagged as
-- substituting for Names, for purposes of
-- disambiguation:
_ -> formatted formatting
[Tagged (TagNames "" namesFormat []) $ grouped res]
_ -> return NullOutput
else do
xs <- mapM (formatNames namesFormat nameFormat nameFormatting)
rawContribs
deleteSubstitutedVariables [v | (v, Just _) <- rawContribs ]
return $
case nameForm nameFormat of
Just CountName -> Literal $ fromText $ T.pack $ show $ length
[name
| Tagged (TagName name) _ <- concatMap universe xs]
_ -> formatted mempty{ formatPrefix = formatPrefix formatting
, formatSuffix = formatSuffix formatting
, formatDelimiter =
formatDelimiter formatting } xs
eSubstitute :: CiteprocOutput a
=> [Element a]
-> Eval a [Output a]
eSubstitute els =
case els of
[] -> return []
(e:es) -> do
res <- eElement e
case dropWhile (== NullOutput) res of
[] -> eSubstitute es
(x:_) -> return [x]
formatNames :: CiteprocOutput a
=> NamesFormat
-> NameFormat
-> Formatting
-> (Variable, Maybe (Val a))
-> Eval a (Output a)
formatNames namesFormat nameFormat formatting (var, Just (NamesVal names)) =
do
isSubsequent <- (Subsequent `elem`) <$> asks contextPosition
isInBibliography <- asks contextInBibliography
let (etAlMin, etAlUseFirst) =
if not isInBibliography && isSubsequent
then (nameEtAlSubsequentMin nameFormat <|> nameEtAlMin nameFormat,
nameEtAlSubsequentUseFirst nameFormat <|>
nameEtAlUseFirst nameFormat)
else (nameEtAlMin nameFormat, nameEtAlUseFirst nameFormat)
inSortKey <- asks contextInSortKey
disamb <- gets (referenceDisambiguation . stateReference)
names' <- zipWithM (formatName nameFormat formatting) [1..] names
let delim' = fromMaybe ", " $
(formatDelimiter formatting <|> nameDelimiter nameFormat)
let delim = case (beginsWithSpace <$> formatSuffix formatting,
endsWithSpace <$> formatPrefix formatting) of
(Just True, Just True) -> T.strip delim'
(Just True, _) -> T.stripStart delim'
(_, Just True) -> T.stripEnd delim'
_ -> delim'
let numnames = length names'
label <- case namesLabel namesFormat of
Just (termform, pluralize, lf) | not inSortKey ->
(:[]) <$> eLabel var termform pluralize lf
_ -> return []
mbAndTerm <- case nameAndStyle nameFormat of
Just Symbol -> do
ts <- lookupTerm emptyTerm { termName = "and"
, termForm = Symbol }
case ts of
(_,x):_ -> return $ Just x
[] -> return $ Just "&"
Just _ -> fmap snd . listToMaybe <$>
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 = fromMaybe False $ 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
Nothing -> delim
Just _ ->
case fromMaybe PrecedesContextual
(nameDelimiterPrecedesLast nameFormat) of
PrecedesContextual
| numnames > 2 -> delim
| otherwise -> ""
PrecedesAfterInvertedName
-> case nameAsSortOrder nameFormat of
Just NameAsSortOrderAll -> delim
Just NameAsSortOrderFirst
| numnames < 3 -> delim
_ -> ""
PrecedesAlways -> delim
PrecedesNever -> ""
let andPreSpace = case beforeLastDelim of
"" -> case formatSuffix formatting of
Just t | endsWithSpace t -> ""
_ -> " "
t | endsWithSpace t -> ""
_ -> " "
let andPostSpace = case formatPrefix formatting of
Just t | beginsWithSpace t -> ""
_ -> " "
let mbAndDelim = case mbAndTerm of
Nothing -> Nothing
Just t -> Just (andPreSpace <> t <> andPostSpace)
let etAlPreSpace = case formatSuffix formatting of
Just t | endsWithSpace t -> ""
_ -> " "
let beforeEtAl =
case fromMaybe PrecedesContextual
(nameDelimiterPrecedesEtAl nameFormat) of
PrecedesContextual
| numnames > 2
, etAlThreshold > Just 1 -> delim
| otherwise -> etAlPreSpace
PrecedesAfterInvertedName
-> case nameAsSortOrder nameFormat of
Just NameAsSortOrderAll -> delim
Just NameAsSortOrderFirst
| etAlThreshold < Just 2 -> delim
_ -> etAlPreSpace
PrecedesAlways -> delim
PrecedesNever -> etAlPreSpace
etAl <- case namesEtAl namesFormat of
Just (term, f) -> withFormatting f{
formatPrefix = removeDoubleSpaces <$>
Just beforeEtAl <> formatPrefix f } $
lookupTerm' emptyTerm{ termName = term }
Nothing
| etAlUseLast && not finalNameIsOthers ->
return $
Formatted mempty{ formatPrefix = Just beforeEtAl }
[literal "\x2026 "] -- ellipses
| otherwise ->
Formatted mempty{ formatPrefix = Just beforeEtAl }
. (:[]) <$> lookupTerm' emptyTerm{ termName = "et-al" }
let addNameAndDelim name idx
| etAlThreshold == Just 0 = NullOutput
| idx == 1 = name
| maybe False (idx - 1 ==) etAlThreshold =
if inSortKey
then NullOutput
else etAl
| idx == numnames
, etAlUseLast
, maybe False (idx - 1 >=) etAlThreshold
= name
| maybe False (idx - 1 >) etAlThreshold = NullOutput
| inSortKey = name
| idx == numnames
= formatted mempty{ formatPrefix =
Just (beforeLastDelim <> fromMaybe "" mbAndDelim) }
[name]
| otherwise = formatted mempty{ formatPrefix = Just delim } [name]
let names'' = zipWith addNameAndDelim names' [1..]
-- we set delimiter to Nothing because we're handling delim
-- manually, to allow for things like "and" and no final comma
return $ Tagged (TagNames var namesFormat names)
$ grouped $
if namesLabelBeforeName namesFormat
then label ++ names''
else names'' ++ label
formatNames _ _ _ (var, Just x) = do
when (x /= SubstitutedVal) $
warn $ "ignoring non-name value for variable " <> fromVariable var
return NullOutput
formatNames _ _ _ (_, Nothing) = return NullOutput
formatName :: CiteprocOutput a
=> NameFormat -> Formatting -> Int -> Name -> Eval a (Output a)
formatName nameFormat formatting order name = do
disamb <- gets (referenceDisambiguation . stateReference)
let nameFormat' =
case M.lookup name . disambNameMap =<< disamb of
Nothing -> nameFormat
Just AddInitials
-> nameFormat{ nameForm = Just LongName }
Just AddInitialsIfPrimary
| order == 1 -> nameFormat{ nameForm = Just LongName }
| otherwise -> nameFormat
Just AddGivenName ->
nameFormat{ nameForm = Just LongName
, nameInitialize = Just False
}
Just AddGivenNameIfPrimary
| order == 1 ->
nameFormat{ nameForm = Just LongName
, nameInitialize = Just False
}
| otherwise -> nameFormat
Tagged (TagName name) <$>
case nameLiteral name of
Just t -> return $ formatted formatting
$ maybe [literal t]
(\f -> [Formatted f [literal t]])
(nameFamilyFormatting nameFormat)
Nothing -> getDisplayName nameFormat' formatting order name
getNamePartSortOrder :: Name -> Eval a [Text]
getNamePartSortOrder name = do
demoteNonDroppingParticle <-
asks (styleDemoteNonDroppingParticle . contextStyleOptions)
map (fromMaybe mempty) <$>
case nameLiteral name of
Nothing
| isByzantineName name
-> return $
case demoteNonDroppingParticle of
DemoteNever ->
[nameNonDroppingParticle name <> nameFamily name,
nameDroppingParticle name,
nameGiven name,
nameSuffix name]
_ -> [nameFamily name,
nameDroppingParticle name <>
nameNonDroppingParticle name,
nameGiven name,
nameSuffix name]
| otherwise
-> return [nameFamily name,
nameGiven name]
Just n -> return [Just n]
literal :: CiteprocOutput a => Text -> Output a
literal = Literal . fromText
showYearSuffix :: Int -> Text
showYearSuffix x
| x < 27 = T.singleton $ chr $ ord 'a' + (x - 1)
| otherwise =
let x' = x - 1
in T.pack [chr (ord 'a' - 1 + (x' `div` 26)),
chr (ord 'a' + (x' `mod` 26))]
initialize :: Maybe Lang
-> Bool -- ^ initialize
-> Bool -- ^ with hyphen
-> Text -- ^ initialize with (suffix)
-> Text
-> Text
initialize mblang makeInitials useHyphen initializeWith =
stripSpaces . T.replace " -" "-" . mconcat . map initializeWord . splitWords
where
stripSpaces = T.dropWhile (==' ') . T.dropWhileEnd (==' ') -- preserve nbsp
-- Left values are already initials
-- Right values are not
splitWords =
reverse . (\(ws,cs) ->
case cs of
[] -> ws
[d] -> Left (T.singleton d) : ws
_ -> Right (T.pack (reverse cs)) : ws) .
T.foldl'
(\(ws, cs) c ->
case c of
'.' | null cs -> (ws, [])
| otherwise -> (Left (T.pack (reverse cs)) : ws, [])
'-' | null cs -> (ws, ['-'])
| otherwise -> (Right (T.pack (reverse cs)) : ws, ['-'])
' ' -> case cs of
[] -> (ws, cs)
[d] -> (Left (T.singleton d) : ws, [])
_ -> (Right (T.pack (reverse cs)) : ws, [])
_ -> (ws, c:cs))
([], mempty)
addSuffix t
| T.null t = mempty
| otherwise = t <> initializeWith
toInitial t =
case T.uncons t of
Just ('-', t') ->
case T.uncons t' of
Just (c, _)
| isUpper c
, useHyphen -> "-" <> Unicode.toUpper mblang (T.singleton c)
| isUpper c -> Unicode.toUpper mblang (T.singleton c)
_ -> mempty -- e.g. Ji-ping -> J. not J.-p.
Just (c, t')
| isUpper c ->
case T.uncons t' of
Just (d, t'')
| isUpper d -- see test/csl/name_LongAbbreviation.txt
, not (T.null t'')
, T.all isLower t''
-> T.singleton c <> T.toLower (T.singleton d)
_ -> T.singleton c
_ -> t
initializeWord (Left t) -- Left values already initialized
= addSuffix t
initializeWord (Right t) -- Right values not already initialized
| T.all isLower t = if endsWithSpace initializeWith
then t <> " "
else " " <> t <> " "
| makeInitials = (addSuffix . toInitial) t
| otherwise = t <> " "
getDisplayName :: CiteprocOutput a
=> NameFormat -> Formatting -> Int -> Name -> Eval a (Output a)
getDisplayName nameFormat formatting order name = do
inSortKey <- asks contextInSortKey
demoteNonDroppingParticle <-
asks (styleDemoteNonDroppingParticle . contextStyleOptions)
initializeWithHyphen <-
asks (styleInitializeWithHyphen . contextStyleOptions)
mblang <- asks (localeLanguage . contextLocale)
let initialize' =
case nameFamily name of
Nothing -> id
Just _ ->
case nameInitializeWith nameFormat of
Just initializeWith ->
initialize
mblang
(fromMaybe True (nameInitialize nameFormat))
initializeWithHyphen
initializeWith
Nothing -> id
let separator = fromMaybe ", " $ nameSortSeparator nameFormat
let x <+> NullOutput = x
NullOutput <+> x = x
Literal x <+> y =
case T.unsnoc (toText x) of
Just (_, c) | c == '’' || c == '\'' || c == '-' || c == '\x2013' ||
c == '\xa0' ->
formatted mempty [Literal x, y]
_ | isByzantineName name ->
formatted mempty{ formatDelimiter = Just " " } [Literal x, y]
| otherwise -> formatted mempty [Literal x, y]
Formatted f x <+> y =
formatted mempty{ formatDelimiter =
case formatSuffix f of
Just t | endsWithSpace t -> Nothing
_ -> Just " " } [formatted f x, y]
Linked i x <+> y =
formatted mempty{ formatDelimiter = Just " " } [Linked i x, y]
Tagged _ x <+> y = x <+> y
InNote x <+> y = x <+> y
let x <:> NullOutput = x
NullOutput <:> x = x
Literal x <:> y =
formatted mempty{ formatDelimiter = Just separator } [Literal x, y]
Formatted f x <:> y = formatted
(mempty{ formatDelimiter = Just separator }) [Formatted f x, y]
Linked i x <:> y = formatted
(mempty{ formatDelimiter = Just separator }) [Linked i x, y]
Tagged _ x <:> y = x <:> y
InNote x <:> y = x <:> y
let familyAffixes = formatted
(case nameFamilyFormatting nameFormat of
Nothing -> mempty
Just f -> mempty{ formatSuffix = formatSuffix f
, formatPrefix = formatPrefix f })
let givenAffixes = formatted
(case nameGivenFormatting nameFormat of
Nothing -> mempty
Just f -> mempty{ formatSuffix = formatSuffix f
, formatPrefix = formatPrefix f })
let familyFormatting = formatted
(case nameFamilyFormatting nameFormat of
Nothing -> mempty
Just f -> f{ formatSuffix = Nothing
, formatPrefix = Nothing })
let givenFormatting = formatted
(case nameGivenFormatting nameFormat of
Nothing -> mempty
Just f -> f{ formatSuffix = Nothing
, formatPrefix = Nothing })
let nonDroppingParticle =
maybe NullOutput (familyFormatting . (:[]) . literal) $
nameNonDroppingParticle name
let droppingParticle =
maybe NullOutput (givenFormatting . (:[]) . literal) $
nameDroppingParticle name
let given =
maybe NullOutput (givenFormatting . (:[]) . literal . initialize') $
nameGiven name
let family =
maybe NullOutput (familyFormatting . (:[]) . literal) $
nameFamily name
let suffix = maybe NullOutput literal $ nameSuffix name
let nameAsSort = case nameAsSortOrder nameFormat of
Just NameAsSortOrderAll -> True
Just NameAsSortOrderFirst -> order == 1
_ -> False
return $ formatted formatting . (:[]) $
if isByzantineName name
then
case fromMaybe LongName (nameForm nameFormat) of
LongName
| demoteNonDroppingParticle == DemoteNever
, inSortKey || nameAsSort ->
familyAffixes
[ nonDroppingParticle <+>
family ] <:>
givenAffixes
[ given <+>
droppingParticle ] <:>
suffix
| demoteNonDroppingParticle == DemoteSortOnly
, inSortKey ->
familyAffixes
[ family ] <:>
givenAffixes
[ given <+>
droppingParticle <+>
nonDroppingParticle ] <:>
suffix
| demoteNonDroppingParticle == DemoteSortOnly
, nameAsSort ->
familyAffixes
[ nonDroppingParticle <+>
family ] <:>
givenAffixes
[ given <+>
droppingParticle ] <:>
suffix
| demoteNonDroppingParticle == DemoteDisplayAndSort
, inSortKey || nameAsSort ->
familyAffixes
[ family ] <:>
givenAffixes
[ given <+>
droppingParticle <+>
nonDroppingParticle ] <:>
suffix
| nameCommaSuffix name ->
givenAffixes
[ given ] <+>
familyAffixes
[ droppingParticle <+>
nonDroppingParticle <+>
family <:>
suffix ]
| otherwise ->
givenAffixes
[ given ] <+>
familyAffixes
[ droppingParticle <+>
nonDroppingParticle <+>
family <+>
suffix ]
ShortName ->
familyAffixes
[ nonDroppingParticle <+>
family ]
CountName -> NullOutput
else
case fromMaybe LongName (nameForm nameFormat) of
LongName -> grouped
[ familyAffixes
[ family ]
, givenAffixes
[ given ] ]
ShortName -> familyAffixes
[ family ]
CountName -> NullOutput
eGroup :: CiteprocOutput a
=> Bool -> Formatting -> [Element a] -> Eval a (Output a)
eGroup isMacro formatting els = do
-- A group is suppressed if it directly or indirectly
-- calls at least one variable but all of the variables
-- it calls are empty.
VarCount oldVars oldNonempty <- gets stateVarCount
xs <- eElements els
VarCount newVars newNonempty <- gets stateVarCount
let isempty = newVars /= oldVars && newNonempty == oldNonempty
-- see
-- https://github.com/citation-style-language/documentation/blob/master/specification.rst#group
-- "When a cs:group contains a child cs:macro, if the cs:macro is
-- non-empty, it is treated as a non-empty variable for the purposes of
-- determining suppression of the outer cs:group."
when (isMacro && not isempty) $ updateVarCount 1 1
return $ if not isempty
then formatted formatting xs
else NullOutput
eChoose :: CiteprocOutput a
=> [(Match, [Condition], [Element a])] -> Eval a [Output a]
eChoose [] = return []
eChoose ((match, conditions, els):rest) = do
ref <- gets stateReference
label <- asks contextLabel
let disambiguate = maybe False
disambCondition (referenceDisambiguation ref)
positions <- asks contextPosition
locator <- asks contextLocator
let hasLocator = isJust locator
let isNumericChunk t =
case T.dropWhile isLetter (T.dropWhileEnd isLetter (T.strip t)) of
t' | T.null t' -> False
| T.all isDigit t' -> True
| otherwise -> False
let isNumeric t = all isNumericChunk
(T.split (\c -> c == ',' || c == '-' || c == '&' || c == '\x2013') t)
let testCondition cond =
case cond of
HasVariable "locator" -> hasLocator
HasVariable t ->
case lookupVariable t ref of
Just x -> isNonEmpty x
Nothing -> False
HasType ts ->
case lookupVariable "type" ref of
Just (TextVal ty) -> ty `elem` ts
_ -> False
IsUncertainDate t -> case lookupVariable t ref of
Just (DateVal d) -> dateCirca d
_ -> False
IsNumeric t
| t == "locator" -> maybe False isNumeric locator
| otherwise -> case lookupVariable t ref of
Just (NumVal _) -> True
Just (TextVal x) -> isNumeric x
Just (FancyVal x) -> isNumeric (toText x)
_ -> False
HasLocatorType t -> case label of
Just "sub verbo" -> t == "sub-verbo"
Just x -> toVariable x == t
Nothing -> t == "page" && hasLocator
HasPosition pos -> pos `elem` positions
WouldDisambiguate -> disambiguate
let matched = (case match of
MatchAll -> all testCondition
MatchAny -> any testCondition
MatchNone -> not . any testCondition) conditions
if matched
then eElements els
else eChoose rest
eNumber :: CiteprocOutput a => Variable -> NumberForm -> Eval a (Output a)
eNumber var nform = do
mbv <- askVariable var
varTerms <- lookupTerm emptyTerm { termName = fromVariable var }
let mbGender = case varTerms of
[] -> Nothing
((t,_):_) -> termGender t
let nparts = case mbv of
Just x@NumVal{} -> [x]
Just (FancyVal x) -> splitNums (toText x)
Just (TextVal t) -> splitNums t
_ -> []
unless (isNothing mbv) $ deleteSubstitutedVariables [var]
grouped <$> mapM (evalNumber nform mbGender) nparts
evalNumber :: CiteprocOutput a
=> NumberForm -> Maybe TermGender -> Val a -> Eval a (Output a)
evalNumber form mbGender (NumVal i) = do
let numterm s x = emptyTerm { termName = T.pack $ printf s x
, termGenderForm = mbGender }
let dectext = T.pack (show i)
let twomatch = numterm "ordinal-%02d" (i `mod` 100)
let onematch = numterm "ordinal-%02d" (i `mod` 10)
let fallback = emptyTerm { termName = "ordinal" }
case form of
NumberNumeric -> return $ Literal $ fromText dectext
NumberOrdinal -> do
res <- (if i > 99
then filter (\(t,_) -> termMatch t /= Just WholeNumber)
else id) <$> lookupTerm twomatch
locale <- asks contextLocale
case res of
((_,suff):_) ->
return $ Literal $ fromText dectext <> parseCslJson locale suff
[] -> do -- not an exact match
res' <- (if i > 10
then filter (\(t,_) ->
isNothing (termMatch t) ||
termMatch t == Just LastDigit)
else id) <$> lookupTerm onematch
case res' of
((_,suff):_) ->
return $ Literal $ fromText dectext <> parseCslJson locale suff
[] -> do
res'' <- lookupTerm fallback
case res'' of
((_,suff):_) ->
return $ Literal $ fromText dectext <> parseCslJson locale suff
[] -> do
warn $ "no ordinal suffix found for " <> dectext
return $ Literal $ fromText (T.pack (show i))
NumberLongOrdinal
| i >= 1
, i <= 10 -> do
res <- lookupTerm (numterm "long-ordinal-%02d" i)
case res of
((_,t):_) -> return $ Literal $ fromText t
[] -> evalNumber NumberOrdinal mbGender (NumVal i)
| otherwise -> evalNumber NumberOrdinal mbGender (NumVal i)
NumberRoman -> return $ Literal $ fromText $ toRomanNumeral i
evalNumber _ _ (TextVal t) = return $ Literal $ fromText t
evalNumber _ _ (FancyVal t) = return $ Literal t
evalNumber _ _ _ = return NullOutput
warn :: Text -> Eval a ()
warn t = tell $ Set.singleton t
-- | Convert number < 4000 to lowercase roman numeral.
toRomanNumeral :: Int -> Text
toRomanNumeral x
| x >= 4000 || x < 0 = T.pack (show x)
| x >= 1000 = "m" <> toRomanNumeral (x - 1000)
| x >= 900 = "cm" <> toRomanNumeral (x - 900)
| x >= 500 = "d" <> toRomanNumeral (x - 500)
| x >= 400 = "cd" <> toRomanNumeral (x - 400)
| x >= 100 = "c" <> toRomanNumeral (x - 100)
| x >= 90 = "xc" <> toRomanNumeral (x - 90)
| x >= 50 = "l" <> toRomanNumeral (x - 50)
| x >= 40 = "xl" <> toRomanNumeral (x - 40)
| x >= 10 = "x" <> toRomanNumeral (x - 10)
| x == 9 = "ix"
| x >= 5 = "v" <> toRomanNumeral (x - 5)
| x == 4 = "iv"
| x >= 1 = "i" <> toRomanNumeral (x - 1)
| x == 0 = ""
| otherwise = T.pack (show x)
-- Gets variable while updating var count.
askVariable :: CiteprocOutput a => Variable -> Eval a (Maybe (Val a))
askVariable "page-first" = do
res <- askVariable "page"
case res of
Just (TextVal t) ->
return $ Just $ TextVal $ T.takeWhile (not . isSepPunct) t
Just (FancyVal x) ->
return $ Just $ TextVal $ T.takeWhile (not . isSepPunct) $ toText x
Just (NumVal n) -> return $ Just $ NumVal n
_ -> return Nothing
askVariable v = do
ref <- gets stateReference
case lookupVariable v ref of
Just x | isNonEmpty x && x /= SubstitutedVal -> do
updateVarCount 1 1
return $ Just x
_ -> do
updateVarCount 1 0
return Nothing
isNonEmpty :: CiteprocOutput a => Val a -> Bool
isNonEmpty (TextVal t) = not (T.null t)
isNonEmpty (FancyVal x) = x /= mempty
isNonEmpty (NamesVal []) = False
isNonEmpty (DateVal (Date [] _ Nothing Nothing)) = False
isNonEmpty _ = True
citationLabel :: Reference a -> Val a
citationLabel ref = TextVal trigraph
where
trigraph = namepart <> datepart
datepart = case M.lookup "issued" varmap of
Just (DateVal d) -> getYear d
_ -> ""
namepart = if "author" `elem` namevars
then getNames "author"
else case namevars of
(n:_) -> getNames n
_ -> "Xyz"
varmap = referenceVariables ref
vars = M.keys varmap
namevars = [v | v <- vars, variableType v == NameVariable]
getNames var = case M.lookup var varmap of
Just (NamesVal ns) ->
let x = case length ns of
1 -> 4
n | n >= 4 -> 1
| otherwise -> 2
in mconcat $
map (T.take x . fromMaybe "" . nameFamily)
(take 4 ns)
_ -> ""
getYear d = case dateParts d of
(DateParts (x:_):_) ->
T.pack (printf "%02d" $ x `mod` 100)
_ -> ""
removeDoubleSpaces :: Text -> Text
removeDoubleSpaces = T.replace " " " "
endsWithSpace :: Text -> Bool
endsWithSpace t = not (T.null t) && isSpace (T.last t)
beginsWithSpace :: Text -> Bool
beginsWithSpace t = not (T.null t) && isSpace (T.head t)
citeproc-0.13/src/Citeproc/Locale.hs 0000644 0000000 0000000 00000006135 07346545000 015535 0 ustar 00 0000000 0000000 {-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE OverloadedStrings #-}
module Citeproc.Locale
( parseLocale,
getLocale,
getPrimaryDialect
)
where
import Citeproc.Types
import Citeproc.Element (runElementParser, pLocale)
import Citeproc.Data (localeFiles)
import qualified Data.Map as M
import Data.Text (Text)
import qualified Text.XML as X
import System.FilePath (takeExtension, dropExtension)
import qualified Data.Text as T
import Data.Default (def)
import qualified Data.Text.Lazy as TL
import Data.Text.Encoding (decodeUtf8)
import Control.Applicative ((<|>))
-- | Parse a CSL locale definition (XML). For information about
-- the format, see
-- .
parseLocale :: Text -> Either CiteprocError Locale
parseLocale t =
case X.parseText def $ TL.fromStrict t of
Left e -> Left $ CiteprocXMLError (T.pack (show e))
Right n -> runElementParser $ pLocale $ X.documentRoot n
primaryDialectMap :: M.Map Text (Maybe Text)
primaryDialectMap = M.fromList
[ ("af", Just "ZA"),
("ar", Nothing),
("bg", Just "BG"),
("ca", Just "AD"),
("cs", Just "CZ"),
("cy", Just "GB"),
("da", Just "DK"),
("de", Just "DE"),
("el", Just "GR"),
("en", Just "US"),
("es", Just "ES"),
("et", Just "EE"),
("eu", Nothing),
("fa", Just "IR"),
("fi", Just "FI"),
("fr", Just "FR"),
("he", Just "IL"),
("hr", Just "HR"),
("hu", Just "HU"),
("id", Just "ID"),
("is", Just "IS"),
("it", Just "IT"),
("ja", Just "JP"),
("km", Just "KH"),
("ko", Just "KR"),
("la", Nothing),
("lt", Just "LT"),
("lv", Just "LV"),
("mn", Just "MN"),
("nb", Just "NO"),
("nl", Just "NL"),
("nn", Just "NO"),
("pl", Just "PL"),
("pt", Just "PT"),
("ro", Just "RO"),
("ru", Just "RU"),
("sk", Just "SK"),
("sl", Just "SI"),
("sr", Just "RS"),
("sv", Just "SE"),
("th", Just "TH"),
("tr", Just "TR"),
("uk", Just "UA"),
("vi", Just "VN"),
("zh", Just "CN")
]
-- | Retrieves the "primary dialect" corresponding to a language,
-- e.g. "lt-LT" for "lt".
getPrimaryDialect :: Lang -> Maybe Lang
getPrimaryDialect lang =
case M.lookup (langLanguage lang) primaryDialectMap of
Nothing -> Nothing
Just mbregion -> Just $ lang{ langRegion = mbregion }
locales :: M.Map Text (Either CiteprocError Locale)
locales = foldr go mempty localeFiles
where
go (fp, bs) m
| takeExtension fp == ".xml"
= let lang = T.pack $ dropExtension fp
in M.insert lang (parseLocale $ decodeUtf8 bs) m
| otherwise = m
-- | Retrieves the locale defined for the specified language.
-- Implements the locale fallback algorithm described in the CSL 1.0.1 spec.
getLocale :: Lang -> Either CiteprocError Locale
getLocale lang =
let toCode l = langLanguage l <> maybe "" ("-"<>) (langRegion l)
in case M.lookup (toCode lang) locales
<|> (getPrimaryDialect lang >>=
(\l -> M.lookup (toCode l) locales)) of
Just loc -> loc
Nothing -> Left $ CiteprocLocaleNotFound $ renderLang lang
citeproc-0.13/src/Citeproc/Pandoc.hs 0000644 0000000 0000000 00000024323 07346545000 015541 0 ustar 00 0000000 0000000 {-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE ViewPatterns #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE FlexibleContexts #-}
{-# OPTIONS_GHC -fno-warn-orphans #-}
-- | This module defines a 'CiteprocOutput' instance for pandoc 'Inlines'.
module Citeproc.Pandoc
()
where
import Text.Pandoc.Definition
import Text.Pandoc.Builder as B
import Text.Pandoc.Walk
import qualified Data.Text as T
import qualified Data.Sequence as Seq
import Data.Text (Text)
import Citeproc.Types
import Citeproc.CaseTransform
import Control.Monad.Trans.State.Strict as S
import Control.Monad (unless, when)
import Data.Functor.Reverse
import Data.Char (isSpace, isPunctuation, isAlphaNum)
instance CiteprocOutput Inlines where
toText = stringify
fromText t = (if " " `T.isPrefixOf` t
then B.space
else mempty) <>
B.text t <> -- B.text eats leading/trailing spaces
(if " " `T.isSuffixOf` t
then B.space
else mempty)
dropTextWhile = dropTextWhile'
dropTextWhileEnd = dropTextWhileEnd'
addFontVariant x =
case x of
NormalVariant -> id
SmallCapsVariant -> B.smallcaps
addFontStyle x =
case x of
NormalFont -> id
ItalicFont -> B.emph
ObliqueFont -> B.emph
addFontWeight x =
case x of
NormalWeight -> id
LightWeight -> id
BoldWeight -> B.strong
addTextDecoration x =
case x of
NoDecoration -> B.spanWith ("",["nodecoration"],[])
UnderlineDecoration -> B.underline
addVerticalAlign x =
case x of
BaselineAlign -> id
SubAlign -> B.subscript
SupAlign -> B.superscript
addTextCase mblang x =
case x of
Lowercase -> caseTransform mblang withLowercaseAll
Uppercase -> caseTransform mblang withUppercaseAll
CapitalizeFirst -> caseTransform mblang withCapitalizeFirst
CapitalizeAll -> caseTransform mblang withCapitalizeWords
SentenceCase -> caseTransform mblang withSentenceCase
TitleCase -> caseTransform mblang withTitleCase
PreserveCase -> B.spanWith ("",["nocase"],[])
addDisplay x =
case x of
DisplayBlock -> B.spanWith ("",["csl-block"],[])
DisplayLeftMargin -> B.spanWith ("",["csl-left-margin"],[])
DisplayRightInline -> B.spanWith ("",["csl-right-inline"],[])
DisplayIndent -> B.spanWith ("",["csl-indent"],[])
addQuotes = B.spanWith ("",["csl-quoted"],[])
inNote = B.spanWith ("",["csl-note"],[])
movePunctuationInsideQuotes
= punctuationInsideQuotes
mapText f = walk go
where go (Str t) = Str (f t)
go x = x
addHyperlink t = B.link t ""
localizeQuotes = convertQuotes
-- localized quotes
convertQuotes :: Locale -> Inlines -> Inlines
convertQuotes locale = B.fromList . map (go DoubleQuote) . B.toList
where
((oqOuter, cqOuter), (oqInner, cqInner)) = lookupQuotes locale
oq DoubleQuote = oqOuter
oq SingleQuote = oqInner
cq DoubleQuote = cqOuter
cq SingleQuote = cqInner
flipflop SingleQuote = DoubleQuote
flipflop DoubleQuote = SingleQuote
go :: QuoteType -> Inline -> Inline
go q (Span ("",["csl-quoted"],[]) ils) =
Span ("",["csl-quoted"],[])
(Str (oq q) : map (go (flipflop q)) ils ++ [Str (cq q)])
go q (Span attr zs) = Span attr (map (go q) zs)
go q (Quoted qt' zs) = Quoted qt' (map (go q) zs)
go q (SmallCaps zs) = SmallCaps (map (go q) zs)
go q (Superscript zs) = Superscript (map (go q) zs)
go q (Subscript zs) = Subscript (map (go q) zs)
go q (Emph zs) = Emph (map (go q) zs)
go q (Underline zs) = Underline (map (go q) zs)
go q (Strong zs) = Strong (map (go q) zs)
go q (Strikeout zs) = Strikeout (map (go q) zs)
go q (Cite cs zs) = Cite cs (map (go q) zs)
go q (Link attr zs t) = Link attr (map (go q) zs) t
go q (Image attr zs t) = Image attr (map (go q) zs) t
go _ x = x
punctuationInsideQuotes :: Inlines -> Inlines
punctuationInsideQuotes = B.fromList . go . walk go . B.toList
where
startsWithMovable t =
case T.uncons t of
Just (c,_) -> c == '.' || c == ','
Nothing -> False
go [] = []
go (Span ("",["csl-quoted"],[]) xs : Str t : rest)
| startsWithMovable t
= Span ("",["csl-quoted"],[])
(xs ++ [Str (T.take 1 t) | not (endWithPunct True xs)]) :
if T.length t == 1
then go rest
else Str (T.drop 1 t) : go rest
go (Quoted qt xs : Str t : rest)
| startsWithMovable t
= Quoted qt
(xs ++ [Str (T.take 1 t) | not (endWithPunct True xs)]) :
if T.length t == 1
then go rest
else Str (T.drop 1 t) : go rest
go (x:xs) = x : go xs
endWithPunct :: Bool -> [Inline] -> Bool
endWithPunct _ [] = False
endWithPunct onlyFinal xs@(_:_) =
case reverse (T.unpack $ stringify xs) of
[] -> True
-- covers .), .", etc.:
(d:c:_) | isPunctuation d
&& not onlyFinal
&& isEndPunct c -> True
(c:_) | isEndPunct c -> True
| otherwise -> False
where isEndPunct c = c `elem` (".,;:!?" :: String)
dropTextWhile' :: (Char -> Bool) -> Inlines -> Inlines
dropTextWhile' f ils = evalState (walkM go ils) True
where
go x = do
atStart <- get
if atStart
then
case x of
Str t -> do
let t' = T.dropWhile f t
unless (T.null t') $
put False
return $ Str t'
_ | x == Space || x == SoftBreak ->
if f ' '
then return $ Str ""
else do
put False
return Space
| otherwise -> return x
else return x
dropTextWhileEnd' :: (Char -> Bool) -> Inlines -> Inlines
dropTextWhileEnd' f ils =
getReverse $ evalState (walkM go $ Reverse ils) True
where
go x = do
atEnd <- get
if atEnd
then
case x of
Str t -> do
let t' = T.dropWhileEnd f t
unless (T.null t') $
put False
return $ Str t'
_ | x == Space || x == SoftBreak
, f ' ' -> return $ Str ""
| otherwise -> return x
else return x
-- taken from Text.Pandoc.Shared:
-- | Convert pandoc structure to a string with formatting removed.
-- Footnotes are skipped (since we don't want their contents in link
-- labels).
stringify :: Walkable Inline a => a -> T.Text
stringify = query go . walk (unNote . unQuote)
where
go :: Inline -> T.Text
go Space = " "
go SoftBreak = " "
go (Str x) = x
go (Code _ x) = x
go (Math _ x) = x
go (RawInline (Format "html") (T.unpack -> ('<':'b':'r':_)))
= " " -- see #2105
go LineBreak = " "
go _ = ""
unNote :: Inline -> Inline
unNote (Note _) = Str ""
unNote x = x
unQuote :: Inline -> Inline
unQuote (Quoted SingleQuote xs) =
Span ("",[],[]) (Str "\8216" : xs ++ [Str "\8217"])
unQuote (Quoted DoubleQuote xs) =
Span ("",[],[]) (Str "\8220" : xs ++ [Str "\8221"])
unQuote x = x
caseTransform :: Maybe Lang
-> CaseTransformer
-> Inlines
-> Inlines
caseTransform mblang f x =
evalState (caseTransform' (unCaseTransformer f mblang) x) Start
-- custom traversal which does not descend into
-- SmallCaps, Superscript, Subscript, Span "nocase" (implicit nocase)
caseTransform' :: (CaseTransformState -> Text -> Text)
-> Inlines
-> State CaseTransformState Inlines
caseTransform' f ils =
case Seq.viewr (unMany ils) of
xs Seq.:> Str t | not (Seq.null xs)
, not (hasWordBreak t) -> do
xs' <- mapM go xs
st <- get
when (st == AfterWordEnd || st == StartSentence || st == Start) $
put BeforeLastWord
x' <- go (Str t)
return $ Many $ xs' Seq.|> x'
_ -> mapM go ils
where
go (Str t) = Str . mconcat <$> mapM g (splitUp t)
go Space = Space <$ g " "
go (SmallCaps zs) = return' $ SmallCaps zs
go (Superscript zs) = return' $ Superscript zs
go (Subscript zs) = return' $ Subscript zs
go (Span attr@(_,classes,_) zs)
| "nocase" `elem` classes = do
st <- get
case st of
AfterWordChar | classes == ["nocase"]
-> return' $ Span nullAttr zs
_ -> return' $ Span attr zs
| otherwise = Span attr <$> mapM go zs
go (Emph zs) = Emph <$> mapM go zs
go (Underline zs) = Underline <$> mapM go zs
go (Strong zs) = Strong <$> mapM go zs
go (Strikeout zs) = Strikeout <$> mapM go zs
go (Quoted qt zs) = Quoted qt <$> mapM go zs
go (Cite cs zs) = Cite cs <$> mapM go zs
go (Link attr zs t) = (\x -> Link attr x t) <$> mapM go zs
go (Image attr zs t) = (\x -> Image attr x t) <$> mapM go zs
go x = return x
-- we need to apply g to update the state:
return' x = x <$ g (query fromStr x)
fromStr (Str t) = t
fromStr _ = mempty
g :: Text -> State CaseTransformState Text
g t = do
st <- get
put $ case T.unsnoc t of
Nothing -> st
Just (_,c)
| c == '.' || c == '?' || c == '!' || c == ':' ->
AfterSentenceEndingPunctuation
| isAlphaNum c -> AfterWordChar
| isSpace c
, st == AfterSentenceEndingPunctuation -> StartSentence
| isWordBreak c -> AfterWordEnd
| otherwise -> st
return $
if T.all isAlphaNum t
then f st t
else t
isWordBreak '-' = True
isWordBreak '/' = True
isWordBreak '\x2013' = True
isWordBreak '\x2014' = True
isWordBreak c = isSpace c
hasWordBreak = T.any isWordBreak
splitUp = T.groupBy sameType
sameType c d =
(isAlphaNum c && isAlphaNum d) || (isSpace c && isSpace d) ||
(isPunctuation c && isPunctuation d)
citeproc-0.13/src/Citeproc/Style.hs 0000644 0000000 0000000 00000067563 07346545000 015452 0 ustar 00 0000000 0000000 {-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE TupleSections #-}
module Citeproc.Style
( parseStyle
, mergeLocales
)
where
import Citeproc.Types
import Citeproc.Locale
import Citeproc.Element
import Data.Text (Text)
import Control.Monad (foldM)
import Control.Applicative ((<|>))
import qualified Text.XML as X
import qualified Data.Text as T
import qualified Data.Map as M
import Data.Maybe (fromMaybe, isNothing)
import Data.Default (def)
import qualified Data.Text.Lazy as TL
-- | Merge the locale specified by the first parameter, if any,
-- with the default locale of the style and locale definitions
-- in the style. The locale specified by the first parameter
-- overrides the style's defaults when there is a conflict.
mergeLocales :: Maybe Lang -> Style a -> Locale
mergeLocales mblang style =
mconcat stylelocales <> deflocale -- left-biased union
where
getUSLocale = case getLocale (Lang "en" Nothing (Just"US") [] [] []) of
Right l -> l
Left _ -> mempty
lang = fromMaybe (Lang "en" Nothing (Just"US") [] [] []) $
mblang <|> styleDefaultLocale (styleOptions style)
deflocale = case getLocale lang of
Right l -> l
Left _ -> getUSLocale
primlang = getPrimaryDialect lang
stylelocales = -- exact match to lang gets precedence
[l | l <- styleLocales style
, localeLanguage l == Just lang] ++
-- then match to primary dialect, if different
[l | primlang /= Just lang
, l <- styleLocales style
, localeLanguage l == primlang] ++
-- then match to the two letter language
[l | l <- styleLocales style
, (langRegion <$> localeLanguage l) == Just Nothing
, (langLanguage <$> localeLanguage l) ==
Just (langLanguage lang)] ++
-- then locale with no lang
[l | l <- styleLocales style
, isNothing (localeLanguage l)]
-- | Parse an XML stylesheet into a 'Style'. The first parameter
-- is a function that retrieves the text of the independent parent
-- of a dependent style, given a URL. (This might make an HTTP
-- request or retrieve the style locally.) If you aren't using
-- dependent styles, you may use `(\_ -> return mempty)`.
parseStyle :: Monad m
=> (Text -> m Text) -- ^ Function that takes a URL and retrieves
-- text of independent parent
-> Text -- ^ Contents of XML stylesheet
-> m (Either CiteprocError (Style a))
parseStyle getIndependentParent t =
-- first, see if it's a dependent or independent style
case X.parseText def (TL.fromStrict t) of
Left e -> return $ Left $ CiteprocXMLError (T.pack (show e))
Right n -> do
let attr = getAttributes $ X.documentRoot n
let defaultLocale =
case lookupAttribute "default-locale" attr of
Nothing -> Nothing
Just l -> either (const Nothing) Just $ parseLang l
let links = concatMap (getChildren "link") $ getChildren "info"
(X.documentRoot n)
case [getAttributes l
| l <- links
, lookupAttribute "rel" (getAttributes l) ==
Just "independent-parent" ] of
[] -> return $
runElementParser $ pStyle defaultLocale $ X.documentRoot n
(lattr:_) ->
case lookupAttribute "href" lattr of
Nothing -> return $ Left $ CiteprocXMLError
"No href attribute on link to parent style"
Just url -> do -- get parent style
parentTxt <- getIndependentParent url
case X.parseText def (TL.fromStrict parentTxt) of
Left e -> return $ Left $ CiteprocXMLError (T.pack (show e))
Right n' -> return $
runElementParser $ pStyle defaultLocale $ X.documentRoot n'
pStyle :: Maybe Lang -> X.Element -> ElementParser (Style a)
pStyle defaultLocale node = do
let attr = getAttributes node
let nameformat = getInheritableNameFormat attr
macros <- M.fromList <$> mapM pMacro (getChildren "macro" node)
(cattr, citations)
<- case getChildren "citation" node of
[n] -> (getAttributes n,) <$> pLayout n
[] -> parseFailure "No citation element present"
_ -> parseFailure "More than one citation element present"
(battr, bibliography) <- case getChildren "bibliography" node of
[n] -> (\z -> (getAttributes n, Just z))
<$> pLayout n
[] -> return (mempty, Nothing)
_ -> parseFailure
"More than one bibliography element present"
let disambiguateGivenNameRule =
case lookupAttribute "givenname-disambiguation-rule" cattr of
Just "all-names" -> AllNames
Just "all-names-with-initials" -> AllNamesWithInitials
Just "primary-name" -> PrimaryName
Just "primary-name-with-initials" -> PrimaryNameWithInitials
_ -> ByCite
let disambigStrategy =
DisambiguationStrategy
{ disambiguateAddNames =
lookupAttribute "disambiguate-add-names" cattr == Just "true"
, disambiguateAddGivenNames =
case lookupAttribute "disambiguate-add-givenname" cattr of
Just "true" -> Just disambiguateGivenNameRule
_ -> Nothing
, disambiguateAddYearSuffix =
lookupAttribute "disambiguate-add-year-suffix" cattr ==
Just "true"
}
let hasYearSuffixVariable (Element e f) =
case e of
EText (TextVariable _ "year-suffix") -> True
EText (TextMacro macroname)
| Just es' <- M.lookup macroname macros ->
any hasYearSuffixVariable es'
EGroup _ es -> any hasYearSuffixVariable es
EChoose [] -> False
EChoose ((_,_,es):conds) -> any hasYearSuffixVariable es ||
hasYearSuffixVariable (Element (EChoose conds) f)
_ -> False
let usesYearSuffixVariable =
any hasYearSuffixVariable $
layoutElements citations ++ maybe [] layoutElements bibliography
let sOpts = StyleOptions
{ styleIsNoteStyle =
case lookupAttribute "class" attr of
Just "note" -> True
Nothing -> True
_ -> False
, styleDefaultLocale = defaultLocale
, styleDemoteNonDroppingParticle =
case lookupAttribute "demote-non-dropping-particle" attr of
Just "never" -> DemoteNever
Just "sort-only" -> DemoteSortOnly
_ -> DemoteDisplayAndSort
, styleInitializeWithHyphen =
maybe True (== "true") $
lookupAttribute "initialize-with-hyphen" attr
, stylePageRangeFormat =
case lookupAttribute "page-range-format" attr of
Just "chicago" -> Just PageRangeChicago15
-- chicago is an alias for chicago-15, but this
-- will change to chicago-16 in v1.1
Just "chicago-15" -> Just PageRangeChicago15
Just "chicago-16" -> Just PageRangeChicago16
Just "expanded" -> Just PageRangeExpanded
Just "minimal" -> Just PageRangeMinimal
Just "minimal-two" -> Just PageRangeMinimalTwo
_ -> Nothing
, stylePageRangeDelimiter =
lookupAttribute "page-range-delimiter" attr
, styleDisambiguation = disambigStrategy
, styleNearNoteDistance =
lookupAttribute "near-note-distance" attr >>= readAsInt
, styleCiteGroupDelimiter =
lookupAttribute "cite-group-delimiter" cattr <|>
(", " <$ lookupAttribute "collapse" cattr)
, styleLineSpacing =
lookupAttribute "line-spacing" battr >>= readAsInt
, styleEntrySpacing =
lookupAttribute "entry-spacing" battr >>= readAsInt
, styleHangingIndent =
lookupAttribute "hanging-indent" battr == Just "true"
, styleSecondFieldAlign =
case lookupAttribute "second-field-align" battr of
Just "flush" -> Just SecondFieldAlignFlush
Just "margin" -> Just SecondFieldAlignMargin
_ -> Nothing
, styleSubsequentAuthorSubstitute =
case lookupAttribute "subsequent-author-substitute"
battr of
Nothing -> Nothing
Just t -> Just $
SubsequentAuthorSubstitute t
$ case lookupAttribute
"subsequent-author-substitute-rule" battr of
Just "complete-each" -> CompleteEach
Just "partial-each" -> PartialEach
Just "partial-first" -> PartialFirst
_ -> CompleteAll
, styleUsesYearSuffixVariable = usesYearSuffixVariable
, styleNameFormat = nameformat -- TODO
}
locales <- mapM pLocale (getChildren "locale" node)
let cslVersion = case lookupAttribute "version" attr of
Nothing -> (0,0,0)
Just t ->
case map readAsInt (T.splitOn "." t) of
(Just x : Just y : Just z :_) -> (x,y,z)
(Just x : Just y : _) -> (x,y,0)
(Just x : _) -> (x,0,0)
_ -> (0,0,0)
return $ Style
{ styleCslVersion = cslVersion
, styleOptions = sOpts
, styleCitation = citations
, styleBibliography = bibliography
, styleLocales = locales
, styleAbbreviations = Nothing
, styleMacros = macros
}
pElement :: X.Element -> ElementParser (Element a)
pElement node =
case X.nameLocalName (X.elementName node) of
"date" -> pDate node
"text" -> pText node
"group" -> pGroup node
"choose" -> pChoose node
"number" -> pNumber node
"label" -> pLabel node
"names" -> pNames node
name -> parseFailure $ "unknown element " <> show name
pChoose :: X.Element -> ElementParser (Element a)
pChoose node = do
ifNodes <- mapM parseIf $ getChildren "if" node
elseIfNodes <- mapM parseIf $ getChildren "else-if" node
elseNodes <- mapM parseIf $ getChildren "else" node
let parts = ifNodes ++ elseIfNodes ++ elseNodes
return $ Element (EChoose parts) mempty
parseIf :: X.Element -> ElementParser (Match, [Condition], [Element a])
parseIf node = do
let attr = getAttributes node
let match = case lookupAttribute "match" attr of
Just "any" -> MatchAny
Just "none" -> MatchNone
_ -> MatchAll
let conditions =
(case lookupAttribute "disambiguate" attr of
Just "true" -> (WouldDisambiguate :)
_ -> id) .
(case lookupAttribute "is-numeric" attr of
Just t -> \xs -> foldr ((:) . IsNumeric) xs (splitVars t)
_ -> id) .
(case lookupAttribute "is-uncertain-date" attr of
Just t -> \xs -> foldr ((:) . IsUncertainDate) xs (splitVars t)
_ -> id) .
(case lookupAttribute "locator" attr of
Just t -> \xs -> foldr ((:) . HasLocatorType) xs (splitVars t)
_ -> id) .
(case lookupAttribute "position" attr of
Just t -> \xs ->
foldr (\case
"first" -> (HasPosition FirstPosition :)
"ibid" -> (HasPosition Ibid :)
"ibid-with-locator"
-> (HasPosition IbidWithLocator :)
"subsequent" -> (HasPosition Subsequent :)
"near-note" -> (HasPosition NearNote :)
_ -> id)
xs (splitVars t)
_ -> id) .
(case lookupAttribute "type" attr of
Just t -> (HasType (T.words $ T.strip t) :)
_ -> id) .
(case lookupAttribute "variable" attr of
Just t -> \xs -> foldr ((:) . HasVariable) xs (splitVars t)
_ -> id) $ []
elts <- mapM pElement $ allChildren node
return (match, conditions, elts)
pNumber :: X.Element -> ElementParser (Element a)
pNumber node = do
let attr = getAttributes node
let formatting = getFormatting attr
let variable = lookupAttribute "variable" attr
let numform = case lookupAttribute "form" attr of
Just "ordinal" -> NumberOrdinal
Just "long-ordinal" -> NumberLongOrdinal
Just "roman" -> NumberRoman
_ -> NumberNumeric
case variable of
Nothing -> parseFailure "number element without required variable attribute"
Just var -> return $ Element (ENumber (toVariable var) numform)
formatting
pLabel :: X.Element -> ElementParser (Element a)
pLabel node = do
let attr = getAttributes node
let formatting = getFormatting attr
let variable = toVariable $ fromMaybe "" $ lookupAttribute "variable" attr
let labelform = case lookupAttribute "form" attr of
Just "short" -> Short
Just "verb" -> Verb
Just "verb-short" -> VerbShort
Just "symbol" -> Symbol
_ -> Long
let pluralize = case lookupAttribute "plural" attr of
Just "always" -> AlwaysPluralize
Just "never" -> NeverPluralize
_ -> ContextualPluralize
return $ Element (ELabel variable labelform pluralize) formatting
pNames :: X.Element -> ElementParser (Element a)
pNames node = do
let attr = getAttributes node
let formatting = getFormatting attr
let variables = maybe [] splitVars $ lookupAttribute "variable" attr
let pChild (nf,subst) n =
case X.nameLocalName (X.elementName n) of
"label" -> do
e <- pLabel n
case e of
Element (ELabel _ labelform pluralize) f ->
return ( nf{ namesLabel = Just (labelform, pluralize, f)
, namesLabelBeforeName =
isNothing (namesName nf) }
, subst )
_ -> parseFailure "pLabel returned something other than ELabel"
"substitute" -> do
els <- mapM pElement $ allChildren n
return ( nf, els )
"et-al" -> do
res <- pEtAl n
return ( nf{ namesEtAl = Just res }, subst )
"name" -> do
res <- pName n
return ( nf{ namesName = Just res }, subst )
name -> parseFailure $ "element " <> show name <>
" not a valid child of names"
(nameformat, subst) <-
foldM pChild (NamesFormat Nothing Nothing Nothing False, [])
(allChildren node)
return $ Element (ENames variables nameformat subst) formatting
pEtAl :: X.Element -> ElementParser (Text, Formatting)
pEtAl node = do
let attr = getAttributes node
let formatting = getFormatting attr
let term = fromMaybe "et-al" $ lookupAttribute "term" attr
return (term, formatting)
pName :: X.Element -> ElementParser (NameFormat, Formatting)
pName node = do
let attr = getAttributes node
let formatting = getFormatting attr
let nameParts = map getAttributes $ getChildren "name-part" node
let nameformat = NameFormat
{ nameGivenFormatting =
case [nattr
| nattr <- nameParts
, lookupAttribute "name" nattr == Just "given" ] of
(nattr:_) -> Just $ getFormatting nattr
_ -> Nothing
, nameFamilyFormatting =
case [nattr
| nattr <- nameParts
, lookupAttribute "name" nattr == Just "family" ] of
(nattr:_) -> Just $ getFormatting nattr
_ -> Nothing
, nameAndStyle =
case lookupAttribute "and" attr of
Just "text" -> Just Long
Just "symbol" -> Just Symbol
_ -> Nothing
, nameDelimiter =
lookupAttribute "delimiter" attr
, nameDelimiterPrecedesEtAl =
case lookupAttribute "delimiter-precedes-et-al" attr of
Just "after-inverted-name" -> Just PrecedesAfterInvertedName
Just "always" -> Just PrecedesAlways
Just "never" -> Just PrecedesNever
Just "contextual" -> Just PrecedesContextual
_ -> Nothing
, nameDelimiterPrecedesLast =
case lookupAttribute "delimiter-precedes-last" attr of
Just "after-inverted-name" -> Just PrecedesAfterInvertedName
Just "always" -> Just PrecedesAlways
Just "never" -> Just PrecedesNever
Just "contextual" -> Just PrecedesContextual
_ -> Nothing
, nameEtAlMin =
lookupAttribute "et-al-min" attr >>= readAsInt
, nameEtAlUseFirst =
lookupAttribute "et-al-use-first" attr >>= readAsInt
, nameEtAlSubsequentUseFirst =
lookupAttribute "et-al-subsequent-use-first" attr >>= readAsInt
, nameEtAlSubsequentMin =
lookupAttribute "et-al-subsequent-min" attr >>= readAsInt
, nameEtAlUseLast =
case lookupAttribute "et-al-use-last" attr of
Just "true" -> Just True
Just "false" -> Just False
_ -> Nothing
, nameForm =
case lookupAttribute "form" attr of
Just "short" -> Just ShortName
Just "count" -> Just CountName
Just "long" -> Just LongName
_ -> Nothing
, nameInitialize =
case lookupAttribute "initialize" attr of
Just "false" -> Just False
Just "true" -> Just True
_ -> Nothing
, nameInitializeWith =
lookupAttribute "initialize-with" attr
, nameAsSortOrder =
case lookupAttribute "name-as-sort-order" attr of
Just "all" -> Just NameAsSortOrderAll
Just "first" -> Just NameAsSortOrderFirst
_ -> Nothing
, nameSortSeparator =
lookupAttribute "sort-separator" attr
}
return (nameformat, formatting)
pGroup :: X.Element -> ElementParser (Element a)
pGroup node = do
let attr = getAttributes node
let formatting = getFormatting attr
es <- mapM pElement $ allChildren node
return $ Element (EGroup False es) formatting
pText :: X.Element -> ElementParser (Element a)
pText node = do
let attr = getAttributes node
let formatting = getFormatting attr
let varform = case lookupAttribute "form" attr of
Just "short" -> ShortForm
_ -> LongForm
let termform = case lookupAttribute "form" attr of
Just "short" -> Short
Just "verb" -> Verb
Just "verb-short" -> VerbShort
Just "symbol" -> Symbol
_ -> Long
let termnumber = case lookupAttribute "plural" attr of
Just "true" -> Just Plural
Just "false" -> Just Singular
_ -> Nothing
elt <- case lookupAttribute "variable" attr of
Just var -> return $ EText (TextVariable varform (toVariable var))
Nothing ->
case lookupAttribute "macro" attr of
Just macroname -> return $ EText (TextMacro macroname)
Nothing ->
case lookupAttribute "term" attr of
Just termname ->
return $ EText (TextTerm
Term { termName = termname
, termForm = termform
, termNumber = termnumber
, termGender = Nothing
, termGenderForm = Nothing
, termMatch = Nothing
})
Nothing ->
case lookupAttribute "value" attr of
Just val ->
return $ EText (TextValue val)
Nothing ->
parseFailure "text element lacks needed attribute"
return $ Element elt formatting
pMacro :: X.Element -> ElementParser (Text, [Element a])
pMacro node = do
name <- case lookupAttribute "name" (getAttributes node) of
Just t -> return t
Nothing -> parseFailure "macro element missing name attribute"
elts <- mapM pElement (allChildren node)
return (name, elts)
getInheritableNameFormat :: Attributes -> NameFormat
getInheritableNameFormat attr =
NameFormat
{ nameGivenFormatting = Nothing
, nameFamilyFormatting = Nothing
, nameAndStyle =
case lookupAttribute "and" attr of
Just "text" -> Just Long
Just "symbol" -> Just Symbol
_ -> Nothing
, nameDelimiter =
lookupAttribute "name-delimiter" attr <|>
lookupAttribute "names-delimiter" attr
, nameDelimiterPrecedesEtAl =
case lookupAttribute "delimiter-precedes-et-al" attr of
Just "after-inverted-name" -> Just PrecedesAfterInvertedName
Just "always" -> Just PrecedesAlways
Just "never" -> Just PrecedesNever
Just "contextual" -> Just PrecedesContextual
_ -> Nothing
, nameDelimiterPrecedesLast =
case lookupAttribute "delimiter-precedes-last" attr of
Just "after-inverted-name" -> Just PrecedesAfterInvertedName
Just "always" -> Just PrecedesAlways
Just "never" -> Just PrecedesNever
Just "contextual" -> Just PrecedesContextual
_ -> Nothing
, nameEtAlMin =
lookupAttribute "et-al-min" attr >>= readAsInt
, nameEtAlUseFirst =
lookupAttribute "et-al-use-first" attr >>= readAsInt
, nameEtAlSubsequentUseFirst =
lookupAttribute "et-al-subsequent-use-first" attr >>= readAsInt
, nameEtAlSubsequentMin =
lookupAttribute "et-al-subsequent-min" attr >>= readAsInt
, nameEtAlUseLast =
case lookupAttribute "et-al-use-last" attr of
Just "true" -> Just True
Just "false" -> Just False
_ -> Nothing
, nameForm =
case lookupAttribute "name-form" attr of
Just "short" -> Just ShortName
Just "count" -> Just CountName
Just "long" -> Just LongName
_ -> Nothing
, nameInitialize =
case lookupAttribute "initialize" attr of
Just "false" -> Just False
Just "true" -> Just True
_ -> Nothing
, nameInitializeWith =
lookupAttribute "initialize-with" attr
, nameAsSortOrder =
case lookupAttribute "name-as-sort-order" attr of
Just "all" -> Just NameAsSortOrderAll
Just "first" -> Just NameAsSortOrderFirst
_ -> Nothing
, nameSortSeparator =
lookupAttribute "sort-separator" attr
}
pLayout :: X.Element -> ElementParser (Layout a)
pLayout node = do
let attr = getAttributes node
let nameformat = getInheritableNameFormat attr
let layouts = getChildren "layout" node
-- In case there are multiple layouts (as CSL-M allows), we raise an error
let elname = T.unpack $ X.nameLocalName $ X.elementName node
layout <- case layouts of
[] -> parseFailure $ "No layout element present in " <> elname
[l] -> return l
(_:_) -> parseFailure $ "Multiple layout elements present in " <> elname
let formatting = getFormatting . getAttributes $ layout
let sorts = getChildren "sort" node
elements <- mapM pElement $ allChildren layout
let opts = LayoutOptions
{ layoutCollapse =
case lookupAttribute "collapse" attr of
Just "citation-number" -> Just CollapseCitationNumber
Just "year" -> Just CollapseYear
Just "year-suffix" -> Just CollapseYearSuffix
Just "year-suffix-ranged"
-> Just CollapseYearSuffixRanged
_ -> Nothing
, layoutYearSuffixDelimiter =
lookupAttribute "year-suffix-delimiter" attr <|>
-- technically the spec doesn't say this, but
-- this seems to be what the test suites want?:
lookupAttribute "cite-group-delimiter" attr <|>
formatDelimiter formatting
, layoutAfterCollapseDelimiter =
lookupAttribute "after-collapse-delimiter" attr <|>
formatDelimiter formatting
, layoutNameFormat = nameformat
}
sortKeys <- mapM pSortKey (concatMap (getChildren "key") sorts)
return $ Layout { layoutOptions = opts
, layoutFormatting = formatting{
formatAffixesInside = True }
, layoutElements = elements
, layoutSortKeys = sortKeys
}
pSortKey :: X.Element -> ElementParser (SortKey a)
pSortKey node = do
let attr@(Attributes attr') = getAttributes node
let direction = case lookupAttribute "sort" attr of
Just "descending" -> Descending
_ -> Ascending
-- The attributes names-min, names-use-first, and names-use-last may
-- be used to override the values of the corresponding
-- et-al-min/et-al-subsequent-min,
-- et-al-use-first/et-al-subsequent-use-first and et-al-use-last
-- attributes, and affect all names generated via macros called by
-- cs:key.
let keyChange "names-min" = "et-al-min"
keyChange "names-use-first" = "et-al-use-first"
keyChange "names-use-last" = "et-al-use-last"
keyChange "names-subsequent-min" = "et-al-subsequent-min"
keyChange "names-subsequent-use-first" = "et-al-subsequent-use-first"
keyChange x = x
let nameformat = getInheritableNameFormat
(Attributes (M.mapKeys keyChange attr'))
case lookupAttribute "macro" attr of
Just macroname -> return $ SortKeyMacro direction nameformat macroname
Nothing -> return $ SortKeyVariable direction
(toVariable $ fromMaybe mempty $
lookupAttribute "variable" attr)
splitVars :: Text -> [Variable]
splitVars = map toVariable . T.words . T.strip
citeproc-0.13/src/Citeproc/Types.hs 0000644 0000000 0000000 00000210201 07346545000 015431 0 ustar 00 0000000 0000000 {-# LANGUAGE StrictData #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DeriveTraversable #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE OverloadedStrings #-}
module Citeproc.Types
( CiteprocOptions(..)
, defaultCiteprocOptions
, CiteprocOutput(..)
, addFormatting
, CiteprocError(..)
, prettyCiteprocError
, ItemId(..)
, CitationItem(..)
, CitationItemType(..)
, Citation(..)
, ElementType(..)
, Element(..)
, NumberForm(..)
, Pluralize(..)
, DateType(..)
, Date(..)
, rawDateEDTF
, DateParts(..)
, ShowDateParts(..)
, DPName(..)
, DPForm(..)
, DP(..)
, VariableForm(..)
, TextType(..)
, NameFormat(..)
, defaultNameFormat
, combineNameFormat
, NameAsSortOrder(..)
, NamesFormat(..)
, NameForm(..)
, Name(..)
, extractParticles
, isByzantineName
, DelimiterPrecedes(..)
, Condition(..)
, Position(..)
, Match(..)
, Formatting(..)
, FontStyle(..)
, FontVariant(..)
, FontWeight(..)
, TextDecoration(..)
, VerticalAlign(..)
, DisplayStyle(..)
, TextCase(..)
, DemoteNonDroppingParticle(..)
, StyleOptions(..)
, SubsequentAuthorSubstitute(..)
, SubsequentAuthorSubstituteRule(..)
, SecondFieldAlign(..)
, PageRangeFormat(..)
, Style(..)
, TermMatch(..)
, TermGender(..)
, TermNumber(..)
, TermForm(..)
, Term(..)
, emptyTerm
, SortDirection(..)
, SortKey(..)
, SortKeyValue(..)
, LayoutOptions(..)
, Collapsing(..)
, Layout(..)
, DisambiguationStrategy(..)
, GivenNameDisambiguationRule(..)
, Lang(..)
, parseLang
, renderLang
, Locale(..)
, DisambiguationData(..)
, NameHints(..)
, Reference(..)
, ReferenceMap(..)
, makeReferenceMap
, lookupReference
, Val(..)
, valToText
, Variable
, toVariable
, fromVariable
, lookupVariable
, Output(..)
, Identifier(..)
, identifierToURL
, fixShortDOI
, Tag(..)
, outputToText
, renderOutput
, grouped
, formatted
, readAsInt
, variableType
, VariableType(..)
, Abbreviations
, lookupAbbreviation
, Result(..)
, Inputs(..)
, parseCslJson
, lookupQuotes
, superscriptChars
)
where
import qualified Data.Set as Set
import qualified Data.Map as M
import qualified Data.Text.Read as TR
import qualified Data.Scientific as S
import qualified Data.CaseInsensitive as CI
import Control.Monad (foldM, guard, mzero)
import Control.Applicative ((<|>), optional)
import Data.Char (isLower, isDigit, isLetter, isSpace, isAlphaNum, isAscii)
import Data.Text (Text)
import GHC.Generics (Generic)
import qualified Data.Text as T
import Data.List (elemIndex)
import Data.Maybe
import qualified Data.Vector as V
import Data.Aeson (FromJSON (..), ToJSON (..), ToJSONKey (..),
FromJSONKey (..), FromJSONKeyFunction (..),
withArray, withObject, object, Value(..),
(.:), (.:?), (.!=))
import Data.Aeson.Types (typeMismatch, Parser, toJSONKeyText)
import Data.Coerce
import Data.Generics.Uniplate.Direct
import qualified Data.Attoparsec.Text as P
import Safe (readMay)
import Data.String (IsString)
import Citeproc.Unicode (Lang(..), parseLang, renderLang)
-- import Debug.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
-- | Options affecting the output in ways that go beyond
-- what can be specified in styles.
data CiteprocOptions =
CiteprocOptions
{ linkCitations :: Bool
-- ^ Create hyperlinks from citations to bibliography entries
, linkBibliography :: Bool
-- ^ Enables the following options:
--
-- * Automatically linkify any DOI, PMCID, PMID, or URL
-- appearing in a bibliography entry.
-- * When a bibliography entry has a DOI, PMCID, PMID, or URL available
-- (in order of priority), but the style does not explicitly render at
-- least one of them, add a hyperlink to the title instead.
-- * A bibliography item with a DOI, PMCID, PMID, or URL available
-- (in order of priority) will be wrapped in a hyperlink when the hyperlink
-- has not already been applied to one of its parts (e.g. to the title).
}
deriving (Show, Eq)
defaultCiteprocOptions :: CiteprocOptions
defaultCiteprocOptions =
CiteprocOptions
{ linkCitations = False
, linkBibliography = False
}
data CiteprocError =
CiteprocXMLError Text
| CiteprocParseError Text
| CiteprocLocaleNotFound Text
deriving (Show, Eq)
prettyCiteprocError :: CiteprocError -> Text
prettyCiteprocError (CiteprocXMLError t) =
"CiteprocXMLError: " <> t
prettyCiteprocError (CiteprocParseError t) =
"CiteprocParseError: " <> t
prettyCiteprocError (CiteprocLocaleNotFound t) =
"CiteprocLocaleNotFound: " <> t
-- | CSL styles require certain formatting transformations to
-- be defined. These are defined in the 'CiteprocOutput' class.
-- The library may be used with any structured format that defines
-- these operations. See the 'Citeproc.CslJson' module for an instance
-- that corresponds to the markup allowed in CSL JSON. See
-- the 'Citeproc.Pandoc' module for an instance for Pandoc 'Inlines'.
class (Semigroup a, Monoid a, Show a, Eq a, Ord a) => CiteprocOutput a where
toText :: a -> Text
fromText :: Text -> a
dropTextWhile :: (Char -> Bool) -> a -> a
dropTextWhileEnd :: (Char -> Bool) -> a -> a
addFontVariant :: FontVariant -> a -> a
addFontStyle :: FontStyle -> a -> a
addFontWeight :: FontWeight -> a -> a
addTextDecoration :: TextDecoration -> a -> a
addVerticalAlign :: VerticalAlign -> a -> a
addTextCase :: Maybe Lang -> TextCase -> a -> a
addDisplay :: DisplayStyle -> a -> a
addQuotes :: a -> a
movePunctuationInsideQuotes :: a -> a
inNote :: a -> a
mapText :: (Text -> Text) -> a -> a
addHyperlink :: Text -> a -> a
localizeQuotes :: Locale -> a -> a
addFormatting :: CiteprocOutput a => Locale -> Formatting -> a -> a
addFormatting locale f x =
if T.null (toText x) -- TODO inefficient
then mempty
else
maybe id addDisplay (formatDisplay f) .
(if affixesInside then id else addPrefix . addSuffix) .
(if formatQuotes f then addQuotes else id) .
maybe id addVerticalAlign (formatVerticalAlign f) .
maybe id addTextDecoration (formatTextDecoration f) .
maybe id addFontWeight (formatFontWeight f) .
maybe id addFontVariant (formatFontVariant f) .
maybe id (addTextCase (formatLang f)) (formatTextCase f) .
maybe id addFontStyle (formatFontStyle f) .
(if affixesInside then addPrefix . addSuffix else id) .
(if formatStripPeriods f then mapText (T.filter (/='.')) else id)
$ x
where
addPrefix z = case formatPrefix f of
Just s -> mconcat $ fixPunct [parseCslJson locale s, z]
Nothing -> z
addSuffix z = case formatSuffix f of
Just s -> mconcat $ fixPunct [z, parseCslJson locale s]
Nothing -> z
affixesInside = formatAffixesInside f
-- | The identifier used to identify a work in a bibliographic
-- database.
newtype ItemId = ItemId { unItemId :: Text }
deriving (Show, Eq, Ord, Semigroup, Monoid, ToJSON, FromJSON)
data CitationItemType =
AuthorOnly -- ^ e.g., Smith
| SuppressAuthor -- ^ e.g., (2000, p. 30)
| NormalCite -- ^ e.g., (Smith 2000, p. 30)
deriving (Show, Eq, Ord)
instance FromJSON CitationItemType where
parseJSON x = parseJSON x >>=
\case
"author-only" -> pure AuthorOnly
"suppress-author" -> pure SuppressAuthor
"normal-cite" -> pure NormalCite
t -> fail $ "Unknown type " ++ t
instance ToJSON CitationItemType where
toJSON AuthorOnly = "author-only"
toJSON SuppressAuthor = "suppress-author"
toJSON NormalCite = "normal-cite"
-- | The part of a citation corresponding to a single work,
-- possibly including a label, locator, prefix and suffix.
data CitationItem a =
CitationItem
{ citationItemId :: ItemId
, citationItemLabel :: Maybe Text
, citationItemLocator :: Maybe Text
, citationItemType :: CitationItemType
, citationItemPrefix :: Maybe a
, citationItemSuffix :: Maybe a
, citationItemData :: Maybe (Reference a)
} deriving (Show, Eq, Ord)
instance (FromJSON a, Eq a) => FromJSON (CitationItem a) where
parseJSON = withObject "CitationItem" $ \v -> CitationItem
<$> (v .: "id" >>= fmap ItemId . asText)
<*> v .:? "label"
<*> optional (v .: "locator" >>= asText)
<*> ( (v .: "type")
<|> (do suppressAuth <- v .:? "suppress-author"
authorOnly <- v .:? "author-only"
return $
case suppressAuth of
Just True -> SuppressAuthor
_ -> case authorOnly of
Just True -> AuthorOnly
_ -> NormalCite) )
<*> v .:? "prefix"
<*> v .:? "suffix"
<*> v .:? "itemData"
instance ToJSON a => ToJSON (CitationItem a) where
toJSON i = object $
[ ( "id", toJSON (citationItemId i) )
, ("type", toJSON $ citationItemType i) ] ++
[ ( "label", toJSON (citationItemLabel i) )
| isJust (citationItemLabel i) ] ++
[ ("locator", toJSON (citationItemLocator i) )
| isJust (citationItemLocator i) ] ++
[ ("prefix", toJSON (citationItemPrefix i))
| isJust (citationItemPrefix i) ] ++
[ ("suffix", toJSON (citationItemSuffix i))
| isJust (citationItemSuffix i) ] ++
[ ("itemData", toJSON (citationItemData i))
| isJust (citationItemData i) ]
-- | A citation (which may include several items, e.g.
-- in @(Smith 2000; Jones 2010, p. 30)@).
data Citation a =
Citation { citationId :: Maybe Text
, citationResetPosition :: Bool -- ^ Reset the position information
-- that determines whether citation items are "subsequent,"
-- prior to processing this citation.
-- Note that this affects all subsequent citations, not just this
-- one.
, citationNoteNumber :: Maybe Int
, citationPrefix :: Maybe a
, citationSuffix :: Maybe a
, citationItems :: [CitationItem a]
}
deriving (Show, Eq, Ord)
instance (FromJSON a, Eq a) => FromJSON (Citation a) where
parseJSON v =
withArray "Citation"
(\ary ->
case ary V.!? 0 of
Just v' -> (withObject "Citation" $ \o
-> Citation <$> o .:? "citationID"
<*> o .:? "citationResetPosition" .!= False
<*> ((o .: "properties"
>>= (.: "noteIndex"))
<|> pure Nothing)
<*> o .:? "citationPrefix"
<*> o .:? "citationSuffix"
<*> o .: "citationItems") v'
<|> Citation Nothing False Nothing Nothing Nothing <$> parseJSON v'
Nothing -> fail "Empty array") v
<|>
withObject "Citation"
(\o -> Citation <$> o .:? "citationID"
<*> o .:? "citationResetPosition" .!= False
<*> o .:? "citationNoteNumber"
<*> o .:? "citationPrefix"
<*> o .:? "citationSuffix"
<*> o .: "citationItems") v
<|>
(Citation Nothing False Nothing Nothing Nothing <$> parseJSON v)
instance ToJSON a => ToJSON (Citation a) where
toJSON c =
object $
[ ("citationID", toJSON $ citationId c) | isJust (citationId c) ] ++
[ ("citationResetPosition", toJSON $ citationResetPosition c) ] ++
[ ("citationPrefix", toJSON $ citationPrefix c) | isJust (citationPrefix c) ] ++
[ ("citationSuffix", toJSON $ citationSuffix c) | isJust (citationSuffix c) ] ++
[ ("citationItems" , toJSON $ citationItems c) ] ++
case citationNoteNumber c of
Nothing -> []
Just n -> [ ("citationNoteNumber", toJSON n) ]
data Match =
MatchAll
| MatchAny
| MatchNone
deriving (Show, Eq)
data Condition =
HasVariable Variable
| HasType [Text]
| IsUncertainDate Variable
| IsNumeric Variable
| HasLocatorType Variable
| HasPosition Position
| WouldDisambiguate
deriving (Show, Eq)
data Position =
FirstPosition
| IbidWithLocator
| Ibid
| NearNote
| Subsequent
deriving (Show, Eq, Ord)
data DateType =
LocalizedNumeric
| LocalizedText
| NonLocalized
deriving (Show, Eq, Ord)
data ShowDateParts =
YearMonthDay
| YearMonth
| Year
deriving (Show, Eq)
data DPName =
DPYear
| DPMonth
| DPDay
deriving (Show, Eq, Ord)
data DPForm =
DPNumeric
| DPNumericLeadingZeros
| DPOrdinal
| DPLong
| DPShort
deriving (Show, Eq)
data DP =
DP
{ dpName :: DPName
, dpForm :: DPForm
, dpRangeDelimiter :: Text
, dpFormatting :: Formatting
}
deriving (Show, Eq)
data VariableForm =
ShortForm
| LongForm
deriving (Show, Eq)
data TextType =
TextVariable VariableForm Variable
| TextMacro Text
| TextTerm Term
| TextValue Text
deriving (Show, Eq)
data NumberForm =
NumberNumeric
| NumberOrdinal
| NumberLongOrdinal
| NumberRoman
deriving (Show, Eq)
data Pluralize =
ContextualPluralize
| AlwaysPluralize
| NeverPluralize
deriving (Show, Eq)
data NamesFormat =
NamesFormat
{ namesLabel :: Maybe (TermForm, Pluralize, Formatting)
, namesEtAl :: Maybe (Text, Formatting)
, namesName :: Maybe (NameFormat, Formatting)
, namesLabelBeforeName :: Bool
} deriving (Show, Eq)
data DelimiterPrecedes =
PrecedesContextual
| PrecedesAfterInvertedName
| PrecedesAlways
| PrecedesNever
deriving (Show, Eq)
data NameForm =
LongName
| ShortName
| CountName
deriving (Show, Eq)
data NameFormat =
NameFormat
{ nameGivenFormatting :: Maybe Formatting
, nameFamilyFormatting :: Maybe Formatting
, nameAndStyle :: Maybe TermForm
, nameDelimiter :: Maybe Text
, nameDelimiterPrecedesEtAl :: Maybe DelimiterPrecedes
, nameDelimiterPrecedesLast :: Maybe DelimiterPrecedes
, nameEtAlMin :: Maybe Int
, nameEtAlUseFirst :: Maybe Int
, nameEtAlSubsequentUseFirst :: Maybe Int
, nameEtAlSubsequentMin :: Maybe Int
, nameEtAlUseLast :: Maybe Bool
, nameForm :: Maybe NameForm
, nameInitialize :: Maybe Bool
, nameInitializeWith :: Maybe Text
, nameAsSortOrder :: Maybe NameAsSortOrder
, nameSortSeparator :: Maybe Text
} deriving (Show, Eq, Generic)
-- | Combine two NameFormats, with the second argument used to
-- fill Nothing values in the first.
combineNameFormat :: NameFormat -> NameFormat -> NameFormat
combineNameFormat a b =
NameFormat
{ nameGivenFormatting = nameGivenFormatting a
<|> nameGivenFormatting b
, nameFamilyFormatting = nameFamilyFormatting a
<|> nameFamilyFormatting b
, nameAndStyle = nameAndStyle a <|> nameAndStyle b
, nameDelimiter = nameDelimiter a <|> nameDelimiter b
, nameDelimiterPrecedesEtAl = nameDelimiterPrecedesEtAl a
<|> nameDelimiterPrecedesEtAl b
, nameDelimiterPrecedesLast = nameDelimiterPrecedesLast a
<|> nameDelimiterPrecedesLast b
, nameEtAlMin = nameEtAlMin a <|> nameEtAlMin b
, nameEtAlUseFirst = nameEtAlUseFirst a <|> nameEtAlUseFirst b
, nameEtAlSubsequentUseFirst = nameEtAlSubsequentUseFirst a
<|> nameEtAlSubsequentUseFirst b
, nameEtAlSubsequentMin = nameEtAlSubsequentMin a
<|> nameEtAlSubsequentMin b
, nameEtAlUseLast = nameEtAlUseLast a <|> nameEtAlUseLast b
, nameForm = nameForm a <|> nameForm b
, nameInitialize = nameInitialize a <|> nameInitialize b
, nameInitializeWith = nameInitializeWith a
<|> nameInitializeWith b
, nameAsSortOrder = nameAsSortOrder a <|> nameAsSortOrder b
, nameSortSeparator = nameSortSeparator a <|> nameSortSeparator b
}
defaultNameFormat :: NameFormat
defaultNameFormat =
NameFormat
{ nameGivenFormatting = Nothing
, nameFamilyFormatting = Nothing
, nameAndStyle = Nothing
, nameDelimiter = Nothing
, nameDelimiterPrecedesEtAl = Nothing
, nameDelimiterPrecedesLast = Nothing
, nameEtAlMin = Nothing
, nameEtAlUseFirst = Nothing
, nameEtAlSubsequentUseFirst = Nothing
, nameEtAlSubsequentMin = Nothing
, nameEtAlUseLast = Nothing
, nameForm = Nothing
, nameInitialize = Nothing
, nameInitializeWith = Nothing
, nameAsSortOrder = Nothing
, nameSortSeparator = Nothing
}
data NameAsSortOrder =
NameAsSortOrderFirst
| NameAsSortOrderAll
deriving (Show, Eq)
data ElementType a =
EText TextType
| EDate Variable DateType (Maybe ShowDateParts) [DP]
| ENumber Variable NumberForm
| ENames [Variable] NamesFormat [Element a] -- last part is substitutes if any
| ELabel Variable TermForm Pluralize
| EGroup Bool [Element a] -- Bool is true if it's an expanded macro
| EChoose [(Match, [Condition], [Element a])]
-- 'else' can be represented by a final trivial match condition
deriving (Show, Eq)
data Formatting =
Formatting
{ formatLang :: Maybe Lang
, formatFontStyle :: Maybe FontStyle
, formatFontVariant :: Maybe FontVariant
, formatFontWeight :: Maybe FontWeight
, formatTextDecoration :: Maybe TextDecoration
, formatVerticalAlign :: Maybe VerticalAlign
, formatPrefix :: Maybe Text
, formatSuffix :: Maybe Text
, formatDisplay :: Maybe DisplayStyle
, formatTextCase :: Maybe TextCase
, formatDelimiter :: Maybe Text
, formatStripPeriods :: Bool
, formatQuotes :: Bool
, formatAffixesInside :: Bool -- put affixes inside other formatting
} deriving (Show, Eq)
defaultFormatting :: Formatting
defaultFormatting = Formatting Nothing Nothing Nothing Nothing Nothing
Nothing Nothing Nothing Nothing Nothing Nothing False False False
combineFormatting :: Formatting -> Formatting -> Formatting
combineFormatting
(Formatting la1 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1)
(Formatting la2 a2 b2 c2 d2 e2 f2 g2 h2 i2 j2 k2 l2 m2) =
Formatting (la1 <|> la2) (a1 <|> a2) (b1 <|> b2) (c1 <|> c2)
(d1 <|> d2) (e1 <|> e2) (f1 <|> f2)
(g1 <|> g2) (h1 <|> h2) (i1 <|> i2)
(j1 <|> j2) (k1 || k2) (l1 || l2) (m1 || m2)
instance Semigroup Formatting where
(<>) = combineFormatting
instance Monoid Formatting where
mempty = defaultFormatting
mappend = (<>)
data TextCase =
Lowercase
| Uppercase
| CapitalizeFirst
| CapitalizeAll
| SentenceCase
| TitleCase
| PreserveCase
deriving (Show, Eq)
data DisplayStyle =
DisplayBlock
| DisplayLeftMargin
| DisplayRightInline
| DisplayIndent
deriving (Show, Eq)
data FontStyle =
NormalFont
| ItalicFont
| ObliqueFont
deriving (Show, Eq)
data FontVariant =
NormalVariant
| SmallCapsVariant
deriving (Show, Eq)
data FontWeight =
NormalWeight
| BoldWeight
| LightWeight
deriving (Show, Eq)
data TextDecoration =
NoDecoration
| UnderlineDecoration
deriving (Show, Eq)
data VerticalAlign =
BaselineAlign
| SupAlign
| SubAlign
deriving (Show, Eq)
data Element a = Element (ElementType a) Formatting
deriving (Show, Eq)
data SortDirection =
Ascending
| Descending
deriving (Show, Eq)
data SortKey a =
SortKeyVariable SortDirection Variable
| SortKeyMacro SortDirection NameFormat Text
deriving (Show, Eq)
data SortKeyValue =
SortKeyValue SortDirection (Maybe [Text])
deriving (Show, Eq)
data Layout a =
Layout
{ layoutOptions :: LayoutOptions
, layoutFormatting :: Formatting
, layoutElements :: [Element a]
, layoutSortKeys :: [SortKey a]
} deriving (Show, Eq)
data LayoutOptions =
LayoutOptions
{ layoutCollapse :: Maybe Collapsing
, layoutYearSuffixDelimiter :: Maybe Text
, layoutAfterCollapseDelimiter :: Maybe Text
, layoutNameFormat :: NameFormat
} deriving (Show, Eq)
data Collapsing =
CollapseCitationNumber
| CollapseYear
| CollapseYearSuffix
| CollapseYearSuffixRanged
deriving (Show, Eq)
data DisambiguationStrategy =
DisambiguationStrategy
{ disambiguateAddNames :: Bool
, disambiguateAddGivenNames :: Maybe GivenNameDisambiguationRule
, disambiguateAddYearSuffix :: Bool
} deriving (Show, Eq, Ord)
data GivenNameDisambiguationRule =
AllNames
| AllNamesWithInitials
| PrimaryName
| PrimaryNameWithInitials
| ByCite
deriving (Show, Eq, Ord)
data DemoteNonDroppingParticle =
DemoteDisplayAndSort
| DemoteSortOnly
| DemoteNever
deriving (Show, Eq)
data StyleOptions =
StyleOptions
{ styleIsNoteStyle :: Bool
, styleDefaultLocale :: Maybe Lang
, styleDemoteNonDroppingParticle :: DemoteNonDroppingParticle
, styleInitializeWithHyphen :: Bool
, stylePageRangeFormat :: Maybe PageRangeFormat
, stylePageRangeDelimiter :: Maybe Text
, styleDisambiguation :: DisambiguationStrategy
, styleNearNoteDistance :: Maybe Int
, styleCiteGroupDelimiter :: Maybe Text
, styleLineSpacing :: Maybe Int
, styleEntrySpacing :: Maybe Int
, styleHangingIndent :: Bool
, styleSecondFieldAlign :: Maybe SecondFieldAlign
, styleSubsequentAuthorSubstitute :: Maybe SubsequentAuthorSubstitute
, styleUsesYearSuffixVariable :: Bool
, styleNameFormat :: NameFormat
} deriving (Show, Eq)
data SubsequentAuthorSubstitute =
SubsequentAuthorSubstitute Text SubsequentAuthorSubstituteRule
deriving (Show, Eq)
data SubsequentAuthorSubstituteRule =
CompleteAll
| CompleteEach
| PartialEach
| PartialFirst
deriving (Show, Eq)
data SecondFieldAlign =
SecondFieldAlignFlush
| SecondFieldAlignMargin
deriving (Show, Eq)
data PageRangeFormat =
PageRangeChicago15
| PageRangeChicago16
| PageRangeExpanded
| PageRangeMinimal
| PageRangeMinimalTwo
deriving (Show, Eq, Ord)
data Style a =
Style
{ styleCslVersion :: (Int,Int,Int)
, styleOptions :: StyleOptions
, styleCitation :: Layout a
, styleBibliography :: Maybe (Layout a)
, styleLocales :: [Locale]
, styleAbbreviations :: Maybe Abbreviations
, styleMacros :: M.Map Text [Element a]
} deriving (Show, Eq)
-- Note: no macros section, because we
-- expand these after parsing the CSL.
data TermForm =
Long
| Short
| Verb
| VerbShort
| Symbol
deriving (Show, Ord, Eq)
data TermNumber =
Singular
| Plural
deriving (Show, Ord, Eq)
data TermGender =
Masculine
| Feminine
deriving (Show, Ord, Eq)
data TermMatch =
LastDigit
| LastTwoDigits
| WholeNumber
deriving (Show, Ord, Eq)
data Term =
Term
{ termName :: Text
, termForm :: TermForm
, termNumber :: Maybe TermNumber
, termGender :: Maybe TermGender
, termGenderForm :: Maybe TermGender
, termMatch :: Maybe TermMatch
} deriving (Show, Eq)
emptyTerm :: Term
emptyTerm = Term mempty Long Nothing Nothing Nothing Nothing
instance Ord Term where
(<=)(Term name1 form1 num1 gen1 gf1 match1)
(Term name2 form2 num2 gen2 gf2 match2) =
name1 == name2 &&
form1 == form2 &&
(isNothing num1 || isNothing num2 || num1 == num2) &&
(isNothing gen1 || isNothing gen2 || gen1 == gen2) &&
(isNothing gf1 || isNothing gf2 || gf1 == gf2 ) &&
(isNothing match1 || isNothing match2 || match1 == match2)
-- | Defines locale-specific terms, punctuation styles, and date
-- formats.
data Locale =
Locale
{ localeLanguage :: Maybe Lang
, localePunctuationInQuote :: Maybe Bool
, localeLimitDayOrdinalsToDay1 :: Maybe Bool
, localeDate :: M.Map DateType (Element Text)
, localeTerms :: M.Map Text [(Term, Text)]
}
deriving (Show, Eq)
-- in x <> y, x values take precedence
instance Semigroup Locale where
Locale lang1 pq1 ldo1 date1 ts1 <>
Locale lang2 pq2 ldo2 date2 ts2 =
Locale (lang1 <|> lang2)
(pq1 <|> pq2)
(ldo1 <|> ldo2)
(date1 <> date2)
(M.unionWith (<>) ts1 ts2)
instance Monoid Locale where
mempty = Locale Nothing Nothing Nothing mempty mempty
mappend = (<>)
newtype Variable = Variable (CI.CI Text)
deriving (Show, Ord, Eq, IsString)
toVariable :: Text -> Variable
toVariable = Variable . CI.mk
fromVariable :: Variable -> Text
fromVariable (Variable x) = CI.original x
instance Semigroup Variable where
Variable x <> Variable y = Variable (x <> y)
instance Monoid Variable where
mappend = (<>)
mempty = Variable mempty
instance FromJSON Variable where
parseJSON = fmap (Variable . CI.mk) . parseJSON
instance FromJSONKey Variable where
fromJSONKey = FromJSONKeyText toVariable
instance ToJSON Variable where
toJSON (Variable v) = toJSON $ CI.original v
instance ToJSONKey Variable where
toJSONKey = toJSONKeyText fromVariable
-- | Encodes bibliographic data for a single work.
data Reference a =
Reference
{ referenceId :: ItemId
, referenceType :: Text
, referenceDisambiguation :: Maybe DisambiguationData
-- ^ This is added in processing; if you are constructing
-- a Reference, set to Nothing
, referenceVariables :: M.Map Variable (Val a)
} deriving (Show, Ord, Eq, Functor, Foldable, Traversable)
instance ToJSON a => ToJSON (Reference a) where
toJSON r = toJSON $
M.insert "id" (TextVal $ coerce (referenceId r)) $
M.insert "type" (TextVal $ referenceType r) $
referenceVariables r
data DisambiguationData =
DisambiguationData
{ disambYearSuffix :: Maybe Int
, disambNameMap :: M.Map Name NameHints
, disambEtAlNames :: Maybe Int
, disambCondition :: Bool
} deriving (Show, Ord, Eq)
data NameHints =
AddInitials
| AddGivenName
| AddInitialsIfPrimary
| AddGivenNameIfPrimary
deriving (Show, Ord, Eq)
instance (Eq a, FromJSON a) => FromJSON (Reference a) where
parseJSON v = parseJSON v >>= parseReference
lookupVariable :: CiteprocOutput a => Variable -> Reference a -> Maybe (Val a)
lookupVariable "id" r =
case referenceId r of
ItemId "" -> Nothing
ItemId t -> Just (TextVal t)
lookupVariable "type" r =
case referenceType r of
"" -> Nothing
t -> Just (TextVal t)
lookupVariable "page-first" r = -- compute "page-first" if not set
M.lookup "page-first" (referenceVariables r) <|>
case M.lookup "pages" (referenceVariables r) of
Nothing -> Nothing
Just (NumVal n) -> Just (NumVal n)
Just (TextVal t) -> NumVal <$> readMay (T.unpack (takeDigits t))
Just (FancyVal x) -> NumVal <$> readMay (T.unpack
(takeDigits $ toText x))
_ -> Nothing
where
takeDigits = T.takeWhile isDigit
lookupVariable v r = M.lookup v $ referenceVariables r
parseReference :: FromJSON a
=> M.Map Variable Value -> Parser (Reference a)
parseReference rawmap =
foldM go (Reference mempty mempty Nothing mempty) (M.toList rawmap)
where
go (Reference i t d m) (k, v)
| k == "id" = do
id' <- ItemId <$> readString v
return $ Reference id' t d m
| k == "type" = do
type' <- readString v
return $ Reference i type' d m
| k == "journalAbbreviation" || k == "shortTitle" = -- legacy citeproc-js
go (Reference i t d m) ("container-title-short", v)
| k == "note" = do
t' <- parseJSON v
let (kvs, rest) = parseNote t'
in (if T.null rest
then id
else \(Reference i' t'' d' m') ->
Reference i' t'' d' (M.insert "note" (TextVal rest) m'))
<$> foldM go (Reference i t d m) (consolidateNameVariables kvs)
| otherwise = Reference i t d <$>
case variableType k of
StringVariable -> do
v' <- TextVal <$> readString v
return $ M.insert k v' m
StandardVariable -> do
v' <- FancyVal <$> parseJSON v <|> TextVal <$> readString v
return $ M.insert k v' m
NumberVariable -> do
v' <- case v of
String{} -> FancyVal <$> parseJSON v
Number{} -> (NumVal <$> parseJSON v) <|>
(FancyVal <$> parseJSON v)
_ -> typeMismatch "String or Number" v
return $ M.insert k v' m
DateVariable -> do
v' <- parseJSON v
return $ M.insert k (DateVal v') m
NameVariable -> do
v' <- parseJSON v
return $ M.insert k (NamesVal v') m
UnknownVariable -> -- treat as standard variable if possible
case v of
String{} -> (\x -> M.insert k x m) <$>
(FancyVal <$> parseJSON v <|> TextVal <$> readString v)
Number{} -> (\x -> M.insert k (TextVal x) m) <$> readString v
_ -> return m -- silently ignore
readString v =
case v of
String{} -> parseJSON v
Number{} -> T.pack . show <$> (parseJSON v :: Parser Int)
_ -> typeMismatch "String or Number" v
-- name variables are cumulative and should be packed into an array
consolidateNameVariables :: [(Variable, Text)] -> [(Variable, Value)]
consolidateNameVariables [] = []
consolidateNameVariables ((k,v):kvs)
= case variableType k of
NameVariable
-> (k, Array
(V.fromList [String t | (k',t) <- (k,v):kvs, k' == k])) :
consolidateNameVariables (filter ((/= k) . fst) kvs)
_ -> (k, String v) : consolidateNameVariables kvs
parseNote :: Text
-> ([(Variable, Text)], Text)
parseNote t =
either (const ([],t)) id $
P.parseOnly ((,) <$> P.many' pNoteField <*> P.takeText) t
where
pNoteField = pBracedField <|> pLineField
pLineField = do
name <- pVarname
_ <- P.char ':'
val <- P.takeWhile (/='\n')
() <$ P.char '\n' <|> P.endOfInput
return (Variable $ CI.mk name, T.strip val)
pBracedField = do
_ <- P.string "{:"
name <- pVarname
_ <- P.char ':'
val <- P.takeWhile (/='}')
_ <- P.char '}'
return (Variable $ CI.mk name, T.strip val)
pVarname = P.takeWhile1 (\c -> isLetter c || c == '-')
data VariableType =
DateVariable
| NameVariable
| NumberVariable
| StringVariable
| StandardVariable
| UnknownVariable
deriving (Show, Eq)
variableType :: Variable -> VariableType
variableType "accessed" = DateVariable
variableType "available-date" = DateVariable
variableType "container" = DateVariable
variableType "event-date" = DateVariable
variableType "issued" = DateVariable
variableType "original-date" = DateVariable
variableType "submitted" = DateVariable
variableType "author" = NameVariable
variableType "chair" = NameVariable
variableType "collection-editor" = NameVariable
variableType "composer" = NameVariable
variableType "compiler" = NameVariable
variableType "container-author" = NameVariable
variableType "contributor" = NameVariable
variableType "curator" = NameVariable
variableType "director" = NameVariable
variableType "editor" = NameVariable
variableType "editor-translator" = NameVariable
variableType "editorial-director" = NameVariable
variableType "executive-producer" = NameVariable
variableType "guest" = NameVariable
variableType "host" = NameVariable
variableType "illustrator" = NameVariable
variableType "interviewer" = NameVariable
variableType "narrator" = NameVariable
variableType "original-author" = NameVariable
variableType "organizer" = NameVariable
variableType "performer" = NameVariable
variableType "producer" = NameVariable
variableType "recipient" = NameVariable
variableType "reviewed-author" = NameVariable
variableType "script-writer" = NameVariable
variableType "series-creator" = NameVariable
variableType "translator" = NameVariable
variableType "chapter-number" = NumberVariable
variableType "citation-number" = NumberVariable
variableType "collection-number" = NumberVariable
variableType "edition" = NumberVariable
variableType "first-reference-note-number" = NumberVariable
variableType "issue" = NumberVariable
variableType "locator" = NumberVariable
variableType "number" = NumberVariable
variableType "number-of-pages" = NumberVariable
variableType "number-of-volumes" = NumberVariable
variableType "page" = NumberVariable
variableType "page-first" = NumberVariable
variableType "part-number" = NumberVariable
variableType "printing-number" = NumberVariable
variableType "section" = NumberVariable
variableType "supplement-number" = NumberVariable
variableType "version" = NumberVariable
variableType "volume" = NumberVariable
variableType "abstract" = StandardVariable
variableType "annote" = StandardVariable
variableType "archive" = StandardVariable
variableType "archive_collection" = StandardVariable
variableType "archive_location" = StandardVariable
variableType "archive-place" = StandardVariable
variableType "authority" = StandardVariable
variableType "call-number" = StandardVariable
variableType "citation-key" = StandardVariable
variableType "citation-label" = StandardVariable
variableType "collection-title" = StandardVariable
variableType "container-title" = StandardVariable
variableType "container-title-short" = StandardVariable
variableType "dimensions" = StandardVariable
variableType "division" = StandardVariable
variableType "DOI" = StringVariable
variableType "event" = StandardVariable
variableType "event-place" = StandardVariable
variableType "event-title" = StandardVariable --(new name for "event" to avoid confusion with new "event" type)
variableType "genre" = StandardVariable
variableType "ISBN" = StringVariable
variableType "ISSN" = StringVariable
variableType "jurisdiction" = StandardVariable
variableType "keyword" = StandardVariable
variableType "language" = StandardVariable
variableType "license" = StandardVariable
variableType "medium" = StandardVariable
variableType "note" = StandardVariable
variableType "original-publisher" = StandardVariable
variableType "original-publisher-place" = StandardVariable
variableType "original-title" = StandardVariable
variableType "part-title" = StandardVariable
variableType "PMID" = StringVariable
variableType "PMCID" = StringVariable
variableType "publisher" = StandardVariable
variableType "publisher-place" = StandardVariable
variableType "references" = StandardVariable
variableType "reviewed-genre" = StandardVariable
variableType "reviewed-title" = StandardVariable
variableType "scale" = StandardVariable
variableType "source" = StandardVariable
variableType "status" = StandardVariable
variableType "title" = StandardVariable
variableType "title-short" = StandardVariable
variableType "URL" = StringVariable
variableType "volume-title" = StandardVariable
variableType "year-suffix" = StandardVariable
variableType _ = UnknownVariable
newtype (ReferenceMap a) =
ReferenceMap { unReferenceMap :: M.Map ItemId (Reference a) }
deriving (Show)
-- | Returns a pair consisting of the cleaned up list of
-- references and a reference map. If the original reference
-- list contains items with the same id, then the one that
-- occurs last in the list is retained, and the others are
-- omittedfrom the cleaned-up list.
makeReferenceMap :: [Reference a] -> ([Reference a], ReferenceMap a)
makeReferenceMap = snd . foldr go (mempty, ([], ReferenceMap mempty))
where
go ref (ids, (rs, ReferenceMap refmap)) =
let rid = referenceId ref
in if Set.member rid ids
then (ids, (rs, ReferenceMap refmap))
else (Set.insert rid ids,
(ref:rs, ReferenceMap (M.insert rid ref refmap)))
lookupReference :: ItemId -> ReferenceMap a -> Maybe (Reference a)
lookupReference ident (ReferenceMap m) = M.lookup ident m
-- | Value associated with a certain variable in a bibliographic
-- entry.
data Val a =
TextVal Text -- ^ Plain text value
| FancyVal a -- ^ Formatted value with parameterized type
| NumVal Int -- ^ Numerical value
| NamesVal [Name] -- ^ Structured names
| DateVal Date -- ^ Structured date
| SubstitutedVal -- ^ Value suppressed through substitution
deriving (Show, Ord, Eq, Functor, Foldable, Traversable)
instance ToJSON a => ToJSON (Val a) where
toJSON (TextVal t) = toJSON t
toJSON (FancyVal x) = toJSON x
toJSON (NumVal n) = toJSON n
toJSON (NamesVal ns) = toJSON ns
toJSON (DateVal d) = toJSON d
toJSON SubstitutedVal = toJSON ()
valToText :: CiteprocOutput a => Val a -> Maybe Text
valToText (TextVal x) = Just x
valToText (FancyVal x) = Just $ toText x
valToText (NumVal n) = Just $ T.pack $ show n
valToText _ = Nothing
data Name =
Name
{ nameFamily :: Maybe Text
, nameGiven :: Maybe Text
, nameDroppingParticle :: Maybe Text
, nameNonDroppingParticle :: Maybe Text
, nameSuffix :: Maybe Text
, nameCommaSuffix :: Bool
, nameStaticOrdering :: Bool
, nameLiteral :: Maybe Text
}
deriving (Show, Eq, Ord)
instance ToJSON Name where
toJSON n =
object $
maybe id (\x -> (("family", toJSON x):)) (nameFamily n) .
maybe id (\x -> (("given", toJSON x):)) (nameGiven n) .
maybe id (\x -> (("dropping-particle", toJSON x):))
(nameDroppingParticle n) .
maybe id (\x -> (("non-dropping-particle", toJSON x):))
(nameNonDroppingParticle n) .
maybe id (\x -> (("suffix", toJSON x):)) (nameSuffix n) .
(if nameCommaSuffix n
then (("comma-suffix", toJSON True):)
else id) .
(if nameStaticOrdering n
then (("static-ordering", toJSON True):)
else id) .
maybe id (\x -> (("literal", toJSON x):)) (nameLiteral n) $
[]
fixApos :: Text -> Text
fixApos = T.map fixAposC
where
fixAposC '\'' = '\x2019'
fixAposC c = c
instance FromJSON Name where
parseJSON (String t) = parseCheaterName t
parseJSON x =
extractParticles <$>
(withObject "Name" $ \v -> Name
<$> (fmap fixApos <$> v .:? "family")
<*> (fmap fixApos <$> v .:? "given")
<*> (fmap fixApos <$> v .:? "dropping-particle")
<*> (fmap fixApos <$> v .:? "non-dropping-particle")
<*> (fmap fixApos <$> v .:? "suffix")
<*> (v .:? "comma-suffix" >>= maybe (return False) asBool)
<*> (v .:? "static-ordering" >>= maybe (return False) asBool)
<*> (fmap fixApos <$> v .:? "literal")
) x
-- "lowercase elements before the family name are treated as “non-dropping”
-- particles, and lowercase elements following the given name as “dropping”
-- particles"
extractParticles :: Name -> Name
extractParticles =
extractNonDroppingParticle . extractDroppingParticle . extractSuffix
where
extractSuffix name =
case nameSuffix name of
Nothing ->
case nameGiven name of
Nothing -> name
Just t
-- in CSL JSON you can put double quotes around something
-- to make it a unit (not subject to splitting).
| "\"" `T.isPrefixOf` t
, "\"" `T.isSuffixOf` t
-> name { nameGiven = Just $ T.drop 1 $ T.dropEnd 1 t }
| otherwise->
let (a,b) = T.break (==',') t
in if T.null a || T.null b
then name
else
if T.take 2 b == ",!"
then name{ nameGiven = Just a
, nameSuffix = Just $ T.strip $ T.drop 2 b
, nameCommaSuffix = True }
else name{ nameGiven = Just a
, nameSuffix = Just $ T.strip $ T.drop 1 b }
Just _ -> name
extractNonDroppingParticle name =
case nameNonDroppingParticle name of
Nothing ->
case nameFamily name of
Nothing -> name
Just t
| "\"" `T.isPrefixOf` t
, "\"" `T.isSuffixOf` t
-> name { nameFamily = Just $ T.drop 1 $ T.dropEnd 1 t }
| otherwise ->
case span (T.all isParticleChar) (T.words t) of
([],_)
-> case T.split isParticlePunct t of
[x,y] | T.all isParticleChar x ->
name{ nameFamily = Just y
, nameNonDroppingParticle = Just $ x <>
T.take 1
(T.dropWhile (not . isParticlePunct) t) }
_ -> name
(_,[]) -> name
(as,bs) -> name{ nameFamily = Just (T.unwords bs)
, nameNonDroppingParticle = Just (T.unwords as) }
Just _ -> name
extractDroppingParticle name =
case nameDroppingParticle name of
Just _ -> name
Nothing ->
case nameGiven name of
Nothing -> name
Just t ->
case break (T.all isParticleChar) (T.words t) of
(_,[]) -> name
([],_) -> name
(as,bs)
| all (T.all isParticleChar) bs
-> name{ nameGiven = Just (T.unwords as)
, nameDroppingParticle = Just (T.unwords bs) }
| otherwise -> name
isParticlePunct c = c == '\'' || c == '’' || c == '-' || c == '\x2013' ||
c == '.'
isParticleChar c = isLower c || isParticlePunct c
-- cheater syntax for name: used in parsing note:
-- editor: Thompson || Hunter S.
parseCheaterName :: Text -> Parser Name
parseCheaterName t = do
let (family, given) = case T.splitOn "||" t of
(f:g:_) -> (Just (T.strip f), Just (T.strip g))
[f] -> (Just (T.strip f), Nothing)
[] -> (Nothing, Nothing)
return $ extractParticles $
Name
{ nameFamily = family
, nameGiven = given
, nameDroppingParticle = Nothing
, nameNonDroppingParticle = Nothing
, nameSuffix = Nothing
, nameCommaSuffix = False
, nameStaticOrdering = False
, nameLiteral = if isNothing family && isNothing given
then Just t
else Nothing
}
isByzantineName :: Name -> Bool
isByzantineName name = maybe False isByzantine (nameFamily name)
-- detect latin/cyrillic names
-- see src/load.js ROMANESQUE_REGEX in citeproc-js:
-- /[-0-9a-zA-Z\u0e01-\u0e5b\u00c0-\u017f\u0370-\u03ff\u0400-\u052f\u0590-\u05d4\u05d6-\u05ff\u1f00-\u1fff\u0600-\u06ff\u200c\u200d\u200e\u0218\u0219\u021a\u021b\u202a-\u202e]/
isByzantineChar :: Char -> Bool
isByzantineChar c = c == '-' ||
(c >= '0' && c <= '9') ||
(c >= 'a' && c <= 'z') ||
(c >= 'A' && c <= 'Z') ||
(c >= '\x0e01' && c <= '\x0e5b') ||
(c >= '\x00c0' && c <= '\x017f') ||
(c >= '\x0370' && c <= '\x03ff') ||
(c >= '\x0400' && c <= '\x052f') ||
(c >= '\x0590' && c <= '\x05d4') ||
(c >= '\x05d6' && c <= '\x05ff') ||
(c >= '\x1f00' && c <= '\x1fff') ||
(c >= '\x0600' && c <= '\x06ff') ||
(c >= '\x200c' && c <= '\x200e') ||
(c >= '\x2018' && c <= '\x2019') ||
(c >= '\x021a' && c <= '\x021b') ||
(c >= '\x202a' && c <= '\x202e')
isByzantine :: Text -> Bool
isByzantine = T.any isByzantineChar
asBool :: Value -> Parser Bool
asBool (String t) = return $ t == "true"
asBool (Bool b) = return b
asBool (Number n) = return $ n == 1
asBool x = typeMismatch "Bool" x
asText :: Value -> Parser Text
asText (String t) = return t
asText (Number n) = return $ case S.floatingOrInteger n of
Left r -> T.pack (show (r :: Double))
Right i -> T.pack (show (i :: Int))
asText x = typeMismatch "String" x
asInt :: Value -> Parser Int
asInt (String t) =
case readAsInt t of
Just x -> return x
Nothing -> fail "not a number"
asInt v@Number{} = parseJSON v
asInt v = typeMismatch "Number" v
data Date =
Date
{ dateParts :: [DateParts]
, dateCirca :: Bool
, dateSeason :: Maybe Int
, dateLiteral :: Maybe Text
} deriving (Show, Eq, Ord)
instance ToJSON Date where
toJSON d =
object $
(if dateCirca d then (("circa", toJSON True):) else id) .
(case dateSeason d of
Just s -> (("season", toJSON s):)
Nothing -> id) .
(case dateLiteral d of
Just l -> (("literal", toJSON l):)
Nothing -> id) $
[ ("date-parts", toJSON (dateParts d)) ]
instance FromJSON Date where
parseJSON (String t) = rawDate t -- cheater dates
parseJSON x = withObject "Date" (\v ->
(v.: "raw" >>= rawDate)
<|>
(Date <$> v .:? "date-parts" .!= []
<*> ((v .: "circa" >>= asBool) <|> pure False)
<*> ((v .: "season" >>= fmap Just . asInt) <|> pure Nothing)
<*> v .:? "literal")) x
newtype DateParts = DateParts [Int]
deriving (Show, Eq, Ord, ToJSON)
instance FromJSON DateParts where
parseJSON v =
DateParts <$> (parseJSON v >>= mapM asInt . removeEmptyStrings)
rawDate :: Text -> Parser Date
rawDate t = case rawDateEDTF t <|> rawDateOld t of
Just d -> return d
Nothing -> return $ Date { dateParts = []
, dateCirca = False
, dateSeason = Nothing
, dateLiteral = Just t }
rawDateEDTF :: Text -> Maybe Date
rawDateEDTF = rawDateISO . handleRanges
where
handleRanges t =
case T.split (=='/') t of
-- 199u EDTF format for a range
[x] | T.any (== 'u') x ->
T.map (\c -> if c == 'u' then '0' else c) x
<> "/" <>
T.map (\c -> if c == 'u' then '9' else c) x
[x, "open"] -> x <> "/" -- EDTF
[x, "unknown"] -> x <> "/" -- EDTF
_ -> t
rawDateISO :: Text -> Maybe Date
rawDateISO raw = do
let ranges = map T.strip $ T.split (=='/') raw
let circa = any ("~" `T.isSuffixOf`) ranges
let isSpecial '~' = True
isSpecial '?' = True
isSpecial '%' = True
isSpecial 'T' = True
isSpecial _ = False
let dparts t = do
(hasY, t') <- if T.take 1 t == "y"
then return (True, T.drop 1 t)
else return (False, t)
(isNeg, t'') <- if T.take 1 t' == "-"
then return (True, T.drop 1 t')
else return (False, t')
let t''' = T.takeWhile (not . isSpecial) t''
case T.split (=='-') t''' of
[""] -> return $ DateParts [0]
[y', m', d'] -> do
guard $ T.length y' == 4 || hasY && T.length y' >= 4
guard $ T.length m' == 2
guard $ T.length d' == 2
y <- (if isNeg
then (\x -> (x * (-1)) - 1) -- 0 = 1 BC
else id) <$> readAsInt y'
m <- readAsInt m'
d <- readAsInt d'
return $ DateParts [y, m, d]
[y', m'] -> do
guard $ T.length y' == 4 || hasY && T.length y' >= 4
guard $ T.length m' == 2
y <- (if isNeg
then (\x -> (x * (-1)) - 1) -- 0 = 1 BC
else id) <$> readAsInt y'
m <- readAsInt m'
return $ DateParts [y, m]
[y'] -> do
guard $ T.length y' == 4 || hasY && T.length y' >= 4
y <- (if isNeg
then (\x -> (x * (-1)) - 1) -- 0 = 1 BC
else id) <$> readAsInt y'
return $ DateParts [y]
_ -> mzero
dps <- mapM dparts ranges
return $ Date
{ dateParts = dps
, dateCirca = circa
, dateSeason = Nothing
, dateLiteral = Nothing
}
rawDateOld :: Text -> Maybe Date
rawDateOld raw = do
let months = ["jan","feb","mar","apr","may","jun","jul","aug",
"sep","oct","nov","dec"]
let seasons = ["spr","sum","fal","win"]
let ranges = T.split (=='-') raw
let readTextMonth t = do
let key = T.toLower $ T.take 3 t
case elemIndex key months of
Just n -> return (n+1)
Nothing -> case elemIndex key seasons of
Just n -> return (n+13)
Nothing -> fail "Improper month"
let dparts t =
case T.split (\c -> c == ' ' || c == '/' || c == ',') $ T.strip t of
[m', d', y'] -> do
y <- readAsInt y'
m <- readAsInt m' <|> readTextMonth m'
d <- readAsInt d'
return $ DateParts [y, m, d]
[m', y'] -> do
y <- readAsInt y'
m <- readAsInt m' <|> readTextMonth m'
return $ DateParts [y, m]
[y'] -> do
y <- readAsInt y'
return $ DateParts [y]
[] -> return $ DateParts []
_ -> mzero
dps <- mapM dparts ranges
return $ Date
{ dateParts = dps
, dateCirca = False
, dateSeason = Nothing
, dateLiteral = Nothing
}
removeEmptyStrings :: [Value] -> [Value]
removeEmptyStrings = filter (not . isEmptyString)
where
isEmptyString (String t) = T.null t
isEmptyString _ = False
data Output a =
Formatted Formatting [Output a]
| Linked Text [Output a]
| InNote (Output a)
| Literal a
| Tagged Tag (Output a)
| NullOutput
deriving (Show, Eq)
instance Uniplate (Output a) where
uniplate (Formatted f xs) = plate Formatted |- f ||* xs
uniplate (Linked u xs) = plate Linked |- u ||* xs
uniplate (InNote x) = plate InNote |* x
uniplate (Literal x) = plate Literal |- x
uniplate (Tagged t x) = plate Tagged |- t |* x
uniplate NullOutput = plate NullOutput
instance Biplate (Output a) (Output a) where
biplate = plateSelf
data Identifier =
IdentDOI Text
| IdentPMCID Text
| IdentPMID Text
| IdentURL Text
deriving (Show, Eq)
identifierToURL :: Identifier -> Text
identifierToURL ident =
case ident of
IdentDOI t -> tolink "https://doi.org/" t
IdentPMCID t -> tolink "https://www.ncbi.nlm.nih.gov/pmc/articles/" t
IdentPMID t -> tolink "https://www.ncbi.nlm.nih.gov/pubmed/" t
IdentURL t -> tolink "https://" t
where
tolink pref x = if T.null x || ("://" `T.isInfixOf` x)
then x
else pref <> x
{-# DEPRECATED fixShortDOI
"This function is no longer used and will be removed." #-}
-- see https://shortdoi.org
fixShortDOI :: Text -> Text
fixShortDOI x = if "10/" `T.isPrefixOf` x
then T.drop 3 x
else x
data Tag =
TagTerm Term
| TagCitationNumber Int
| TagCitationLabel
| TagTitle
-- ^ marks the title of an entry, so it can be hyperlinked later
| TagItem CitationItemType ItemId
| TagName Name
| TagNames Variable NamesFormat [Name]
| TagDate Date
| TagYearSuffix Int
| TagLocator
| TagPrefix
| TagSuffix
deriving (Show, Eq)
outputToText :: CiteprocOutput a => Output a -> Text
outputToText NullOutput = mempty
outputToText (Literal x ) = toText x
outputToText (Tagged _ x) = outputToText x
outputToText (Formatted _ xs) = T.unwords $ map outputToText xs
outputToText (Linked _ xs) = T.unwords $ map outputToText xs
outputToText (InNote x) = outputToText x
renderOutput :: CiteprocOutput a => CiteprocOptions -> Locale -> Output a -> a
renderOutput _ _ NullOutput = mempty
renderOutput _ _ (Literal x) = x
renderOutput opts locale (Tagged (TagItem itemtype ident) x)
| linkCitations opts
, itemtype /= AuthorOnly
= addHyperlink ("#ref-" <> unItemId ident) $ renderOutput opts locale x
renderOutput opts locale (Tagged (TagNames _ _ ns) x)
-- a hack to ensure that names starting with lowercase don't get
-- capitalized in pandoc footnotes: see jgm/pandoc#10983
| any hasNonstandardCase ns
= addTextCase Nothing PreserveCase $ renderOutput opts locale x
renderOutput opts locale (Tagged _ x) = renderOutput opts locale x
renderOutput opts locale (Formatted f [Linked url xs])
| linkBibliography opts
, url == prefix <> anchor
-- ensure correct handling of link prefixes like (https://doi.org/)
-- when a link's prefix+anchor=target, ensure the link includes the prefix
-- (see pandoc#6723 and citeproc#88)
= renderOutput opts locale $ Linked url [Formatted f xs]
where
anchor = mconcat (map outputToText xs)
prefix = fromMaybe "" (formatPrefix f)
renderOutput opts locale (Formatted formatting xs) =
addFormatting locale formatting . mconcat . fixPunct .
(case formatDelimiter formatting of
Just d -> addDelimiters (fromText d)
Nothing -> id) . filter (/= mempty) $ map (renderOutput opts locale) xs
renderOutput opts locale (Linked url xs)
= (if linkBibliography opts
then addHyperlink url
else id) . mconcat . fixPunct $ map (renderOutput opts locale) xs
renderOutput opts locale (InNote x) = inNote $
dropTextWhile isSpace $
dropTextWhile (\c -> c == ',' || c == ';' || c == '.' || c == ':') $
renderOutput opts locale x
hasNonstandardCase :: Name -> Bool
hasNonstandardCase name =
maybe False startsWithLowercase (nameGiven name) ||
maybe False startsWithLowercase (nameFamily name) ||
maybe False startsWithLowercase (nameLiteral name)
where
startsWithLowercase t = case T.uncons t of
Just (c,t')
| isLetter c -> isLower c
| otherwise -> startsWithLowercase t'
Nothing -> False
addDelimiters :: CiteprocOutput a => a -> [a] -> [a]
addDelimiters delim =
foldr addDelim []
where
addDelim x [] = [x]
addDelim x (a:as) = case T.uncons (toText a) of
Just (c,_)
| c == ',' || c == ';' || c == '.' -> x : a : as
_ -> x : delim : a : as
fixPunct :: CiteprocOutput a => [a] -> [a]
fixPunct (x:y:zs) =
case (xEnd, yStart) of
-- https://github.com/Juris-M/citeproc-js/blob/master/src/queue.js#L724
('!','.') -> keepFirst
('!','?') -> keepBoth
('!',':') -> keepFirst
('!',',') -> keepBoth
('!',';') -> keepBoth
('?','!') -> keepBoth
('?','.') -> keepFirst
('?',':') -> keepFirst
('?',',') -> keepBoth
('?',';') -> keepBoth
('.','!') -> keepBoth
('.','?') -> keepBoth
('.',':') -> keepBoth
('.',',') -> keepBoth
('.',';') -> keepBoth
(':','!') -> keepSecond
(':','?') -> keepSecond
(':','.') -> keepFirst
(':',',') -> keepBoth
(':',';') -> keepBoth
(',','!') -> keepBoth
(',','?') -> keepBoth
(',',':') -> keepBoth
(',','.') -> keepBoth
(',',';') -> keepBoth
(';','!') -> keepSecond
(';','?') -> keepSecond
(';',':') -> keepFirst
(';','.') -> keepFirst
(';',',') -> keepBoth
('!','!') -> keepFirst
('?','?') -> keepFirst
('.','.') -> keepFirst
(':',':') -> keepFirst
(';',';') -> keepFirst
(',',',') -> keepFirst
(' ',' ') -> keepSecond
(' ',',') -> keepSecond
(' ','.') -> keepSecond
_ -> keepBoth
where
xText = toText x
yText = toText y
xEnd = if T.null xText then '\xFFFD' else T.last xText
yStart = if T.null yText then '\xFFFD' else T.head yText
xTrimmed = dropTextWhileEnd (== xEnd) x
yTrimmed = dropTextWhile (== yStart) y
keepFirst = if yTrimmed == y -- see #49
then x : fixPunct (y : zs)
else fixPunct $ x : yTrimmed : zs
keepSecond = if xTrimmed == x -- see #49
then x : fixPunct (y : zs)
else fixPunct (xTrimmed : y : zs)
keepBoth = x : fixPunct (y : zs)
fixPunct zs = zs
grouped :: [Output a] -> Output a
grouped = formatted mempty
formatted :: Formatting -> [Output a] -> Output a
formatted formatting = grouped' . filter (not . isNullOutput)
where
isNullOutput NullOutput = True
isNullOutput _ = False
grouped' [] = NullOutput
grouped' [x] | formatting == mempty = x
grouped' xs = Formatted formatting xs
readAsInt :: Text -> Maybe Int
readAsInt t =
case T.uncons t of
Just ('-', t') -> (0 -) <$> readAsDecimal t'
Just (c, _) | isDigit c -> readAsDecimal t
_ -> Nothing
where
readAsDecimal s =
case TR.decimal s of
Right (x,t') | T.null t' -> Just x
_ -> Nothing
-- | An abbreviations map. These are typically stored in a JSON
-- serialization: for examples of the format, see
-- .
-- Abbreviations are substituted in the output when the variable
-- and its content are matched by something in the abbreviations map.
newtype Abbreviations =
Abbreviations (M.Map Variable (M.Map Variable Text))
deriving (Show, Eq, Ord)
-- NOTE: We use 'Variable' in the second map for the contents of the
-- variable, because we want it to be treated case-insensitively,
-- and we need a wrapper around 'CI' that has To/FromJSON instances.
instance FromJSON Abbreviations where
parseJSON = withObject "Abbreviations" $ \v ->
Abbreviations <$> v .: "default"
instance ToJSON Abbreviations where
toJSON (Abbreviations m) =
object [("default", toJSON m)]
-- | Returns an abbreviation if the variable and its value match
-- something in the abbreviations map.
lookupAbbreviation :: CiteprocOutput a
=> Variable -> Val a -> Abbreviations -> Maybe (Val a)
lookupAbbreviation var val (Abbreviations abbrevmap) = do
abbrvs <- M.lookup (if variableType var == NumberVariable
then "number"
else var) abbrevmap
case val of
TextVal t -> maybe mzero (return . TextVal)
$ M.lookup (toVariable t) abbrvs
FancyVal x -> maybe mzero (return . TextVal)
$ M.lookup (toVariable (toText x)) abbrvs
NumVal n -> maybe mzero (return . TextVal)
$ M.lookup (toVariable (T.pack (show n))) abbrvs
_ -> mzero
-- | Result of citation processing.
data Result a =
Result
{ resultCitations :: [a] -- ^ List of formatted citations
-- corresponding to the citations given to 'citeproc'
, resultBibliography :: [(Text, a)] -- ^ List of formatted bibliography
-- entries (if the style calls for a bibliography),
-- each a pair consisting of the item identifier and
-- the formatted entry
, resultWarnings :: [Text] -- ^ Warnings from citation processing
} deriving (Eq, Show, Functor, Traversable, Foldable)
instance ToJSON a => ToJSON (Result a) where
toJSON res = object
[ ("citations", toJSON $ resultCitations res)
, ("bibliography", toJSON $ resultBibliography res)
, ("warnings", toJSON $ resultWarnings res)
]
instance FromJSON a => FromJSON (Result a) where
parseJSON = withObject "Result" $ \v ->
Result <$> v .: "citations"
<*> v .: "bibliography"
<*> v .: "warnings"
-- | Inputs for citation processing.
data Inputs a =
Inputs
{ inputsCitations :: Maybe [Citation a]
, inputsReferences :: Maybe [Reference a]
, inputsStyle :: Maybe Text
, inputsAbbreviations :: Maybe Abbreviations
, inputsLang :: Maybe Lang
} deriving (Show)
instance ToJSON a => ToJSON (Inputs a) where
toJSON inp = object
[ ("citations", toJSON $ inputsCitations inp)
, ("references", toJSON $ inputsReferences inp)
, ("style", toJSON $ inputsStyle inp)
, ("abbreviations", toJSON $ inputsAbbreviations inp)
, ("lang", toJSON $ renderLang <$> inputsLang inp)
]
instance (FromJSON a, Eq a) => FromJSON (Inputs a) where
parseJSON = withObject "Inputs" $ \v ->
Inputs <$> v .:? "citations"
<*> v .:? "references"
<*> v .:? "style"
<*> v .:? "abbreviations"
<*> (do mbl <- v .:? "lang"
case mbl of
Nothing -> return Nothing
Just l ->
case parseLang l of
Left _ -> return Nothing
Right lang -> return $ Just lang)
parseCslJson :: CiteprocOutput a => Locale -> Text -> a
parseCslJson locale t =
case P.parseOnly
(P.many' (pCslJson locale) <* P.endOfInput) t of
Left _ -> fromText t
Right xs -> mconcat xs
pCslJson :: CiteprocOutput a => Locale -> P.Parser a
pCslJson locale = P.choice
[ pCslText
, pCslQuoted
, pCslItalic
, pCslBold
, pCslUnderline
, pCslNoDecoration
, pCslSmallCaps
, pCslSup
, pCslSub
, pCslBaseline
, pCslNoCase
, pCslSymbol
]
where
((outerOpenQuote, outerCloseQuote), (innerOpenQuote, innerCloseQuote)) =
lookupQuotes locale
isSpecialChar c = c == '<' || c == '>' || c == '\'' || c == '"' ||
c == '’' || (not (isAscii c) && (isQuoteChar c || isSuperscriptChar c))
isQuoteChar = P.inClass
(T.unpack (outerOpenQuote <> outerCloseQuote <>
innerOpenQuote <> innerCloseQuote))
isApostrophe '\'' = True
isApostrophe '’' = True
isApostrophe _ = False
pCsl = pCslJson locale
notFollowedBySpace =
P.peekChar' >>= guard . not . isSpaceChar
isSpaceChar = P.inClass [' ','\t','\n','\r']
pOpenQuote = (("\"" <$ P.char '"')
<|> ("'" <$ P.char '\'')
<|> (outerCloseQuote <$ P.string outerOpenQuote)
<|> (innerCloseQuote <$ P.string innerOpenQuote))
<* notFollowedBySpace
pSpace = P.skipWhile isSpaceChar
pCslText = fromText . addNarrowSpace <$>
( do t <- P.takeWhile1 (\c -> isAlphaNum c && not (isSpecialChar c))
-- apostrophe
P.option t $ do _ <- P.satisfy isApostrophe
t' <- P.takeWhile1 isAlphaNum
return (t <> "’" <> t')
<|>
P.takeWhile1 (\c -> not (isAlphaNum c || isSpecialChar c)) )
pCslQuoted = addQuotes <$>
do cl <- pOpenQuote
mbc <- P.peekChar
case mbc of
Just c | T.singleton c == cl -> fail "unexpected close quote"
_ -> return ()
mconcat <$> P.manyTill' pCsl (P.string cl)
pCslSymbol = do
c <- P.satisfy isSpecialChar
return $
if isApostrophe c
then fromText "’"
else fromText $ T.singleton c
pCslItalic = addFontStyle ItalicFont . mconcat <$>
(P.string "" *> P.manyTill' pCsl (P.string ""))
pCslBold = addFontWeight BoldWeight . mconcat <$>
(P.string "" *> P.manyTill' pCsl (P.string ""))
pCslUnderline = addTextDecoration UnderlineDecoration . mconcat <$>
(P.string "" *> P.manyTill' pCsl (P.string ""))
pCslNoDecoration = addTextDecoration NoDecoration . mconcat <$>
(P.string " pSpace *>
P.string "class=\"nodecor\"" *> pSpace *> P.char '>' *>
P.manyTill' pCsl (P.string ""))
pCslSup = addVerticalAlign SupAlign . mconcat <$>
(P.string "" *> P.manyTill' pCsl (P.string ""))
pCslSub = addVerticalAlign SubAlign . mconcat <$>
(P.string "" *> P.manyTill' pCsl (P.string ""))
pCslBaseline = addVerticalAlign BaselineAlign . mconcat <$>
(P.string " pSpace *> P.string "style=\"baseline\">" *>
P.manyTill' pCsl (P.string ""))
pCslSmallCaps = addFontVariant SmallCapsVariant . mconcat <$>
((P.string " pSpace *>
P.string "style=\"font-variant:" *> pSpace *>
P.string "small-caps;" *> pSpace *> P.char '"' *>
pSpace *> P.char '>' *> P.manyTill' pCsl (P.string ""))
<|>
(P.string "" *> P.manyTill' pCsl (P.string "")))
pCslNoCase = addTextCase (localeLanguage locale) PreserveCase . mconcat <$>
(P.string " pSpace *>
P.string "class=\"nocase\"" *> pSpace *> P.char '>' *>
P.manyTill' pCsl (P.string ""))
addNarrowSpace =
T.replace " ;" "\x202F;" .
T.replace " ?" "\x202F?" .
T.replace " !" "\x202F!" .
T.replace " »" "\x202F»" .
T.replace "« " "«\x202F"
lookupLocaleTerm :: Locale -> Text -> Maybe Text
lookupLocaleTerm locale termname = do
let terms = localeTerms locale
case M.lookup termname terms of
Just ((_,t):_) -> Just t
_ -> Nothing
lookupQuotes :: Locale -> ((Text, Text), (Text, Text))
lookupQuotes locale = ((outerOpen, outerClose), (innerOpen, innerClose))
where
outerOpen = fromMaybe "\x201C" $ lookupLocaleTerm locale "open-quote"
outerClose = fromMaybe "\x201D" $ lookupLocaleTerm locale "close-quote"
innerOpen = fromMaybe "\x2018" $ lookupLocaleTerm locale "open-inner-quote"
innerClose = fromMaybe "\x2019" $ lookupLocaleTerm locale "close-inner-quote"
isSuperscriptChar :: Char -> Bool
isSuperscriptChar c = M.member c superscriptChars
superscriptChars :: M.Map Char Text
superscriptChars = M.fromList
[ ('\x00AA' , "\x0061")
, ('\x00B2' , "\x0032")
, ('\x00B3' , "\x0033")
, ('\x00B9' , "\x0031")
, ('\x00BA' , "\x006F")
, ('\x02B0' , "\x0068")
, ('\x02B1' , "\x0266")
, ('\x02B2' , "\x006A")
, ('\x02B3' , "\x0072")
, ('\x02B4' , "\x0279")
, ('\x02B5' , "\x027B")
, ('\x02B6' , "\x0281")
, ('\x02B7' , "\x0077")
, ('\x02B8' , "\x0079")
, ('\x02E0' , "\x0263")
, ('\x02E1' , "\x006C")
, ('\x02E2' , "\x0073")
, ('\x02E3' , "\x0078")
, ('\x02E4' , "\x0295")
, ('\x1D2C' , "\x0041")
, ('\x1D2D' , "\x00C6")
, ('\x1D2E' , "\x0042")
, ('\x1D30' , "\x0044")
, ('\x1D31' , "\x0045")
, ('\x1D32' , "\x018E")
, ('\x1D33' , "\x0047")
, ('\x1D34' , "\x0048")
, ('\x1D35' , "\x0049")
, ('\x1D36' , "\x004A")
, ('\x1D37' , "\x004B")
, ('\x1D38' , "\x004C")
, ('\x1D39' , "\x004D")
, ('\x1D3A' , "\x004E")
, ('\x1D3C' , "\x004F")
, ('\x1D3D' , "\x0222")
, ('\x1D3E' , "\x0050")
, ('\x1D3F' , "\x0052")
, ('\x1D40' , "\x0054")
, ('\x1D41' , "\x0055")
, ('\x1D42' , "\x0057")
, ('\x1D43' , "\x0061")
, ('\x1D44' , "\x0250")
, ('\x1D45' , "\x0251")
, ('\x1D46' , "\x1D02")
, ('\x1D47' , "\x0062")
, ('\x1D48' , "\x0064")
, ('\x1D49' , "\x0065")
, ('\x1D4A' , "\x0259")
, ('\x1D4B' , "\x025B")
, ('\x1D4C' , "\x025C")
, ('\x1D4D' , "\x0067")
, ('\x1D4F' , "\x006B")
, ('\x1D50' , "\x006D")
, ('\x1D51' , "\x014B")
, ('\x1D52' , "\x006F")
, ('\x1D53' , "\x0254")
, ('\x1D54' , "\x1D16")
, ('\x1D55' , "\x1D17")
, ('\x1D56' , "\x0070")
, ('\x1D57' , "\x0074")
, ('\x1D58' , "\x0075")
, ('\x1D59' , "\x1D1D")
, ('\x1D5A' , "\x026F")
, ('\x1D5B' , "\x0076")
, ('\x1D5C' , "\x1D25")
, ('\x1D5D' , "\x03B2")
, ('\x1D5E' , "\x03B3")
, ('\x1D5F' , "\x03B4")
, ('\x1D60' , "\x03C6")
, ('\x1D61' , "\x03C7")
, ('\x2070' , "\x0030")
, ('\x2071' , "\x0069")
, ('\x2074' , "\x0034")
, ('\x2075' , "\x0035")
, ('\x2076' , "\x0036")
, ('\x2077' , "\x0037")
, ('\x2078' , "\x0038")
, ('\x2079' , "\x0039")
, ('\x207A' , "\x002B")
, ('\x207B' , "\x2212")
, ('\x207C' , "\x003D")
, ('\x207D' , "\x0028")
, ('\x207E' , "\x0029")
, ('\x207F' , "\x006E")
, ('\x2120' , "\x0053\x004D")
, ('\x2122' , "\x0054\x004D")
, ('\x3192' , "\x4E00")
, ('\x3193' , "\x4E8C")
, ('\x3194' , "\x4E09")
, ('\x3195' , "\x56DB")
, ('\x3196' , "\x4E0A")
, ('\x3197' , "\x4E2D")
, ('\x3198' , "\x4E0B")
, ('\x3199' , "\x7532")
, ('\x319A' , "\x4E59")
, ('\x319B' , "\x4E19")
, ('\x319C' , "\x4E01")
, ('\x319D' , "\x5929")
, ('\x319E' , "\x5730")
, ('\x319F' , "\x4EBA")
, ('\x02C0' , "\x0294")
, ('\x02C1' , "\x0295")
, ('\x06E5' , "\x0648")
, ('\x06E6' , "\x064A")
]
citeproc-0.13/src/Citeproc/Unicode.hs 0000644 0000000 0000000 00000004263 07346545000 015724 0 ustar 00 0000000 0000000 {-# LANGUAGE CPP #-}
{-# LANGUAGE OverloadedStrings #-}
module Citeproc.Unicode
( Lang(..),
parseLang,
renderLang,
lookupLang,
toUpper,
toLower,
comp
)
where
import Text.Collate.Lang (Lang(..), parseLang, renderLang, lookupLang)
#ifdef MIN_VERSION_text_icu
import qualified Data.Text.ICU as ICU
import qualified Data.Text.ICU.Collate as ICUC
#else
import qualified Text.Collate as U
#endif
import Data.Text (Text)
import qualified Data.Text as T
import Data.Maybe (fromMaybe)
#ifdef MIN_VERSION_text_icu
toICULocale :: Maybe Lang -> ICU.LocaleName
toICULocale Nothing = ICU.Current
toICULocale (Just l) = ICU.Locale (T.unpack (renderLang l))
#endif
toUpper :: Maybe Lang -> Text -> Text
#ifdef MIN_VERSION_text_icu
toUpper mblang =
ICU.toUpper (toICULocale mblang)
#else
toUpper mblang = T.toUpper .
case langLanguage <$> mblang of
Just "tr" -> T.map (\c -> case c of
'i' -> 'İ'
'ı' -> 'I'
_ -> c)
_ -> id
#endif
toLower :: Maybe Lang -> Text -> Text
#ifdef MIN_VERSION_text_icu
toLower mblang =
ICU.toLower (toICULocale mblang)
#else
toLower mblang = T.toLower .
case langLanguage <$> mblang of
Just "tr" -> T.map (\c -> case c of
'İ' -> 'i'
'I' -> 'ı'
_ -> c)
_ -> id
#endif
comp :: Maybe Lang -> Text -> Text -> Ordering
#ifdef MIN_VERSION_text_icu
comp mblang = ICU.collate collator
where
collator = ICU.collatorWith (toICULocale mblang) [ICUC.AlternateHandling alt]
alt = case mblang >>= lookup "u" . langExtensions >>= lookup "ka" of
Just "noignore" -> ICUC.NonIgnorable
_ -> ICUC.Shifted
#else
comp mblang = U.collate coll
where
lang = fromMaybe (Lang "" Nothing Nothing [] [] []) mblang
coll = case lookup "u" (langExtensions lang) >>= lookup "ka" of
-- default to Shifted variable weighting, unless a variable
-- weighting is explicitly specified with the ka keyword:
Nothing -> U.setVariableWeighting U.Shifted $ U.collatorFor lang
Just _ -> U.collatorFor lang
#endif
citeproc-0.13/stack.yaml 0000644 0000000 0000000 00000000221 07346545000 013422 0 ustar 00 0000000 0000000 flags:
citeproc:
executable: true
icu: false
resolver: lts-23.0
extra-deps:
- Diff-1.0.2
ghc-options:
"$locals": -fhide-source-paths
citeproc-0.13/test/ 0000755 0000000 0000000 00000000000 07346545000 012415 5 ustar 00 0000000 0000000 citeproc-0.13/test/NOTES.md 0000644 0000000 0000000 00000001530 07346545000 013626 0 ustar 00 0000000 0000000 ## Notes on failures
### test/csl/bugreports_UnisaHarvardInitialization.txt
The expected output here includes a trailing space, which we delete.
### test/csl/number_PlainHyphenOrEnDashAlwaysPlural.txt
citeproc-js uses some heuristics to identify plurals,
but they aren't part of the spec and aren't entirely reliable.
"The logic will only set plurals where there is a numeric unit
on either side of a hyphen or en-dash. Numeric units are strings
ending in a number, or alphabetic strings consisting entirely of
characters appropriate to a roman numeral." This won't catch
4a-5a or IIa-VIb.
### test/csl/variables_TitleShortOnShortTitleNoTitleCondition.txt
This test is contrary to the spec. The whole group should
be suppressed because it contains variables but none are
called. See https://github.com/citation-style-language/test-suite/issues/29
citeproc-0.13/test/Spec.hs 0000644 0000000 0000000 00000043573 07346545000 013657 0 ustar 00 0000000 0000000 {-# LANGUAGE CPP #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE OverloadedStrings #-}
module Main (main) where
import Citeproc
import Citeproc.CslJson
import Data.Algorithm.DiffContext
import System.TimeIt (timeIt)
import Control.Monad (unless)
import Control.Monad.Trans.State
import Control.Monad.IO.Class (liftIO)
import System.Environment (getArgs)
import System.Exit
import System.Directory (getDirectoryContents, doesFileExist)
import Data.Text (Text)
import qualified Data.Set as Set
import qualified Text.PrettyPrint as Pretty
import qualified Data.Text as T
import qualified Data.Text.IO as TIO
import Data.List (foldl', isInfixOf, intersperse, sortOn, sort)
import Data.Containers.ListUtils (nubOrdOn)
import Data.Char (isDigit, isLetter, toLower)
import Data.ByteString (ByteString)
import qualified Data.ByteString.Char8 as B
import qualified Data.ByteString.Lazy as L
import qualified Data.Aeson as A
import Data.Aeson ((.:?), (.!=))
import Data.Text.Encoding (decodeUtf8)
import System.FilePath
import Data.Maybe (fromMaybe, isJust)
import Text.Printf (printf)
#if !MIN_VERSION_base(4,11,0)
import Data.Semigroup
#endif
data CiteprocTest a =
CiteprocTest
{ name :: Text
, path :: FilePath
, category :: Text
, mode :: Text
, result :: Text
, csl :: ByteString
, input :: [Reference a]
, bibentries :: Maybe A.Value
, bibsection :: Maybe A.Value
, citeItems :: Maybe [Citation a]
, citations :: Maybe [Citation a]
, abbreviations :: Maybe Abbreviations
, skipReason :: Maybe Text
, options :: Maybe TestOptions
} deriving (Show)
newtype TestOptions =
TestOptions { testCiteprocOpts :: CiteprocOptions }
deriving (Show, Eq)
defaultTestOptions :: TestOptions
defaultTestOptions = TestOptions
{ testCiteprocOpts = defaultCiteprocOptions }
instance A.FromJSON TestOptions where
parseJSON = A.withObject "TestOptions" $ fmap TestOptions . \v ->
CiteprocOptions
<$> v .:? "linkCitations" .!= False
<*> v .:? "linkBibliography" .!= False
data TestResult =
Passed
| Skipped Text
| Failed Text Text
| Errored CiteprocError
deriving (Show, Eq)
runTest :: CiteprocTest (CslJson Text)
-> StateT Counts IO TestResult
runTest test = do
let opts = fromMaybe defaultTestOptions . options $ test
let cites =
case citations test of
Just cs -> cs
Nothing ->
case citeItems test of
Nothing
| mode test == "citation"
-> [referencesToCitation
(nubOrdOn referenceId (input test))]
| otherwise
-> map (referencesToCitation . (:[]))
(nubOrdOn referenceId (input test))
Just cs -> cs
let doError err = do
modify $ \st -> st{ errored = (category test, path test) : errored st }
liftIO $ do
TIO.putStrLn $ "[ERRORED] " <> T.pack (path test)
TIO.putStrLn $ T.pack $ show err
TIO.putStrLn ""
return $ Errored err
let doSkip reason = do
modify $ \st -> st{ skipped = (category test, path test) : skipped st }
liftIO $ do
TIO.putStrLn $ "[SKIPPED] " <> T.pack (path test)
-- TIO.putStrLn $ T.strip reason
TIO.putStrLn ""
return $ Skipped reason
case skipReason test of
Just reason -> doSkip reason
Nothing ->
case parseStyle (const Nothing) (decodeUtf8 $ csl test) of
Nothing -> doError $ CiteprocParseError
"Could not fetch independent parent"
Just (Left err) -> doError err
Just (Right style') -> do
let style = style'{ styleAbbreviations = abbreviations test }
let loc = mergeLocales Nothing style
let actual = citeproc (testCiteprocOpts opts)
style Nothing (input test) cites
unless (null (resultWarnings actual)) $ do
liftIO $ do
TIO.putStrLn $ "[WARNING] " <> T.pack (path test)
mapM_ (TIO.putStrLn . ("==> " <>))
$ resultWarnings actual
case mode test of
"citation" -> compareTest test
(T.intercalate "\n" $ map (renderCslJson' loc)
(resultCitations actual))
"bibliography" -> compareTest test
(T.intercalate "\n"
(addDivs $ map (renderCslJson' loc . snd)
(resultBibliography actual)))
_ -> doSkip $ "unknown mode " <> mode test
renderCslJson' :: Locale -> CslJson Text -> Text
renderCslJson' loc x =
if T.null res
then "[CSL STYLE ERROR: reference with no printed form.]"
else res
where
res = renderCslJson True loc x
addDivs :: [Text] -> [Text]
addDivs ts = "" : map addItemDiv ts ++ ["
"]
where addItemDiv t
| "\n " <> t <> "\n
"
| "" `T.isSuffixOf` t =
" " <> t <> "\n
"
| otherwise =
" " <> t <> "
"
referencesToCitation :: [Reference a] -> Citation a
referencesToCitation rs =
Citation { citationId = Nothing
, citationResetPosition = False
, citationNoteNumber = Nothing
, citationPrefix = Nothing
, citationSuffix = Nothing
, citationItems = map (\r ->
CitationItem{ citationItemId = referenceId r
, citationItemLabel = Nothing
, citationItemLocator = Nothing
, citationItemType = NormalCite
, citationItemPrefix = Nothing
, citationItemSuffix = Nothing
, citationItemData = Nothing }) rs
}
-- remove >>[0] or ..[1]
removeCitationNums :: Text -> Text
removeCitationNums =
T.intercalate "\n" . map removeNum . T.lines
where
removeNum = T.dropWhile (== ' ') .
T.dropWhile (\c -> c == '>' || c == '.' ||
c == '[' || c == ']' || isDigit c)
compareTest :: CiteprocTest (CslJson Text)
-> Text
-> StateT Counts IO TestResult
compareTest test actual = do
let expected = if mode test == "citation" && isJust (citations test)
then removeCitationNums $ result test
else result test
if actual == expected
then do
modify $ \st -> st{ passed = (category test, path test) : passed st }
-- suppress PASSED messages
-- liftIO $ TIO.putStrLn $ "[PASSED] " <> path test
return Passed
else do
modify $ \st -> st{ failed = (category test, path test) : failed st }
liftIO $ do
TIO.putStrLn $ (if path test `elem` expectedFailures
then "[FAILED:EXPECTED] "
else "[FAILED:UNEXPECTED] ") <> T.pack (path test)
showDiff expected actual
return $ Failed actual expected
splitSections :: ByteString -> [(Text, ByteString)]
splitSections = snd . foldl' go startingState . B.lines . removeBOM
where
removeBOM bs = if "\xef\xbb\xbf" `B.isPrefixOf` bs
then B.drop 3 bs
else bs
startingState ::
(Maybe (Text, [ByteString]), [(Text, ByteString)])
startingState = (Nothing, mempty)
go (Nothing, accum) t
| ">>==" `B.isPrefixOf` t =
let secname = T.toLower $ T.filter (\c -> isLetter c || c == '-')
$ decodeUtf8 t
in (Just (secname, mempty), accum)
| otherwise = (Nothing, accum)
go (Just (sec, buffer), accum) t
| "<<==" `B.isPrefixOf` t =
(Nothing, (sec, mconcat $ intersperse "\n" (reverse buffer)) : accum)
| otherwise = (Just (sec, t:buffer), accum)
loadTestCase :: FilePath -> IO (CiteprocTest (CslJson Text))
loadTestCase fp = do
sections <- splitSections <$> B.readFile fp
let cslBs = fromMaybe mempty $ lookup "csl" sections
let fromJSON field x =
case A.eitherDecode (L.fromStrict x) of
Left e -> error $ "JSON decoding error " <>
" in " <> fp <> " (" <>
field <> ")\n" <> show e
Right z -> z
reason <- do
exists <- doesFileExist (fp <> ".skip")
if exists
then Just <$> TIO.readFile (fp <> ".skip")
else return Nothing
return CiteprocTest
{ name = T.pack $ dropExtension $ takeBaseName fp
, path = fp
, category = T.takeWhile (/='_') $ T.pack $ takeBaseName fp
, mode = maybe mempty decodeUtf8 $ lookup "mode" sections
, result = maybe mempty decodeUtf8 $ lookup "result" sections
, csl = cslBs
, input = maybe (error "No INPUT") (fromJSON "INPUT") $
lookup "input" sections
, bibentries = fromJSON "BIBENTRIES" <$> lookup "bibentries" sections
, bibsection = fromJSON "BIBSECTION" <$> lookup "bibsection" sections
, citeItems = fromJSON "CITATION-ITEMS" <$>
lookup "citation-items" sections
, citations = removeDuplicates . fromJSON "CITATIONS" <$>
lookup "citations" sections
-- need appropriate fromjson instance:
-- fromJSON "CITATION" <$> lookup "citation-items" sections
, abbreviations = fromJSON "ABBREVIATIONS" <$>
lookup "abbreviations" sections
, skipReason = reason
, options = fromJSON "TESTOPTIONS" <$> lookup "options" sections
}
-- for motivation see e.g. test/csl/collapse_CitationNumberRangesInsert.txt
-- Later Citations can replace earlier ones with the same citationId.
removeDuplicates :: [Citation a] -> [Citation a]
removeDuplicates [] = []
removeDuplicates (c:cs) =
case citationId c of
Just cid ->
if any (\cit -> citationId cit == Just cid) cs
then removeDuplicates cs
else c : removeDuplicates cs
Nothing -> c : removeDuplicates cs
testDir :: FilePath
testDir = "test" > "csl"
overrideDir :: FilePath
overrideDir = "test" > "overrides"
extraDir :: FilePath
extraDir = "test" > "extra"
main :: IO ()
main = do
args <- getArgs
let matchesPattern x =
takeExtension x == ".txt" &&
case args of
[] -> True
_ -> any (\arg -> map toLower arg `isInfixOf` map toLower x) args
overrides <- if any ('/' `elem`) args
then return []
else filter matchesPattern <$>
getDirectoryContents overrideDir
let addDir fp = if fp `elem` overrides
then overrideDir > fp
else testDir > fp
testFiles <- if any ('/' `elem`) args
then return args
else do
cslTests <- map addDir . filter matchesPattern
<$> getDirectoryContents testDir
extraTests <- map (extraDir >) . filter matchesPattern
<$> getDirectoryContents extraDir
return $ cslTests ++ extraTests
testCases <- sortOn name <$> mapM loadTestCase testFiles
(_,counts) <- timeIt $
runStateT (mapM_ runTest testCases)
Counts{ failed = []
, errored = []
, passed = []
, skipped = [] }
putStrLn ""
let categories = sort $ Set.toList
$ foldr (Set.insert . category) mempty testCases
putStrLn $ printf "%-29s %6s %6s %6s %6s"
("CATEGORY" :: String)
(" PASS" :: String)
(" FAIL" :: String)
(" ERROR" :: String)
(" SKIP" :: String)
let resultsFor cat = do
let p = length . filter ((== cat) . fst) . passed $ counts
let f = length . filter ((== cat) . fst) . failed $ counts
let e = length . filter ((== cat) . fst) . errored $ counts
let s = length . filter ((== cat) . fst) . skipped $ counts
let percent = (fromIntegral p / fromIntegral (p + f + e) :: Double)
putStrLn $ printf "%-29s %6d %6d %6d %6d |%-20s|"
(T.unpack cat) p f e s
(replicate (floor (percent * 20.0)) '+')
mapM_ resultsFor categories
putStrLn $ printf "%-30s %6s %6s %6s %6s"
("-------------" :: String)
("-----" :: String)
("-----" :: String)
("-----" :: String)
("-----" :: String)
putStrLn $ printf "%-30s %6d %6d %6d %6d"
("(all)" :: String)
(length (passed counts))
(length (failed counts))
(length (errored counts))
(length (skipped counts))
let unexpectedFailures =
filter ((`notElem` expectedFailures) . snd) (failed counts)
let unexpectedPasses =
filter ((`elem` expectedFailures) . snd) (passed counts)
unless (null unexpectedFailures) $ do
putStrLn ""
putStrLn "Unexpected failures"
putStrLn "-------------------"
mapM_ (putStrLn . snd) unexpectedFailures
putStrLn ""
unless (null unexpectedPasses) $ do
putStrLn ""
putStrLn "Unexpected passes"
putStrLn "-----------------"
mapM_ (putStrLn . snd) unexpectedPasses
putStrLn ""
case length unexpectedFailures + length (errored counts) of
0 -> do
putStrLn "(All failures were expected failures.)"
exitSuccess
n -> exitWith $ ExitFailure n
data Counts =
Counts
{ failed :: [(Text,FilePath)] -- category, filepath
, errored :: [(Text,FilePath)]
, passed :: [(Text,FilePath)]
, skipped :: [(Text,FilePath)]
} deriving (Show)
showDiff :: Text -> Text -> IO ()
showDiff expected actual = do
-- Use this to see unicode characters (e.g. dashes) better
-- let f = mconcat . map
-- (\c -> if isAscii c
-- then T.singleton c
-- else T.pack (printf "[U+%04X]" (ord c))) . T.unpack
putStrLn $ Pretty.render $ prettyContextDiff
(Pretty.text "expected")
(Pretty.text "actual")
(Pretty.text . T.unpack . unnumber)
$ getContextDiff Nothing (T.lines expected) (T.lines actual)
expectedFailures :: [FilePath]
expectedFailures = [
"test/csl/bugreports_OverwriteCitationItems.txt",
"test/csl/bugreports_SingleQuoteXml.txt",
"test/csl/bugreports_SmallCapsEscape.txt",
"test/csl/bugreports_SortedIeeeItalicsFail.txt",
"test/csl/bugreports_ikeyOne.txt",
"test/csl/collapse_AuthorCollapseNoDateSorted.txt",
"test/csl/date_NegativeDateSort.txt",
"test/csl/date_NegativeDateSortViaMacro.txt",
"test/csl/date_NegativeDateSortViaMacroOnYearMonthOnly.txt",
"test/csl/date_YearSuffixImplicitWithNoDate.txt",
"test/csl/date_YearSuffixWithNoDate.txt",
"test/csl/disambiguate_DifferentSpacingInInitials.txt",
"test/csl/disambiguate_DisambiguationHang.txt",
"test/csl/disambiguate_IncrementalExtraText.txt",
"test/csl/disambiguate_InitializeWithButNoDisambiguation.txt",
"test/csl/disambiguate_PrimaryNameWithNonDroppingParticle.txt",
"test/csl/disambiguate_PrimaryNameWithParticle.txt",
"test/csl/disambiguate_YearCollapseWithInstitution.txt",
"test/csl/disambiguate_YearSuffixAtTwoLevels.txt",
"test/csl/disambiguate_YearSuffixWithEtAlSubequent.txt",
"test/csl/disambiguate_YearSuffixWithEtAlSubsequent.txt",
"test/csl/flipflop_LeadingMarkupWithApostrophe.txt",
"test/csl/flipflop_OrphanQuote.txt",
"test/overrides/fullstyles_ABdNT.txt",
"test/csl/fullstyles_ChicagoAuthorDateSimple.txt",
"test/csl/integration_FirstReferenceNoteNumberPositionChange.txt",
"test/csl/integration_IbidOnInsert.txt",
"test/csl/label_EditorTranslator1.txt",
"test/csl/magic_CapitalizeFirstOccurringTerm.txt",
"test/csl/magic_PunctuationInQuoteNested.txt",
"test/csl/magic_SubsequentAuthorSubstituteNotFooled.txt",
"test/csl/magic_TermCapitalizationWithPrefix.txt",
"test/csl/name_CiteGroupDelimiterWithYearSuffixCollapse2.txt",
"test/csl/name_DelimiterAfterInverted.txt",
"test/csl/name_EtAlWithCombined.txt",
"test/csl/name_HebrewAnd.txt",
"test/csl/name_InTextMarkupInitialize.txt",
"test/csl/name_InTextMarkupNormalizeInitials.txt",
"test/csl/number_OrdinalSpacing.txt",
"test/csl/number_PlainHyphenOrEnDashAlwaysPlural.txt",
"test/csl/position_FirstTrueOnlyOnce.txt",
"test/csl/position_IbidInText.txt",
"test/csl/position_IbidSeparateCiteSameNote.txt",
"test/csl/position_IbidWithLocator.txt",
"test/csl/position_IbidWithMultipleSoloCitesInBackref.txt",
"test/csl/position_IfIbidWithLocatorIsTrueThenIbidIsTrue.txt",
"test/csl/position_NearNoteSameNote.txt",
"test/csl/position_ResetNoteNumbers.txt",
"test/csl/punctuation_FullMontyQuotesIn.txt",
"test/csl/quotes_QuotesUnderQuotesFalse.txt",
"test/csl/sort_BibliographyCitationNumberDescending.txt",
"test/csl/sort_BibliographyCitationNumberDescendingViaCompositeMacro.txt",
"test/csl/sort_BibliographyCitationNumberDescendingViaMacro.txt",
"test/csl/sort_ChicagoYearSuffix1.txt",
"test/csl/sort_ChicagoYearSuffix2.txt",
"test/csl/sort_LeadingApostropheOnNameParticle.txt",
"test/csl/sort_OmittedBibRefMixedNumericStyle.txt",
"test/csl/sort_OmittedBibRefNonNumericStyle.txt",
"test/csl/sort_RangeUnaffected.txt",
"test/csl/substitute_SubstituteOnlyOnceTermEmpty.txt",
"test/csl/bugreports_NoCaseEscape.txt",
"test/csl/bugreports_LegislationCrash.txt",
"test/csl/bugreports_EnvAndUrb.txt",
"test/csl/bugreports_DemoPageFullCiteCruftOnSubsequent.txt",
"test/csl/bugreports_ChicagoAuthorDateLooping.txt",
"test/csl/bugreports_AutomaticallyDeleteItemsFails.txt",
"test/csl/affix_WithCommas.txt",
"test/csl/affix_CommaAfterQuote.txt",
"test/overrides/flipflop_NumericField.txt",
"test/csl/testers_SecondAutoGeneratedZoteroPluginTest.txt",
"test/csl/testers_FirstAutoGeneratedZoteroPluginTest.txt"
]
citeproc-0.13/test/csl/ 0000755 0000000 0000000 00000000000 07346545000 013176 5 ustar 00 0000000 0000000 citeproc-0.13/test/csl/affix_CommaAfterQuote.txt 0000644 0000000 0000000 00000001376 07346545000 020157 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
“quote”, Hello Thing
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1",
"prefix": "'quote', "
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"id": "ITEM-1",
"title": "Hello Thing",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/affix_InterveningEmpty.txt 0000644 0000000 0000000 00000002621 07346545000 020424 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
John Doe. His Anonymous Life. 1965.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"1965",
"6",
"1"
]
]
},
"title": "His Anonymous Life",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/affix_MovingPunctuation.txt 0000644 0000000 0000000 00000001571 07346545000 020611 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
“The Title.” And “so it goes”
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1",
"suffix": ". And \"so it goes\""
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"id": "ITEM-1",
"title": "The Title",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/affix_PrefixFullCitationTextOnly.txt 0000644 0000000 0000000 00000002462 07346545000 022402 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
(As written in Smith 2000)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1",
"prefix": "As written in "
}
]
]
<<===== CITATION-ITEMS =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"2000",
"2",
"15"
]
]
},
"title": "Book C",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/affix_PrefixWithDecorations.txt 0000644 0000000 0000000 00000002525 07346545000 021404 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
(See Smith 2000)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1",
"prefix": "See "
}
]
]
<<===== CITATION-ITEMS =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"2000",
"2",
"15"
]
]
},
"title": "Book C",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/affix_SpaceWithQuotes.txt 0000644 0000000 0000000 00000001434 07346545000 020206 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
The Title And “so it goes”
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1",
"suffix": " And \"so it goes\""
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"id": "ITEM-1",
"title": "The Title",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/affix_TextNodeWithMacro.txt 0000644 0000000 0000000 00000001401 07346545000 020460 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
One. Two.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/affix_WithCommas.txt 0000644 0000000 0000000 00000102276 07346545000 017177 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
..[0] John Smith, Book C, 2000, and David Jones, Book D, 2000.
..[1] Smith, Book C is one source, Jones, Book D is another.
>>[2] Smith, Book C, 23 is one source, Jones, Book D is another.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>==== CITATIONS ====>>
[
[
{
"citationID": "CITATION-1",
"citationItems": [
{
"id": "ITEM-1"
},
{
"id": "ITEM-2",
"prefix": ", and "
}
],
"properties": {
"noteIndex": 1
}
},
[],
[]
],
[
{
"citationID": "CITATION-2",
"citationItems": [
{
"id": "ITEM-1",
"suffix": " is one source,"
},
{
"id": "ITEM-2",
"suffix": " is another."
}
],
"properties": {
"noteIndex": 2
}
},
[
[
"CITATION-1",
1
]
],
[]
],
[
{
"citationID": "CITATION-3",
"citationItems": [
{
"id": "ITEM-1",
"locator": 23,
"suffix": " is one source,"
},
{
"id": "ITEM-2",
"suffix": " is another."
}
],
"properties": {
"noteIndex": 3
}
},
[
[
"CITATION-1",
1
],
[
"CITATION-2",
2
]
],
[]
]
]
<<==== CITATIONS ====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"2000",
"2",
"15"
]
]
},
"title": "Book C",
"type": "book"
},
{
"author": [
{
"family": "Jones",
"given": "David"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
"2000",
"2",
"15"
]
]
},
"title": "Book D",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/affix_WordProcessorAffixNoSpace.txt 0000644 0000000 0000000 00000002342 07346545000 022157 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
My Prefix My Title My Suffix
My Prefix. My Title, My Suffix
My Prefix My Title My Suffix
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1",
"prefix": "My Prefix ",
"suffix": " My Suffix"
}
],
[
{
"id": "ITEM-1",
"prefix": "My Prefix. ",
"suffix": ", My Suffix"
}
],
[
{
"id": "ITEM-1",
"prefix": "My Prefix ",
"suffix": " My Suffix"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"id": "ITEM-1",
"title": "My Title",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_Abnt.txt 0000644 0000000 0000000 00000003727 07346545000 017110 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Doe
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"1965",
"6",
"1"
]
]
},
"title": "His Anonymous Life",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_AccidentalAllCaps.txt 0000644 0000000 0000000 00000077425 07346545000 021521 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
J. Doe, His Anonymous Life, , 1965.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"1965",
"6",
"1"
]
]
},
"title": "His Anonymous Life",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_AllCapsLeakage.txt 0000644 0000000 0000000 00000100325 07346545000 021005 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
Space on guillemet is half-width non-breaking space.
>>===== RESULT =====>>
Doe John, « His Anonymous Life », in Jane Roe, (éd.). His Anonymous Life, 1 juin 1965.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"container-title": "His Anonymous Life",
"editor": [
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"1965",
"6",
"1"
]
]
},
"title": "His Anonymous Life",
"type": "chapter"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_ApostropheOnParticle.txt 0000644 0000000 0000000 00000001440 07346545000 022317 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
John d’Jones
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"dropping-particle": "d'",
"family": "Jones",
"given": "John"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_ArabicLocale.txt 0000644 0000000 0000000 00000002227 07346545000 020517 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
Jonathan Chang وآخرون.
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "Chang",
"given": "Jonathan"
},
{
"family": "Gerrish",
"given": "Sean"
},
{
"family": "Wang",
"given": "Chong"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_AsaSpacing.txt 0000644 0000000 0000000 00000002667 07346545000 020237 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
“His Anonymous Chapter.” Some text string
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"container-title": "His Anonymous Book",
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"1965",
"6",
"1"
]
]
},
"page": "100",
"title": "His Anonymous Chapter",
"type": "chapter"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_AsmJournals.txt 0000644 0000000 0000000 00000013147 07346545000 020457 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
1.
Doe Co. 1965. His Collectively Anonymous Life.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe Co.",
"isInstitution": true
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"1965",
"6",
"1"
]
]
},
"title": "His Collectively Anonymous Life",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_AuthorPosition.txt 0000644 0000000 0000000 00000054543 07346545000 021215 0 ustar 00 0000000 0000000 >>==== MODE ====>>
bibliography
<<==== MODE ====<<
>>==== RESULT ====>>
A00, A., A01, B., A02, C., A03, D., A04, E., A05, F., … A50, K. (2010). Modelling the Species Distribution of Flat-Headed Cats (Prionailurus planiceps), an Endangered South-East Asian Small Felid. PLoS ONE, 5(3), e9612. doi:10.1371/journal.pone.0009612
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "aiid:2840020"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"DOI": "10.1371/journal.pone.0009612",
"ISSN": "1932-6203",
"PMCID": "PMC2840020",
"PMID": "20305809",
"accessed": {
"date-parts": [
[
2015,
2,
13
]
]
},
"author": [
{
"family": "A00",
"given": "Andreas"
},
{
"family": "A01",
"given": "Bob"
},
{
"family": "A02",
"given": "Cat"
},
{
"family": "A03",
"given": "David"
},
{
"family": "A04",
"given": "Eugene"
},
{
"family": "A05",
"given": "Fred"
},
{
"family": "A06",
"given": "Greg"
},
{
"family": "A07",
"given": "Herb"
},
{
"family": "A08",
"given": "Ida"
},
{
"family": "A09",
"given": "Jack"
},
{
"family": "A10",
"given": "Kate"
},
{
"family": "A11",
"given": "Leonard"
},
{
"family": "A12",
"given": "Mike"
},
{
"family": "A13",
"given": "Ned"
},
{
"family": "A14",
"given": "Oscar"
},
{
"family": "A15",
"given": "Phil"
},
{
"family": "A16",
"given": "Quebert"
},
{
"family": "A17",
"given": "Rob"
},
{
"family": "A18",
"given": "Sylvia"
},
{
"family": "A19",
"given": "Tina"
},
{
"family": "A20",
"given": "Ulm"
},
{
"family": "A21",
"given": "Victor"
},
{
"family": "A22",
"given": "Mike"
},
{
"family": "A23",
"given": "Ned"
},
{
"family": "A24",
"given": "Oscar"
},
{
"family": "A25",
"given": "Phil"
},
{
"family": "A26",
"given": "Quebert"
},
{
"family": "A27",
"given": "Rob"
},
{
"family": "A28",
"given": "Sylvia"
},
{
"family": "A29",
"given": "Tina"
},
{
"family": "A30",
"given": "Kate"
},
{
"family": "A31",
"given": "Leonard"
},
{
"family": "A32",
"given": "Mike"
},
{
"family": "A33",
"given": "Ned"
},
{
"family": "A34",
"given": "Oscar"
},
{
"family": "A35",
"given": "Phil"
},
{
"family": "A36",
"given": "Quebert"
},
{
"family": "A37",
"given": "Rob"
},
{
"family": "A38",
"given": "Sylvia"
},
{
"family": "A39",
"given": "Tina"
},
{
"family": "A40",
"given": "Kate"
},
{
"family": "A41",
"given": "Leonard"
},
{
"family": "A42",
"given": "Mike"
},
{
"family": "A43",
"given": "Ned"
},
{
"family": "A44",
"given": "Oscar"
},
{
"family": "A45",
"given": "Phil"
},
{
"family": "A46",
"given": "Quebert"
},
{
"family": "A47",
"given": "Rob"
},
{
"family": "A48",
"given": "Sylvia"
},
{
"family": "A49",
"given": "Tina"
},
{
"family": "A50",
"given": "Kate"
}
],
"container-title": "PLoS ONE",
"container-title-short": "PLoS One",
"editor": [
{
"family": "Somers",
"given": "Michael"
}
],
"id": "aiid:2840020",
"issue": "3",
"issued": {
"date-parts": [
[
2010
]
]
},
"page": "e9612",
"publisher": "Public Library of Science",
"publisher-place": "San Francisco, USA",
"source": "PMC",
"title": "Modelling the Species Distribution of Flat-Headed Cats (Prionailurus planiceps), an Endangered South-East Asian Small Felid",
"type": "article-journal",
"volume": "5"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_AuthorYear.txt 0000644 0000000 0000000 00000031315 07346545000 020301 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
(Family01, 2003)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Family01",
"given": "Given01"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
2003,
1
]
]
},
"title": "This is some title",
"type": "book",
"volume": "2003"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_AutomaticallyDeleteItemsFails.txt 0000644 0000000 0000000 00000016136 07346545000 024136 0 ustar 00 0000000 0000000 >>== MODE ==>>
bibliography
<<== MODE ==<<
Bug report that references no longer needed are not being deleted
from the bib, but it seems to be happening. Possible API problem?
>>== RESULT ==>>
[1]
J. Doe, Book A, 2000.
[2]
J. Doe, Book B, 2000.
<<== RESULT ==<<
>>== CITATIONS ==>>
[
[
{
"citationID": "CITATION-1",
"citationItems": [
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
},
{
"id": "ITEM-3"
}
],
"properties": {
"noteIndex": 0
}
},
[],
[]
],
[
{
"citationID": "CITATION-1",
"citationItems": [
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
}
],
"properties": {
"noteIndex": 0
}
},
[],
[]
]
]
<<== CITATIONS ==<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "Book A",
"author": [
{
"family": "Doe",
"given": "John"
}
],
"issued": {
"date-parts": [
[
"2000"
]
]
},
"type": "book"
},
{
"id": "ITEM-2",
"title": "Book B",
"author": [
{
"family": "Doe",
"given": "John"
}
],
"issued": {
"date-parts": [
[
"2000"
]
]
},
"type": "book"
},
{
"id": "ITEM-3",
"title": "Book C",
"author": [
{
"family": "Snoakes",
"given": "Richard"
}
],
"issued": {
"date-parts": [
[
"2000"
]
]
},
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_BadCitationUpdate.txt 0000644 0000000 0000000 00000002777 07346545000 021554 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
C. Grignon, C. Sentenac 2000a
C. Grignon, C. Sentenac 2000b
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-0"
}
],
[
{
"id": "ITEM-1"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "Grignon",
"given": "Cyril"
},
{
"family": "Sentenac",
"given": "Corey"
}
],
"id": "ITEM-0",
"issued": {
"date-parts": [
[
2000
]
]
},
"type": "book"
},
{
"author": [
{
"family": "Grignon",
"given": "Cyril"
},
{
"family": "Sentenac",
"given": "Corey"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
2000
]
]
},
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_BadDelimiterBeforeCollapse.txt 0000644 0000000 0000000 00000016223 07346545000 023352 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
(Jones 2000; Smith 2000a,b)
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
},
{
"id": "ITEM-3"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
2000
]
]
},
"title": "Book One",
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
2000
]
]
},
"title": "Book Two",
"type": "book"
},
{
"author": [
{
"family": "Jones",
"given": "Richard"
}
],
"id": "ITEM-3",
"issued": {
"date-parts": [
[
2000
]
]
},
"title": "Book Three",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_ByBy.txt 0000644 0000000 0000000 00000051506 07346545000 017067 0 ustar 00 0000000 0000000 >>==== MODE ====>>
bibliography
<<==== MODE ====<<
>>==== RESULT ====>>
Review of My Title, by Beaver Burtle. n.d.
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"id": "ITEM-1",
"reviewed-author": [
{
"family": "Burtle",
"given": "Beaver"
}
],
"title": "My Title",
"type": "article-journal"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_CapsAfterOneWordPrefix.txt 0000644 0000000 0000000 00000001564 07346545000 022545 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
Nocapsafter. ibid.
Caps after. Ibid.
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1",
"prefix": "Nocapsafter. "
}
],
[
{
"id": "ITEM-1",
"prefix": "Caps after. "
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"id": "ITEM-1",
"title": "Title",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_ChicagoAuthorDateLooping.txt 0000644 0000000 0000000 00000032244 07346545000 023066 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== DESCRIPTION =====>>
This is a little weird, but it's what the style wants, I think.
Looping was caused by attempt to render:
([CSL STYLE ERROR: reference with no printed form.]; [CSL STYLE ERROR: reference with no printed form.]; Manstein 1982)
... which should work (and now would do), but with other bug fixes, this came out as ...
(Anon.a; Anon.b; Manstein 1982)
but seems more sensibly rendered as the indicated result, below.
Note also that since this test has no explicit CITATION-ITEMS or CITATIONS, they are synthesized
from the inputs *after* the inputs are sorted, which is why the Anon cite items precede Manstein.
See https://github.com/citation-style-language/test-suite/issues/66 for discussion.
<<===== DESCRIPTION =====<<
>>===== RESULT =====>>
(Anon.; Anon.; Manstein 1982)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Manstein",
"given": "Erich Von"
}
],
"id": "ITEM-0",
"issued": {
"date-parts": [
[
1982,
9
]
]
},
"publisher": "Presidio Pr",
"title": "Lost Victories",
"type": "book"
},
{
"URL": "http://www.ja-sig.org/jasigconf/popSpeaker.jsp?id=39e50005&conf_id=jasig12&name=Lennard+Fuller",
"id": "ITEM-1",
"title": "JA-SIG Conference Presentation",
"type": "webpage"
},
{
"URL": "http://www.google.com/",
"id": "ITEM-2",
"title": "Google",
"type": "webpage"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_ChineseCharactersFamilyOnlyPluralLabel.txt 0000644 0000000 0000000 00000001353 07346545000 025717 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
编者ed.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"editor": [
{
"family": "编者"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_CitationSortsWithEtAl.txt 0000644 0000000 0000000 00000006627 07346545000 022435 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
[Aalto et al., 1999, 2000, 2001]
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
},
{
"id": "ITEM-3"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "Aalto",
"given": "Alan"
},
{
"family": "Quintuffle",
"given": "Qlark"
},
{
"family": "Crank",
"given": "Christoper"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
2001
]
]
},
"type": "book"
},
{
"author": [
{
"family": "Aalto",
"given": "Alan"
},
{
"family": "Baseballhat",
"given": "Bernie"
},
{
"family": "Crank",
"given": "Christoper"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
1999
]
]
},
"type": "book"
},
{
"author": [
{
"family": "Aalto",
"given": "Alan"
},
{
"family": "Zipgpot",
"given": "Zody"
},
{
"family": "Crank",
"given": "Christoper"
}
],
"id": "ITEM-3",
"issued": {
"date-parts": [
[
2000
]
]
},
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_CollapseFailure.txt 0000644 0000000 0000000 00000006405 07346545000 021272 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
(Doe et al. 1965a, 1965b, 1970)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
},
{
"family": "Noakes",
"given": "Richard"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"1965"
]
]
},
"type": "book"
},
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Spindlethrift",
"given": "Melanie"
},
{
"family": "Korkblougher",
"given": "Weegas"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
"1965"
]
]
},
"type": "book"
},
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Blub",
"given": "Sophie"
},
{
"family": "Lanbright",
"given": "Bugeyes"
}
],
"id": "ITEM-3",
"issued": {
"date-parts": [
[
"1970"
]
]
},
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_ContainerTitleShort.txt 0000644 0000000 0000000 00000002546 07346545000 022166 0 ustar 00 0000000 0000000 >>==== MODE ====>>
bibliography
<<==== MODE ====<<
>>==== RESULT ====>>
Anon J/Anon J/Anonymous Journal
Journal-1/Journal-1/Anonymous Journal One
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"container-title": "Anonymous Journal",
"id": "ITEM-1",
"journalAbbreviation": "Anon J",
"type": "article-journal"
},
{
"container-title": "Anonymous Journal One",
"container-title-short": "Journal-1",
"id": "ITEM-2",
"type": "chapter"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_ContentPunctuationDuplicate1.txt 0000644 0000000 0000000 00000002536 07346545000 024001 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
Note placement of the period after "reference". Suppression
of duplicate punctuation across nesting levels of the output
object must be done at the higher of the two.
Note also the period after "etc", which in this case is a
delimiter supplied by the style.
>>===== RESULT =====>>
“His Anonymous Life etc.” (1965) reference. blurble
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"1965"
]
]
},
"title": "His Anonymous Life etc",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_ContextualPluralWithMainItemFields.txt 0000644 0000000 0000000 00000001734 07346545000 025135 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
Bug report by Carles Pina.
>>===== RESULT =====>>
pages 1 & 2; pages 1, 2; pages 1–2; page 1
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"page": "1 & 2",
"type": "book"
},
{
"id": "ITEM-2",
"page": "1, 2",
"type": "book"
},
{
"id": "ITEM-3",
"page": "1-2",
"type": "book"
},
{
"id": "ITEM-4",
"page": "1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_CreepingAddNames.txt 0000644 0000000 0000000 00000024671 07346545000 021356 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== CITATIONS =====>>
[
[
{
"citationID": "CITATION-1",
"citationItems": [
{
"id": "ITEM-1"
}
],
"properties": {
"noteIndex": 0
}
},
[],
[]
],
[
{
"citationID": "CITATION-1",
"citationItems": [
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
}
],
"properties": {
"noteIndex": 0
}
},
[],
[]
],
[
{
"citationID": "CITATION-1",
"citationItems": [
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
},
{
"id": "ITEM-3"
}
],
"properties": {
"noteIndex": 0
}
},
[],
[]
]
]
<<===== CITATIONS =====<<
>>===== RESULT =====>>
>>[0] (Morley et al. 2011; Butler and Turner 2010; Rowan, Peel, and Vendeville 2004)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Morley",
"given": "John"
},
{
"family": "King",
"given": "Richard"
},
{
"family": "Gadget",
"given": "Tom"
},
{
"family": "Widget",
"given": "Peter"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"2011"
]
]
},
"type": "book"
},
{
"author": [
{
"family": "Butler",
"given": "Sharon"
},
{
"family": "Turner",
"given": "Sarah"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
"2010"
]
]
},
"type": "book"
},
{
"author": [
{
"family": "Rowan",
"given": "Steven"
},
{
"family": "Peel",
"given": "Artemus"
},
{
"family": "Vendeville",
"given": "Bruce"
}
],
"id": "ITEM-3",
"issued": {
"date-parts": [
[
"2004"
]
]
},
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_DelimiterOnLayout.txt 0000644 0000000 0000000 00000004272 07346545000 021631 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
Bug reported by Rintze:
https://forums.zotero.org/discussion/62288/citeprocjs-bug/
>>===== RESULT =====>>
>>[0] (fig.1(z)fig.2)
<<===== RESULT =====<<
>>===== CITATIONS =====>>
[
[
{
"citationID": "CITATION-1",
"citationItems": [
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
}
],
"properties": {
"noteIndex": 1
}
},
[],
[]
]
]
<<===== CITATIONS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"type": "book"
},
{
"id": "ITEM-2",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_DelimitersOnLocator.txt 0000644 0000000 0000000 00000027014 07346545000 022141 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== DESCRIPTION ====>>
See discussion
https://forums.zotero.org/discussion/19953/csl-processor-bug-citation-delimiter-in-numeric-styles-with-locator
<<==== DESCRIPTION ====<<
>>==== RESULT ====>>
[1, 32; 2, 32; 3, 32]
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1",
"locator": "32"
},
{
"id": "ITEM-2",
"locator": "32"
},
{
"id": "ITEM-3",
"locator": "32"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"title": "His Anonymous Life",
"type": "book"
},
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-2",
"title": "His Anonymous Life",
"type": "book"
},
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-3",
"title": "His Anonymous Life",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_DemoPageFullCiteCruftOnSubsequent.txt 0000644 0000000 0000000 00000054244 07346545000 024715 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Malone and U.S. Bureau of the Census, Evaluating Components of International Migration: Consistency of 2000 Nativity Data.
<<===== RESULT =====<<
>>===== CITATION-ITEMS =====>>
[
[
{
"id": "ITEM-6",
"position": 1
}
]
]
<<===== CITATION-ITEMS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-6",
"title":"Evaluating Components of International Migration: Consistency of 2000 Nativity Data",
"note": "This cite illustrates the formatting of institutional authors. Note that there is no \"and\" between the individual author and the institution with which he is affiliated.",
"author": [
{
"family": "Malone",
"given": "Nolan J."
},
{
"literal": "U.S. Bureau of the Census"
}
],
"publisher": "Routledge",
"publisher-place": "New York",
"issued": {
"date-parts":[
[2001, 12, 5]
]
},
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_DisambiguationAddNames.txt 0000644 0000000 0000000 00000021216 07346545000 022551 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
(Roe et al., 1995a, 1995b)
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "Roe",
"given": "Jane"
},
{
"family": "Doe",
"given": "John"
},
{
"family": "Smith",
"given": "John"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1995
]
]
},
"type": "book"
},
{
"author": [
{
"family": "Roe",
"given": "Jane"
},
{
"family": "Noakes",
"given": "Richard"
},
{
"family": "Brown",
"given": "Bob"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
1995
]
]
},
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_DisambiguationAddNamesBibliography.txt 0000644 0000000 0000000 00000021452 07346545000 025107 0 ustar 00 0000000 0000000 >>==== MODE ====>>
bibliography
<<==== MODE ====<<
>>==== RESULT ====>>
Roe, J., Doe, J. and Smith, J.:, 1995a.
Roe, J., Noakes, R. and Brown, B.:, 1995b.
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "Roe",
"given": "Jane"
},
{
"family": "Doe",
"given": "John"
},
{
"family": "Smith",
"given": "John"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1995
]
]
},
"type": "book"
},
{
"author": [
{
"family": "Roe",
"given": "Jane"
},
{
"family": "Noakes",
"given": "Richard"
},
{
"family": "Brown",
"given": "Bob"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
1995
]
]
},
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_DoubleEncodedAngleBraces.txt 0000644 0000000 0000000 00000043733 07346545000 023010 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
Center for History and New Media, « Zotero Quick Start Guide », s.d., [En ligne]. <http://zotero.org/support/quick_start_guide>. .
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "http://zotero.org/users/local/0rmqTjvx/items/ABCD2345"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"URL": "http://zotero.org/support/quick_start_guide",
"author": [
{
"literal": "Center for History and New Media"
}
],
"id": "http://zotero.org/users/local/0rmqTjvx/items/ABCD2345",
"title": "Zotero Quick Start Guide",
"type": "webpage"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_DroppingGroupDelimiterSpace.txt 0000644 0000000 0000000 00000001763 07346545000 023634 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
In fact this test was only failing in RTF mode. Fault repaired,
however.
>>===== RESULT =====>>
17 Studia Patristica 1388
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"container-title": "Studia Patristica",
"id": "ITEM-1",
"page": "1388-1400",
"type": "article-journal",
"volume": "17"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_DuplicateSpaces.txt 0000644 0000000 0000000 00000013643 07346545000 021273 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
Reported by Carles Pina of Mendeley.
http://groups.google.com/group/citeproc-js/browse_thread/thread/6f9c7620c6c97ff1?hl=en_US
>>===== RESULT =====>>
[1]
B. D’Arcus, Boundaries of Dissent: Protest and State Power in the Media Age, New York: Routledge, 2006.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"URL": "http://www.test01.com",
"author": [
{
"family": "D'Arcus",
"given": "Bruce"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
2006
]
]
},
"publisher": "Routledge",
"publisher-place": "New York",
"title": "Boundaries of Dissent: Protest and State Power in the Media Age",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_DuplicateSpaces2.txt 0000644 0000000 0000000 00000030461 07346545000 021352 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
Smith, John, “Some Title.” Container Title.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"container-title": "Container Title",
"id": "ITEM-1",
"title": "Some Title",
"type": "article-journal"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_DuplicateSpaces3.txt 0000644 0000000 0000000 00000015347 07346545000 021361 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
1. Family Name N. The Title. In: Container Title.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Family Name",
"given": "N"
}
],
"container-title": "Container Title",
"id": "ITEM-1",
"title": "The Title",
"type": "chapter"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_DuplicateTerminalPunctuationInBibliography.txt 0000644 0000000 0000000 00000017667 07346545000 026717 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
Reported by Carles Pina of Mendeley.
http://groups.google.com/group/citeproc-js/browse_thread/thread/428d4523fbef3beb?hl=en_US
>>===== RESULT =====>>
D’Arcus, Bruce. 2006. Boundaries of Dissent: Protest and State Power in the Media Age. New York: Routledge http://www.test01.com.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"URL": "http://www.test01.com",
"author": [
{
"family": "D'Arcus",
"given": "Bruce"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
2006
]
]
},
"publisher": "Routledge",
"publisher-place": "New York",
"title": "Boundaries of Dissent: Protest and State Power in the Media Age",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_EmptyIfMatchNoneFail.txt 0000644 0000000 0000000 00000001470 07346545000 022163 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
PhD. diss.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"genre": "PhD. diss.",
"id": "ITEM-1",
"title": "His Anonymous Life",
"type": "thesis"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_EnvAndUrb.txt 0000644 0000000 0000000 00000012412 07346545000 020037 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
Note that disambiguate-add-names does not take effect, because the names are
exposed by disambiguate="true", which has a lower priority than names expansion,
and disambiguation attempts terminate immediately after it is applied.
>>===== RESULT =====>>
>>[0] Baines, T S, O Benedettini and J M Kay, ‘Title One’; Baines, T S, F Gump and J M Kay, ‘Title Two’.
..[1] See reference 1, Baines et al.
>>[2] See reference 1, Baines et al.
<<===== RESULT =====<<
>>===== CITATIONS =====>>
[
[
{
"citationID": "CITATION-1",
"citationItems": [
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
}
],
"properties": {
"noteIndex": 1
}
},
[],
[]
],
[
{
"citationID": "CITATION-2",
"citationItems": [
{
"id": "ITEM-1"
}
],
"properties": {
"noteIndex": 2
}
},
[
[
"CITATION-1",
1
]
],
[]
],
[
{
"citationID": "CITATION-3",
"citationItems": [
{
"id": "ITEM-2"
}
],
"properties": {
"noteIndex": 3
}
},
[
[
"CITATION-1",
1
],
[
"CITATION-2",
2
]
],
[]
]
]
<<===== CITATIONS =====<<
>>==== CITATION-ITEMS ====
[
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
}
],
[
{
"id": "ITEM-1",
"position": 1,
"first-reference-note-number": 1
}
],
[
{
"id": "ITEM-2",
"position": 1,
"first-reference-note-number": 1
}
]
]
<<==== CITATION-ITEMS ====
>>===== CSL =====>>
<<===== CSL =====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "Baines",
"given": "T. S."
},
{
"family": "Benedettini",
"given": "O."
},
{
"family": "Kay",
"given": "J. M."
}
],
"id": "ITEM-1",
"title": "Title One",
"type": "article-journal"
},
{
"author": [
{
"family": "Baines",
"given": "T. S."
},
{
"family": "Gump",
"given": "F."
},
{
"family": "Kay",
"given": "J. M."
}
],
"id": "ITEM-2",
"title": "Title Two",
"type": "article-journal"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_EtAlSubsequent.txt 0000644 0000000 0000000 00000003633 07346545000 021124 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
..[0] John Doe, Jane Roe, Katie Harper, Emmanuel Clutterbuck
>>[1] John Doe et al.
<<===== RESULT =====<<
>>===== CITATIONS =====>>
[
[
{
"citationID": "CITATION-1",
"citationItems": [
{
"id": "ITEM-1"
}
],
"properties": {
"noteIndex": 1
}
},
[],
[]
],
[
{
"citationID": "CITATION-2",
"citationItems": [
{
"id": "ITEM-1"
}
],
"properties": {
"noteIndex": 2
}
},
[
[
"CITATION-1",
1
]
],
[]
]
]
<<===== CITATIONS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
},
{
"family": "Harper",
"given": "Katie"
},
{
"family": "Clutterbuck",
"given": "Emmanuel"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_FourAndFour.txt 0000644 0000000 0000000 00000055437 07346545000 020423 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
Anne Tyler, George Smith, John Brown, and Cat Garfield, Ladder of his’ Years, vol. 2003 (New York: Ivy Books, 1997).
Anne Tyler, George Smith, John Brown, and Cat Felix, Ladder of his’ Years, vol. 2003 (New York: Ivy Books, 1997).
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": 1,
"position": 0
}
],
[
{
"id": 2,
"position": 0
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"ISBN": "9780804113472",
"author": [
{
"family": "Tyler",
"given": "Anne"
},
{
"family": "Smith",
"given": "George"
},
{
"family": "Brown",
"given": "John"
},
{
"family": "Garfield",
"given": "Cat"
}
],
"id": 1,
"issued": {
"date-parts": [
[
1997
]
]
},
"publisher": "Ivy Books",
"publisher-place": "New York",
"title": "Ladder of his' Years",
"type": "book",
"volume": "2003"
},
{
"ISBN": "9780804113472",
"author": [
{
"family": "Tyler",
"given": "Anne"
},
{
"family": "Smith",
"given": "George"
},
{
"family": "Brown",
"given": "John"
},
{
"family": "Felix",
"given": "Cat"
}
],
"id": 2,
"issued": {
"date-parts": [
[
1997
]
]
},
"publisher": "Ivy Books",
"publisher-place": "New York",
"title": "Ladder of his' Years",
"type": "book",
"volume": "2003"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_FrenchApostrophe.txt 0000644 0000000 0000000 00000001400 07346545000 021460 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
Space on guillemet is half-width non-breaking space.
>>===== RESULT =====>>
« Life’s “Little” Surprises »
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "Life's 'Little' Surprises",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_GreekStyleProblems.txt 0000644 0000000 0000000 00000121726 07346545000 022006 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Τέλλος Άγρας, «Ο Καρυωτάκης και οι Σάτιρες», στο: Κώστας Καρυωτάκης, Ποιήματα και πεζά, μτφ. Andreas Dimitriadis, επιμ. Γ. Π. Σαββίδης, 1998.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Άγρας",
"given": "Τέλλος"
}
],
"container-author": [
{
"family": "Καρυωτάκης",
"given": "Κώστας"
}
],
"container-title": "Ποιήματα και πεζά",
"editor": [
{
"family": "Σαββίδης",
"given": "Γ. Π."
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"1998"
]
]
},
"title": "Ο Καρυωτάκης και οι Σάτιρες",
"translator": [
{
"family": "Dimitriadis",
"given": "Andreas"
}
],
"type": "chapter"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_GreekStyleTwoEditors.txt 0000644 0000000 0000000 00000121666 07346545000 022331 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Τέλλος Άγρας, «Ο Καρυωτάκης και οι Σάτιρες», στο: Γ. Π. Σαββίδης και Κώστας Καρυωτάκης (επιμ.), Ποιήματα και πεζά, μτφ. Andreas Dimitriadis, 1998.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Άγρας",
"given": "Τέλλος"
}
],
"container-title": "Ποιήματα και πεζά",
"editor": [
{
"family": "Σαββίδης",
"given": "Γ. Π."
},
{
"family": "Καρυωτάκης",
"given": "Κώστας"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"1998"
]
]
},
"title": "Ο Καρυωτάκης και οι Σάτιρες",
"translator": [
{
"family": "Dimitriadis",
"given": "Andreas"
}
],
"type": "chapter"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_IeeePunctuation.txt 0000644 0000000 0000000 00000013562 07346545000 021323 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
[1]
P.G. Zimbardo, “Does Psychology make a significant difference in our lives?,” American Psychologist, vol. 59, Jan. 2004, pp. 339–351.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Zimbardo",
"given": "Philip G"
}
],
"container-title": "American Psychologist",
"id": "ITEM-1",
"issue": "5",
"issued": {
"date-parts": [
[
2004,
1
]
]
},
"page": "339-351",
"title": "Does Psychology make a significant difference in our lives?",
"type": "article-journal",
"volume": "59"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_LabelsOutOfPlace.txt 0000644 0000000 0000000 00000054027 07346545000 021347 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
Fault reported by Sean Takats.
>>===== RESULT =====>>
Jones, Colin. Bourgeois Revolution Revivified: 1789 and Social Change. Edited by Colin Lucas. Oxford: Clarendon Press, 1991.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Jones",
"given": "Colin"
}
],
"editor": [
{
"family": "Lucas",
"given": "Colin"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1991
]
]
},
"publisher": "Clarendon Press",
"publisher-place": "Oxford",
"title": "Bourgeois Revolution Revivified: 1789 and Social Change",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_LegislationCrash.txt 0000644 0000000 0000000 00000006157 07346545000 021457 0 ustar 00 0000000 0000000 >>==== MODE ====>>
bibliography
<<==== MODE ====<<
>>==== RESULT ====>>
Arrêté du 23 mars 1992 relatif au programme des études conduisant au diplôme d’État d’infirmier, 1992.
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"accessed": {
"date-parts": [
[
"2017",
8,
29
]
]
},
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"1992",
3,
23
]
]
},
"title": "Arrêté du 23 mars 1992 relatif au programme des études conduisant au diplôme d'État d'infirmier",
"type": "legislation"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_MatchedAuthorAndDate.txt 0000644 0000000 0000000 00000026421 07346545000 022171 0 ustar 00 0000000 0000000 >>==== MODE ====>>
bibliography
<<==== MODE ====<<
>>==== RESULT ====>>
Brown, J. 2006a, August. Tijdschrift voor praktijkondersteuning. http://dx.doi.org/10.1007/bf03074904.
Brown, J. 2006b, August. Huisarts en Wetenschap. http://dx.doi.org/10.1007/bf03084836.
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"ISSN": "1872-4078",
"URL": "http://dx.doi.org/10.1007/bf03074904",
"author": [
{
"family": "Brown",
"given": "Jeff"
}
],
"container-title": "Tijdschrift voor praktijkondersteuning",
"id": "ITEM-1",
"issued": {
"date-parts": [
[
2006,
8
]
]
}
},
{
"ISSN": "0018-7070",
"URL": "http://dx.doi.org/10.1007/bf03084836",
"author": [
{
"family": "Brown",
"given": "Jeff"
}
],
"container-title": "Huisarts en Wetenschap",
"id": "ITEM-2",
"issued": {
"date-parts": [
[
2006,
8
]
]
}
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_MissingItemInJoin.txt 0000644 0000000 0000000 00000025365 07346545000 021565 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
Aalto, Book One, S. 100 This.Álvarez, Book Two, S. 200Álvarez, Film One, 300
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1",
"locator": "100",
"suffix": " This."
},
{
"id": "ITEM-2",
"locator": "200"
},
{
"id": "ITEM-3",
"locator": "300"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "Aalto",
"given": "Alan"
}
],
"id": "ITEM-1",
"title": "Book One",
"type": "book"
},
{
"author": [
{
"family": "Álvarez",
"given": "Ajax"
}
],
"id": "ITEM-2",
"title": "Book Two",
"type": "book"
},
{
"author": [
{
"family": "Álvarez",
"given": "Ajax"
}
],
"id": "ITEM-3",
"title": "Film One",
"type": "motion_picture"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_MovePunctuationInsideQuotesForLocator.txt 0000644 0000000 0000000 00000053733 07346545000 025716 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
Jennifer J. Davis, “Men of Taste: Gender and Authority in the French Culinary Trades, 1730-1830” (Ph.D. diss., Pennsylvania State University, History, 2004), s.v. “gargoyle.”
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1",
"label": "sub verbo",
"locator": "\"gargoyle\""
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "Davis",
"given": "Jennifer J."
}
],
"genre": "Ph.D. diss.",
"id": "ITEM-1",
"issued": {
"date-parts": [
[
2004
]
]
},
"publisher": "Pennsylvania State University, History",
"title": "Men of Taste: Gender and Authority in the French Culinary Trades, 1730-1830",
"type": "thesis"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_NoCaseEscape.txt 0000644 0000000 0000000 00000033373 07346545000 020515 0 ustar 00 0000000 0000000 >>==== MODE ====>>
bibliography
<<==== MODE ====<<
>>==== RESULT ====>>
Aalto, Alan
N.d.
“‘PIAAC-Longitudinal (PIAAC-L) 2015.’”
N.d.
“PIAAC-Longitudinal (PIAAC-Lx) 2015.”
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "Aalto",
"given": "Alan"
}
],
"id": "ITEM-1",
"title": "'\"PIAAC-Longitudinal (PIAAC-L) 2015\"'",
"type": "book"
},
{
"author": [
{
"family": "Aalto",
"given": "Alan"
}
],
"id": "ITEM-2",
"title": "\"PIAAC-Longitudinal (PIAAC-Lx) 2015\"",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_NoEventInNestedMacroWithOldProcessor.txt 0000644 0000000 0000000 00000007376 07346545000 025415 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
This turned out to be a very roundabout method of identifying a simple error in the CSL here:
http://forums.zotero.org/discussion/11576/problems-with-paperconference-and-speech/#Comment_61711
>>===== RESULT =====>>
My Anonymous Paper. Paper presented at Big Event, Bogus.
My Anonymous Speech. Speech delivered at Other Big Event, Bogus.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"event": "Big Event",
"id": "ITEM-1",
"title": "My Anonymous Paper",
"type": "paper-conference"
},
{
"event": "Other Big Event",
"id": "ITEM-2",
"title": "My Anonymous Speech",
"type": "speech"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_NoTitle.txt 0000644 0000000 0000000 00000031475 07346545000 017603 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
ecs. (n.d.). .
Family01, G. (n.d.). XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Family01",
"given": "Given01"
}
],
"id": "ITEM-1",
"title": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"type": "article-journal"
},
{
"id": "ITEM-2",
"title": "ecs",
"type": "article-journal"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_NumberAffixEscape.txt 0000644 0000000 0000000 00000001270 07346545000 021542 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
(a2)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"edition": "2",
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_NumberInMacroWithVerticalAlign.txt 0000644 0000000 0000000 00000002136 07346545000 024217 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
Formerly: 2; 3–5
Revised per discussion @ https://discourse.citationstyles.org/t/formatting-attributes-and-hyphen/1518
>>===== RESULT =====>>
2; 3–5
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"edition": "2",
"id": "ITEM-1",
"title": "His Anonymous Life",
"type": "book"
},
{
"edition": "3-5",
"id": "ITEM-2",
"title": "His Anonymous Life",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_OldMhraDisambiguationFailure.txt 0000644 0000000 0000000 00000037227 07346545000 023744 0 ustar 00 0000000 0000000 >>== MODE ==>>
citation
<<== MODE ==<<
>>== RESULT ==>>
>>[0] John Doe, Book A, 2000; John Doe, Book B, 2000.
>>[1] Doe, Book A; Doe, Book B.
<<== RESULT ==<<
>>== CITATIONS ==>>
[
[
{
"citationID": "CITATION-1",
"citationItems": [
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
}
],
"properties": {
"noteIndex": 1
}
},
[],
[]
],
[
{
"citationID": "CITATION-2",
"citationItems": [
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
}
],
"properties": {
"noteIndex": 2
}
},
[
[
"CITATION-1",
1
]
],
[]
]
]
<<== CITATIONS ==<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "Book A",
"author": [
{
"family": "Doe",
"given": "John"
}
],
"issued": {
"date-parts": [
[
"2000"
]
]
},
"type": "book"
},
{
"id": "ITEM-2",
"title": "Book B",
"author": [
{
"family": "Doe",
"given": "John"
}
],
"issued": {
"date-parts": [
[
"2000"
]
]
},
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_OverwriteCitationItems.txt 0000644 0000000 0000000 00000004531 07346545000 022701 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
>>[0] Title Four; Title Five
..[1] Title Two; Title Three
<<===== RESULT =====<<
>>===== CITATIONS =====>>
[
[
{
"citationID": "CITATION-1",
"citationItems": [
{
"id": "ITEM-1"
}
],
"properties": {
"noteIndex": 0
}
},
[],
[]
],
[
{
"citationID": "CITATION-2",
"citationItems": [
{
"id": "ITEM-2"
},
{
"id": "ITEM-3"
}
],
"properties": {
"noteIndex": 0
}
},
[
[
"CITATION-1",
0
]
],
[]
],
[
{
"citationID": "CITATION-1",
"citationItems": [
{
"id": "ITEM-4"
},
{
"id": "ITEM-5"
}
],
"properties": {
"noteIndex": 0
}
},
[],
[
[
"CITATION-2",
0
]
]
]
]
<<===== CITATIONS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"title": "Title One",
"id": "ITEM-1",
"type": "book"
},
{
"title": "Title Two",
"id": "ITEM-2",
"type": "book"
},
{
"title": "Title Three",
"id": "ITEM-3",
"type": "book"
},
{
"title": "Title Four",
"id": "ITEM-4",
"type": "book"
},
{
"title": "Title Five",
"id": "ITEM-5",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_ProcessorHang1.txt 0000644 0000000 0000000 00000044203 07346545000 021054 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
(Philpott, Arendt, et al. 2008)
(Philpott, Perfecto, et al. 2008a)
(Philpott, Perfecto, et al. 2008b)
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
}
],
[
{
"id": "ITEM-2"
}
],
[
{
"id": "ITEM-3"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"DOI": "10.1111/j.1523-1739.2008.01029.x",
"URL": "http://dx.doi.org/10.1111/j.1523-1739.2008.01029.x",
"abstract": "Studies have documented biodiversity losses due to intensification of coffee management (reduction in canopy richness and complexity). Nevertheless, questions remain regarding relative sensitivity of different taxa, habitat specialists, and functional groups, and whether implications for biodiversity conservation vary across regions. We quantitatively reviewed data from ant, bird, and tree biodiversity studies in coffee agroecosystems to address the following questions: Does species richness decline with intensification or with individual vegetation characteristics? Are there significant losses of species richness in coffee-management systems compared with forests? Is species loss greater for forest species or for particular functional groups? and Are ants or birds more strongly affected by intensification? Across studies, ant and bird richness declined with management intensification and with changes in vegetation. Species richness of all ants and birds and of forest ant and bird species was lower in most coffee agroecosystems than in forests, but rustic coffee (grown under native forest canopies) had equal or greater ant and bird richness than nearby forests. Sun coffee (grown without canopy trees) sustained the highest species losses, and species loss of forest ant, bird, and tree species increased with management intensity. Losses of ant and bird species were similar, although losses of forest ants were more drastic in rustic coffee. Richness of migratory birds and of birds that forage across vegetation strata was less affected by intensification than richness of resident, canopy, and understory bird species. Rustic farms protected more species than other coffee systems, and loss of species depended greatly on habitat specialization and functional traits. We recommend that forest be protected, rustic coffee be promoted, and intensive coffee farms be restored by augmenting native tree density and richness and allowing growth of epiphytes. We also recommend that future research focus on potential trade-offs between biodiversity conservation and farmer livelihoods stemming from coffee production. Diversos estudios han documentado las p�rdidas de biodiversidad debido a la intensificaci�n del manejo de caf� (disminuci�n de la riqueza y complejidad del dosel). Sin embargo, persisten preguntas sobre la sensibilidad relativa de diferentes taxa, especialistas de h�bitat y grupos funcionales, y s� las implicaciones para la conservaci�n de la biodiversidad var�an entre regiones. Revisamos cuantitativamente los datos de estudios de biodiversidad de hormigas, aves y �rboles en agroecosistemas de caf� para abordar las siguientes preguntas: �La riqueza de especies declina con la intensificaci�n o con las caracter�sticas individuales de la vegetaci�n?�Hay p�rdidas significativas de riqueza de especies en los sistemas cafetaleros en comparaci�n con los bosques?�Es mayor la p�rdida en especies de bosque o en grupos funcionales particulares? y �Las aves o las hormigas son m�s afectadas por la intensificaci�n? En los estudios revisados, la riqueza de hormigas y aves declin� con la intensificaci�n del manejo y con los cambios de vegetaci�n. La riqueza de especies de todas las hormigas y aves y la de especies de hormigas y aves de bosque fue menor en la mayor�a de los agroecosistemas cafetaleros que en los bosques, pero el caf� r�stico (cultivado bajo dosel de bosque nativo) sustent� la mayor p�rdida de especies, y la p�rdida de especies de hormigas, aves y �rboles de bosque aument� con la intensificaci�n del manejo. Las p�rdidas de especies de hormigas y aves fueron similares, aunque las p�rdidas de hormigas de bosque fueron m�s dr�sticas en el caf� r�stico. La riqueza de especies de aves migratorias y de aves que forrajean en varios estratos de vegetaci�n fueron menos afectadas por la intensificaci�n que las especies residentes de dosel y de sotobosque. Las fincas r�sticas protegieron m�s especies que otros sistemas cafetaleros, y la p�rdida de especies dependi� mayormente de la especializaci�n de h�bitat y de los atributos funcionales. Recomendamos que el bosque sea protegido, se promueva el caf� r�stico y se restauren las fincas intensivas mediante el incremento de la densidad y riqueza de �rboles nativos y permitiendo el crecimiento de ep�fitas. Tambi�n recomendamos que las futuras investigaciones enfoquen las compensaciones potenciales entre la conservaci�n de la biodiversidad y la forma de vida de los campesinos que producen caf�.",
"accessed": {
"date-parts": [
[
"2008",
9,
25
]
]
},
"author": [
{
"family": "Philpott",
"given": "S. M."
},
{
"family": "Arendt",
"given": "W. J."
},
{
"family": "Armbrecht",
"given": "I."
},
{
"family": "Bichier",
"given": "P."
},
{
"family": "Dietsch",
"given": "T. V."
},
{
"family": "Gordon",
"given": "C."
},
{
"family": "Greenberg",
"given": "R."
},
{
"family": "Perfecto",
"given": "I."
},
{
"family": "Reynoso-Santos",
"given": "R."
},
{
"family": "Soto-Pinto",
"given": "L."
},
{
"family": "Tejeda-Cruz",
"given": "C."
},
{
"family": "Williams-Linera",
"given": "G."
},
{
"family": "Valenzuela",
"given": "J."
},
{
"family": "Zolotoff",
"given": "J. M."
}
],
"container-title": "Conservation Biology",
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"2008"
]
]
},
"key": "WQDG7EP5",
"page": "1093-1105",
"source": "Wiley InterScience",
"title": "Biodiversity loss in Latin American coffee landscapes: review of the evidence on ants, birds, and trees",
"title-short": "Biodiversity Loss in Latin American Coffee Landscapes",
"type": "article-journal",
"volume": "22"
},
{
"DOI": "10.1603/0046-225X(2008)37[181:BDOPAA]2.0.CO;2",
"ISSN": "0046-225X",
"URL": "http://www.bioone.org/doi/abs/10.1603/0046-225X(2008)37%5B181:BDOPAA%5D2.0.CO%3B2",
"abstract": "Aspects of predator assemblages that alter predator effects on prey have received extensive recent attention. Among other mechanisms, differences in behavior or resource use within predator trophic levels may enhance predator effects on prey, especially if effects of each predator species differ with environmental conditions. We address whether three common ant species (Azteca instabilis F. Smith, Camponotus textor Forel, and Crematogaster spp.) are functionally unique in coffee agroecosystems, asking if each species differs in (1) cooperative foraging behavior, (2) responses to experimentally introduced herbivores, and (3) responses to pest outbreaks. Furthermore, we examined the behaviors and effects of each ant species under different conditions by varying herbivore species, herbivore size, and herbivore density and carrying out observations in different seasons. Ant species significantly differed in foraging behaviors, in effects on individual herbivores, and in responses to pest outbreaks in terms of both type and time of response to herbivores. The behaviors and effects of each ant species differed in the dry and wet seasons and for different herbivore species and sizes. Although A. instabilis generally removed more larvae and more quickly removed larvae, this was not the case under all conditions. The data presented thus support that common ant species in coffee agroecosystems are behaviorally diverse in their responses to herbivores under different conditions. We discuss the implications of these differences in ant behaviors for enhancement of predatory function in light of both multipredator effects and in terms of the potential importance of predator diversity.",
"author": [
{
"family": "Philpott",
"given": "S. M."
},
{
"family": "Perfecto",
"given": "I."
},
{
"family": "Vandermeer",
"given": "J."
}
],
"container-title": "Environmental Entomology",
"id": "ITEM-2",
"issued": {
"date-parts": [
[
"2008"
]
]
},
"key": "74WGHVRQ",
"page": "181-191",
"source": "BioOne",
"title": "Behavioral diversity of predatory arboreal ants in coffee agroecosystems",
"type": "article-journal",
"volume": "37"
},
{
"DOI": "10.1111/j.1365-2656.2008.01358.x",
"ISSN": "1365-2656",
"URL": "http://onlinelibrary.wiley.com/doi/10.1111/j.1365-2656.2008.01358.x/abstract",
"abstract": "Ants are important predators in agricultural systems, and have complex and often strong effects on lower trophic levels. Agricultural intensification reduces habitat complexity, food web diversity and structure, and affects predator communities. Theory predicts that strong top-down cascades are less likely to occur as habitat and food web complexity decrease. * 2To examine relationships between habitat complexity and predator effects, we excluded ants from coffee plants in coffee agroecosystems varying in vegetation complexity. Specifically, we studied the effects of eliminating ants on arthropod assemblages, herbivory, damage by the coffee berry borer and coffee yields in four sites differing in management intensification. We also sampled ant assemblages in each management type to see whether changes in ant assemblages relate to any observed changes in top-down effects. * 3Removing ants did not change total arthropod densities, herbivory, coffee berry borer damage or coffee yields. Ants did affect densities of some arthropod orders, but did not affect densities of different feeding groups. The effects of ants on lower trophic levels did not change with coffee management intensity. * 4Diversity and activity of ants on experimental plants did not change with coffee intensification, but the ant species composition differed. * 5Although variation in habitat complexity may affect trophic cascades, manipulating predatory ants across a range of coffee agroecosystems varying in management intensity did not result in differing effects on arthropod assemblages, herbivory, coffee berry borer attack or coffee yields. Thus, there is no clear pattern that top-down effects of ants in coffee agroecosystems intensify or dampen with decreased habitat complexity.",
"accessed": {
"date-parts": [
[
"2013",
6,
10
]
]
},
"author": [
{
"family": "Philpott",
"given": "S. M."
},
{
"family": "Perfecto",
"given": "I."
},
{
"family": "Vandermeer",
"given": "J."
}
],
"container-title": "Journal of Animal Ecology",
"id": "ITEM-3",
"issue": "3",
"issued": {
"date-parts": [
[
"2008"
]
]
},
"key": "95I7USJP",
"language": "en",
"page": "505–511",
"source": "Wiley Online Library",
"title": "Effects of predatory ants on lower trophic levels across a gradient of coffee management complexity",
"type": "article-journal",
"volume": "77"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_SectionAndLocator.txt 0000644 0000000 0000000 00000002027 07346545000 021567 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
Title One, 123
Title Two
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1",
"locator": "123"
}
],
[
{
"id": "ITEM-2"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"id": "ITEM-1",
"section": "456",
"title": "Title One",
"type": "legislation"
},
{
"id": "ITEM-2",
"section": "456",
"title": "Title Two",
"type": "legislation"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_SelfLink.txt 0000644 0000000 0000000 00000054515 07346545000 017734 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
[O A. Book Title]
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"id": "ITEM-1",
"title": "Book Title",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_SimpleBib.txt 0000644 0000000 0000000 00000005106 07346545000 020063 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Malone",
"given": "Nolan J."
},
{
"literal": "U.S. Bureau of the Census"
}
],
"id": "ITEM-6",
"issued": {
"date-parts": [
[
2001,
12,
5
]
]
},
"publisher": "Routledge",
"title": "Evaluating Components of International Migration: Consistency of 2000 Nativity Data",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_SingleQuote.txt 0000644 0000000 0000000 00000013153 07346545000 020455 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
[1]
“production d ’ eau glacée à condensation à eau avec récupération de chaleur . Modélisation simplifiée dans l ’ optique d ’ un calcul des consommations d ’ énergie d ’ une insta.”
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "production d ' eau glacée à condensation à eau avec récupération de chaleur . Modélisation simplifiée dans l ’ optique d ’ un calcul des consommations d ’ énergie d ’ une insta"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_SingleQuoteXml.txt 0000644 0000000 0000000 00000055335 07346545000 021146 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
[Cite with a composer ; O A. "hello" Book Title]
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"id": "ITEM-1",
"title": "Book Title",
"type": "book"
},
{
"composer": [
{
"family": "Smith",
"given": "Bob"
}
],
"id": "ITEM-2",
"title": "Book-2 Title",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_SingletonIfMatchNoneFail.txt 0000644 0000000 0000000 00000001464 07346545000 023032 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
PhD. diss.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"genre": "PhD. diss.",
"id": "ITEM-1",
"title": "His Anonymous Life",
"type": "thesis"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_SmallCapsEscape.txt 0000644 0000000 0000000 00000032542 07346545000 021221 0 ustar 00 0000000 0000000 >>==== MODE ====>>
bibliography
<<==== MODE ====<<
>>==== RESULT ====>>
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "Aalto",
"given": "Alan"
}
],
"id": "ITEM-1",
"title": "Here",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_SortSecondaryKey.txt 0000644 0000000 0000000 00000020564 07346545000 021472 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
(Roe, 1995, 1996)
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1996
]
]
},
"type": "book"
},
{
"author": [
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
1995
]
]
},
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_SortSecondaryKeyBibliography.txt 0000644 0000000 0000000 00000020746 07346545000 024030 0 ustar 00 0000000 0000000 >>==== MODE ====>>
bibliography
<<==== MODE ====<<
>>==== RESULT ====>>
Roe, J.:, 1995.
Roe, J.:, 1996.
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1996
]
]
},
"type": "book"
},
{
"author": [
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
1995
]
]
},
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_SortedIeeeItalicsFail.txt 0000644 0000000 0000000 00000031607 07346545000 022357 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
[1]
J. Doe, “His Anonymous Article,” Journal of Obscurity, vol. 100, p. 15, Jun. 1965.
[2]
G. Everhardt, “His Anonymous Article,” Journal of Obscurity, vol. 100, p. 15, Jun. 1965.
[3]
J. Roe, “His Anonymous Article,” Journal of Obscurity, vol. 100, p. 15, Jun. 1965.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Roe",
"given": "Jane"
}
],
"container-title": "Journal of Obscurity",
"id": "ITEM-2",
"issued": {
"date-parts": [
[
"1965",
"6",
"1"
]
]
},
"page": "15",
"title": "His Anonymous Article",
"type": "article-journal",
"volume": "100"
},
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"container-title": "Journal of Obscurity",
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"1965",
"6",
"1"
]
]
},
"page": "15",
"title": "His Anonymous Article",
"type": "article-journal",
"volume": "100"
},
{
"author": [
{
"family": "Everhardt",
"given": "Ganzaheit"
}
],
"container-title": "Journal of Obscurity",
"id": "ITEM-3",
"issued": {
"date-parts": [
[
"1965",
"6",
"1"
]
]
},
"page": "15",
"title": "His Anonymous Article",
"type": "article-journal",
"volume": "100"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_StyleError001.txt 0000644 0000000 0000000 00000030666 07346545000 020561 0 ustar 00 0000000 0000000 >>==== MODE ====>>
bibliography
<<==== MODE ====<<
>>==== RESULT ====>>
Anonymous Journal.
Anonymous Journal One.
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"container-title": "Anonymous Journal",
"id": "ITEM-1",
"journalAbbreviation": "Anon J",
"type": "article-journal"
},
{
"container-title": "Anonymous Journal One",
"id": "ITEM-2",
"journalAbbreviation": "Journal-1",
"type": "chapter"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_ThesisUniversityAppearsTwice.txt 0000644 0000000 0000000 00000053743 07346545000 024100 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
Fault reported by Sean Takats.
>>===== RESULT =====>>
Davis, Jennifer J. “Men of Taste: Gender and Authority in the French Culinary Trades, 1730-1830.” Ph.D. diss., Pennsylvania State University, History, 2004.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Davis",
"given": "Jennifer J."
}
],
"genre": "Ph.D. diss.",
"id": "ITEM-1",
"issued": {
"date-parts": [
[
2004
]
]
},
"publisher": "Pennsylvania State University, History",
"title": "Men of Taste: Gender and Authority in the French Culinary Trades, 1730-1830",
"type": "thesis"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_TitleCase.txt 0000644 0000000 0000000 00000002360 07346545000 020071 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
One but Two or Three yet Four so Five for Six and Seven nor Eight a Nine an Ten the Eleven at Twelve by Thirteen from Fourteen in Fifteen into Sixteen of Seventeen on Eighteen to Nineteen with Twenty up Twenty-One down Twenty-Two as Twenty-Three via Twenty-Four till Twenty-Five onto Twenty-Six over Twenty-Seven.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "One but two or three yet four so five for six and seven nor eight a nine an ten the eleven at twelve by thirteen from fourteen in fifteen into sixteen of seventeen on eighteen to nineteen with twenty up twenty-one down twenty-two as twenty-three via twenty-four till twenty-five onto twenty-six over twenty-seven.",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_UndefinedBeforeVal.txt 0000644 0000000 0000000 00000037371 07346545000 021715 0 ustar 00 0000000 0000000 >>==== MODE ====>>
bibliography
<<==== MODE ====<<
>>==== RESULT ====>>
Aalto, A. Translated by Boy Beamish.
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "Aalto",
"given": "Alan"
}
],
"id": "ITEM-1",
"translator": [
{
"family": "Beamish",
"given": "Boy"
}
],
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_UndefinedInName.txt 0000644 0000000 0000000 00000015052 07346545000 021207 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
Original test submitted by Carles Pina.
>>===== RESULT =====>>
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"given": "I Test J R"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_UndefinedInName2.txt 0000644 0000000 0000000 00000014135 07346545000 021272 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Kim",
"given": "B-X"
},
{
"family": "Kim",
"given": "A-Y"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_UndefinedInName3.txt 0000644 0000000 0000000 00000030204 07346545000 021266 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== DESCRIPTION =====>>
Bug report by Carles Pina.
## 2013-04-17 :: Frank Bennett
At the time of reporting, the target style had no
"givenname-disambiguation-rule" set (and MHRA still does not). The
specification was subsequently revised to required "by-cite"
disambiguation. Under by-cite disambiguation, the subsequent form in
the style is "Kim and Kim", without the given names.
<<===== DESCRIPTION =====<<
>>===== RESULT =====>>
B-X Kim and A-Y Kim.
Kim and Kim, 23.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== CITATION-ITEMS =====>>
[
[
{
"id": "ITEM-1",
"position": 0
}
],
[
{
"id": "ITEM-1",
"label": "page",
"locator": "23",
"position": 2
}
]
]
<<===== CITATION-ITEMS =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Kim",
"given": "B-X"
},
{
"family": "Kim",
"given": "A-Y"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_UndefinedNotString.txt 0000644 0000000 0000000 00000012417 07346545000 021771 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
This exercises text-case="title". Test by Carles Pina.
>>===== RESULT =====>>
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"container-title": "FOO BAR",
"id": "ITEM-1",
"type": "article-journal"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_UndefinedStr.txt 0000644 0000000 0000000 00000012634 07346545000 020613 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "FamilyName",
"given": "GivenName"
}
],
"id": "ITEM-1",
"title": "The Title",
"type": "article-journal"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_UnisaHarvardInitialization.txt 0000644 0000000 0000000 00000003221 07346545000 023510 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
<<===== RESULT =====<<
Macros are from a private style "unisa-harvard", forwarded by a user.
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John Quiggly"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_YearSuffixInHarvard1.txt 0000644 0000000 0000000 00000020721 07346545000 022162 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
Africa News, 2006a. Burkina Faso: Journalist Case Puts Spotlight On Justice System. Africa News.
Africa News, 2010. Niger: Who Really Ousted Tandja, And Why? Africa News.
Africa News, 2007. Uganda: Police Protect Besigye Rally. Africa News.
Africa News, 2006b. Uganda: UK, US Deploy Observers. Africa News.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"literal": "Africa News"
}
],
"container-title": "Africa News",
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"2006"
]
]
},
"title": "Burkina Faso: Journalist Case Puts Spotlight On Justice System",
"type": "article-journal"
},
{
"author": [
{
"literal": "Africa News"
}
],
"container-title": "Africa News",
"id": "ITEM-2",
"issued": {
"date-parts": [
[
"2010"
]
]
},
"title": "Niger: Who Really Ousted Tandja, And Why?",
"type": "article-journal"
},
{
"author": [
{
"literal": "Africa News"
}
],
"container-title": "Africa News",
"id": "ITEM-3",
"issued": {
"date-parts": [
[
"2007"
]
]
},
"title": "Uganda: Police Protect Besigye Rally",
"type": "article-journal"
},
{
"author": [
{
"literal": "Africa News"
}
],
"container-title": "Africa News",
"id": "ITEM-4",
"issued": {
"date-parts": [
[
"2006"
]
]
},
"title": "Uganda: UK, US Deploy Observers",
"type": "article-journal"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_YearSuffixLingers.txt 0000644 0000000 0000000 00000004020 07346545000 021620 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
Smith 1990a
Smith 1990b
Jones 1990
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
}
],
[
{
"id": "ITEM-2"
}
],
[
{
"id": "ITEM-3"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"1990"
]
]
},
"title": "Book A",
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
"1990"
]
]
},
"title": "Book B",
"type": "book"
},
{
"author": [
{
"family": "Jones",
"given": "Bob"
}
],
"id": "ITEM-3",
"issued": {
"date-parts": [
[
"1990"
]
]
},
"title": "Book C",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_disambigHang.txt 0000644 0000000 0000000 00000004777 07346545000 020607 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
(de Boer et al. 2000a, 2000b)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "de Boer",
"given": "Carl G."
},
{
"family": "Ray",
"given": "John P."
},
{
"family": "Hacohen",
"given": "Nir"
},
{
"family": "Regev",
"given": "Aviv"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
2000,
1,
15
]
]
},
"type": "book"
},
{
"author": [
{
"family": "de Boer",
"given": "Carl G."
},
{
"family": "Vaishnav",
"given": "Eeshit Dhaval"
},
{
"family": "Sadeh",
"given": "Ronen"
},
{
"family": "Abeyta",
"given": "Esteban Luis"
},
{
"family": "Friedman",
"given": "Nir"
},
{
"family": "Regev",
"given": "Aviv"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
2000,
1,
15
]
]
},
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_disambiguate.txt 0000644 0000000 0000000 00000033007 07346545000 020654 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
(FamilyA & FamilyB, 2003; FamilyA, FamilyC, & FamilyB, 2007)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "FamilyA",
"given": "GivenA D."
},
{
"family": "FamilyB",
"given": "GivenB P."
}
],
"container-title": "Container Title01",
"id": "ITEM-1",
"issued": {
"date-parts": [
[
2003,
1
]
]
},
"title": "Title01",
"type": "article-journal"
},
{
"author": [
{
"family": "FamilyA",
"given": "GivenA D."
},
{
"family": "FamilyC",
"given": "GivenC1 GivenC2"
},
{
"family": "FamilyB",
"given": "GivenB P"
}
],
"container-title": "Container Title02",
"id": "ITEM-2",
"issued": {
"date-parts": [
[
2007,
1
]
]
},
"title": "Title02",
"type": "article-journal"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_effingBug.txt 0000644 0000000 0000000 00000002047 07346545000 020112 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
Book One, 123 f.; Book Two, 456 f.
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1",
"locator": "123"
},
{
"id": "ITEM-2",
"locator": "123"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"id": "ITEM-1",
"page": "123",
"title": "Book One",
"type": "book"
},
{
"id": "ITEM-2",
"page": "456",
"title": "Book Two",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_ikeyOne.txt 0000644 0000000 0000000 00000027602 07346545000 017625 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
## 2013-04-17 :: Frank Bennett
I believe that the full name is correct here. With by-cite
disambiguation, an uncited item in the bibliography that would clash
with a cite in the document should trigger disambiguation. That's my
call on this one, anyway.
## 2013-05-09 :: Frank Bennett
Well, that would have been true if this test resulted in an uncited
item. But the third operation deletes the initial citation completely.
The orginal test result "Smith" is correct here.
>>===== RESULT =====>>
>>[0] (Smith)
<<===== RESULT =====<<
>>===== CITATIONS =====>>
[
[
{
"citationID": "CITATION-1",
"citationItems": [
{
"id": 4
}
],
"properties": {
"noteIndex": 0
}
},
[],
[]
],
[
{
"citationID": "CITATION-2",
"citationItems": [
{
"id": 5
}
],
"properties": {
"noteIndex": 0
}
},
[
[
"CITATION-1",
0
]
],
[]
],
[
{
"citationID": "CITATION-2",
"citationItems": [
{
"id": 5
}
],
"properties": {
"noteIndex": 0
}
},
[],
[]
]
]
<<===== CITATIONS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": 5,
"type": "book",
"title": "Book B",
"author": [
{
"family": "Smith",
"given": "James"
}
]
},
{
"id": 4,
"type": "book",
"title": "Book C",
"author": [
{
"family": "Smith",
"given": "John"
}
]
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_parenthesis.txt 0000644 0000000 0000000 00000030333 07346545000 020542 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
2006
]
]
},
"page": "1-7",
"type": "article-journal"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_parseName.txt 0000644 0000000 0000000 00000003261 07346545000 020130 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
van Happel, Eduard 2008
Hoppel, Gustav von 2008
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "\"van Happel\"",
"given": "Eduard"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
2008,
1
]
]
},
"type": "article-journal"
},
{
"author": [
{
"family": "von Hoppel",
"given": "Gustav"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
2008,
1
]
]
},
"type": "article-journal"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/bugreports_undefinedCrash.txt 0000644 0000000 0000000 00000011514 07346545000 021137 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
(1)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "FamilyName"
}
],
"id": "ITEM-1",
"title": "Title",
"type": "article"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/collapse_AuthorCollapse.txt 0000644 0000000 0000000 00000002717 07346545000 020555 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
(Smith 1900, 2000)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1900
]
]
},
"title": "Ignore me 1",
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
2000
]
]
},
"title": "Ignore me 2",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/collapse_AuthorCollapseDifferentAuthorsOneWithEtAl.txt 0000644 0000000 0000000 00000003050 07346545000 026005 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
(Smith 1900, Smith et al. 2000)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1900
]
]
},
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "John"
},
{
"family": "Jones",
"given": "Rodney"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
2000
]
]
},
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/collapse_AuthorCollapseNoDate.txt 0000644 0000000 0000000 00000003510 07346545000 021640 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
You wouldn't want to do this in an actual style, of course -- a "no date"
term should be supplied for the first of the three cites here, to prevent
confusion.
>>===== RESULT =====>>
(Smith, 1900, 2000)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"id": "ITEM-3",
"title": "Ignore me 3",
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1900
]
]
},
"title": "Ignore me 1",
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
2000
]
]
},
"title": "Ignore me 2",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/collapse_AuthorCollapseNoDateSorted.txt 0000644 0000000 0000000 00000004261 07346545000 023025 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== DESCRIPTION =====>>
If warnings for empty cites in a multiple-cite citation are printed,
they should be printed only if the first cite in the series renders
nothing, and the layout suffix should be preserved.
<<===== DESCRIPTION =====<<
>>===== RESULT =====>>
(Smith 325 AD, 2000)
<<===== RESULT =====<<
>>===== CITATION-ITEMS =====>>
[
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
},
{
"id": "ITEM-3"
}
]
]
<<===== CITATION-ITEMS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
325
]
]
},
"title": "Ignore me 1",
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
2000
]
]
},
"title": "Ignore me 2",
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"id": "ITEM-3",
"title": "Ignore me 3",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/collapse_ChicagoAfterCollapse.txt 0000644 0000000 0000000 00000057060 07346545000 021633 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
(Whittaker 1967, 1975; Wiens 1989a, 1989b)
(Wong 1999, 328; 2000, 475; Garcia 1998, 67)
(Whittaker 1967; Wiens 1989b)
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
},
{
"id": "ITEM-3"
},
{
"id": "ITEM-4"
}
],
[
{
"id": "ITEM-5",
"locator": 328
},
{
"id": "ITEM-6",
"locator": 475
},
{
"id": "ITEM-7",
"locator": 67
}
],
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-4"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "Whittaker",
"given": "Phil"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1967
]
]
},
"type": "book"
},
{
"author": [
{
"family": "Whittaker",
"given": "Phil"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
1975
]
]
},
"type": "book"
},
{
"author": [
{
"family": "Wiens",
"given": "Walter"
}
],
"id": "ITEM-3",
"issued": {
"date-parts": [
[
1989
]
]
},
"type": "book"
},
{
"author": [
{
"family": "Wiens",
"given": "Walter"
}
],
"id": "ITEM-4",
"issued": {
"date-parts": [
[
1989
]
]
},
"type": "book"
},
{
"author": [
{
"family": "Wong",
"given": "Richard"
}
],
"id": "ITEM-5",
"issued": {
"date-parts": [
[
1999
]
]
},
"type": "book"
},
{
"author": [
{
"family": "Wong",
"given": "Richard"
}
],
"id": "ITEM-6",
"issued": {
"date-parts": [
[
2000
]
]
},
"type": "book"
},
{
"author": [
{
"family": "Garcia",
"given": "Randy"
}
],
"id": "ITEM-7",
"issued": {
"date-parts": [
[
1998
]
]
},
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/collapse_CitationNumberRangesInsert.txt 0000644 0000000 0000000 00000005101 07346545000 023066 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
This test confirms that the symptoms described here have been
addressed: http://forums.zotero.org/discussion/3579
>>===== RESULT =====>>
..[0] [1]
>>[1] [1]–[4]
<<===== RESULT =====<<
>>===== CITATIONS =====>>
[
[
{
"citationID": "CITATION-1",
"citationItems": [
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
},
{
"id": "ITEM-3"
}
],
"properties": {
"noteIndex": 0
}
},
[],
[]
],
[
{
"citationID": "CITATION-2",
"citationItems": [
{
"id": "ITEM-4"
}
],
"properties": {
"noteIndex": 0
}
},
[],
[
[
"CITATION-1",
0
]
]
],
[
{
"citationID": "CITATION-1",
"citationItems": [
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
},
{
"id": "ITEM-3"
},
{
"id": "ITEM-4"
}
],
"properties": {
"noteIndex": 0
}
},
[
[
"CITATION-2",
0
]
],
[]
]
]
<<===== CITATIONS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "Paper 1",
"type": "book"
},
{
"id": "ITEM-2",
"title": "Paper 2",
"type": "book"
},
{
"id": "ITEM-3",
"title": "Paper 3",
"type": "book"
},
{
"id": "ITEM-4",
"title": "Paper 4",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/collapse_CitationNumberRangesMixed.txt 0000644 0000000 0000000 00000004044 07346545000 022675 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
([1]–[7])
([1]–[3], [5]–[7])
<<===== RESULT =====<<
>>===== CITATION-ITEMS =====>>
[
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
},
{
"id": "ITEM-3"
},
{
"id": "ITEM-4"
},
{
"id": "ITEM-5"
},
{
"id": "ITEM-6"
},
{
"id": "ITEM-7"
}
],
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
},
{
"id": "ITEM-3"
},
{
"id": "ITEM-5"
},
{
"id": "ITEM-6"
},
{
"id": "ITEM-7"
}
]
]
<<===== CITATION-ITEMS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "Paper 1",
"type": "book"
},
{
"id": "ITEM-2",
"title": "Paper 2",
"type": "book"
},
{
"id": "ITEM-3",
"title": "Paper 3",
"type": "book"
},
{
"id": "ITEM-4",
"title": "Paper 4",
"type": "book"
},
{
"id": "ITEM-5",
"title": "Paper 5",
"type": "book"
},
{
"id": "ITEM-6",
"title": "Paper 6",
"type": "book"
},
{
"id": "ITEM-7",
"title": "Paper 7",
"type": "book"
}
]
<<===== INPUT =====<<
ū
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/collapse_CitationNumberRangesMixed2.txt 0000644 0000000 0000000 00000005274 07346545000 022765 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
([1]–[11])
([1], [3]–[5], [7], [9]–[11])
<<===== RESULT =====<<
>>===== CITATION-ITEMS =====>>
[
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
},
{
"id": "ITEM-3"
},
{
"id": "ITEM-4"
},
{
"id": "ITEM-5"
},
{
"id": "ITEM-6"
},
{
"id": "ITEM-7"
},
{
"id": "ITEM-8"
},
{
"id": "ITEM-9"
},
{
"id": "ITEM-10"
},
{
"id": "ITEM-11"
}
],
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-3"
},
{
"id": "ITEM-4"
},
{
"id": "ITEM-5"
},
{
"id": "ITEM-7"
},
{
"id": "ITEM-9"
},
{
"id": "ITEM-10"
},
{
"id": "ITEM-11"
}
]
]
<<===== CITATION-ITEMS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "Paper 1",
"type": "book"
},
{
"id": "ITEM-2",
"title": "Paper 2",
"type": "book"
},
{
"id": "ITEM-3",
"title": "Paper 3",
"type": "book"
},
{
"id": "ITEM-4",
"title": "Paper 4",
"type": "book"
},
{
"id": "ITEM-5",
"title": "Paper 5",
"type": "book"
},
{
"id": "ITEM-6",
"title": "Paper 6",
"type": "book"
},
{
"id": "ITEM-7",
"title": "Paper 7",
"type": "book"
},
{
"id": "ITEM-8",
"title": "Paper 8",
"type": "book"
},
{
"id": "ITEM-9",
"title": "Paper 9",
"type": "book"
},
{
"id": "ITEM-10",
"title": "Paper 10",
"type": "book"
},
{
"id": "ITEM-11",
"title": "Paper 11",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/collapse_CitationNumberRangesMixed3.txt 0000644 0000000 0000000 00000004167 07346545000 022766 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
([1]–[8])
([1], [4], [6]–[8])
<<===== RESULT =====<<
>>===== CITATION-ITEMS =====>>
[
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
},
{
"id": "ITEM-3"
},
{
"id": "ITEM-4"
},
{
"id": "ITEM-5"
},
{
"id": "ITEM-6"
},
{
"id": "ITEM-7"
},
{
"id": "ITEM-8"
}
],
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-4"
},
{
"id": "ITEM-6"
},
{
"id": "ITEM-7"
},
{
"id": "ITEM-8"
}
]
]
<<===== CITATION-ITEMS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "Paper 1",
"type": "book"
},
{
"id": "ITEM-2",
"title": "Paper 2",
"type": "book"
},
{
"id": "ITEM-3",
"title": "Paper 3",
"type": "book"
},
{
"id": "ITEM-4",
"title": "Paper 4",
"type": "book"
},
{
"id": "ITEM-5",
"title": "Paper 5",
"type": "book"
},
{
"id": "ITEM-6",
"title": "Paper 6",
"type": "book"
},
{
"id": "ITEM-7",
"title": "Paper 7",
"type": "book"
},
{
"id": "ITEM-8",
"title": "Paper 8",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/collapse_CitationNumberRangesOneOnly.txt 0000644 0000000 0000000 00000001662 07346545000 023215 0 ustar 00 0000000 0000000 >>==== MODE ====>>
bibliography
<<==== MODE ====<<
>>==== RESULT ====>>
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"id": "ITEM-1",
"title": "Paper 1",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/collapse_CitationNumberRangesWithAffixes.txt 0000644 0000000 0000000 00000002075 07346545000 024052 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
([1]–[3])
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
},
{
"id": "ITEM-3"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"id": "ITEM-1",
"title": "Paper 1",
"type": "book"
},
{
"id": "ITEM-2",
"title": "Paper 2",
"type": "book"
},
{
"id": "ITEM-3",
"title": "Paper 3",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/collapse_CitationNumberRangesWithAffixesGrouped.txt 0000644 0000000 0000000 00000002764 07346545000 025405 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
([1]–[3])
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
},
{
"id": "ITEM-3"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"id": "ITEM-1",
"title": "Paper 1",
"type": "book"
},
{
"id": "ITEM-2",
"title": "Paper 2",
"type": "book"
},
{
"id": "ITEM-3",
"title": "Paper 3",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/collapse_CitationNumberRangesWithAffixesGroupedLocator.txt 0000644 0000000 0000000 00000003041 07346545000 026716 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
([1],[2, p. 23],[3])
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-2",
"label": "page",
"locator": 23
},
{
"id": "ITEM-3"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"id": "ITEM-1",
"title": "Paper 1",
"type": "book"
},
{
"id": "ITEM-2",
"title": "Paper 2"
},
{
"id": "ITEM-3",
"title": "Paper 3",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/collapse_CitationNumberRangesWithAffixesNoCollapse.txt 0000644 0000000 0000000 00000001705 07346545000 026031 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
([1],[2],[3])
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "Paper 1",
"type": "book"
},
{
"id": "ITEM-2",
"title": "Paper 2",
"type": "book"
},
{
"id": "ITEM-3",
"title": "Paper 3",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/collapse_NumericDuplicate.txt 0000644 0000000 0000000 00000002364 07346545000 021063 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
(1,2,2–4)
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
},
{
"id": "ITEM-2"
},
{
"id": "ITEM-3"
},
{
"id": "ITEM-4"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"id": "ITEM-1",
"title": "Book One",
"type": "book"
},
{
"id": "ITEM-2",
"title": "Book Two",
"type": "book"
},
{
"id": "ITEM-3",
"title": "Book Three",
"type": "book"
},
{
"id": "ITEM-4",
"title": "Book Four",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/collapse_NumericDuplicate2.txt 0000644 0000000 0000000 00000002461 07346545000 021143 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
(1–3,3–5)
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
},
{
"id": "ITEM-3"
},
{
"id": "ITEM-3"
},
{
"id": "ITEM-4"
},
{
"id": "ITEM-5"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"id": "ITEM-1",
"title": "Book One",
"type": "book"
},
{
"id": "ITEM-2",
"title": "Book Two",
"type": "book"
},
{
"id": "ITEM-3",
"title": "Book Three",
"type": "book"
},
{
"id": "ITEM-4",
"title": "Book Four",
"type": "book"
},
{
"id": "ITEM-5",
"title": "Book Five",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/collapse_TrailingDelimiter.txt 0000644 0000000 0000000 00000010434 07346545000 021233 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
(Condit et al. 2000, 1995, 1998; Connell 1971, Cortes & Hunziker 1971)
<<===== RESULT =====<<
>>===== CITATION-ITEMS =====>>
[
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
},
{
"id": "ITEM-4"
},
{
"id": "ITEM-3"
},
{
"id": "ITEM-5"
}
]
]
<<===== CITATION-ITEMS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Condit",
"given": "John"
},
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
},
{
"family": "Smith",
"given": "John"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "Book A",
"type": "book"
},
{
"author": [
{
"family": "Condit",
"given": "John"
},
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
},
{
"family": "Smith",
"given": "John"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
"1995"
]
]
},
"title": "Book B",
"type": "book"
},
{
"author": [
{
"family": "Condit",
"given": "John"
},
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
},
{
"family": "Smith",
"given": "John"
}
],
"id": "ITEM-3",
"issued": {
"date-parts": [
[
"1998"
]
]
},
"title": "Book C",
"type": "book"
},
{
"author": [
{
"family": "Connell",
"given": "John"
}
],
"id": "ITEM-4",
"issued": {
"date-parts": [
[
"1971"
]
]
},
"title": "Book D",
"type": "book"
},
{
"author": [
{
"family": "Cortes",
"given": "John"
},
{
"family": "Hunziker",
"given": "John"
}
],
"id": "ITEM-5",
"issued": {
"date-parts": [
[
"1971"
]
]
},
"title": "Book E",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/collapse_YearSuffixCollapse.txt 0000644 0000000 0000000 00000007251 07346545000 021376 0 ustar 00 0000000 0000000 # CSL test file: testYearSuffix001.txt
# Rintze Zelle circa 2009.04.10
>>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Smith 2000a–e, 2001
Smith 2000a,c–e, 2001
<<===== RESULT =====<<
>>===== CITATION-ITEMS =====>>
[
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
},
{
"id": "ITEM-3"
},
{
"id": "ITEM-4"
},
{
"id": "ITEM-5"
},
{
"id": "ITEM-6"
}
],
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-3"
},
{
"id": "ITEM-4"
},
{
"id": "ITEM-5"
},
{
"id": "ITEM-6"
}
]
]
<<===== CITATION-ITEMS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "Paper 1",
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "Paper 2",
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"id": "ITEM-3",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "Paper 3",
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"id": "ITEM-4",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "Paper 4",
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"id": "ITEM-5",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "Paper 5",
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"id": "ITEM-6",
"issued": {
"date-parts": [
[
"2001"
]
]
},
"title": "Paper 6",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/collapse_YearSuffixCollapseNoRange.txt 0000644 0000000 0000000 00000007136 07346545000 022652 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Smith 2000a,b,c,d,e, 2001
Smith 2000a,c,d,e, 2001
<<===== RESULT =====<<
>>===== CITATION-ITEMS =====>>
[
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
},
{
"id": "ITEM-3"
},
{
"id": "ITEM-4"
},
{
"id": "ITEM-5"
},
{
"id": "ITEM-6"
}
],
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-3"
},
{
"id": "ITEM-4"
},
{
"id": "ITEM-5"
},
{
"id": "ITEM-6"
}
]
]
<<===== CITATION-ITEMS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "Paper 1",
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "Paper 2",
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"id": "ITEM-3",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "Paper 3",
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"id": "ITEM-4",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "Paper 4",
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"id": "ITEM-5",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "Paper 5",
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"id": "ITEM-6",
"issued": {
"date-parts": [
[
"2001"
]
]
},
"title": "Paper 6",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/collapse_YearSuffixCollapseNoYearSuffixDelimiter.txt 0000644 0000000 0000000 00000007145 07346545000 025542 0 ustar 00 0000000 0000000 # Based on Rintze Zelle circa 2009.04.10
>>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Smith 2000a–e;2001
Smith 2000a;c–e;2001
<<===== RESULT =====<<
>>===== CITATION-ITEMS =====>>
[
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
},
{
"id": "ITEM-3"
},
{
"id": "ITEM-4"
},
{
"id": "ITEM-5"
},
{
"id": "ITEM-6"
}
],
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-3"
},
{
"id": "ITEM-4"
},
{
"id": "ITEM-5"
},
{
"id": "ITEM-6"
}
]
]
<<===== CITATION-ITEMS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "Paper 1",
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "Paper 2",
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"id": "ITEM-3",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "Paper 3",
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"id": "ITEM-4",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "Paper 4",
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"id": "ITEM-5",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "Paper 5",
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"id": "ITEM-6",
"issued": {
"date-parts": [
[
"2001"
]
]
},
"title": "Paper 6",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/collapse_YearSuffixImplicitCollapseNoYearSuffixDelimiter.txt 0000644 0000000 0000000 00000007077 07346545000 027241 0 ustar 00 0000000 0000000 # Based on Rintze Zelle circa 2009.04.10
>>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Smith 2000a–e;2001
Smith 2000a;c–e;2001
<<===== RESULT =====<<
>>===== CITATION-ITEMS =====>>
[
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
},
{
"id": "ITEM-3"
},
{
"id": "ITEM-4"
},
{
"id": "ITEM-5"
},
{
"id": "ITEM-6"
}
],
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-3"
},
{
"id": "ITEM-4"
},
{
"id": "ITEM-5"
},
{
"id": "ITEM-6"
}
]
]
<<===== CITATION-ITEMS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "Paper 1",
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "Paper 2",
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"id": "ITEM-3",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "Paper 3",
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"id": "ITEM-4",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "Paper 4",
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"id": "ITEM-5",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "Paper 5",
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"id": "ITEM-6",
"issued": {
"date-parts": [
[
"2001"
]
]
},
"title": "Paper 6",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/condition_EmptyDate.txt 0000644 0000000 0000000 00000002711 07346545000 017702 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
No date here
Have date, will travel
<<===== RESULT =====<<
>>===== CITATION-ITEMS =====>>
[
[
{
"id": "ITEM-1"
}
],
[
{
"id": "ITEM-2"
}
]
]
<<===== CITATION-ITEMS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"title": "Work 1",
"type": "book"
},
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
2000
]
]
},
"title": "Work 2",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/condition_EmptyIsNumericFalse.txt 0000644 0000000 0000000 00000001510 07346545000 021672 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
empty edition is not numeric
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "His Anonymous Life",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/condition_EmptyIsUncertainDateFalse.txt 0000644 0000000 0000000 00000001521 07346545000 023020 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
empty issued is not uncertain
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "His Anonymous Life",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/condition_EmptyShortTitleFalse.txt 0000644 0000000 0000000 00000001534 07346545000 022103 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Does not see title-short (correct)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "His Anonymous Life",
"type": "legal_case"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/condition_FirstNullAny.txt 0000644 0000000 0000000 00000001623 07346545000 020401 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Try: Okay Publishers
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"publisher": "Okay Publishers",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/condition_LocatorIsFalse.txt 0000644 0000000 0000000 00000002630 07346545000 020660 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Book One: (1) Locator true (2) Locator true; Book Two: (1) Locator false (2) Locator false
<<===== RESULT =====<<
>>===== CITATION-ITEMS =====>>
[
[
{
"id": "ITEM-1",
"locator": "1"
},
{
"id": "ITEM-2"
}
]
]
<<===== CITATION-ITEMS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "Book One",
"type": "book"
},
{
"id": "ITEM-2",
"title": "Book Two",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/condition_MatchAll.txt 0000644 0000000 0000000 00000002325 07346545000 017474 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Some Title or Other
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"accessed": {
"date-parts": [
[
"1965",
"6",
"1"
]
]
},
"id": "ITEM-1",
"title": "Some Title or Other",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/condition_NameAndTextVars.txt 0000644 0000000 0000000 00000004121 07346545000 021007 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
should be this!
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": 87
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"URL": "http://legal-dictionary.thefreedictionary.com/",
"accessed": {
"date-parts": [
[
"2012",
4,
15
]
]
},
"author": [
{
"family": "Harvey",
"given": "Slurp"
}
],
"id": 87,
"key": "178050_B4IMW86H",
"title": "Legal Dictionary",
"type": "webpage"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/condition_NumberIsNumeric.txt 0000644 0000000 0000000 00000001364 07346545000 021060 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
TRUE
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"edition": 5,
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/condition_NumeralIsNumeric.txt 0000644 0000000 0000000 00000001366 07346545000 021235 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
TRUE
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"edition": "5",
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/condition_NumeralWithTextIsNumeric.txt 0000644 0000000 0000000 00000001370 07346545000 022731 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
TRUE
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"edition": "5th",
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/condition_RefTypeBranching.txt 0000644 0000000 0000000 00000011475 07346545000 021207 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
Work 1 (John Doe), 2000.
John Doe, 2000. Work 2.
2000. Work 3, John Doe.
Work 4 (2000), John Doe.
Work 5, John Doe, 2000.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "Work 1",
"type": "book"
},
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "Work 2",
"type": "article"
},
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-3",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "Work 3",
"type": "report"
},
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-4",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "Work 4",
"type": "paper-conference"
},
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-5",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "Work 5",
"type": "chapter"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/condition_SingletonIfMatchNone.txt 0000644 0000000 0000000 00000002532 07346545000 022025 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
ed. by Γ. Π. Σαββίδης
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Άγρας",
"given": "Τέλλος"
}
],
"container-author": [
{
"family": "Καρυωτάκης",
"given": "Κώστας"
}
],
"editor": [
{
"family": "Σαββίδης",
"given": "Γ. Π."
}
],
"id": "ITEM-1",
"type": "chapter"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/condition_TextIsNotNumeric.txt 0000644 0000000 0000000 00000001377 07346545000 021241 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
FALSE
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"edition": "Fifth ed.",
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/condition_VariableAll.txt 0000644 0000000 0000000 00000001624 07346545000 020166 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
TRUE
FALSE
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"edition": "5",
"id": "ITEM-1",
"title": "My Book",
"type": "book"
},
{
"id": "ITEM-2",
"title": "His Book",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/condition_VariableAny.txt 0000644 0000000 0000000 00000001571 07346545000 020206 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
TRUE
FALSE
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "His Book",
"type": "book"
},
{
"id": "ITEM-2",
"type": "book",
"volume": "101"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/condition_VariableNone.txt 0000644 0000000 0000000 00000001541 07346545000 020353 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
TRUE
FALSE
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"type": "book"
},
{
"id": "ITEM-2",
"title": "His Book",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_Accessed.txt 0000644 0000000 0000000 00000001476 07346545000 016456 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
January 22, 1976
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"accessed": {
"date-parts": [
[
1976,
1,
22
]
]
},
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_AccessedCrash.txt 0000644 0000000 0000000 00000053560 07346545000 017440 0 ustar 00 0000000 0000000 >>==== MODE ====>>
bibliography
<<==== MODE ====<<
>>==== RESULT ====>>
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1994,
6,
1
]
]
},
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_DateAD.txt 0000644 0000000 0000000 00000001630 07346545000 016016 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
(499 AD)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
499
]
]
},
"title": "Ignore me",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_DateBC.txt 0000644 0000000 0000000 00000001631 07346545000 016017 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
(250 BC)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
-250
]
]
},
"title": "Ignore me",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_DateNoDateNoTest.txt 0000644 0000000 0000000 00000001477 07346545000 020052 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
[CSL STYLE ERROR: reference with no printed form.]
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "Ignore me",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_DateNoDateWithTest.txt 0000644 0000000 0000000 00000002005 07346545000 020375 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Title Thing (n.d.)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "Title Thing",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_DayOrdinalDayOneOnly.txt 0000644 0000000 0000000 00000002762 07346545000 020733 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Day One (1st June 1965); Day Two (2 June 1965)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"1965",
"6",
"1"
]
]
},
"title": "Day One",
"type": "book"
},
{
"id": "ITEM-2",
"issued": {
"date-parts": [
[
"1965",
"6",
"2"
]
]
},
"title": "Day Two",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_DisappearingBug.txt 0000644 0000000 0000000 00000055665 07346545000 020021 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
(Larry, 2017)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Larry",
"given": "Happy"
}
],
"id": "id",
"issued": {
"date-parts": [
[
2017,
1,
1
]
]
},
"label": "id",
"title": "A Lovely Title",
"type": "article-journal"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_EmptyStrings.txt 0000644 0000000 0000000 00000001515 07346545000 017406 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
2000
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"2000",
"",
""
]
]
},
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_IgnoreNonexistentSort.txt 0000644 0000000 0000000 00000002571 07346545000 021273 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Item 4; Item 2; Item 1; Item 3
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "Item 1",
"type": "book"
},
{
"id": "ITEM-2",
"issued": {
"date-parts": [
[
"1999",
"2",
"15"
]
]
},
"title": "Item 2",
"type": "book"
},
{
"id": "ITEM-3",
"title": "Item 3",
"type": "book"
},
{
"id": "ITEM-4",
"issued": {
"date-parts": [
[
"2000",
"2",
"15"
]
]
},
"title": "Item 4",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_InPress.txt 0000644 0000000 0000000 00000001745 07346545000 016326 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
(John Doe (in press))
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [],
"literal": "(in press)"
},
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_January.txt 0000644 0000000 0000000 00000001500 07346545000 016341 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
January 30, 1965
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"1965",
"1",
"30"
]
]
},
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_KeyVariable.txt 0000644 0000000 0000000 00000003531 07346545000 017134 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
Book A
Book B
Book C
Book D
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"2000",
"2",
"15"
]
]
},
"title": "Book C",
"type": "book"
},
{
"id": "ITEM-2",
"issued": {
"date-parts": [
[
"2000",
"12",
"15"
]
]
},
"title": "Book B",
"type": "book"
},
{
"id": "ITEM-3",
"issued": {
"date-parts": [
[
"2001"
]
]
},
"title": "Book A",
"type": "book"
},
{
"id": "ITEM-4",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "Book D",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_LiteralFailGracefullyIfNoValue.txt 0000644 0000000 0000000 00000001557 07346545000 022723 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Only Me
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": []
},
"title": "Ignore me",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_LocalizedDateFormats-af-ZA.txt 0000644 0000000 0000000 00000003216 07346545000 021672 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
10 April 1998
April 1998
1998
1998/04/10
1998/04
1998
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1998,
4,
10
]
]
},
"title": "BookA"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_LocalizedDateFormats-ar-AR.txt 0000644 0000000 0000000 00000003107 07346545000 021675 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
10 April, 1998
April, 1998
1998
10/4/1998
4/1998
1998
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1998,
4,
10
]
]
},
"title": "BookA"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_LocalizedDateFormats-bg-BG.txt 0000644 0000000 0000000 00000003216 07346545000 021652 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
10 April 1998
April 1998
1998
10.04.1998
04.1998
1998
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1998,
4,
10
]
]
},
"title": "BookA"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_LocalizedDateFormats-ca-AD.txt 0000644 0000000 0000000 00000003200 07346545000 021632 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
10 de April de 1998
April de 1998
1998
10/04/1998
04/1998
1998
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1998,
4,
10
]
]
},
"title": "BookA"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_LocalizedDateFormats-cs-CZ.txt 0000644 0000000 0000000 00000003233 07346545000 021712 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
10. April 1998
April 1998
1998
1998-04-10
1998-04
1998
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1998,
4,
10
]
]
},
"title": "BookA"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_LocalizedDateFormats-da-DK.txt 0000644 0000000 0000000 00000003233 07346545000 021653 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
10. April 1998
April 1998
1998
10-04-1998
04-1998
1998
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1998,
4,
10
]
]
},
"title": "BookA"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_LocalizedDateFormats-de-AT.txt 0000644 0000000 0000000 00000003161 07346545000 021665 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
10 April 1998
April 1998
1998
10/04/1998
04/1998
1998
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1998,
4,
10
]
]
},
"title": "BookA"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_LocalizedDateFormats-de-CH.txt 0000644 0000000 0000000 00000003163 07346545000 021655 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
10. April 1998
April 1998
1998
10.04.1998
04.1998
1998
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1998,
4,
10
]
]
},
"title": "BookA"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_LocalizedDateFormats-de-DE.txt 0000644 0000000 0000000 00000003163 07346545000 021653 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
10. April 1998
April 1998
1998
10.04.1998
04.1998
1998
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1998,
4,
10
]
]
},
"title": "BookA"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_LocalizedDateFormats-el-GR.txt 0000644 0000000 0000000 00000003161 07346545000 021701 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
10 April 1998
April 1998
1998
10/04/1998
04/1998
1998
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1998,
4,
10
]
]
},
"title": "BookA"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_LocalizedDateFormats-en-US.txt 0000644 0000000 0000000 00000003220 07346545000 021716 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
April 10, 1998
April 1998
1998
04/10/1998
04/1998
1998
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1998,
4,
10
]
]
},
"title": "BookA"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_LocalizedDateFormats-es-ES.txt 0000644 0000000 0000000 00000003200 07346545000 021701 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
10 de April de 1998
April de 1998
1998
10/04/1998
04/1998
1998
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1998,
4,
10
]
]
},
"title": "BookA"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_LocalizedDateFormats-et-EE.txt 0000644 0000000 0000000 00000003163 07346545000 021674 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
10. April 1998
April 1998
1998
10.04.1998
04.1998
1998
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1998,
4,
10
]
]
},
"title": "BookA"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_LocalizedDateFormats-fr-FR.txt 0000644 0000000 0000000 00000003161 07346545000 021707 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
10 April 1998
April 1998
1998
10/04/1998
04/1998
1998
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1998,
4,
10
]
]
},
"title": "BookA"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_LocalizedDateFormats-he-IL.txt 0000644 0000000 0000000 00000003161 07346545000 021671 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
10 April 1998
April 1998
1998
10/04/1998
04/1998
1998
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1998,
4,
10
]
]
},
"title": "BookA"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_LocalizedDateFormats-hu-HU.txt 0000644 0000000 0000000 00000003200 07346545000 021713 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
1998. April 10.
1998. April
1998
1998.04.10
1998.04
1998
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1998,
4,
10
]
]
},
"title": "BookA"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_LocalizedDateFormats-is-IS.txt 0000644 0000000 0000000 00000003163 07346545000 021721 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
10. April 1998
April 1998
1998
10.04.1998
04.1998
1998
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1998,
4,
10
]
]
},
"title": "BookA"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_LocalizedDateFormats-it-IT.txt 0000644 0000000 0000000 00000003161 07346545000 021721 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
10 April 1998
April 1998
1998
10/04/1998
04/1998
1998
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1998,
4,
10
]
]
},
"title": "BookA"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_LocalizedDateFormats-ja-JP.txt 0000644 0000000 0000000 00000003254 07346545000 021677 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
1998年4月10日
1998年4月
1998年
1998年4月10日
1998年4月
1998年
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1998,
4,
10
]
]
},
"title": "BookA"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_LocalizedDateFormats-kh-KH.txt 0000644 0000000 0000000 00000002442 07346545000 021676 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
10មេសា1998
មេសា1998
1998
10/04/1998
04/1998
1998
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1998,
4,
10
]
]
},
"title": "BookA"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_LocalizedDateFormats-ko-KR.txt 0000644 0000000 0000000 00000003303 07346545000 021714 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
1998년 4월 10일
1998년 4월
1998년
1998/04/10
1998/04
1998
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1998,
4,
10
]
]
},
"title": "BookA"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_LocalizedDateFormats-mn-MN.txt 0000644 0000000 0000000 00000003164 07346545000 021720 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
10 April 1998
April 1998
1998
1998.04.10
1998.04
1998
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1998,
4,
10
]
]
},
"title": "BookA"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_LocalizedDateFormats-nb-NO.txt 0000644 0000000 0000000 00000003236 07346545000 021707 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
10. April 1998
April 1998
1998
1998-04-10
1998-04
1998
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1998,
4,
10
]
]
},
"title": "BookA"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_LocalizedDateFormats-nl-NL.txt 0000644 0000000 0000000 00000003157 07346545000 021720 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
10 April 1998
April 1998
1998
10-4-1998
4-1998
1998
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1998,
4,
10
]
]
},
"title": "BookA"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_LocalizedDateFormats-pl-PL.txt 0000644 0000000 0000000 00000003164 07346545000 021722 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
10 April 1998
April 1998
1998
10.04.1998
04.1998
1998
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1998,
4,
10
]
]
},
"title": "BookA"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_LocalizedDateFormats-pt-BR.txt 0000644 0000000 0000000 00000003203 07346545000 021714 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
10 de April de 1998
April de 1998
1998
10/04/1998
04/1998
1998
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1998,
4,
10
]
]
},
"title": "BookA"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_LocalizedDateFormats-pt-PT.txt 0000644 0000000 0000000 00000003203 07346545000 021734 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
10 de April de 1998
April de 1998
1998
10/04/1998
04/1998
1998
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1998,
4,
10
]
]
},
"title": "BookA"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_LocalizedDateFormats-ro-RO.txt 0000644 0000000 0000000 00000003110 07346545000 021723 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
10 April 1998
April 1998
1998
10.4.1998
4.1998
1998
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1998,
4,
10
]
]
},
"title": "BookA"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_LocalizedDateFormats-ru-RU.txt 0000644 0000000 0000000 00000003223 07346545000 021744 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
10 April 1998 г.
April 1998 г.
1998 г.
10.04.1998
04.1998
1998
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1998,
4,
10
]
]
},
"title": "BookA"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_LocalizedDateFormats-sk-SK.txt 0000644 0000000 0000000 00000003146 07346545000 021726 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
10. April 1998
April 1998
1998
10.4.1998
4.1998
1998
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1998,
4,
10
]
]
},
"title": "BookA"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_LocalizedDateFormats-sl-SL.txt 0000644 0000000 0000000 00000003311 07346545000 021722 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
10. April 1998.
April 1998.
1998.
1998-04-10
1998-04
1998
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1998,
4,
10
]
]
},
"title": "BookA"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_LocalizedDateFormats-sr-RS.txt 0000644 0000000 0000000 00000003311 07346545000 021736 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
10. April 1998.
April 1998.
1998.
1998-04-10
1998-04
1998
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1998,
4,
10
]
]
},
"title": "BookA"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_LocalizedDateFormats-sv-SE.txt 0000644 0000000 0000000 00000003271 07346545000 021732 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
10 April 1998
April 1998
1998
1998-04-10
1998-04
1998
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1998,
4,
10
]
]
},
"title": "BookA"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_LocalizedDateFormats-th-TH.txt 0000644 0000000 0000000 00000003164 07346545000 021722 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
10 April 1998
April 1998
1998
10/04/1998
04/1998
1998
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1998,
4,
10
]
]
},
"title": "BookA"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_LocalizedDateFormats-tr-TR.txt 0000644 0000000 0000000 00000003221 07346545000 021740 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
10 April 1998
April 1998
1998
10/04/1998
04/1998
1998
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1998,
4,
10
]
]
},
"title": "BookA"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_LocalizedDateFormats-uk-UA.txt 0000644 0000000 0000000 00000003223 07346545000 021714 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
10, April 1998
April 1998
1998
10/04/1998
04/1998
1998
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1998,
4,
10
]
]
},
"title": "BookA"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_LocalizedDateFormats-vi-VN.txt 0000644 0000000 0000000 00000003164 07346545000 021735 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
10 April 1998
April 1998
1998
10/04/1998
04/1998
1998
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1998,
4,
10
]
]
},
"title": "BookA"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_LocalizedDateFormats-zh-CN.txt 0000644 0000000 0000000 00000003245 07346545000 021715 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
1998年4月10日
1998年4月
1998年
1998-4-10
1998-4
1998
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1998,
4,
10
]
]
},
"title": "BookA"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_LocalizedDateFormats-zh-TW.txt 0000644 0000000 0000000 00000003252 07346545000 021745 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
1998年4月10日
1998年4月
1998年
1998/04/10
1998/04
1998
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1998,
4,
10
]
]
},
"title": "BookA"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_LocalizedNumericDefault.txt 0000644 0000000 0000000 00000001474 07346545000 021500 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
12/15/2005
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
2005,
12,
15
]
]
},
"title": "Ignore me",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_LocalizedNumericDefaultMissingDay.txt 0000644 0000000 0000000 00000001441 07346545000 023462 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
12/2005
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
2005,
12
]
]
},
"title": "Ignore me",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_LocalizedNumericDefaultWithAffixes.txt 0000644 0000000 0000000 00000001524 07346545000 023636 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
(12/15/2005)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
2005,
12,
15
]
]
},
"title": "Ignore me",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_LocalizedNumericYear.txt 0000644 0000000 0000000 00000001510 07346545000 021003 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
2005
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
2005,
12,
15
]
]
},
"title": "Ignore me",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_LocalizedNumericYearMonth.txt 0000644 0000000 0000000 00000001521 07346545000 022013 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
12/2005
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
2005,
12,
15
]
]
},
"title": "Ignore me",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_LocalizedNumericYearRange.txt 0000644 0000000 0000000 00000001653 07346545000 021770 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
11/2005–12/2006
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
2005,
11,
15
],
[
2006,
12,
20
]
]
},
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_LocalizedNumericYearWithAffixes.txt 0000644 0000000 0000000 00000001524 07346545000 023152 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
(12/15/2005)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
2005,
12,
15
]
]
},
"title": "Ignore me",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_LocalizedTextDefault.txt 0000644 0000000 0000000 00000001500 07346545000 021010 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
December 15, 2005
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
2005,
12,
15
]
]
},
"title": "Ignore me",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_LocalizedTextDefaultMissingDay.txt 0000644 0000000 0000000 00000001444 07346545000 023007 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
December 2005
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
2005,
12
]
]
},
"title": "Ignore me",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_LocalizedTextDefaultWithAffixes.txt 0000644 0000000 0000000 00000001530 07346545000 023155 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
(December 15, 2005)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
2005,
12,
15
]
]
},
"title": "Ignore me",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_LocalizedTextInStyleLocaleWithTextCase.txt 0000644 0000000 0000000 00000002117 07346545000 024435 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
DEC. 2005
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
2005,
12,
15
]
]
},
"title": "Ignore me",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_LocalizedTextMonthFormOverride.txt 0000644 0000000 0000000 00000001614 07346545000 023043 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Dec. 2005
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
2005,
12,
15
]
]
},
"title": "Ignore me",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_LocalizedTextYear.txt 0000644 0000000 0000000 00000001505 07346545000 020331 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
2005
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
2005,
12,
15
]
]
},
"title": "Ignore me",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_LocalizedTextYearMonth.txt 0000644 0000000 0000000 00000001524 07346545000 021340 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
December 2005
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
2005,
12,
15
]
]
},
"title": "Ignore me",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_LocalizedTextYearWithAffixes.txt 0000644 0000000 0000000 00000001535 07346545000 022476 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
(2005)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
2005,
12,
15
]
]
},
"title": "Ignore me",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_LocalizedWithInStyleFormatting.txt 0000644 0000000 0000000 00000001611 07346545000 023040 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
December 15, 2005
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
2005,
12,
15
]
]
},
"title": "Ignore me",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_LongMonth.txt 0000644 0000000 0000000 00000001741 07346545000 016644 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
(December 15, 2005)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
2005,
12,
15
]
]
},
"title": "Ignore me",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_LopsidedDataYearSuffixCollapse.txt 0000644 0000000 0000000 00000003143 07346545000 022763 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
(Smith 1982a,b)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1982,
6
]
]
},
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
1982,
10,
1
]
]
},
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_MaskNonexistentWithCondition.txt 0000644 0000000 0000000 00000001616 07346545000 022575 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Hello
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "Ignore me",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_NegativeDateSort.txt 0000644 0000000 0000000 00000004054 07346545000 020147 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
Sort position of empty dates differs in citations and bibliographies.
In citations, empty dates have a value equivalent to zero. In
bibliographies, they are always placed at the end of the sort
(whether ascending or descending).
>>===== RESULT =====>>
100BC-7-13, 44BC-3-15, 54AD-10-13, 68AD-6-11
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
-100,
7,
13
]
]
},
"title": "BookA",
"type": "book"
},
{
"id": "ITEM-2",
"issued": {
"date-parts": [
[
54,
10,
13
]
]
},
"title": "BookB",
"type": "book"
},
{
"id": "ITEM-3",
"issued": {
"date-parts": [
[
-44,
3,
15
]
]
},
"title": "BookC",
"type": "book"
},
{
"id": "ITEM-4",
"issued": {
"date-parts": [
[
68,
6,
11
]
]
},
"title": "BookD",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_NegativeDateSortViaMacro.txt 0000644 0000000 0000000 00000004151 07346545000 021567 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
Sort position of empty dates differs in citations and bibliographies.
In citations, empty dates have a value equivalent to zero. In
bibliographies, they are always placed at the end of the sort
(whether ascending or descending).
>>===== RESULT =====>>
100BC-7-13, 44BC-3-15, 54AD-10-13, 68AD-6-11
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
-100,
7,
13
]
]
},
"title": "BookA",
"type": "book"
},
{
"id": "ITEM-2",
"issued": {
"date-parts": [
[
54,
10,
13
]
]
},
"title": "BookB",
"type": "book"
},
{
"id": "ITEM-3",
"issued": {
"date-parts": [
[
-44,
3,
15
]
]
},
"title": "BookC",
"type": "book"
},
{
"id": "ITEM-4",
"issued": {
"date-parts": [
[
68,
6,
11
]
]
},
"title": "BookD",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_NegativeDateSortViaMacroOnYearMonthOnly.txt 0000644 0000000 0000000 00000004705 07346545000 024562 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
Sort position of empty dates differs in citations and bibliographies.
In citations, empty dates have a value equivalent to zero. In
bibliographies, they are always placed at the end of the sort
(whether ascending or descending).
>>===== RESULT =====>>
BookX (100BC-7-14), BookY (100BC-7-13), BookA (68AD-3-16), BookB (68AD-3-15)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
-100,
7,
13
]
]
},
"title": "BookY",
"type": "book"
},
{
"id": "ITEM-2",
"issued": {
"date-parts": [
[
-100,
7,
14
]
]
},
"title": "BookX",
"type": "book"
},
{
"id": "ITEM-3",
"issued": {
"date-parts": [
[
68,
3,
15
]
]
},
"title": "BookB",
"type": "book"
},
{
"id": "ITEM-4",
"issued": {
"date-parts": [
[
68,
3,
16
]
]
},
"title": "BookA",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_NoDate.txt 0000644 0000000 0000000 00000002022 07346545000 016102 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Some Book or Other (no date)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "Some Book or Other",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_NonexistentSortReverseBibliography.txt 0000644 0000000 0000000 00000003401 07346545000 024010 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
Note that in citation sorts, an empty date is treated as zero,
while in a bibliography sort, empty-date items come at the end,
in both ascending and descending sorts.
>>===== RESULT =====>>
Item 2
Item 4
Item 1
Item 3
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "Item 1",
"type": "book"
},
{
"id": "ITEM-2",
"issued": {
"date-parts": [
[
"1999",
"2",
"15"
]
]
},
"title": "Item 2",
"type": "book"
},
{
"id": "ITEM-3",
"title": "Item 3",
"type": "book"
},
{
"id": "ITEM-4",
"issued": {
"date-parts": [
[
"2000",
"2",
"15"
]
]
},
"title": "Item 4",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_NonexistentSortReverseCitation.txt 0000644 0000000 0000000 00000003035 07346545000 023152 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
Note that in citation sorts, an empty date is treated as zero,
while in a bibliography sort, empty-date items come at the end,
in both ascending and descending sorts.
>>===== RESULT =====>>
Item 2; Item 4; Item 1; Item 3
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "Item 1",
"type": "book"
},
{
"id": "ITEM-2",
"issued": {
"date-parts": [
[
"1999",
"2",
"15"
]
]
},
"title": "Item 2",
"type": "book"
},
{
"id": "ITEM-3",
"title": "Item 3",
"type": "book"
},
{
"id": "ITEM-4",
"issued": {
"date-parts": [
[
"2000",
"2",
"15"
]
]
},
"title": "Item 4",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_OtherAlone.txt 0000644 0000000 0000000 00000001640 07346545000 016775 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
(maybe around 2000bc sometime?)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [],
"literal": "maybe around 2000bc sometime?"
},
"title": "Ignore me",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_OtherWithDate.txt 0000644 0000000 0000000 00000001703 07346545000 017450 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
(Autumn 2000)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
2000
]
],
"season": 3
},
"title": "Ignore me",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_RangeDelimiter.txt 0000644 0000000 0000000 00000011343 07346545000 017631 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
Year, Month, Day, with repeated month and year: 2_[DRD]_4 January 1999
Year, Month, Day, with differing month: 2 January_[MRD]_4 March 1999
Year, Month, Day, with differing year: 2 January 1999_[YRD]_4 January 2000
Year, Month, with repeated year: January_[MRD]_March 1999
Year, Month, with differing year: January 1999_[YRD]_March 2000
Year, with differing year: 1999_[YRD]_2000
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1999,
1,
2
],
[
1999,
1,
4
]
]
},
"title": "Year, Month, Day, with repeated month and year",
"type": "book"
},
{
"id": "ITEM-2",
"issued": {
"date-parts": [
[
1999,
1,
2
],
[
1999,
3,
4
]
]
},
"title": "Year, Month, Day, with differing month",
"type": "book"
},
{
"id": "ITEM-3",
"issued": {
"date-parts": [
[
1999,
1,
2
],
[
2000,
1,
4
]
]
},
"title": "Year, Month, Day, with differing year",
"type": "book"
},
{
"id": "ITEM-4",
"issued": {
"date-parts": [
[
1999,
1,
2
],
[
1999,
3,
4
]
]
},
"title": "Year, Month, with repeated year",
"type": "article-journal"
},
{
"id": "ITEM-5",
"issued": {
"date-parts": [
[
1999,
1,
2
],
[
2000,
3,
4
]
]
},
"title": "Year, Month, with differing year",
"type": "article-journal"
},
{
"id": "ITEM-6",
"issued": {
"date-parts": [
[
1999,
1,
2
],
[
2000,
3,
4
]
]
},
"title": "Year, with differing year",
"type": "chapter"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_SeasonRange1.txt 0000644 0000000 0000000 00000001667 07346545000 017234 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Spring 1999–Summer 2001
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"1999",
"21"
],
[
"2001",
"22"
]
],
"raw": "Spring 1999 - Summer 2001"
},
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_SeasonRange2.txt 0000644 0000000 0000000 00000001632 07346545000 017225 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
Down Under season range.
>>===== RESULT =====>>
Summer–Spring 1999
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"1999",
"22"
],
[
"1999",
"21"
]
]
},
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_SeasonRange3.txt 0000644 0000000 0000000 00000001632 07346545000 017226 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
Down Under season range.
>>===== RESULT =====>>
Spring–Summer 1999
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"1999",
"21"
],
[
"1999",
"22"
]
]
},
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_SeasonSubstituteInGroup.txt 0000644 0000000 0000000 00000002476 07346545000 021575 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
Grouping ordinarily causes bare terms to be suppressed if
at least one attempt is made to render a variable in an
enclosing group, and all such attempts fail. Seasons are
rendered as terms output instead of the month. Where only
the month is requested, it will fail (triggering the season
term write operation). This test confirms that in this
special case, the term is treated as if it were a successful
rendering of a variable.
>>===== RESULT =====>>
(Autumn)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
2000
]
],
"season": 3
},
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_SortEmptyDatesBibliography.txt 0000644 0000000 0000000 00000003710 07346545000 022220 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== DESCRIPTION =====>>
Citation and bibliography items should both sort empty dates last. See discussion
https://github.com/citation-style-language/test-suite/issues/70
<<===== DESCRIPTION =====<<
>>===== RESULT =====>>
BookD 1999.
BookB 2000.
BookA.
BookC.
BookE.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "BookA",
"type": "book"
},
{
"id": "ITEM-2",
"issued": {
"date-parts": [
[
2000
]
]
},
"title": "BookB",
"type": "book"
},
{
"id": "ITEM-3",
"title": "BookC",
"type": "book"
},
{
"id": "ITEM-4",
"issued": {
"date-parts": [
[
1999
]
]
},
"title": "BookD",
"type": "book"
},
{
"id": "ITEM-5",
"title": "BookE",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_SortEmptyDatesCitation.txt 0000644 0000000 0000000 00000003274 07346545000 021364 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== DESCRIPTION =====>>
Citation and bibliography items should both sort empty dates last. See discussion
https://github.com/citation-style-language/test-suite/issues/70
<<===== DESCRIPTION =====<<
>>===== RESULT =====>>
BookD 1999; BookB 2000; BookA; BookC; BookE.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "BookA",
"type": "book"
},
{
"id": "ITEM-2",
"issued": {
"date-parts": [
[
2000
]
]
},
"title": "BookB",
"type": "book"
},
{
"id": "ITEM-3",
"title": "BookC",
"type": "book"
},
{
"id": "ITEM-4",
"issued": {
"date-parts": [
[
1999
]
]
},
"title": "BookD",
"type": "book"
},
{
"id": "ITEM-5",
"title": "BookE",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_String.txt 0000644 0000000 0000000 00000001476 07346545000 016212 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
date: Bogus Date
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [],
"raw": "Bogus Date"
},
"title": "Book A",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_TextFormFulldateDayRange.txt 0000644 0000000 0000000 00000002115 07346545000 021577 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
(10–23 August 2003)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
2003,
8,
10
],
[
2003,
8,
23
]
]
},
"title": "Ignore me",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_TextFormFulldateMonthRange.txt 0000644 0000000 0000000 00000002124 07346545000 022147 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
(3 August–23 October 2003)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
2003,
8,
3
],
[
2003,
10,
23
]
]
},
"title": "Ignore me",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_TextFormFulldateYearRange.txt 0000644 0000000 0000000 00000002131 07346545000 021760 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
(3 August 1987–23 October 2003)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1987,
8,
3
],
[
2003,
10,
23
]
]
},
"title": "Ignore me",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_TextFormMonthdateMonthRange.txt 0000644 0000000 0000000 00000002040 07346545000 022327 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
(August–October 2003)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
2003,
8
],
[
2003,
10
]
]
},
"title": "Ignore me",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_TextFormMonthdateYearRange.txt 0000644 0000000 0000000 00000002045 07346545000 022147 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
(August 1987–October 2003)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1987,
8
],
[
2003,
10
]
]
},
"title": "Ignore me",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_TextFormYeardateYearRange.txt 0000644 0000000 0000000 00000001747 07346545000 021772 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
(1987–2003)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1987
],
[
2003
]
]
},
"title": "Ignore me",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_TextFormYeardateYearRangeOpen.txt 0000644 0000000 0000000 00000001740 07346545000 022605 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
(1987–)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1987
],
[
0
]
]
},
"title": "Ignore me",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_Uncertain.txt 0000644 0000000 0000000 00000002531 07346545000 016665 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
circa 15 December 2005; 20 December 2005
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"circa": 1,
"date-parts": [
[
2005,
12,
15
]
]
},
"type": "book"
},
{
"id": "ITEM-2",
"issued": {
"date-parts": [
[
2005,
12,
20
]
]
},
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_VariousInvalidDates.txt 0000644 0000000 0000000 00000003635 07346545000 020663 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Date: (); Date: (Spring); Date: (Spring); Date: (); Date: (Winter)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1965,
-1,
1
]
]
},
"type": "book"
},
{
"id": "ITEM-2",
"issued": {
"date-parts": [
[
1965,
13,
1
]
]
},
"type": "book"
},
{
"id": "ITEM-3",
"issued": {
"date-parts": [
[
1965,
17,
1
]
]
},
"type": "book"
},
{
"id": "ITEM-4",
"issued": {
"date-parts": [
[
1965,
60,
1
]
]
},
"type": "book"
},
{
"id": "ITEM-5",
"issued": {
"date-parts": [
[
1965,
24,
0
]
]
},
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_YearSuffixDelimiter.txt 0000644 0000000 0000000 00000003660 07346545000 020665 0 ustar 00 0000000 0000000 # date_YearSuffixDelimiter.txt
>>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Doe 2000a,b;2001
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "Paper 1",
"type": "book"
},
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "Paper 2",
"type": "book"
},
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-3",
"issued": {
"date-parts": [
[
"2001"
]
]
},
"title": "Paper 3",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_YearSuffixImplicitWithNoDate.txt 0000644 0000000 0000000 00000003761 07346545000 022452 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
(John Doe n.d.-a [Accessed: June 1, 1965]; John Doe n.d.-b [Accessed: June 1, 2065])
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"accessed": {
"date-parts": [
[
"1965",
"6",
"1"
]
]
},
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"type": "book"
},
{
"accessed": {
"date-parts": [
[
"2065",
"6",
"1"
]
]
},
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-2",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_YearSuffixImplicitWithNoDateOneOnly.txt 0000644 0000000 0000000 00000003223 07346545000 023747 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
(John Doe n.d. [Accessed: June 1, 1965])
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"accessed": {
"date-parts": [
[
"1965",
"6",
"1"
]
]
},
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/date_YearSuffixWithNoDate.txt 0000644 0000000 0000000 00000003761 07346545000 020757 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
(John Doe n.d.-a [Accessed: June 1, 1965]; John Doe n.d.-b [Accessed: June 1, 2065])
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"accessed": {
"date-parts": [
[
"1965",
"6",
"1"
]
]
},
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"type": "book"
},
{
"accessed": {
"date-parts": [
[
"2065",
"6",
"1"
]
]
},
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-2",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/decorations_AndTermUnaffectedByNameDecorations.txt 0000644 0000000 0000000 00000002461 07346545000 025142 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
John Doe III and Jane van Roe
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John",
"suffix": "III"
},
{
"family": "Roe",
"given": "Jane",
"non-dropping-particle": "van"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/decorations_Baseline.txt 0000644 0000000 0000000 00000002643 07346545000 020060 0 ustar 00 0000000 0000000 >>== MODE ==>>
bibliography
<<== MODE ==<<
>>== RESULT ==>>
Little, Stuart, My Short Narrative (1990)
<<== RESULT ==<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Little",
"given": "Stuart"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"1990"
]
]
},
"title": "My Short Narrative",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/decorations_NestedQuotes.txt 0000644 0000000 0000000 00000001212 07346545000 020750 0 ustar 00 0000000 0000000 >>== MODE ==>>
citation
<<== MODE ==<<
>>== RESULT ==>>
“My ‘Amazing’ Title”
<<== RESULT ==<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "item-1",
"title": "My “Amazing” Title",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/decorations_NestedQuotesInnerReverse.txt 0000644 0000000 0000000 00000001267 07346545000 023312 0 ustar 00 0000000 0000000 >>== MODE ==>>
citation
<<== MODE ==<<
>>== RESULT ==>>
“My ‘“Amazing” and Bogus’ Title”
<<== RESULT ==<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "item-1",
"title": "My “‘Amazing’ and Bogus” Title",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/decorations_NoNormalWithoutDecoration.txt 0000644 0000000 0000000 00000001722 07346545000 023454 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
His Anonymous Life
His Anonymous Life
His Anonymous Life
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "His Anonymous Life",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/decorations_SimpleFlipFlop.txt 0000644 0000000 0000000 00000001264 07346545000 021221 0 ustar 00 0000000 0000000 >>== MODE ==>>
citation
<<== MODE ==<<
>>== RESULT ==>>
My Amazing Title
<<== RESULT ==<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "item-1",
"title": "My Amazing Title",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/decorations_SimpleQuotes.txt 0000644 0000000 0000000 00000001157 07346545000 020767 0 ustar 00 0000000 0000000 >>== MODE ==>>
citation
<<== MODE ==<<
>>== RESULT ==>>
“My title”
<<== RESULT ==<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "item-1",
"title": "Ignore me",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/disambiguate_AddNamesFailure.txt 0000644 0000000 0000000 00000003647 07346545000 021453 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Smith et al. (1980); Smith et al. (1980)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Smith",
"given": "John"
},
{
"family": "Brown",
"given": "John"
},
{
"family": "Jones",
"given": "John"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1980
]
]
},
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "John"
},
{
"family": "Brown",
"given": "John"
},
{
"family": "Jones",
"given": "John"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
1980
]
]
},
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/disambiguate_AddNamesFailureWithAddGivenname.txt 0000644 0000000 0000000 00000003722 07346545000 024544 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Smith et al. (1980); Smith et al. (1980)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Smith",
"given": "John"
},
{
"family": "Brown",
"given": "John"
},
{
"family": "Jones",
"given": "John"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1980
]
]
},
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "John"
},
{
"family": "Brown",
"given": "John"
},
{
"family": "Jones",
"given": "John"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
1980
]
]
},
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/disambiguate_AddNamesSuccess.txt 0000644 0000000 0000000 00000003702 07346545000 021464 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Smith, Brown, et al. (1980); Smith, Beefheart, et al. (1980)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Smith",
"given": "John"
},
{
"family": "Brown",
"given": "John"
},
{
"family": "Jones",
"given": "John"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1980
]
]
},
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "John"
},
{
"family": "Beefheart",
"given": "Captain"
},
{
"family": "Jones",
"given": "John"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
1980
]
]
},
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/disambiguate_AllNamesBaseNameCountOnFailureIfYearSuffixAvailable.txt 0000644 0000000 0000000 00000011376 07346545000 030461 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
Under the logic described in the CSL specification, this test passes
before all names have been added at the disambiguate-add-names stage.
We have works authored by the following persons:
Book A (2000) authors
Devon Dropsy
Edward Enteritis
Xavier Fever
Book B (2000) authors
Devon Dropsy
Ernie Enteritis
Yves Fever
We're using the following options:
et-al-min="3"
et-al-use-first="1"
disambiguate-add-names="true"
disambiguate-add-givenname="true"
disambiguate-add-year-suffix="true"
givenname-disambiguation-rule="all-names"
With "all-names" disambiguation, the base form of the names, _before_
the cites are run through disambiguation, will be:
Book A (2000) authors
Dropsy
Edward Enteritis
X. Fever
Book B (2000) authors
Dropsy
Ernie Enteritis
Y. Fever
This is because, under all-names disambiguation, the _names_ must
first be distinguished, throughout the document.
We have an et-al-use-first value of 1, so we start with one name:
Book A (2000) authors
Dropsy
Book B (2000) authors
Dropsy
For disambiguate-add-names, we'll add names until the cites clear, if
at all. So we add one name, producing:
Book A (2000) authors
Dropsy
Edward Enteritis
Book B (2000) authors
Dropsy
Ernie Enteritis
... and the cites clear.
>>===== RESULT =====>>
Asthma et al. (1990a); Asthma et al. (1990b); Dropsy, Edward Enteritis, et al. (2000); Dropsy, Ernie Enteritis, et al. (2000)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Asthma",
"given": "Albert"
},
{
"family": "Bronchitis",
"given": "Bosworth"
},
{
"family": "Cold",
"given": "Crispin"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"1990"
]
]
},
"title": "Book A",
"type": "book"
},
{
"author": [
{
"family": "Asthma",
"given": "Albert"
},
{
"family": "Bronchitis",
"given": "Bosworth"
},
{
"family": "Cold",
"given": "Crispin"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
"1990"
]
]
},
"title": "Book B",
"type": "book"
},
{
"author": [
{
"family": "Dropsy",
"given": "Devon"
},
{
"family": "Enteritis",
"given": "Edward"
},
{
"family": "Fever",
"given": "Xavier"
}
],
"id": "ITEM-3",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "Book C",
"type": "book"
},
{
"author": [
{
"family": "Dropsy",
"given": "Devon"
},
{
"family": "Enteritis",
"given": "Ernie"
},
{
"family": "Fever",
"given": "Yves"
}
],
"id": "ITEM-4",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "Book D",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/disambiguate_AllNamesGenerally.txt 0000644 0000000 0000000 00000004240 07346545000 022014 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Asthma, Bosworth Bronchitis and C. Cold (1980); Asthma, Beauregarde Bronchitis and O. Cold (1995)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Asthma",
"given": "Albert"
},
{
"family": "Bronchitis",
"given": "Bosworth"
},
{
"family": "Cold",
"given": "Crispin"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"1980"
]
]
},
"title": "Book A",
"type": "book"
},
{
"author": [
{
"family": "Asthma",
"given": "Albert"
},
{
"family": "Bronchitis",
"given": "Beauregarde"
},
{
"family": "Cold",
"given": "Odeous"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
"1995"
]
]
},
"title": "Book B",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/disambiguate_AllNamesSimpleSequence.txt 0000644 0000000 0000000 00000003471 07346545000 023021 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
## 2013-04-17 :: Frank Bennett
This test previously had no givenname-disambiguation-rule attribute.
It has been added because the CSL specification requires processors
to adopt by-cite disambiguation as the default.
>>===== RESULT =====>>
(Nolan J. Malone 2001; Kemp Malone 1951)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Malone",
"given": "Nolan J."
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"2001"
]
]
},
"type": "book"
},
{
"author": [
{
"family": "Malone",
"given": "Kemp"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
"1951"
]
]
},
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/disambiguate_AllNamesWithInitialsBibliography.txt 0000644 0000000 0000000 00000007563 07346545000 025051 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
Asthma, A., Bronchitis, B., and Cold, C. (1980)
Asthma, A., Bronchitis, B., and Cold, O. (1995)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Asthma",
"given": "Albert"
},
{
"family": "Bronchitis",
"given": "Bosworth"
},
{
"family": "Cold",
"given": "Crispin"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"1980"
]
]
},
"title": "Book A",
"type": "book"
},
{
"author": [
{
"family": "Asthma",
"given": "Albert"
},
{
"family": "Bronchitis",
"given": "Beauregarde"
},
{
"family": "Cold",
"given": "Odeous"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
"1995"
]
]
},
"title": "Book B",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/disambiguate_AllNamesWithInitialsGenerally.txt 0000644 0000000 0000000 00000004231 07346545000 024345 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Asthma, Bronchitis and C. Cold (1980); Asthma, Bronchitis and O. Cold (1995)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Asthma",
"given": "Albert"
},
{
"family": "Bronchitis",
"given": "Bosworth"
},
{
"family": "Cold",
"given": "Crispin"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"1980"
]
]
},
"title": "Book A",
"type": "book"
},
{
"author": [
{
"family": "Asthma",
"given": "Albert"
},
{
"family": "Bronchitis",
"given": "Beauregarde"
},
{
"family": "Cold",
"given": "Odeous"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
"1995"
]
]
},
"title": "Book B",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/disambiguate_AndreaEg1a.txt 0000644 0000000 0000000 00000007424 07346545000 020354 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== DESCRIPTION =====>>
## 2013-04-17 :: Frank Bennett
This test has been recast in three forms, with:
(1) disambiguate-add-names="true" disambiguate-add-givenname="true"
(2) disambiguate-add-names="true"
(3) disambiguate-add-givenname="true"
This version is (2).
<<===== DESCRIPTION =====<<
>>===== RESULT =====>>
Smith, Brown, et al. (1980); Smith, Brown, et al. (1980)
Smith, Brown, et al. (1980); Smith, Benson, et al. (1980)
Smith, Brown, et al. (1980); Smith, Brown, et al. (1980)
<<===== RESULT =====<<
>>===== CITATION-ITEMS =====>>
[
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
}
],
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-3"
}
],
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-4"
}
]
]
<<===== CITATION-ITEMS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Smith",
"given": "John"
},
{
"family": "Brown",
"given": "John"
},
{
"family": "Jones",
"given": "John"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1980
]
]
},
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "John"
},
{
"family": "Brown",
"given": "John"
},
{
"family": "Jones",
"given": "John"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
1980
]
]
},
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "John"
},
{
"family": "Benson",
"given": "John"
},
{
"family": "Jones",
"given": "John"
}
],
"id": "ITEM-3",
"issued": {
"date-parts": [
[
1980
]
]
},
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "John"
},
{
"family": "Brown",
"given": "John"
},
{
"family": "Jones",
"given": "Arthur"
}
],
"id": "ITEM-4",
"issued": {
"date-parts": [
[
1980
]
]
},
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/disambiguate_AndreaEg1b.txt 0000644 0000000 0000000 00000007572 07346545000 020361 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== DESCRIPTION =====>>
## 2013-04-17 :: Frank Bennett
This test has been recast in three forms, with:
(1) disambiguate-add-names="true" disambiguate-add-givenname="true" (default by-cite rule)
(2) disambiguate-add-names="true"
(3) disambiguate-add-givenname="true"
This version is (1).
<<===== DESCRIPTION =====<<
>>===== RESULT =====>>
Smith, Brown & J. Jones (1980); Smith, Brown & J. Jones (1980)
Smith, Brown & J. Jones (1980); Smith, Benson, et al. (1980)
Smith, Brown & J. Jones (1980); Smith, Brown & A. Jones (1980)
<<===== RESULT =====<<
>>===== CITATION-ITEMS =====>>
[
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
}
],
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-3"
}
],
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-4"
}
]
]
<<===== CITATION-ITEMS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Smith",
"given": "John"
},
{
"family": "Brown",
"given": "John"
},
{
"family": "Jones",
"given": "John"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1980
]
]
},
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "John"
},
{
"family": "Brown",
"given": "John"
},
{
"family": "Jones",
"given": "John"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
1980
]
]
},
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "John"
},
{
"family": "Benson",
"given": "John"
},
{
"family": "Jones",
"given": "John"
}
],
"id": "ITEM-3",
"issued": {
"date-parts": [
[
1980
]
]
},
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "John"
},
{
"family": "Brown",
"given": "John"
},
{
"family": "Jones",
"given": "Arthur"
}
],
"id": "ITEM-4",
"issued": {
"date-parts": [
[
1980
]
]
},
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/disambiguate_AndreaEg1c.txt 0000644 0000000 0000000 00000007535 07346545000 020361 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== DESCRIPTION =====>>
## 2013-04-17 :: Frank Bennett
This test has been recast in three forms, with:
(1) disambiguate-add-names="true" disambiguate-add-givenname="true" (default by-cite rule)
(2) disambiguate-add-names="true"
(3) disambiguate-add-givenname="true"
This version is (3).
The result would be useless in this case, but it is what the style
has been set to deliver.
<<===== DESCRIPTION =====<<
>>===== RESULT =====>>
Smith et al. (1980); Smith et al. (1980)
Smith et al. (1980); Smith et al. (1980)
Smith et al. (1980); Smith et al. (1980)
<<===== RESULT =====<<
>>===== CITATION-ITEMS =====>>
[
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
}
],
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-3"
}
],
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-4"
}
]
]
<<===== CITATION-ITEMS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Smith",
"given": "John"
},
{
"family": "Brown",
"given": "John"
},
{
"family": "Jones",
"given": "John"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1980
]
]
},
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "John"
},
{
"family": "Brown",
"given": "John"
},
{
"family": "Jones",
"given": "John"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
1980
]
]
},
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "John"
},
{
"family": "Benson",
"given": "John"
},
{
"family": "Jones",
"given": "John"
}
],
"id": "ITEM-3",
"issued": {
"date-parts": [
[
1980
]
]
},
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "John"
},
{
"family": "Brown",
"given": "John"
},
{
"family": "Jones",
"given": "Arthur"
}
],
"id": "ITEM-4",
"issued": {
"date-parts": [
[
1980
]
]
},
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/disambiguate_AndreaEg2.txt 0000644 0000000 0000000 00000007113 07346545000 020207 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Smith, Brown & J. Jones (1980); Smith, Brown & J. Jones (1980)
Smith, Brown & J. Jones (1980); Smith, Benson, et al. (1980)
Smith, Brown & J. Jones (1980); Smith, Brown & A. Jones (1980)
<<===== RESULT =====<<
>>===== CITATION-ITEMS =====>>
[
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
}
],
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-3"
}
],
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-4"
}
]
]
<<===== CITATION-ITEMS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Smith",
"given": "John"
},
{
"family": "Brown",
"given": "John"
},
{
"family": "Jones",
"given": "John"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1980
]
]
},
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "John"
},
{
"family": "Brown",
"given": "John"
},
{
"family": "Jones",
"given": "John"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
1980
]
]
},
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "John"
},
{
"family": "Benson",
"given": "John"
},
{
"family": "Jones",
"given": "John"
}
],
"id": "ITEM-3",
"issued": {
"date-parts": [
[
1980
]
]
},
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "John"
},
{
"family": "Brown",
"given": "John"
},
{
"family": "Jones",
"given": "Arthur"
}
],
"id": "ITEM-4",
"issued": {
"date-parts": [
[
1980
]
]
},
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/disambiguate_AndreaEg3.txt 0000644 0000000 0000000 00000007173 07346545000 020216 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Smith, Brown & J. Jones (1980a); Smith, Brown & J. Jones (1980b)
Smith, Brown & J. Jones (1980a); Smith, Benson, et al. (1980)
Smith, Brown & J. Jones (1980a); Smith, Brown & A. Jones (1980)
<<===== RESULT =====<<
>>===== CITATION-ITEMS =====>>
[
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
}
],
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-3"
}
],
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-4"
}
]
]
<<===== CITATION-ITEMS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Smith",
"given": "John"
},
{
"family": "Brown",
"given": "John"
},
{
"family": "Jones",
"given": "John"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1980
]
]
},
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "John"
},
{
"family": "Brown",
"given": "John"
},
{
"family": "Jones",
"given": "John"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
1980
]
]
},
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "John"
},
{
"family": "Benson",
"given": "John"
},
{
"family": "Jones",
"given": "John"
}
],
"id": "ITEM-3",
"issued": {
"date-parts": [
[
1980
]
]
},
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "John"
},
{
"family": "Brown",
"given": "John"
},
{
"family": "Jones",
"given": "Arthur"
}
],
"id": "ITEM-4",
"issued": {
"date-parts": [
[
1980
]
]
},
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/disambiguate_AndreaEg4.txt 0000644 0000000 0000000 00000007235 07346545000 020216 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Smith, Brown & J. Jones (1980); Smith, Brown & J. Jones (1980)
Smith, Brown & J. Jones (1980); Smith, Benson, et al. (1980)
Smith, Brown & J. Jones (1980); Smith, Brown & A. Jones (1980)
<<===== RESULT =====<<
>>===== CITATION-ITEMS =====>>
[
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
}
],
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-3"
}
],
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-4"
}
]
]
<<===== CITATION-ITEMS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Smith",
"given": "John"
},
{
"family": "Brown",
"given": "John"
},
{
"family": "Jones",
"given": "John"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1980
]
]
},
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "John"
},
{
"family": "Brown",
"given": "John"
},
{
"family": "Jones",
"given": "John"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
1980
]
]
},
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "John"
},
{
"family": "Benson",
"given": "John"
},
{
"family": "Jones",
"given": "John"
}
],
"id": "ITEM-3",
"issued": {
"date-parts": [
[
1980
]
]
},
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "John"
},
{
"family": "Brown",
"given": "John"
},
{
"family": "Jones",
"given": "Alan"
}
],
"id": "ITEM-4",
"issued": {
"date-parts": [
[
1980
]
]
},
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/disambiguate_AndreaEg5.txt 0000644 0000000 0000000 00000007324 07346545000 020216 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Smith, Brown & J. Jones (1980a); Smith, Brown & J. Jones (1980b)
Smith, Brown & J. Jones (1980a); Smith, Benson, et al. (1980)
Smith, Brown & J. Jones (1980a); Smith, Brown & A. Jones (1980)
<<===== RESULT =====<<
>>===== CITATION-ITEMS =====>>
[
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
}
],
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-3"
}
],
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-4"
}
]
]
<<===== CITATION-ITEMS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Smith",
"given": "John"
},
{
"family": "Brown",
"given": "John"
},
{
"family": "Jones",
"given": "John"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1980
]
]
},
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "John"
},
{
"family": "Brown",
"given": "John"
},
{
"family": "Jones",
"given": "John"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
1980
]
]
},
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "John"
},
{
"family": "Benson",
"given": "John"
},
{
"family": "Jones",
"given": "John"
}
],
"id": "ITEM-3",
"issued": {
"date-parts": [
[
1980
]
]
},
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "John"
},
{
"family": "Brown",
"given": "John"
},
{
"family": "Jones",
"given": "Arthur"
}
],
"id": "ITEM-4",
"issued": {
"date-parts": [
[
1980
]
]
},
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/disambiguate_BasedOnEtAlSubsequent.txt 0000644 0000000 0000000 00000010666 07346545000 022626 0 ustar 00 0000000 0000000 This test illustrates a use case for the following rule, discussed on the Zotero forums:
"When different groups of authors with the same first author and date
occur, they should be cited thus: (Able, Baker & Charles 1986a; Able,
David & Edwards 1986b), then subsequently abbreviated to (Able et al.
1986a; Able et al. 1986b)."
"Italicized letters 'a', 'b', 'c', etc., should be added to the date of
papers with the same first authorship and year"
The test illustrates that the first rule can be satisfied with the CSL 0.8
feature set, and the second using the year-suffix text variable introduced
in CSL 0.9. It differs slightly from the example given by the poster
(asplundj) in that the cites do not include author initials, but this conforms
to the cited style guide.
The discussion can be found at:
http://forums.zotero.org/discussion/5290/collapse-year-suffix/
The style guide containing the rule quoted above can be found
at:
http://www.wiley.com/bw/submit.asp?ref=0269-8463&site=1
The point in all of this for implementers is that evaluation of
an in-text key for disambiguation purposes should be based on the
subsequent form of the cite, even if it occurs only once in the
text.
Frank Bennett
2009-04-14
>>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
(Baur, Fröberg, Baur, et al. 2000a; Baur, Schileyko & Baur 2000b; Doe 2000)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Baur",
"given": "Bruno"
},
{
"family": "Fröberg",
"given": "Lars"
},
{
"family": "Baur",
"given": "Anette"
},
{
"family": "Guggenheim",
"given": "Richard"
},
{
"family": "Haase",
"given": "Martin"
}
],
"container-title": "Nordic Journal of Botany",
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"page": "119-128",
"title": "Ultrastructure of snail grazing damage to calcicolous lichens",
"type": "article-journal",
"volume": "20"
},
{
"author": [
{
"family": "Baur",
"given": "Bruno"
},
{
"family": "Schileyko",
"given": "Anatoly A."
},
{
"family": "Baur",
"given": "Anette"
}
],
"container-title": "Journal of Molluscan Studies",
"id": "ITEM-2",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"page": "285-289",
"title": "Ecological observations on _Arianta aethiops aethiops_ (Helicidae), a land snail endemic to the South Carpathian mountains, Romania",
"type": "article-journal",
"volume": "66"
},
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"container-title": "Journal of Irreproducible Results",
"id": "ITEM-3",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"page": "5-7",
"title": "Some bogus title",
"type": "article-journal",
"volume": "666"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/disambiguate_BasedOnSubsequentFormWithBackref2.txt 0000644 0000000 0000000 00000012265 07346545000 025075 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
..[0] John Doe, His Book (2000); John Doe, His Other Book (2001).
..[1] Jane Roe, Her Book (1998).
..[2] Roe, supra note 2.
..[3] Doe, His Book, supra note 1.
>>[4] Roe, supra note 2.
<<===== RESULT =====<<
>>===== CITATIONS =====>>
[
[
{
"citationID": "CITATION-1",
"citationItems": [
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
}
],
"properties": {
"noteIndex": 1
}
},
[],
[]
],
[
{
"citationID": "CITATION-2",
"citationItems": [
{
"id": "ITEM-3"
}
],
"properties": {
"noteIndex": 2
}
},
[
[
"CITATION-1",
1
]
],
[]
],
[
{
"citationID": "CITATION-3",
"citationItems": [
{
"id": "ITEM-3"
}
],
"properties": {
"noteIndex": 3
}
},
[
[
"CITATION-1",
1
],
[
"CITATION-2",
2
]
],
[]
],
[
{
"citationID": "CITATION-4",
"citationItems": [
{
"id": "ITEM-1"
}
],
"properties": {
"noteIndex": 4
}
},
[
[
"CITATION-1",
1
],
[
"CITATION-2",
2
],
[
"CITATION-3",
3
]
],
[]
],
[
{
"citationID": "CITATION-5",
"citationItems": [
{
"id": "ITEM-3"
}
],
"properties": {
"noteIndex": 5
}
},
[
[
"CITATION-1",
1
],
[
"CITATION-2",
2
],
[
"CITATION-3",
3
],
[
"CITATION-4",
4
]
],
[]
]
]
<<===== CITATIONS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "His Book",
"type": "book"
},
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
"2001"
]
]
},
"title": "His Other Book",
"type": "book"
},
{
"author": [
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-3",
"issued": {
"date-parts": [
[
"1998"
]
]
},
"title": "Her Book",
"type": "book"
},
{
"author": [
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-4",
"issued": {
"date-parts": [
[
"1999"
]
]
},
"title": "Her Other Book",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/disambiguate_ByCiteBaseNameCountOnFailureIfYearSuffixAvailable.txt 0000644 0000000 0000000 00000006543 07346545000 030144 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Asthma, Bosworth Bronchitis, et al. (1990); Asthma, Beauregarde Bronchitis, et al. (1990); Dropsy, Edward Enteritis, et al. (2000); Dropsy, Ernie Enteritis, et al. (2000)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Asthma",
"given": "Albert"
},
{
"family": "Bronchitis",
"given": "Bosworth"
},
{
"family": "Cold",
"given": "Crispin"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"1990"
]
]
},
"title": "Book A",
"type": "book"
},
{
"author": [
{
"family": "Asthma",
"given": "Albert"
},
{
"family": "Bronchitis",
"given": "Beauregarde"
},
{
"family": "Cold",
"given": "Crispin"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
"1990"
]
]
},
"title": "Book B",
"type": "book"
},
{
"author": [
{
"family": "Dropsy",
"given": "Devon"
},
{
"family": "Enteritis",
"given": "Edward"
},
{
"family": "Fever",
"given": "Xavier"
}
],
"id": "ITEM-3",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "Book C",
"type": "book"
},
{
"author": [
{
"family": "Dropsy",
"given": "Devon"
},
{
"family": "Enteritis",
"given": "Ernie"
},
{
"family": "Fever",
"given": "Yves"
}
],
"id": "ITEM-4",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "Book D",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/disambiguate_ByCiteDisambiguateCondition.txt 0000644 0000000 0000000 00000004041 07346545000 024021 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Doe et al., Book A (2000); Doe et al., Book B (2000)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "Book A",
"type": "book"
},
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "Book B",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/disambiguate_ByCiteGivennameExpandCrossNestedNames.txt 0000644 0000000 0000000 00000004750 07346545000 025775 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
J. Doe, Jane Roe, Robert Jones; J. Doe, Josephine Roe, et al.; J. Doe, Jane Roe, Richard Jones
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
},
{
"family": "Jones",
"given": "Robert"
}
],
"id": "ambigs-12",
"issued": {
"date-parts": [
[
"1990"
]
]
},
"title": "Book C",
"type": "book"
},
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Josephine"
},
{
"family": "Jones",
"given": "Robert"
}
],
"id": "ambigs-13",
"issued": {
"date-parts": [
[
"1990"
]
]
},
"title": "Book B",
"type": "book"
},
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
},
{
"family": "Jones",
"given": "Richard"
}
],
"id": "ambigs-14",
"issued": {
"date-parts": [
[
"1990"
]
]
},
"title": "Book A",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/disambiguate_ByCiteGivennameNoShortFormInitializeWith.txt 0000644 0000000 0000000 00000003155 07346545000 026511 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
Disambiguation by given name, when used with an initialize-with
attribute on the name, will expand initials to full names as
required.
>>===== RESULT =====>>
J Roe
John Doe; Jack Doe
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== CITATION-ITEMS =====>>
[
[
{
"id": "ITEM-1"
}
],
[
{
"id": "ITEM-2"
},
{
"id": "ITEM-3"
}
]
]
<<===== CITATION-ITEMS =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"type": "book"
},
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-2",
"type": "book"
},
{
"author": [
{
"family": "Doe",
"given": "Jack"
}
],
"id": "ITEM-3",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/disambiguate_ByCiteGivennameShortFormInitializeWith.txt 0000644 0000000 0000000 00000004741 07346545000 026216 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
Disambiguation by given name, when used with the short form and an
initialize-with attribute on the name, will add an initial as required.
Edit 2011-01-14:
Was:
Disambiguation by full name expansion will not be attempted, and failed
attempts at disambiguation will fall back to the short form.
Now:
By-cite disambiguation will attempt all givenname forms up to full
expansion. To restrain expansion at the initialized form, we will
need a separate disambiguation rule.
>>===== RESULT =====>>
Roe
J Doe; A Doe
Thomas Smith; Ted Smith
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== CITATION-ITEMS =====>>
[
[
{
"id": "ITEM-1"
}
],
[
{
"id": "ITEM-2"
},
{
"id": "ITEM-3"
}
],
[
{
"id": "ITEM-4"
},
{
"id": "ITEM-5"
}
]
]
<<===== CITATION-ITEMS =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"type": "book"
},
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-2",
"type": "book"
},
{
"author": [
{
"family": "Doe",
"given": "Aloysius"
}
],
"id": "ITEM-3",
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "Thomas"
}
],
"id": "ITEM-4",
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "Ted"
}
],
"id": "ITEM-5",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/disambiguate_ByCiteGivennameShortFormNoInitializeWith.txt 0000644 0000000 0000000 00000003175 07346545000 026513 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
Disambiguation by given name, when used with the short form alone
(without an initialize-with attribute on the name) will add a full
name as required.
>>===== RESULT =====>>
Roe
John Doe; Aloysius Doe
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== CITATION-ITEMS =====>>
[
[
{
"id": "ITEM-1"
}
],
[
{
"id": "ITEM-2"
},
{
"id": "ITEM-3"
}
]
]
<<===== CITATION-ITEMS =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"type": "book"
},
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-2",
"type": "book"
},
{
"author": [
{
"family": "Doe",
"given": "Aloysius"
}
],
"id": "ITEM-3",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/disambiguate_ByCiteIncremental1.txt 0000644 0000000 0000000 00000035415 07346545000 022107 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
(Baines, Lightfoot, Benedettini, et al., 2009)
(Baines, Lightfoot and Kay, 2009)
(Grubic et al., 2009)
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
}
],
[
{
"id": "ITEM-2"
}
],
[
{
"id": "ITEM-3"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"URL": "http://www.emeraldinsight.com/journals.htm?articleid=1795171&show=abstract",
"accessed": {
"date-parts": [
[
"2013",
1,
30
]
],
"season": "22:56:08"
},
"author": [
{
"family": "Baines",
"given": "T. S."
},
{
"family": "Lightfoot",
"given": "H. W."
},
{
"family": "Benedettini",
"given": "O."
},
{
"family": "Kay",
"given": "J. M."
}
],
"container-title": "Journal of Manufacturing Technology Management",
"id": "ITEM-1",
"issue": "5",
"issued": {
"date-parts": [
[
"2009"
]
]
},
"key": "T44568NT",
"page": "547–567",
"source": "Google Scholar",
"title": "The servitization of manufacturing: a review of literature and reflection on future challenges",
"title-short": "The servitization of manufacturing",
"type": "article-journal",
"volume": "20"
},
{
"DOI": "10.1243/09544054JEM1552",
"ISSN": "0954-4054, 2041-2975",
"URL": "http://pib.sagepub.com/content/223/9/1207",
"accessed": {
"date-parts": [
[
"2013",
1,
30
]
],
"season": "22:38:38"
},
"author": [
{
"family": "Baines",
"given": "T. S."
},
{
"family": "Lightfoot",
"given": "H. W."
},
{
"family": "Kay",
"given": "J. M."
}
],
"container-title": "Proceedings of the Institution of Mechanical Engineers, Part B: Journal of Engineering Manufacture",
"id": "ITEM-2",
"issue": "9",
"issued": {
"date-parts": [
[
"2009",
9,
1
]
]
},
"journalAbbreviation": "Proceedings of the Institution of Mechanical Engineers, Part B: Journal of Engineering Manufacture",
"key": "BZ6F9U6V",
"language": "en",
"page": "1207-1215",
"source": "pib.sagepub.com",
"title": "Servitized manufacture: Practical challenges of delivering integrated products and services",
"title-short": "Servitized manufacture",
"type": "article-journal",
"volume": "223"
},
{
"URL": "http://72.27.231.73/sites/phmsociety.org/files/phm_submission/2009/phmc_09_49.pdf",
"accessed": {
"date-parts": [
[
"2012",
10,
22
]
]
},
"author": [
{
"family": "Grubic",
"given": "T."
},
{
"family": "Jennions",
"given": "I."
},
{
"family": "Baines",
"given": "T. S."
}
],
"id": "ITEM-3",
"issued": {
"date-parts": [
[
"2009"
]
]
},
"key": "3GG82XQE",
"source": "Google Scholar",
"title": "The Interaction of PSS and PHM-a mutual benefit case",
"type": "paper-conference"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/disambiguate_ByCiteIncremental2.txt 0000644 0000000 0000000 00000034617 07346545000 022113 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
(Baines, Lightfoot, Benedettini, et al., 2009; Baines, Lightfoot and Kay, 2009)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"URL": "http://www.emeraldinsight.com/journals.htm?articleid=1795171&show=abstract",
"accessed": {
"date-parts": [
[
"2013",
1,
30
]
],
"season": "22:56:08"
},
"author": [
{
"family": "Baines",
"given": "T. S."
},
{
"family": "Lightfoot",
"given": "H. W."
},
{
"family": "Benedettini",
"given": "O."
},
{
"family": "Kay",
"given": "J. M."
}
],
"container-title": "Journal of Manufacturing Technology Management",
"id": "ITEM-1",
"issue": "5",
"issued": {
"date-parts": [
[
"2009"
]
]
},
"key": "T44568NT",
"page": "547–567",
"source": "Google Scholar",
"title": "The servitization of manufacturing: a review of literature and reflection on future challenges",
"title-short": "The servitization of manufacturing",
"type": "article-journal",
"volume": "20"
},
{
"DOI": "10.1243/09544054JEM1552",
"ISSN": "0954-4054, 2041-2975",
"URL": "http://pib.sagepub.com/content/223/9/1207",
"accessed": {
"date-parts": [
[
"2013",
1,
30
]
],
"season": "22:38:38"
},
"author": [
{
"family": "Baines",
"given": "T. S."
},
{
"family": "Lightfoot",
"given": "H. W."
},
{
"family": "Kay",
"given": "J. M."
}
],
"container-title": "Proceedings of the Institution of Mechanical Engineers, Part B: Journal of Engineering Manufacture",
"id": "ITEM-2",
"issue": "9",
"issued": {
"date-parts": [
[
"2009",
9,
1
]
]
},
"journalAbbreviation": "Proceedings of the Institution of Mechanical Engineers, Part B: Journal of Engineering Manufacture",
"key": "BZ6F9U6V",
"language": "en",
"page": "1207-1215",
"source": "pib.sagepub.com",
"title": "Servitized manufacture: Practical challenges of delivering integrated products and services",
"title-short": "Servitized manufacture",
"type": "article-journal",
"volume": "223"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/disambiguate_ByCiteIsDefault.txt 0000644 0000000 0000000 00000026025 07346545000 021442 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
(Hall and Thelen, 2009)
(Steinmo et al., 1992)
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
}
],
[
{
"id": "ITEM-2"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"DOI": "10.1093/ser/mwn020",
"URL": "http://ser.oxfordjournals.org/cgi/content/abstract/7/1/7",
"abstract": "Contemporary approaches to varieties to capitalism are often criticized for neglecting issues of institutional change. This paper develops an approach to institutional change more extended than the one provided in Hall and Soskice (in Varieties of Capitalism: The Institutional Foundations of Comparative Advantage, Oxford, Oxford University Press, 2001) but congruent with its varieties-of-capitalism perspective. It begins by outlining an approach to institutional stability, which suggests that the persistence of institutions depends not only on their aggregate welfare effects but also on the distributive benefits that they provide to the underlying social or political coalitions; and not only on the Pareto-optimal quality of such equilibria but also on continuous processes of mobilization through which the actors test the limits of the existing institutions. It then develops an analysis of institutional change that emphasizes the ways in which defection, reinterpretation and reform emerge out of such contestation and assesses the accuracy of this account against recent developments in the political economies of Europe. The paper concludes by outlining the implications of this perspective for contemporary analyses of liberalization in the political economy.",
"accessed": {
"date-parts": [
[
"2009",
2,
25
]
]
},
"author": [
{
"family": "Hall",
"given": "Peter A"
},
{
"family": "Thelen",
"given": "Kathleen A"
}
],
"container-title": "Socioecon Rev",
"id": "ITEM-1",
"issue": "1",
"issued": {
"date-parts": [
[
"2009",
1,
1
]
]
},
"key": "7NI2TA9B",
"page": "7-34",
"source": "HighWire",
"title": "Institutional change in varieties of capitalism",
"type": "article-journal",
"volume": "7"
},
{
"ISBN": "0521417805",
"archive-place": "Cambridge [England]",
"call-number": "JF11 .S77 1992",
"collection-title": "Cambridge studies in comparative politics",
"editor": [
{
"family": "Steinmo",
"given": "Sven"
},
{
"family": "Thelen",
"given": "Kathleen Ann"
},
{
"family": "Longstreth",
"given": "Frank"
}
],
"event-place": "Cambridge [England]",
"id": "ITEM-2",
"issued": {
"date-parts": [
[
"1992"
]
]
},
"key": "P9VUFEPC",
"number-of-pages": "257",
"publisher": "Cambridge University Press",
"publisher-place": "Cambridge [England]",
"source": "nucat.library.northwestern.edu Library Catalog",
"title": "Structuring Politics: Historical Institutionalism in Comparative Analysis",
"title-short": "Structuring Politics",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/disambiguate_ByCiteMinimalGivennameExpandMinimalNames.txt 0000644 0000000 0000000 00000004117 07346545000 026433 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
A. Asthma, Brandon Bronchitis, et al.; A. Asthma, Biff Bronchitis, et al.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Asthma",
"given": "Albert"
},
{
"family": "Bronchitis",
"given": "Brandon"
},
{
"family": "Cold",
"given": "Charles"
}
],
"id": "ambigs-16",
"issued": {
"date-parts": [
[
"1990"
]
]
},
"title": "Book M",
"type": "book"
},
{
"author": [
{
"family": "Asthma",
"given": "Albert"
},
{
"family": "Bronchitis",
"given": "Biff"
},
{
"family": "Cold",
"given": "Curtis"
}
],
"id": "ambigs-17",
"issued": {
"date-parts": [
[
"1990"
]
]
},
"title": "Book M",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/disambiguate_ByCiteRetainNamesOnFailureIfYearSuffixNotAvailable.txt 0000644 0000000 0000000 00000006645 07346545000 030352 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
This no longer does what the fixture name suggests, because the
names-based disambiguation no longer fails.
>>===== RESULT =====>>
Asthma, Bosworth Bronchitis, et al. (1990); Asthma, Beauregarde Bronchitis, et al. (1990); Dropsy, Edward Enteritis, et al. (2000); Dropsy, Ernie Enteritis, et al. (2000)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Asthma",
"given": "Albert"
},
{
"family": "Bronchitis",
"given": "Bosworth"
},
{
"family": "Cold",
"given": "Crispin"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"1990"
]
]
},
"title": "Book A",
"type": "book"
},
{
"author": [
{
"family": "Asthma",
"given": "Albert"
},
{
"family": "Bronchitis",
"given": "Beauregarde"
},
{
"family": "Cold",
"given": "Crispin"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
"1990"
]
]
},
"title": "Book B",
"type": "book"
},
{
"author": [
{
"family": "Dropsy",
"given": "Devon"
},
{
"family": "Enteritis",
"given": "Edward"
},
{
"family": "Fever",
"given": "Xavier"
}
],
"id": "ITEM-3",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "Book C",
"type": "book"
},
{
"author": [
{
"family": "Dropsy",
"given": "Devon"
},
{
"family": "Enteritis",
"given": "Ernie"
},
{
"family": "Fever",
"given": "Yves"
}
],
"id": "ITEM-4",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "Book D",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/disambiguate_ByCiteTwoAuthorsSameCite.txt 0000644 0000000 0000000 00000002360 07346545000 023310 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Collier and Collier
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Collier",
"given": "Ruth Berins"
},
{
"family": "Collier",
"given": "David"
}
],
"id": 15895,
"issued": {
"date-parts": [
[
2002
]
]
},
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/disambiguate_ByCiteTwoAuthorsSameFamilyName.txt 0000644 0000000 0000000 00000004254 07346545000 024452 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Asthma and Asthma (1980); Bronchitis (1995); Asthma (1885)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Asthma",
"given": "Albert"
},
{
"family": "Asthma",
"given": "Bridget"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"1980"
]
]
},
"title": "Book A",
"type": "book"
},
{
"author": [
{
"family": "Bronchitis",
"given": "Beauregarde"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
"1995"
]
]
},
"title": "Book B",
"type": "book"
},
{
"author": [
{
"family": "Asthma",
"given": "Albert"
}
],
"id": "ITEM-3",
"issued": {
"date-parts": [
[
"1885"
]
]
},
"title": "Book C",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/disambiguate_CitationLabelDefault.txt 0000644 0000000 0000000 00000003222 07346545000 022473 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Asth00a; Asth00b; Bron00
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Asthma",
"given": "Albert"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"1900"
]
]
},
"title": "Book A",
"type": "book"
},
{
"author": [
{
"family": "Asthma",
"given": "Zeppo"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
"1900"
]
]
},
"title": "Book B",
"type": "book"
},
{
"author": [
{
"family": "Bronchitis",
"given": "Buffy"
}
],
"id": "ITEM-3",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "Book C",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/disambiguate_CitationLabelInData.txt 0000644 0000000 0000000 00000005710 07346545000 022253 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
SpiffLabel1900a; SpiffLabel1900b; Bron00; BrCh98; DEFG26
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Asthma",
"given": "Albert"
}
],
"citation-label": "SpiffLabel1900",
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"1900"
]
]
},
"title": "Book A",
"type": "book"
},
{
"author": [
{
"family": "Asthma",
"given": "Zeppo"
}
],
"citation-label": "SpiffLabel1900",
"id": "ITEM-2",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "Book B",
"type": "book"
},
{
"author": [
{
"family": "Bronchitis",
"given": "Buffy"
}
],
"id": "ITEM-3",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "Book C",
"type": "book"
},
{
"author": [
{
"family": "Bronchitis",
"given": "Buffy"
},
{
"family": "Cholera",
"given": "Cleopatra"
}
],
"id": "ITEM-4",
"issued": {
"date-parts": [
[
"1998"
]
]
},
"title": "Book D",
"type": "book"
},
{
"author": [
{
"family": "von Dipheria",
"given": "Doug"
},
{
"family": "Eczema",
"given": "Elihugh"
},
{
"family": "Flatulence",
"given": "Frankie"
},
{
"family": "Goiter",
"given": "Gus"
},
{
"family": "Hiccups",
"given": "Harvey"
}
],
"id": "ITEM-5",
"issued": {
"date-parts": [
[
"1926"
]
]
},
"title": "Book D",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/disambiguate_DifferentSpacingInInitials.txt 0000644 0000000 0000000 00000002512 07346545000 023654 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Doe, His Anonymous Life (part 1); Doe, His Anonymous Life (part 2)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "J. J."
}
],
"id": "ITEM-1",
"title": "His Anonymous Life (part 1)",
"type": "book"
},
{
"author": [
{
"family": "Doe",
"given": "J.J."
}
],
"id": "ITEM-2",
"title": "His Anonymous Life (part 2)",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/disambiguate_DisambiguateTrueAndYearSuffixOne.txt 0000644 0000000 0000000 00000005566 07346545000 025022 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
Pollock, 1979
Pollock, 1980
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
}
],
[
{
"id": "ITEM-2"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "Pollock",
"given": "Sir Frederick"
}
],
"title": "Title One",
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1979
]
]
},
"type": "book"
},
{
"author": [
{
"family": "Pollock",
"given": "Sir Frederick"
}
],
"title": "Title Two",
"id": "ITEM-2",
"issued": {
"date-parts": [
[
1980
]
]
},
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/disambiguate_DisambiguateTrueReflectedInBibliography.txt 0000644 0000000 0000000 00000003623 07346545000 026360 0 ustar 00 0000000 0000000 >>==== MODE ====>>
bibliography
<<==== MODE ====<<
>>==== RESULT ====>>
Smith, Book One
Smith, Book Two
Brown
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
},
{
"id": "ITEM-3"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "Smith",
"given": "Alan"
}
],
"id": "ITEM-1",
"title": "Book One",
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "Alan"
}
],
"id": "ITEM-2",
"title": "Book Two",
"type": "book"
},
{
"author": [
{
"family": "Brown",
"given": "Cadbury"
}
],
"id": "ITEM-3",
"title": "Book the X",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/disambiguate_DisambiguateWithThree.txt 0000644 0000000 0000000 00000003264 07346545000 022704 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
(Aalto, Book A)
(Aalto, Book B)
(Aalto, Book C)
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
}
],
[
{
"id": "ITEM-2"
}
],
[
{
"id": "ITEM-3"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "Aalto",
"given": "Alan"
}
],
"id": "ITEM-1",
"title": "Book A",
"type": "book"
},
{
"author": [
{
"family": "Aalto",
"given": "Alan"
}
],
"id": "ITEM-2",
"title": "Book B",
"type": "book"
},
{
"author": [
{
"family": "Aalto",
"given": "Alan"
}
],
"id": "ITEM-3",
"title": "Book C",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/disambiguate_DisambiguateWithThree2.txt 0000644 0000000 0000000 00000012223 07346545000 022761 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
(Spivak, A Critique)
(Spivak, “Cultural Talks”)
(Spivak, Death of a Discipline)
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": 55
}
],
[
{
"id": 53
}
],
[
{
"id": 59
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "Spivak",
"given": "Gayatri Chakravorty"
}
],
"event-place": "Cambridge, Mass.",
"id": 55,
"issued": {
"date-parts": [
[
1999
]
]
},
"note": "Gayatri Chakravorty Spivak. 25 cm.",
"publisher": "Harvard University Press",
"publisher-place": "Cambridge, Mass.",
"title": "A Critique of Postcolonial Reason: Toward a History of the Vanishing Present",
"title-short": "A Critique",
"type": "book"
},
{
"author": [
{
"family": "Spivak",
"given": "Gayatri Chakravorty"
}
],
"container-title": "Cosmopolitics: Thinking and Feeling Beyond the Nation",
"editor": [
{
"family": "Cheah",
"given": "Pheng"
},
{
"family": "Robbins",
"given": "Bruce"
}
],
"event-place": "Minneapolis",
"id": 53,
"issued": {
"date-parts": [
[
1998
]
]
},
"page": "329 - 348",
"publisher": "University of Minnesota Press",
"publisher-place": "Minneapolis",
"title": "Cultural Talks in the 'Hot Peace': Revisiting the Global Village",
"title-short": "Cultural Talks",
"type": "chapter"
},
{
"author": [
{
"family": "Spivak",
"given": "Gayatri Chakravorty"
}
],
"event-place": "New York",
"id": 59,
"issued": {
"date-parts": [
[
2003
]
]
},
"note": "Gayatri Chakravorty Spivak. Crossing borders ― Collectivities ― Planetarity.",
"publisher": "Columbia University Press",
"publisher-place": "New York",
"title": "Death of a Discipline",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/disambiguate_DisambiguationHang.txt 0000644 0000000 0000000 00000011366 07346545000 022221 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== CITATIONS =====>>
[
[
{
"citationID": "CITATION-1",
"citationItems": [
{
"id": "ITEM-1"
}
],
"properties": {
"noteIndex": 1
}
},
[],
[]
],
[
{
"citationID": "CITATION-2",
"citationItems": [
{
"id": "ITEM-2"
}
],
"properties": {
"noteIndex": 2
}
},
[
[
"CITATION-1",
1
]
],
[]
],
[
{
"citationID": "CITATION-3",
"citationItems": [
{
"id": "ITEM-3"
}
],
"properties": {
"noteIndex": 3
}
},
[
[
"CITATION-1",
1
],
[
"CITATION-2",
2
]
],
[]
]
]
<<===== CITATIONS =====<<
Updating all three is correct here, at least on the current
processor design. The logic is not simple.
Disambiguation is based on the subsequent form. In this test case,
the value of et-al-subsequent-min is 3. In the first two insertions,
the Burnod cites come out with one name only, because the list
of names is 3 or greater in length, and adding names contributes
nothing to disambiguation.
When the Urban cite is inserted, the internal parameters are
correctly adjusted to 3 for the first two cites, and that difference
triggers tainting, hence all three cites are queued for updating.
This is not entirely optimal, because in the *rendered* form,
all three insertions will result in five names on the Burnod
cites. However, controlling the redundant update in this case
would require that we code position context adjustments into
the disambiguation module. That is not practicable because
the et-al parameters may vary between name nodes in the CSL.
A clean and precise solution to this is possible, but it doesn't
seem to be worth the candle.
>>===== RESULT =====>>
>>[0] (Caminiti, Johnson, Burnod, Galli, & Ferraina 1990a)
>>[1] (Caminiti, Johnson, Burnod, Galli, & Ferraina 1990b)
>>[2] (Caminiti, Johnson, & Urbano 1990)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"type" : "article-journal",
"id" : "ITEM-1",
"author": [
{
"family": "Caminiti",
"given": "R"
},
{
"family" : "Johnson",
"given": "P B"
},
{
"family" : "Burnod",
"given": "Y"
},
{
"family" : "Galli",
"given": "C"
},
{
"family" : "Ferraina",
"given": "S"
}
],
"issued" : {
"date-parts" : [
[1990]
]
}
},
{
"type" : "article-journal",
"id" : "ITEM-2",
"author": [
{
"family": "Caminiti",
"given": "R"
},
{
"family" : "Johnson",
"given": "P B"
},
{
"family" : "Burnod",
"given": "Y"
},
{
"family" : "Galli",
"given": "C"
},
{
"family" : "Ferraina",
"given": "S"
}
],
"issued" : {
"date-parts" : [
[1990]
]
}
},
{
"type" : "article-journal",
"id" : "ITEM-3",
"author": [
{
"family" : "Caminiti",
"given": "R"
},
{
"family" : "Johnson",
"given": "P B"
},
{
"family" : "Urbano",
"given": "A"
}
],
"issued" : {
"date-parts" : [
[1990,7]
]
}
},
{
"type" : "article-journal",
"id" : "ITEM-4",
"author": [
{
"family" : "Caminiti",
"given": "R"
},
{
"family" : "Johnson",
"given": "P B"
},
{
"family" : "Urbano",
"given": "A"
}
],
"issued" : {
"date-parts" : [
[1990,7]
]
}
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/disambiguate_ExtraTextCitation.txt 0000644 0000000 0000000 00000002766 07346545000 022113 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
Bumke, Courtly Culture: Literature and Society in the High Middle Ages
Bumke, Höfische
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
}
],
[
{
"id": "ITEM-2"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "Bumke",
"given": "Joachim"
}
],
"id": "ITEM-1",
"title": "Courtly Culture: Literature and Society in the High Middle Ages",
"translator": [
{
"family": "Dunlap",
"given": "Thomas"
}
],
"type": "book"
},
{
"author": [
{
"family": "Bumke",
"given": "Joachim"
}
],
"id": "ITEM-2",
"title": "Höfische",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/disambiguate_FailWithYearSuffix.txt 0000644 0000000 0000000 00000033401 07346545000 022173 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
(Caritas Europa et al. 2004a)
(Caritas Europa et al. 2004b)
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
}
],
[
{
"id": "ITEM-2"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"URL": "http://www.comece.org/site/en/publications/otherpublications/article/3341.html",
"accessed": {
"date-parts": [
[
2012,
1,
16
]
]
},
"author": [
{
"family": "Caritas Europa",
"isInstitution": "true"
},
{
"family": "CCME",
"isInstitution": "true"
},
{
"family": "COMECE",
"isInstitution": "true"
},
{
"family": "ICMC",
"isInstitution": "true"
},
{
"family": "JRS-Europe",
"isInstitution": "true"
},
{
"family": "QCEA",
"isInstitution": "true"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"2004",
12,
18
]
]
},
"title": "Integrating Migrants, Integrating Societies: Essential Elements for EU Migration Policy",
"type": "article"
},
{
"URL": "http://www.comece.org/site/en/publications/otherpublications/article/3341.html",
"accessed": {
"date-parts": [
[
2012,
1,
16
]
]
},
"author": [
{
"family": "Caritas Europa",
"isInstitution": "true"
},
{
"family": "CCME",
"isInstitution": "true"
},
{
"family": "COMECE",
"isInstitution": "true"
},
{
"family": "ICMC",
"isInstitution": "true"
},
{
"family": "JRS-Europe",
"isInstitution": "true"
},
{
"family": "QCEA",
"isInstitution": "true"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
"2004",
12,
18
]
]
},
"title": "Integrating Migrants, Integrating Societies: Essential Elements for EU Migration Policy",
"type": "article"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/disambiguate_FamilyNameOnly.txt 0000644 0000000 0000000 00000002746 07346545000 021352 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
Blevins2001
Blevins2001
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
}
],
[
{
"id": "ITEM-2"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "Blevins",
"given": ""
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
2001
]
]
},
"title": "Book 1",
"type": "book"
},
{
"author": [
{
"family": "Blevins",
"given": ""
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
2001
]
]
},
"title": "Book 2",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/disambiguate_HonorFullnameInBibliography.txt 0000644 0000000 0000000 00000003037 07346545000 024054 0 ustar 00 0000000 0000000 >>==== MODE ====>>
bibliography
<<==== MODE ====<<
>>==== RESULT ====>>
Alan Aalto
Richard Aalto
Old Blevins
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
},
{
"id": "ITEM-3"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "Aalto",
"given": "Alan"
}
],
"id": "ITEM-1",
"type": "book"
},
{
"author": [
{
"family": "Blevins",
"given": "Old"
}
],
"id": "ITEM-2",
"type": "book"
},
{
"author": [
{
"family": "Aalto",
"given": "Richard"
}
],
"id": "ITEM-3",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/disambiguate_ImplicitYearSuffixOnceOnly.txt 0000644 0000000 0000000 00000004345 07346545000 023712 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
When year-suffix is implicit (the CSL 0.8.1 legacy mode),
the suffix should be rendered only the first time a date
is printed in the cite.
>>===== RESULT =====>>
[1990a] Doe, Book A 05/30/1990
[1990b] Doe, Book B 05/30/1990
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"1990",
"5",
"30"
]
]
},
"title": "Book A",
"type": "book"
},
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
"1990",
"5",
"30"
]
]
},
"title": "Book B",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/disambiguate_IncrementalExtraText.txt 0000644 0000000 0000000 00000004466 07346545000 022601 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
Yost Trisk
John Smith, Book One
John Smith, Book Two
John Smith, Complete Works, ed. 5
John Smith, Complete Works, ed. 6
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-0"
}
],
[
{
"id": "ITEM-1"
}
],
[
{
"id": "ITEM-2"
}
],
[
{
"id": "ITEM-3"
}
],
[
{
"id": "ITEM-4"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "Trisk",
"given": "Yost"
}
],
"id": "ITEM-0",
"title": "Book One",
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"edition": "3",
"id": "ITEM-1",
"title": "Book One",
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"edition": "4",
"id": "ITEM-2",
"title": "Book Two",
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"edition": "5",
"id": "ITEM-3",
"title": "Complete Works",
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"edition": "6",
"id": "ITEM-4",
"title": "Complete Works",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/disambiguate_InitializeWithButNoDisambiguation.txt 0000644 0000000 0000000 00000023237 07346545000 025251 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
(Doe, 1965a, 1965b)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"1965"
]
]
},
"title": "His Anonymous Life",
"type": "book"
},
{
"author": [
{
"family": "Doe",
"given": "Heroclitus"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
"1965"
]
]
},
"title": "His Anonymous Second Life",
"type": "chapter"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/disambiguate_LastOnlyFailWithByCite.txt 0000644 0000000 0000000 00000003575 07346545000 022764 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
Organisation 2010a
Organisation 2010b
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
}
],
[
{
"id": "ITEM-2"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "Organisation"
}
],
"event-place": "Canberra",
"id": "ITEM-1",
"issued": {
"date-parts": [
[
2010
]
]
},
"key": "QXTWKDFN",
"publisher-place": "Canberra",
"title": "blah",
"type": "report"
},
{
"author": [
{
"family": "Organisation"
}
],
"event-place": "Melbourne",
"id": "ITEM-2",
"issued": {
"date-parts": [
[
2010
]
]
},
"key": "HE34J5AE",
"publisher-place": "Melbourne",
"title": "blash",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/disambiguate_NoTextElementUsesYearSuffixVariable.txt 0000644 0000000 0000000 00000002660 07346545000 025530 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Doe (2000a); Doe (2000b)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "Book A",
"type": "book"
},
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "Book B",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/disambiguate_PrimaryNameGenerally.txt 0000644 0000000 0000000 00000003437 07346545000 022553 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Aloysius Asthma and Bronchitis (1980); Artemis Asthma and Bronchitis (1995)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Asthma",
"given": "Aloysius"
},
{
"family": "Bronchitis",
"given": "Bosworth"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"1980"
]
]
},
"type": "book"
},
{
"author": [
{
"family": "Asthma",
"given": "Artemis"
},
{
"family": "Bronchitis",
"given": "Beauregarde"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
"1995"
]
]
},
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/disambiguate_PrimaryNameWithInitialsLimitedToPrimary.txt 0000644 0000000 0000000 00000005215 07346545000 026414 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
A. Asthma et al. (1980); G. Asthma et al. (1995); Dropsy and Asthma (1995)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Asthma",
"given": "Albert"
},
{
"family": "Bronchitis",
"given": "Bosworth"
},
{
"family": "Cold",
"given": "Crispin"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"1980"
]
]
},
"title": "Book A",
"type": "book"
},
{
"author": [
{
"family": "Asthma",
"given": "Gargoyle"
},
{
"family": "Bronchitis",
"given": "Billy"
},
{
"family": "Cold",
"given": "Odeous"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
"1995"
]
]
},
"title": "Book B",
"type": "book"
},
{
"author": [
{
"family": "Dropsy",
"given": "Duncan"
},
{
"family": "Asthma",
"given": "Albert"
}
],
"id": "ITEM-3",
"issued": {
"date-parts": [
[
"1995"
]
]
},
"title": "Book B",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/disambiguate_PrimaryNameWithNonDroppingParticle.txt 0000644 0000000 0000000 00000010673 07346545000 025406 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
(dos Santos et al. 2016; Santos et al. 2020)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"DOI": "10.1177/0269881116652578",
"ISSN": "0269-8811",
"URL": "https://doi.org/10.1177/0269881116652578",
"accessed": {
"date-parts": [
[
2020,
11,
3
]
]
},
"author": [
{
"family": "Santos",
"given": "Rafael G",
"non-dropping-particle": "dos"
},
{
"family": "Balthazar",
"given": "Fermanda M"
},
{
"family": "Bouso",
"given": "José C"
},
{
"family": "Hallak",
"given": "Jaime EC"
}
],
"container-title": "Journal of Psychopharmacology",
"container-title-short": "J Psychopharmacol",
"id": "dosSantos2016CurrentState",
"issue": "12",
"issued": {
"date-parts": [
[
2016,
12,
1
]
]
},
"language": "en",
"page": "1230-1247",
"publisher": "SAGE Publications Ltd STM",
"source": "SAGE Journals",
"title": "The current state of research on ayahuasca: A systematic review of human studies assessing psychiatric symptoms, neuropsychological functioning, and neuroimaging",
"title-short": "The current state of research on ayahuasca",
"type": "article-journal",
"volume": "30"
},
{
"DOI": "10.3390/plants9070870",
"URL": "https://www.mdpi.com/2223-7747/9/7/870",
"accessed": {
"date-parts": [
[
2020,
11,
3
]
]
},
"author": [
{
"family": "Santos",
"given": "Beatriz Werneck Lopes"
},
{
"dropping-particle": "de",
"family": "Oliveira",
"given": "Regina Célia"
},
{
"family": "Sonsin-Oliveira",
"given": "Julia"
},
{
"family": "Fagg",
"given": "Christopher William"
},
{
"family": "Barbosa",
"given": "José Beethoven Figueiredo"
},
{
"family": "Caldas",
"given": "Eloisa Dutra"
}
],
"container-title": "Plants",
"id": "Santos2020BiodiversityVCarboline",
"issue": "7",
"issued": {
"date-parts": [
[
2020,
7
]
]
},
"language": "en",
"number": "7",
"page": "870",
"publisher": "Multidisciplinary Digital Publishing Institute",
"source": "www.mdpi.com",
"title": "Biodiversity of β-Carboline Profile of Banisteriopsis caapi and Ayahuasca, a Plant and a Brew with Neuropharmacological Potential",
"type": "article-journal",
"volume": "9"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/disambiguate_PrimaryNameWithParticle.txt 0000644 0000000 0000000 00000002315 07346545000 023222 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
dos Smith; Smith
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "dos Smith",
"given": "Alan"
}
],
"id": "ITEM-1",
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "Beatrice"
}
],
"id": "ITEM-2",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/disambiguate_SetsOfNames.txt 0000644 0000000 0000000 00000022713 07346545000 020651 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
Test a combination reported by Zotero user @gauthamg, 2012-03-12
>>===== RESULT =====>>
(Ely, Gautam, et al. 2001; Ely, Inouye, et al. 2001; Ely, Margolin, et al. 2001)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"DOI": "10.1007/s00134-001-1132-2",
"URL": "http://www.ncbi.nlm.nih.gov/pubmed/11797025",
"author": [
{
"family": "Ely",
"given": "E W"
},
{
"family": "Gautam",
"given": "S"
},
{
"family": "Margolin",
"given": "R"
},
{
"family": "Francis",
"given": "J"
}
],
"container-title": "Intensive Care Medicine",
"id": 15892,
"issue": "12",
"issued": {
"date-parts": [
[
"2001",
12
]
]
},
"key": "CX6579SQ",
"note": "PMID: 11797025",
"page": "1892–1900",
"title": "The impact of delirium in the intensive care unit on hospital length of stay",
"type": "article-journal",
"volume": "27"
},
{
"DOI": "10.1001/jama.286.21.2703",
"URL": "http://jama.ama-assn.org/content/286/21/2703.abstract",
"author": [
{
"family": "Ely",
"given": "E W"
},
{
"family": "Inouye",
"given": "Sharon K."
},
{
"family": "Bernard",
"given": "Gordon R."
},
{
"family": "Gordon",
"given": "Sharon"
}
],
"container-title": "JAMA: The Journal of the American Medical Association",
"id": 15893,
"issue": "21",
"issued": {
"date-parts": [
[
"2001",
12
]
]
},
"key": "VKWUI22E",
"page": "2703 –2710",
"title": "Delirium in Mechanically Ventilated Patients",
"type": "article-journal",
"volume": "286"
},
{
"URL": "http://www.ncbi.nlm.nih.gov/pubmed/11445689",
"author": [
{
"family": "Ely",
"given": "E W"
},
{
"family": "Margolin",
"given": "R"
},
{
"family": "Francis",
"given": "J"
},
{
"family": "May",
"given": "L"
}
],
"container-title": "Critical Care Medicine",
"id": 15894,
"issue": "7",
"issued": {
"date-parts": [
[
"2001",
7
]
]
},
"key": "9E5QVF4E",
"note": "PMID: 11445689",
"page": "1370–1379",
"title": "Evaluation of delirium in critically ill patients: validation of the Confusion Assessment Method for the Intensive Care Unit (CAM-ICU)",
"title-short": "Evaluation of delirium in critically ill patients",
"type": "article-journal",
"volume": "29"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/disambiguate_SkipAccessedYearSuffix.txt 0000644 0000000 0000000 00000011411 07346545000 023022 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
Doe J. His Anonymous Life. http://example.com (accessed 15 December 2000). 1965a
Doe J. His Anonymous Life. http://example.com (accessed 15 December 2000). 1965b
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"URL": "http://example.com",
"accessed": {
"date-parts": [
[
"2000",
"12",
"15"
]
]
},
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"1965",
"6",
"1"
]
]
},
"title": "His Anonymous Life",
"type": "book"
},
{
"URL": "http://example.com",
"accessed": {
"date-parts": [
[
"2000",
"12",
"15"
]
]
},
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
"1965",
"6",
"1"
]
]
},
"title": "His Anonymous Life",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/disambiguate_ThreeNoAuthorNoTitleEntries.txt 0000644 0000000 0000000 00000004255 07346545000 024043 0 ustar 00 0000000 0000000 >>==== MODE ====>>
bibliography
<<==== MODE ====<<
>>==== RESULT ====>>
BleagleA, 2000
BleagleB, 2000
BleagleC, 2000
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
}
],
[
{
"id": "ITEM-2"
}
],
[
{
"id": "ITEM-3"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"container-title": "BleagleA",
"id": "ITEM-1",
"issued": {
"date-parts": [
[
2000
]
]
},
"type": "book"
},
{
"container-title": "BleagleB",
"id": "ITEM-2",
"issued": {
"date-parts": [
[
2000
]
]
},
"type": "book"
},
{
"container-title": "BleagleC",
"id": "ITEM-3",
"issued": {
"date-parts": [
[
2000
]
]
},
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/disambiguate_ToInitialOnly.txt 0000644 0000000 0000000 00000003073 07346545000 021216 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Smith; Smith; B. Muggins; J. Muggins
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Smith",
"given": "Cecil"
}
],
"id": "ITEM-1",
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "Charles"
}
],
"id": "ITEM-2",
"type": "book"
},
{
"author": [
{
"family": "Muggins",
"given": "Bob"
}
],
"id": "ITEM-3",
"type": "book"
},
{
"author": [
{
"family": "Muggins",
"given": "Jardine"
}
],
"id": "ITEM-4",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/disambiguate_Trigraph.txt 0000644 0000000 0000000 00000002732 07346545000 020241 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
Aalt02a
Aalt02b
Aalt02c
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
}
],
[
{
"id": "ITEM-2"
}
],
[
{
"id": "ITEM-3"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "Aalto",
"given": "Alan"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
2002
]
]
},
"type": "book"
},
{
"author": [
{
"family": "Aalto",
"given": "Alan"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
2002
]
]
},
"type": "book"
},
{
"author": [
{
"family": "Aalto",
"given": "Alan"
}
],
"id": "ITEM-3",
"issued": {
"date-parts": [
[
2002
]
]
},
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/disambiguate_WithOriginalYear.txt 0000644 0000000 0000000 00000024334 07346545000 021704 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
(Castel, [1995] 1999)
(Castel, 1999)
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
}
],
[
{
"id": "ITEM-2"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "Castel",
"given": "Christopher"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1999
]
]
},
"original-date": {
"date-parts": [
[
1995
]
]
},
"type": "book"
},
{
"author": [
{
"family": "Castel",
"given": "Christopher"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
1999
]
]
},
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/disambiguate_YearCollapseWithInstitution.txt 0000644 0000000 0000000 00000004434 07346545000 024153 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
(Smith Co 2000a; 2000b; 2000c)
(Smith Co 2000b)
(Smith Co 2000c)
<<===== RESULT =====<<
>>===== CITATION-ITEMS =====>>
[
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
},
{
"id": "ITEM-3"
}
],
[
{
"id": "ITEM-2"
}
],
[
{
"id": "ITEM-3"
}
]
]
<<===== CITATION-ITEMS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Smith Co"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
2000
]
]
},
"title": "Book A",
"type": "book"
},
{
"author": [
{
"family": "Smith Co"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
2000
]
]
},
"title": "Book B",
"type": "book"
},
{
"author": [
{
"family": "Smith Co"
}
],
"id": "ITEM-3",
"issued": {
"date-parts": [
[
2000
]
]
},
"title": "Book C",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/disambiguate_YearSuffixAndSort.txt 0000644 0000000 0000000 00000023606 07346545000 022044 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== DESCRIPTION =====>>
Per the CSL specification, with the add-year-suffix disambiguation method, "the assignment of
year-suffixes follows the order of the bibliographies entries."
https://docs.citationstyles.org/en/stable/specification.html#disambiguation
<<===== DESCRIPTION =====<<
>>===== CITATION-ITEMS =====>>
[
[
{
"id": "ambigs-1"
},
{
"id": "ambigs-2"
},
{
"id": "ambigs-3"
},
{
"id": "ambigs-4"
},
{
"id": "ambigs-5"
},
{
"id": "ambigs-6"
},
{
"id": "ambigs-7"
},
{
"id": "ambigs-8"
},
{
"id": "ambigs-9"
},
{
"id": "ambigs-10"
},
{
"id": "ambigs-11"
},
{
"id": "ambigs-12"
},
{
"id": "ambigs-13"
}
]
]
<<===== CITATION-ITEMS =====<<
>>===== RESULT =====>>
1990m!; 1990l!; 1990k!; 1990j!; 1990i!; 1990h!; 1990g!; 1990f!; 1990e!; 1990d!; 1990c!; 1990b!; 1990a!
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Asthma",
"given": "Albert"
},
{
"family": "Bronchitis",
"given": "Bosworth"
},
{
"family": "Cold",
"given": "Crispin"
},
{
"family": "Dropsy",
"given": "David"
},
{
"family": "Ebola",
"given": "Elvin"
},
{
"family": "Fever",
"given": "Fergus"
}
],
"id": "ambigs-1",
"issued": {
"date-parts": [
[
"1990"
]
]
},
"title": "Book M",
"type": "book"
},
{
"author": [
{
"family": "Asthma",
"given": "Albert"
},
{
"family": "Bronchitis",
"given": "Bosworth"
},
{
"family": "Cold",
"given": "Crispin"
},
{
"family": "Dropsy",
"given": "David"
},
{
"family": "Enteritis",
"given": "Ernie"
},
{
"family": "Fever",
"given": "Fergus"
}
],
"id": "ambigs-2",
"issued": {
"date-parts": [
[
"1990"
]
]
},
"title": "Book L",
"type": "book"
},
{
"author": [
{
"family": "Asthma",
"given": "Albert"
},
{
"family": "Bronchitis",
"given": "Bosworth"
},
{
"family": "Cold",
"given": "Crispin"
},
{
"family": "Dropsy",
"given": "David"
},
{
"family": "Ebola",
"given": "Elvin"
},
{
"family": "Fever",
"given": "Fergus"
}
],
"id": "ambigs-3",
"issued": {
"date-parts": [
[
"1990"
]
]
},
"title": "Book K",
"type": "book"
},
{
"author": [
{
"family": "Asthma",
"given": "Albert"
},
{
"family": "Bronchitis",
"given": "Bosworth"
},
{
"family": "Cold",
"given": "Crispin"
}
],
"id": "ambigs-4",
"issued": {
"date-parts": [
[
"1990"
]
]
},
"title": "Book J",
"type": "book"
},
{
"author": [
{
"family": "Asthma",
"given": "Albert"
},
{
"family": "Bronchitis",
"given": "Beauregarde"
},
{
"family": "Cold",
"given": "Crispin"
}
],
"id": "ambigs-5",
"issued": {
"date-parts": [
[
"1990"
]
]
},
"title": "Book I",
"type": "book"
},
{
"author": [
{
"family": "Asthma",
"given": "Alan"
},
{
"family": "Bronchitis",
"given": "Bosworth"
},
{
"family": "Cold",
"given": "Crispin"
},
{
"family": "Dropsy",
"given": "David"
},
{
"family": "Ebola",
"given": "Elvin"
},
{
"family": "Fever",
"given": "Fergus"
}
],
"id": "ambigs-6",
"issued": {
"date-parts": [
[
"1990"
]
]
},
"title": "Book H",
"type": "book"
},
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Janet"
}
],
"id": "ambigs-7",
"issued": {
"date-parts": [
[
"1990"
]
]
},
"title": "Book G",
"type": "book"
},
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ambigs-8",
"issued": {
"date-parts": [
[
"1990"
]
]
},
"title": "Book F",
"type": "book"
},
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ambigs-9",
"issued": {
"date-parts": [
[
"1990"
]
]
},
"title": "Book E",
"type": "book"
},
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Janet"
}
],
"id": "ambigs-10",
"issued": {
"date-parts": [
[
"1990"
]
]
},
"title": "Book D",
"type": "book"
},
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
},
{
"family": "Jones",
"given": "Robert"
}
],
"id": "ambigs-11",
"issued": {
"date-parts": [
[
"1990"
]
]
},
"title": "Book C",
"type": "book"
},
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Josephine"
},
{
"family": "Jones",
"given": "Robert"
}
],
"id": "ambigs-12",
"issued": {
"date-parts": [
[
"1990"
]
]
},
"title": "Book B",
"type": "book"
},
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
},
{
"family": "Jones",
"given": "Richard"
}
],
"id": "ambigs-13",
"issued": {
"date-parts": [
[
"1990"
]
]
},
"title": "Book A",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/disambiguate_YearSuffixAtTwoLevels.txt 0000644 0000000 0000000 00000005537 07346545000 022706 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
Smith, Jones & Brown (1986a); Smith, Jones & Brown (1986b); Smith, Jones, Brown, et al. (1986a); Smith, Jones, Brown, et al. (1986b)
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
},
{
"id": "ITEM-3"
},
{
"id": "ITEM-4"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "Smith",
"given": "John"
},
{
"family": "Jones",
"given": "John"
},
{
"family": "Brown",
"given": "John"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "John"
},
{
"family": "Jones",
"given": "John"
},
{
"family": "Brown",
"given": "John"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "John"
},
{
"family": "Jones",
"given": "John"
},
{
"family": "Brown",
"given": "John"
},
{
"family": "Green",
"given": "John"
}
],
"id": "ITEM-3",
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "John"
},
{
"family": "Jones",
"given": "John"
},
{
"family": "Brown",
"given": "John"
},
{
"family": "Green",
"given": "John"
}
],
"id": "ITEM-4",
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/disambiguate_YearSuffixFiftyTwoEntries.txt 0000644 0000000 0000000 00000055613 07346545000 023602 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
Note the two-full-stops prefix on the first entry, which shows that
the processor has recognized that this entire run of year-suffixed
cites can be left untouched.
>>===== RESULT =====>>
..[0] (Smith 1986a; Smith 1986b; Smith 1986c; Smith 1986d; Smith 1986e; Smith 1986f; Smith 1986g; Smith 1986h; Smith 1986i; Smith 1986j; Smith 1986k; Smith 1986l; Smith 1986m; Smith 1986n; Smith 1986o; Smith 1986p; Smith 1986q; Smith 1986r; Smith 1986s; Smith 1986t; Smith 1986u; Smith 1986v; Smith 1986w; Smith 1986x; Smith 1986y; Smith 1986z; Smith 1986aa; Smith 1986ab; Smith 1986ac; Smith 1986ad; Smith 1986ae; Smith 1986af; Smith 1986ag; Smith 1986ah; Smith 1986ai; Smith 1986aj; Smith 1986ak; Smith 1986al; Smith 1986am; Smith 1986an; Smith 1986ao; Smith 1986ap; Smith 1986aq; Smith 1986ar; Smith 1986as; Smith 1986at; Smith 1986au; Smith 1986av; Smith 1986aw; Smith 1986ax; Smith 1986ay)
>>[1] (Smith 1986az)
<<===== RESULT =====<<
>>===== CITATIONS =====>>
[
[
{
"citationID": "CITATION-1",
"citationItems": [
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
},
{
"id": "ITEM-3"
},
{
"id": "ITEM-4"
},
{
"id": "ITEM-5"
},
{
"id": "ITEM-6"
},
{
"id": "ITEM-7"
},
{
"id": "ITEM-8"
},
{
"id": "ITEM-9"
},
{
"id": "ITEM-10"
},
{
"id": "ITEM-11"
},
{
"id": "ITEM-12"
},
{
"id": "ITEM-13"
},
{
"id": "ITEM-14"
},
{
"id": "ITEM-15"
},
{
"id": "ITEM-16"
},
{
"id": "ITEM-17"
},
{
"id": "ITEM-18"
},
{
"id": "ITEM-19"
},
{
"id": "ITEM-20"
},
{
"id": "ITEM-22"
},
{
"id": "ITEM-23"
},
{
"id": "ITEM-24"
},
{
"id": "ITEM-25"
},
{
"id": "ITEM-26"
},
{
"id": "ITEM-27"
},
{
"id": "ITEM-28"
},
{
"id": "ITEM-29"
},
{
"id": "ITEM-30"
},
{
"id": "ITEM-31"
},
{
"id": "ITEM-32"
},
{
"id": "ITEM-33"
},
{
"id": "ITEM-34"
},
{
"id": "ITEM-35"
},
{
"id": "ITEM-36"
},
{
"id": "ITEM-37"
},
{
"id": "ITEM-38"
},
{
"id": "ITEM-39"
},
{
"id": "ITEM-40"
},
{
"id": "ITEM-41"
},
{
"id": "ITEM-42"
},
{
"id": "ITEM-43"
},
{
"id": "ITEM-44"
},
{
"id": "ITEM-45"
},
{
"id": "ITEM-46"
},
{
"id": "ITEM-47"
},
{
"id": "ITEM-48"
},
{
"id": "ITEM-49"
},
{
"id": "ITEM-50"
},
{
"id": "ITEM-51"
},
{
"id": "ITEM-52"
}
],
"properties": {
"noteIndex": 0
}
},
[],
[]
],
[
{
"citationID": "CITATION-2",
"citationItems": [
{
"id": "ITEM-53"
}
],
"properties": {
"noteIndex": 1
}
},
[
[
"CITATION-1",
0
]
],
[]
]
]
<<===== CITATIONS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-1"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-2"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-3"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-4"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-5"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-6"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-7"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-8"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-9"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-10"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-11"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-12"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-13"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-14"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-15"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-16"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-17"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-18"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-19"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-20"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-21"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-22"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-23"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-24"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-25"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-26"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-27"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-28"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-29"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-30"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-31"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-32"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-33"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-34"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-35"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-36"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-37"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-38"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-39"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-40"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-41"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-42"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-43"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-44"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-45"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-46"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-47"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-48"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-49"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-50"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-51"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-52"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-53"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/disambiguate_YearSuffixFiftyTwoEntriesByCite.txt 0000644 0000000 0000000 00000056053 07346545000 024701 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
Note the two-full-stops prefix on the first entry, which shows that
the processor has recognized that this entire run of year-suffixed
cites can be left untouched.
## 2013-04-17 :: Frank Bennett
This is particularly difficult to achieve with by-cite
disambiguation. Fortunately, it can be done.
>>===== RESULT =====>>
..[0] (Smith 1986a; Smith 1986b; Smith 1986c; Smith 1986d; Smith 1986e; Smith 1986f; Smith 1986g; Smith 1986h; Smith 1986i; Smith 1986j; Smith 1986k; Smith 1986l; Smith 1986m; Smith 1986n; Smith 1986o; Smith 1986p; Smith 1986q; Smith 1986r; Smith 1986s; Smith 1986t; Smith 1986u; Smith 1986v; Smith 1986w; Smith 1986x; Smith 1986y; Smith 1986z; Smith 1986aa; Smith 1986ab; Smith 1986ac; Smith 1986ad; Smith 1986ae; Smith 1986af; Smith 1986ag; Smith 1986ah; Smith 1986ai; Smith 1986aj; Smith 1986ak; Smith 1986al; Smith 1986am; Smith 1986an; Smith 1986ao; Smith 1986ap; Smith 1986aq; Smith 1986ar; Smith 1986as; Smith 1986at; Smith 1986au; Smith 1986av; Smith 1986aw; Smith 1986ax; Smith 1986ay)
>>[1] (Smith 1986az)
<<===== RESULT =====<<
>>===== CITATIONS =====>>
[
[
{
"citationID": "CITATION-1",
"citationItems": [
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
},
{
"id": "ITEM-3"
},
{
"id": "ITEM-4"
},
{
"id": "ITEM-5"
},
{
"id": "ITEM-6"
},
{
"id": "ITEM-7"
},
{
"id": "ITEM-8"
},
{
"id": "ITEM-9"
},
{
"id": "ITEM-10"
},
{
"id": "ITEM-11"
},
{
"id": "ITEM-12"
},
{
"id": "ITEM-13"
},
{
"id": "ITEM-14"
},
{
"id": "ITEM-15"
},
{
"id": "ITEM-16"
},
{
"id": "ITEM-17"
},
{
"id": "ITEM-18"
},
{
"id": "ITEM-19"
},
{
"id": "ITEM-20"
},
{
"id": "ITEM-22"
},
{
"id": "ITEM-23"
},
{
"id": "ITEM-24"
},
{
"id": "ITEM-25"
},
{
"id": "ITEM-26"
},
{
"id": "ITEM-27"
},
{
"id": "ITEM-28"
},
{
"id": "ITEM-29"
},
{
"id": "ITEM-30"
},
{
"id": "ITEM-31"
},
{
"id": "ITEM-32"
},
{
"id": "ITEM-33"
},
{
"id": "ITEM-34"
},
{
"id": "ITEM-35"
},
{
"id": "ITEM-36"
},
{
"id": "ITEM-37"
},
{
"id": "ITEM-38"
},
{
"id": "ITEM-39"
},
{
"id": "ITEM-40"
},
{
"id": "ITEM-41"
},
{
"id": "ITEM-42"
},
{
"id": "ITEM-43"
},
{
"id": "ITEM-44"
},
{
"id": "ITEM-45"
},
{
"id": "ITEM-46"
},
{
"id": "ITEM-47"
},
{
"id": "ITEM-48"
},
{
"id": "ITEM-49"
},
{
"id": "ITEM-50"
},
{
"id": "ITEM-51"
},
{
"id": "ITEM-52"
}
],
"properties": {
"noteIndex": 0
}
},
[],
[]
],
[
{
"citationID": "CITATION-2",
"citationItems": [
{
"id": "ITEM-53"
}
],
"properties": {
"noteIndex": 1
}
},
[
[
"CITATION-1",
0
]
],
[]
]
]
<<===== CITATIONS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-1"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-2"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-3"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-4"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-5"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-6"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-7"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-8"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-9"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-10"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-11"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-12"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-13"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-14"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-15"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-16"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-17"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-18"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-19"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-20"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-21"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-22"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-23"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-24"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-25"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-26"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-27"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-28"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-29"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-30"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-31"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-32"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-33"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-34"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-35"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-36"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-37"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-38"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-39"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-40"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-41"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-42"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-43"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-44"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-45"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-46"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-47"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-48"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-49"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-50"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-51"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-52"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-53"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/disambiguate_YearSuffixMacroSameYearExplicit.txt 0000644 0000000 0000000 00000002740 07346545000 024660 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
A Smith 2001
B Smith 2001
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
}
],
[
{
"id": "ITEM-2"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "Smith",
"given": "A"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
2001
]
]
},
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "B"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
2001
]
]
},
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/disambiguate_YearSuffixMacroSameYearImplicit.txt 0000644 0000000 0000000 00000002603 07346545000 024647 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
A Smith 2001
B Smith 2001
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
}
],
[
{
"id": "ITEM-2"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "Smith",
"given": "A"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
2001
]
]
},
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "B"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
2001
]
]
},
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/disambiguate_YearSuffixMidInsert.txt 0000644 0000000 0000000 00000033206 07346545000 022365 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
(UN DESA 2011b)
(UN DESA 2011c)
(UN DESA 2011a)
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": 76
}
],
[
{
"id": 71
}
],
[
{
"id": 72
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"URL": "http://www.un.org/en/development/desa/policy/wesp/wesp_mb/wesp_mb30.pdf",
"author": [
{
"family": "UN DESA",
"given": ""
}
],
"collection-title": "Monthly Briefing",
"id": 76,
"issued": {
"date-parts": [
[
"2011",
4,
11
]
]
},
"number": "30",
"publisher": "United Nations",
"title": "Monthly Briefing: World Economic Situation and Prospects",
"type": "report"
},
{
"URL": "http://www.un.org/en/development/desa/policy/wesp/wesp_current/2011wespupdate_pr_en.pdf",
"author": [
{
"family": "UN DESA",
"given": ""
}
],
"collection-title": "WESP",
"id": 71,
"issued": {
"date-parts": [
[
"2011",
5,
25
]
]
},
"publisher": "United Nations",
"title": "World Economic Situation and Prospects 2011: Update as of mid-2011",
"type": "report"
},
{
"author": [
{
"family": "UN DESA",
"given": ""
}
],
"call-number": "E.11.II.C.2",
"id": 72,
"issued": {
"date-parts": [
[
2011,
1,
13
]
]
},
"note": "#",
"publisher": "United Nations",
"title": "World Economic Situation and Prospects 2011",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/disambiguate_YearSuffixMixedDates.txt 0000644 0000000 0000000 00000005171 07346545000 022516 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
(A Ylinen, 1995a; b; c)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Ylinen",
"given": "A"
}
],
"id": 22,
"issued": {
"date-parts": [
[
1995
]
]
},
"type": "article-journal"
},
{
"author": [
{
"family": "Ylinen",
"given": "A"
}
],
"id": 21,
"issued": {
"date-parts": [
[
"1995"
]
]
},
"type": "article-journal"
},
{
"author": [
{
"family": "Ylinen",
"given": "A"
}
],
"id": 23,
"issued": {
"date-parts": [
[
"1995"
]
]
},
"type": "article-journal"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/disambiguate_YearSuffixTwoPairsBibliography.txt 0000644 0000000 0000000 00000006301 07346545000 024567 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
Original test by Bruce D'Arcus.
>>===== RESULT =====>>
J. Doe and S. Jones, 1999a
J. Doe and S. Jones, 1999b
J. Doe and S. Smith, 1999a
J. Doe and S. Smith, 1999b
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Jones",
"given": "Sarah"
}
],
"id": "suffix1",
"issued": {
"date-parts": [
[
"1999"
]
]
},
"title": "Book A",
"type": "book"
},
{
"author": [
{
"family": "Doe",
"given": "James"
},
{
"family": "Jones",
"given": "Steven"
}
],
"id": "suffix2",
"issued": {
"date-parts": [
[
"1999"
]
]
},
"title": "Book B",
"type": "book"
},
{
"author": [
{
"family": "Doe",
"given": "Jake"
},
{
"family": "Smith",
"given": "Stan"
}
],
"id": "suffix3",
"issued": {
"date-parts": [
[
"1999"
]
]
},
"title": "Book C",
"type": "book"
},
{
"author": [
{
"family": "Doe",
"given": "Jasper"
},
{
"family": "Smith",
"given": "Sandra"
}
],
"id": "suffix4",
"issued": {
"date-parts": [
[
"1999"
]
]
},
"title": "Book D",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/disambiguate_YearSuffixTwoPairsFirstNameBibliography.txt 0000644 0000000 0000000 00000006365 07346545000 026412 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
Original test by Bruce D'Arcus.
>>===== RESULT =====>>
J. Doe and S. Jones, 1999a
J. Doe and S. Jones, 1999b
J. Doe and S. Smith, 1999a
J. Doe and S. Smith, 1999b
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Jones",
"given": "Sarah"
}
],
"id": "suffix1",
"issued": {
"date-parts": [
[
"1999"
]
]
},
"title": "Book A",
"type": "book"
},
{
"author": [
{
"family": "Doe",
"given": "James"
},
{
"family": "Jones",
"given": "Steven"
}
],
"id": "suffix2",
"issued": {
"date-parts": [
[
"1999"
]
]
},
"title": "Book B",
"type": "book"
},
{
"author": [
{
"family": "Doe",
"given": "Jake"
},
{
"family": "Smith",
"given": "Stan"
}
],
"id": "suffix3",
"issued": {
"date-parts": [
[
"1999"
]
]
},
"title": "Book C",
"type": "book"
},
{
"author": [
{
"family": "Doe",
"given": "Jasper"
},
{
"family": "Smith",
"given": "Sandra"
}
],
"id": "suffix4",
"issued": {
"date-parts": [
[
"1999"
]
]
},
"title": "Book D",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/disambiguate_YearSuffixTwoPairsFullNamesBibliography.txt 0000644 0000000 0000000 00000006251 07346545000 026402 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
Original test by Bruce D'Arcus.
>>===== RESULT =====>>
J. Doe and S. Jones, 1999
J. Doe and S. Jones, 1999
J. Doe and S. Smith, 1999
J. Doe and S. Smith, 1999
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Jones",
"given": "Sarah"
}
],
"id": "suffix1",
"issued": {
"date-parts": [
[
"1999"
]
]
},
"title": "Book A",
"type": "book"
},
{
"author": [
{
"family": "Doe",
"given": "James"
},
{
"family": "Jones",
"given": "Steven"
}
],
"id": "suffix2",
"issued": {
"date-parts": [
[
"1999"
]
]
},
"title": "Book B",
"type": "book"
},
{
"author": [
{
"family": "Doe",
"given": "Jake"
},
{
"family": "Smith",
"given": "Stan"
}
],
"id": "suffix3",
"issued": {
"date-parts": [
[
"1999"
]
]
},
"title": "Book C",
"type": "book"
},
{
"author": [
{
"family": "Doe",
"given": "Jasper"
},
{
"family": "Smith",
"given": "Sandra"
}
],
"id": "suffix4",
"issued": {
"date-parts": [
[
"1999"
]
]
},
"title": "Book D",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/disambiguate_YearSuffixWithEtAlSubequent.txt 0000644 0000000 0000000 00000004556 07346545000 024052 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
(Smith 2000a; 2000b; 2000c)
(Smith 2000b)
(Smith 2000c)
<<===== RESULT =====<<
>>===== CITATION-ITEMS =====>>
[
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
},
{
"id": "ITEM-3"
}
],
[
{
"id": "ITEM-2"
}
],
[
{
"id": "ITEM-3"
}
]
]
<<===== CITATION-ITEMS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
2000
]
]
},
"title": "Book A",
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
2000
]
]
},
"title": "Book B",
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"id": "ITEM-3",
"issued": {
"date-parts": [
[
2000
]
]
},
"title": "Book C",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/disambiguate_YearSuffixWithEtAlSubsequent.txt 0000644 0000000 0000000 00000004556 07346545000 024235 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
(Smith 2000a; 2000b; 2000c)
(Smith 2000b)
(Smith 2000c)
<<===== RESULT =====<<
>>===== CITATION-ITEMS =====>>
[
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
},
{
"id": "ITEM-3"
}
],
[
{
"id": "ITEM-2"
}
],
[
{
"id": "ITEM-3"
}
]
]
<<===== CITATION-ITEMS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
2000
]
]
},
"title": "Book A",
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
2000
]
]
},
"title": "Book B",
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"id": "ITEM-3",
"issued": {
"date-parts": [
[
2000
]
]
},
"title": "Book C",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/disambiguate_YearSuffixWithMixedCreatorTypes.txt 0000644 0000000 0000000 00000003637 07346545000 024743 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== CITATION-ITEMS =====>>
[
[
{
"id": "ITEM-1"
}
],
[
{
"id": "ITEM-2"
}
]
]
<<===== CITATION-ITEMS =====<<
>>===== RESULT =====>>
(Asthma 1990a)
(Asthma 1990b)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Asthma",
"given": "Albert"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"1990"
]
]
},
"title": "Book A",
"type": "book"
},
{
"editor": [
{
"family": "Asthma",
"given": "Albert"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
"1990"
]
]
},
"title": "Book B",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/display_AuthorAsHeading.txt 0000644 0000000 0000000 00000011157 07346545000 020477 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== DESCRIPTION =====>>
An illustration of how the class attribute could be used to support
the grouping of authors in the AAA style bibliography format.
<<===== DESCRIPTION =====<<
>>===== RESULT =====>>
John Aloysius Doe
1999
Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa
2000
Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb
Jane Henrietta Roe
1999a
Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc
1999b
Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd
2000
Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John Aloysius"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1999
]
]
},
"title": "Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa",
"type": "book"
},
{
"author": [
{
"family": "Doe",
"given": "John Aloysius"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
2000
]
]
},
"title": "Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb",
"type": "book"
},
{
"author": [
{
"family": "Roe",
"given": "Jane Henrietta"
}
],
"id": "ITEM-3",
"issued": {
"date-parts": [
[
1999
]
]
},
"title": "Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc",
"type": "book"
},
{
"author": [
{
"family": "Roe",
"given": "Jane Henrietta"
}
],
"id": "ITEM-4",
"issued": {
"date-parts": [
[
1999
]
]
},
"title": "Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd",
"type": "book"
},
{
"author": [
{
"family": "Roe",
"given": "Jane Henrietta"
}
],
"id": "ITEM-5",
"issued": {
"date-parts": [
[
2000
]
]
},
"title": "Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/display_DisplayBlock.txt 0000644 0000000 0000000 00000004005 07346545000 020043 0 ustar 00 0000000 0000000 >>== MODE ==>>
bibliography
<<== MODE ==<<
>>== RESULT ==>>
John Smith, Book A (2000)
An interesting book by an interesting author.
Robert Jones, Book B (2001)
An old contribution to a new field.
<<== RESULT ==<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"abstract": "An interesting book by an interesting author.",
"author": [
{
"family": "Smith",
"given": "John"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "Book A",
"type": "book"
},
{
"abstract": "An old contribution to a new field.",
"author": [
{
"family": "Jones",
"given": "Robert"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
"2001"
]
]
},
"title": "Book B",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/display_LostSuffix.txt 0000644 0000000 0000000 00000022473 07346545000 017602 0 ustar 00 0000000 0000000 >>==== MODE ====>>
bibliography
<<==== MODE ====<<
>>==== RESULT ====>>
Book One, (zitiert als: Aalto, Chapter One).
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "Aalto",
"given": "Alan"
}
],
"collection-title": "Book One",
"id": "ITEM-1",
"title": "Chapter One",
"type": "chapter"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/display_SecondFieldAlignClone.txt 0000644 0000000 0000000 00000004405 07346545000 021602 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
[1]
John Aloysius Doe, “John’s Book” (1999)
[2]
Jane Henrietta Roe, “Jane’s Book” (2000)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John Aloysius"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1999
]
]
},
"title": "John's Book",
"type": "book"
},
{
"author": [
{
"family": "Roe",
"given": "Jane Henrietta"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
2000
]
]
},
"title": "Jane's Book",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/display_SecondFieldAlignMigratePunctuation.txt 0000644 0000000 0000000 00000015265 07346545000 024372 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
[1]
B. D’Arcus, Boundaries of Dissent: Protest and State Power in the Media Age, Routledge, 2005.
[2]
F.G. Bennett Jr., “Getting Property Right: ‘Informal’ Mortgages in the Japanese Courts,” Pac. Rim L. & Pol’y J., vol. 18, Aug. 2009, pp. 463–509.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "D'Arcus",
"given": "Bruce"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
2005,
11,
22
]
]
},
"note": "The apostrophe in Bruce's name appears in proper typeset form.",
"publisher": "Routledge",
"title": "Boundaries of Dissent: Protest and State Power in the Media Age",
"type": "book"
},
{
"author": [
{
"family": "Bennett",
"given": "Frank G.",
"suffix": "Jr."
}
],
"container-title": "Pac. Rim L. & Pol'y J.",
"id": "ITEM-2",
"issued": {
"date-parts": [
[
2009,
8
]
]
},
"page": "463-509",
"title": "Getting Property Right: \"Informal\" Mortgages in the Japanese Courts",
"type": "article-journal",
"volume": "18"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/etal_CitationAndBibliographyDecorationsInBibliography.txt 0000644 0000000 0000000 00000010006 07346545000 026510 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
},
{
"family": "Noakes",
"given": "Richard"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"1965",
"6",
"1"
]
]
},
"title": "His Anonymous Life",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/etal_CitationAndBibliographyDecorationsInCitation.txt 0000644 0000000 0000000 00000007706 07346545000 025664 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
(Doe et al., 1965)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
},
{
"family": "Noakes",
"given": "Richard"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"1965",
"6",
"1"
]
]
},
"title": "His Anonymous Life",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/etal_ShortFormOfName.txt 0000644 0000000 0000000 00000002033 07346545000 017753 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Doe et al.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
},
{
"family": "Noakes",
"given": "Richard"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/etal_UseZeroFirst.txt 0000644 0000000 0000000 00000002257 07346545000 017356 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/flipflop_ApostropheInsideTag.txt 0000644 0000000 0000000 00000003527 07346545000 021555 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
l’’’
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"multi": {
"_keys": {},
"main": {}
},
"title": "l'''",
"type": "article-journal"
}
]
<<===== INPUT =====<<
"title": "l'wow",
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/flipflop_Apostrophes.txt 0000644 0000000 0000000 00000103142 07346545000 020142 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
“Supplément Aux Annales Du Service Des Antiquités de l’Égypte, Cahier” (Cairo: Conseil Suprême des Antiquités de l’Égypte [formerly Imprimerie de l’Institut français d’archéologie orientale], n.d.).
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"publisher": "Conseil Suprême des Antiquités de l'Égypte [formerly Imprimerie de l'Institut français d'archéologie orientale]",
"publisher-place": "Cairo",
"title": "Supplément aux annales du Service des Antiquités de l'Égypte, Cahier",
"type": ""
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/flipflop_BoldfaceNodeLevelMarkup.txt 0000644 0000000 0000000 00000001343 07346545000 022310 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Speak, friend, and enter.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/flipflop_CompleteCiteInPrefix.txt 0000644 0000000 0000000 00000002622 07346545000 021656 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
Wilhelm Dilthey, “The Types of World Views and Their Unfoldment Within the Metaphysical Systems,” in Dilthey’s Philosophy of Existence: Introduction to Weltanschauungslehre, trans. William Kluback and Martin Weinbaum (New York: Bookman Associates, 1957), 26–27 Other Book Title
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1",
"prefix": "Wilhelm Dilthey, \"The Types of World Views and Their Unfoldment Within the Metaphysical Systems,\" in Dilthey’s Philosophy of Existence: Introduction to Weltanschauungslehre, trans. William Kluback and Martin Weinbaum (New York: Bookman Associates, 1957), 26–27 "
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"id": "ITEM-1",
"title": "Other Book Title",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/flipflop_ItalicsFlipped.txt 0000644 0000000 0000000 00000002141 07346545000 020524 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
One Two Three Four Five!
One Two Three Four Five!
<<===== RESULT =====<<
>>===== CITATION-ITEMS =====>>
[
[
{
"id": "ITEM-1"
}
],
[
{
"id": "ITEM-2"
}
]
]
<<===== CITATION-ITEMS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "One Two Three Four Five!",
"type": "book"
},
{
"id": "ITEM-2",
"title": "One Two Three Four Five!",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/flipflop_ItalicsSimple.txt 0000644 0000000 0000000 00000003600 07346545000 020373 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
One TwoA Three Four Five!
One TwoB Three Four Five!
One TwoC Three Four Five!
One TwoD Three Four Five!
One TwoE Three Four Five!
One TwoF</i> Three Four Five!
<<===== RESULT =====<<
>>===== CITATION-ITEMS =====>>
[
[
{
"id": "ITEM-1"
}
],
[
{
"id": "ITEM-2"
}
],
[
{
"id": "ITEM-3"
}
],
[
{
"id": "ITEM-4"
}
],
[
{
"id": "ITEM-5"
}
],
[
{
"id": "ITEM-6"
}
]
]
<<===== CITATION-ITEMS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "One TwoA Three Four Five!",
"type": "book"
},
{
"id": "ITEM-2",
"title": "One TwoB Three Four Five!",
"type": "book"
},
{
"id": "ITEM-3",
"title": "One TwoC Three Four Five!",
"type": "book"
},
{
"id": "ITEM-4",
"title": "One TwoD Three Four Five!",
"type": "book"
},
{
"id": "ITEM-5",
"title": "One TwoE Three Four Five!",
"type": "book"
},
{
"id": "ITEM-6",
"title": "One TwoF Three Four Five!",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/flipflop_ItalicsWithOk.txt 0000644 0000000 0000000 00000003075 07346545000 020355 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
Lessard v. Schmidt. 1972. 349 F. Supp. 1078 (E.D. Wisc.).
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"authority": "E.D. Wisc.",
"container-title": "F. Supp.",
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1972
]
]
},
"page": "1078-1100",
"title": "Lessard v. Schmidt",
"type": "legal_case",
"volume": "349"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/flipflop_ItalicsWithOkAndTextcase.txt 0000644 0000000 0000000 00000003207 07346545000 022476 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
Lessard v. Schmidt. 1972. 349 F. Supp. 1078 (E.D. Wisc.).
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"authority": "E.D. Wisc.",
"container-title": "F. Supp.",
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1972
]
]
},
"page": "1078-1100",
"title": "lessard v. schmidt",
"type": "legal_case",
"volume": "349"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/flipflop_LeadingMarkupWithApostrophe.txt 0000644 0000000 0000000 00000002152 07346545000 023256 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
Insha’Allah is an Arabic phrase meaning ‘God willing’. Another Arabic word is bukra. Aalto
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1",
"prefix": "Insha’Allah is an Arabic phrase meaning ‘God willing’. Another Arabic word is bukra. "
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "Aalto",
"given": "Alan"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/flipflop_LeadingSingleQuote.txt 0000644 0000000 0000000 00000001374 07346545000 021362 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
“‘Parmenides’ 132c–133a and the development of Plato’s thought”
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "‘Parmenides’ 132c–133a and the development of Plato's thought",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/flipflop_LongComplexPrefix.txt 0000644 0000000 0000000 00000003530 07346545000 021240 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
The French translation provided there runs, Toi, qui cultives notre philosophie sous lhabit étranger—et peut-être pas si étranger que cela, puisque la chevelure des naziréens et la consécration de la tête, dont il a toujours tenu le fer à lécart, sont aussi comme une loi des sanctuaires, et que la blancheur et l’éclat des vêtements appartiennent aux anges, quand on les représente sous une forme corporelle: c’est, je pense, le symbole de la pureté propre à leur nature—! Other Book Title
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1",
"prefix": "The French translation provided there runs, Toi, qui cultives notre philosophie sous lhabit étranger—et peut-être pas si étranger que cela, puisque la chevelure des naziréens et la consécration de la tête, dont il a toujours tenu le fer à lécart, sont aussi comme une loi des sanctuaires, et que la blancheur et l’éclat des vêtements appartiennent aux anges, quand on les représente sous une forme corporelle: c’est, je pense, le symbole de la pureté propre à leur nature—! "
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"id": "ITEM-1",
"title": "Other Book Title",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/flipflop_NumericField.txt 0000644 0000000 0000000 00000004214 07346545000 020201 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
That is to say, rich text markup is not parsed on numeric fields with
numeric content.
This is the result in citeproc-js, but the correct behavior under CSL
at large is TBD.
As of this writing (2018-05-05), citeproc-js DOES parse rich text
markup in numeric fields if the field contains no numeric value
(not demonstrated by this fixture, but it is so). This inconsistency,
at least, is not desirable.
>>===== RESULT =====>>
1<sup>er</sup>
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"number": "1er",
"type": ""
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/flipflop_OrphanQuote.txt 0000644 0000000 0000000 00000001623 07346545000 020101 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
Nation of "Positive Obligations " of State under the European Convention on Human Rights (1)
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"id": "ITEM-1",
"title": "Nation of \"Positive Obligations \" of State under the European Convention on Human Rights (1)",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/flipflop_QuotesInFieldNotOnNode.txt 0000644 0000000 0000000 00000001223 07346545000 022127 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Speak, “friend,” and enter.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/flipflop_QuotesNodeLevelMarkup.txt 0000644 0000000 0000000 00000002102 07346545000 022063 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
“Speak, ‘friend’ of mine on this day, March 15, 1973, and enter.”
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1973,
3,
15
]
]
},
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/flipflop_SingleBeforeColon.txt 0000644 0000000 0000000 00000001721 07346545000 021172 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
“Nobody Knows You’re a Dog”: As Iconic Internet Cartoon Turns 20, Creator Peter Steiner Knows the Joke Rings as Relevant as Ever
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"id": "ITEM-1",
"title": "'Nobody Knows You're a Dog': As iconic Internet cartoon turns 20, creator Peter Steiner knows the joke rings as relevant as ever",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/flipflop_SingleQuotesOnItalics.txt 0000644 0000000 0000000 00000001232 07346545000 022060 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
It is official (“My Title”) now
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "It is official (\"My Title\") now"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/flipflop_SmallCaps.txt 0000644 0000000 0000000 00000002031 07346545000 017505 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
His Anonymous Life, His Anthology
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"container-title": "His Anthology",
"id": "ITEM-1",
"title": "His Anonymous Life",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/flipflop_StartingApostrophe.txt 0000644 0000000 0000000 00000001337 07346545000 021476 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
IEEE Conference on Emerging Technologies and Factory Automation (ETFA ’09)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"title": "IEEE Conference on Emerging Technologies and Factory Automation (ETFA '09)",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/form_TitleShort.txt 0000644 0000000 0000000 00000001255 07346545000 017066 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Book A
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "Book A: The Long Version",
"title-short": "Book A",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/form_TitleShortNoLong.txt 0000644 0000000 0000000 00000001200 07346545000 020171 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Book A
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title-short": "Book A",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/form_TitleTestNoLongFalse.txt 0000644 0000000 0000000 00000001374 07346545000 021000 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
false
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title-short": "Book A",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/fullstyles_ABdNT.txt 0000644 0000000 0000000 00000063141 07346545000 017122 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
Note: Previously expected plain hyphen on issue number.
>>===== RESULT =====>>
COLE, S. J.; MOORE, R. Hydrological modelling using raingauge- and radar-based estimators of areal rainfall. Journal of Hydrology, v. 358, n. 3–4, p. 159–181, 2008.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"DOI": "10.1016/j.jhydrol.2008.05.025",
"ISSN": "0022-1694",
"author": [
{
"family": "Cole",
"given": "Steven J."
},
{
"family": "Moore",
"given": "Robert"
}
],
"container-title": "Journal of Hydrology",
"id": "ITEM-1",
"issue": "3-4",
"issued": {
"date-parts": [
[
2008
]
]
},
"page": "159-181",
"title": "Hydrological modelling using raingauge- and radar-based estimators of areal rainfall",
"type": "article-journal",
"url": "http://www.sciencedirect.com/science/article/pii/S0022169408002394",
"volume": "358"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/fullstyles_APA.txt 0000644 0000000 0000000 00000025720 07346545000 016634 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== DESCRIPTION =====>>
This is correct APA ...
See:
http://forums.zotero.org/discussion/17859/style-error-for-apa-non-primary-author-initials-incorrectly-included/
and followup thread:
http://forums.zotero.org/discussion/19570/option-to-disable-disambiguation/
<<===== DESCRIPTION =====<<
>>===== RESULT =====>>
(Oblinger & Oblinger, 2009)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Oblinger",
"given": "Dan Gerry"
},
{
"family": "Oblinger",
"given": "Susan Mary"
}
],
"id": 3,
"issued": {
"date-parts": [
[
2009
]
]
},
"title": "Bookie",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/fullstyles_ChicagoArticleTitleQuestion.txt 0000644 0000000 0000000 00000030125 07346545000 023621 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
Doe, John. 1994. An article is it? New Thinker 10: 5.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"container-title": "New Thinker",
"id": "ITEM-5",
"issued": {
"date-parts": [
[
"1994"
]
]
},
"page": "5",
"title": "An article is it?",
"type": "article-journal",
"volume": "10"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/fullstyles_ChicagoAuthorDateSimple.txt 0000644 0000000 0000000 00000040267 07346545000 022726 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
Doe, John. 1990. Book A. Brobdingnag: Zardoz Press.
Doe, John, and Jane Roe. 1991. Book B.
Doe, John, Jane Roe, and Alvin Asthma. 1992. Book C.
Doe, John, Jane Roe, Alvin Asthma, Bob Bronchitis, Chris Cold, Don Dropsy, Ernie Enteritis, et al. 1993. Book D.
---. 1994. Book E.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"1990"
]
]
},
"publisher": "Zardoz Press",
"publisher-place": "Brobdingnag",
"title": "Book A",
"type": "book"
},
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
"1991"
]
]
},
"title": "Book B",
"type": "book"
},
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
},
{
"family": "Asthma",
"given": "Alvin"
}
],
"id": "ITEM-3",
"issued": {
"date-parts": [
[
"1992"
]
]
},
"title": "Book C",
"type": "book"
},
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
},
{
"family": "Asthma",
"given": "Alvin"
},
{
"family": "Bronchitis",
"given": "Bob"
},
{
"family": "Cold",
"given": "Chris"
},
{
"family": "Dropsy",
"given": "Don"
},
{
"family": "Enteritis",
"given": "Ernie"
},
{
"family": "Fever",
"given": "Frank"
},
{
"family": "Goiter",
"given": "George"
},
{
"family": "Hiccup",
"given": "Herb"
},
{
"family": "Impetigo",
"given": "Irwin"
}
],
"id": "ITEM-4",
"issued": {
"date-parts": [
[
"1993"
]
]
},
"title": "Book D",
"type": "book"
},
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
},
{
"family": "Asthma",
"given": "Alvin"
},
{
"family": "Bronchitis",
"given": "Bob"
},
{
"family": "Cold",
"given": "Chris"
},
{
"family": "Dropsy",
"given": "Don"
},
{
"family": "Enteritis",
"given": "Ernie"
},
{
"family": "Fever",
"given": "Frank"
},
{
"family": "Goiter",
"given": "George"
},
{
"family": "Hiccup",
"given": "Herb"
},
{
"family": "Impetigo",
"given": "Irwin"
},
{
"family": "Jaudice",
"given": "Jeff"
}
],
"id": "ITEM-5",
"issued": {
"date-parts": [
[
"1994"
]
]
},
"title": "Book E",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/fullstyles_ChicagoNoteWithBibliographyWithPublisher.txt 0000644 0000000 0000000 00000054234 07346545000 026322 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
Doe, John. Book A. Brobdingnag: Zardoz Press, 1990.
Roe, Jane. Book B, 1991.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"1990"
]
]
},
"publisher": "Zardoz Press",
"publisher-place": "Brobdingnag",
"title": "Book A",
"type": "book"
},
{
"author": [
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
"1991"
]
]
},
"title": "Book B",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/group_ComplexNesting.txt 0000644 0000000 0000000 00000027411 07346545000 020117 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
Doe Inc. (n.d.). Retrieved June 1, 1965, from http://example.com/
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"URL": "http://example.com/",
"accessed": {
"date-parts": [
[
"1965",
"6",
"1"
]
]
},
"author": [
{
"family": "Doe Inc.",
"isInstitution": true
}
],
"id": "ITEM-1",
"type": "webpage"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/group_LegalWithAuthorDate.txt 0000644 0000000 0000000 00000006742 07346545000 021025 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
The bug this tested for turned out to be unrelated to legal
items. When the style rendered a title instead of an author
in an author-date style with "collapse," the processor was
mistakenly assuming that the citation had collapsed, and
delivered ", " as delimiter.
>>===== RESULT =====>>
>>[0] (Álvarez: 2000; Pineapple Case: 2000)
<<===== RESULT =====<<
>>===== CITATIONS =====>>
[
[
{
"citationID": "CITATION-1",
"citationItems": [
{
"id": "ITEM-2"
},
{
"id": "ITEM-1"
}
],
"properties": {
"noteIndex": 1
}
},
[],
[]
]
]
<<===== CITATIONS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Bobblehead",
"given": "Bobbie"
}
],
"id": "ITEM-1",
"type": "article-journal",
"title": "Pineapple Case",
"issued": {
"date-parts": [[2000]]
}
},
{
"author": [
{
"family": "Álvarez",
"given": "Ajax"
}
],
"id": "ITEM-2",
"type": "book",
"issued": {
"date-parts": [[2000]]
}
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/group_ShortOutputOnly.txt 0000644 0000000 0000000 00000001326 07346545000 020337 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
something
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"container-title": "my container title",
"id": "ITEM-1",
"title-short": "something",
"type": "manuscript"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/group_SuppressTermInMacro.txt 0000644 0000000 0000000 00000003504 07346545000 021102 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
His Anonymous Life
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"id": "ITEM-1",
"title": "His Anonymous Life",
"type": "chapter"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/group_SuppressTermWhenNoOutputFromPartialDate.txt 0000644 0000000 0000000 00000001570 07346545000 025131 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Only this
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"1965"
]
]
},
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/group_SuppressValueWithEmptySubgroup.txt 0000644 0000000 0000000 00000001762 07346545000 023404 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
His Anonymous Life
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"title": "His Anonymous Life",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/group_SuppressWithEmptyNestedDateNode.txt 0000644 0000000 0000000 00000016270 07346545000 023427 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
Author1, O., Author7, T. & Author3, T., 2008. Test Article. Test Journal, 12.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Author1",
"given": "One"
},
{
"family": "Author7",
"given": "Two"
},
{
"family": "Author3",
"given": "Three"
}
],
"container-title": "Test Journal",
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"2008",
"10",
"16"
]
]
},
"title": "Test Article",
"type": "article-journal",
"volume": "12"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/integration_CitationSort.txt 0000644 0000000 0000000 00000003377 07346545000 020776 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
(Doe; Noakes; Roe; Snoakes)
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-3"
},
{
"id": "ITEM-4"
},
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"type": "book"
},
{
"author": [
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-2",
"type": "book"
},
{
"author": [
{
"family": "Noakes",
"given": "John"
}
],
"id": "ITEM-3",
"type": "book"
},
{
"author": [
{
"family": "Snoakes",
"given": "Richard"
}
],
"id": "ITEM-4",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/integration_CitationSortTwice.txt 0000644 0000000 0000000 00000003602 07346545000 021761 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
(Doe; Roe)
(Doe; Noakes; Roe; Snoakes)
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
}
],
[
{
"id": "ITEM-3"
},
{
"id": "ITEM-4"
},
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"type": "book"
},
{
"author": [
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-2",
"type": "book"
},
{
"author": [
{
"family": "Noakes",
"given": "John"
}
],
"id": "ITEM-3",
"type": "book"
},
{
"author": [
{
"family": "Snoakes",
"given": "Richard"
}
],
"id": "ITEM-4",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/integration_DeleteName.txt 0000644 0000000 0000000 00000003762 07346545000 020355 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
>>[0] Doe; Snoakes.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== CITATIONS =====>>
[
[
{
"citationID": "CITATION-1",
"citationItems": [
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
},
{
"id": "ITEM-3"
}
],
"properties": {
"noteIndex": 1
}
},
[],
[]
],
[
{
"citationID": "CITATION-1",
"citationItems": [
{
"id": "ITEM-1"
},
{
"id": "ITEM-3"
}
],
"properties": {
"noteIndex": 1
}
},
[],
[]
]
]
<<===== CITATIONS =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"type": "book"
},
{
"author": [
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-2",
"type": "book"
},
{
"author": [
{
"family": "Snoakes",
"given": "Richard"
}
],
"id": "ITEM-3",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/integration_DisambiguateAddGivenname1.txt 0000644 0000000 0000000 00000004433 07346545000 023270 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
>>[0] Smith (1986)
<<===== RESULT =====<<
>>===== CITATIONS =====>>
[
[
{
"citationID": "CITATION-1",
"citationItems": [
{
"id": "ITEM-1"
}
],
"properties": {
"noteIndex": 0
}
},
[],
[]
],
[
{
"citationID": "CITATION-1",
"citationItems": [
{
"id": "ITEM-2"
}
],
"properties": {
"noteIndex": 0
}
},
[],
[]
]
]
<<===== CITATIONS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Smith",
"given": "John"
},
{
"family": "Smith",
"given": "Jane"
}
],
"issued": {
"date-parts": [
[
1980
]
]
},
"id": "ITEM-1",
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"id": "ITEM-2",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/integration_DisambiguateAddGivenname2.txt 0000644 0000000 0000000 00000005766 07346545000 023303 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
## 2013-04-16 :: Note by Frank Bennett
The result of this test was changed from ...
>>[0] John Smith & Jane Smith (1980)
... to ...
>>[0] Smith & Smith (1980)
... because the CSL specification requires "by-cite" disambiguation
by default, and under by-cite disambiguation, the two cite forms
generated by input data (Smith 1986 and Smith & Smith 1980) are not
ambiguous.
>>===== RESULT =====>>
>>[0] Smith & Smith (1980)
<<===== RESULT =====<<
>>===== CITATIONS =====>>
[
[
{
"citationID": "CITATION-1",
"citationItems": [
{
"id": "ITEM-1"
}
],
"properties": {
"noteIndex": 0
}
},
[],
[]
],
[
{
"citationID": "CITATION-1",
"citationItems": [
{
"id": "ITEM-2"
}
],
"properties": {
"noteIndex": 0
}
},
[],
[]
],
[
{
"citationID": "CITATION-1",
"citationItems": [
{
"id": "ITEM-1"
}
],
"properties": {
"noteIndex": 0
}
},
[],
[]
]
]
<<===== CITATIONS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Smith",
"given": "John"
},
{
"family": "Smith",
"given": "Jane"
}
],
"issued": {
"date-parts": [
[
1980
]
]
},
"id": "ITEM-1",
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"id": "ITEM-2",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/integration_DuplicateItem.txt 0000644 0000000 0000000 00000005177 07346545000 021105 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
>>[0] la Berge, Nagel, Dement & Zarcone (1981)
<<===== RESULT =====<<
>>===== CITATIONS =====>>
[
[
{
"citationID": "CITATION-1",
"citationItems": [
{
"id": 1772
}
],
"properties": {
"noteIndex": 0
}
},
[],
[]
],
[
{
"citationID": "CITATION-1",
"citationItems": [
{
"id": 1773
}
],
"properties": {
"noteIndex": 0
}
},
[],
[]
]
]
<<===== CITATIONS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id":1772,
"type":"article-journal",
"title":"Lucid dreaming verified by volitional communication during REM sleep.",
"container-title":"Perceptual and motor skills",
"page":"727–732",
"volume":"52",
"issue":"3",
"call-number":"0049",
"author":[{
"family":"la Berge",
"given":"S. P"
},
{
"family":"Nagel",
"given":"L. E"
},
{
"family":"Dement",
"given":"W. C"
},
{
"family":"Zarcone",
"given":"V. P"
}
],
"issued":{
"date-parts":[[1981
]
]
}
},
{
"id":1773,
"type":"article-journal",
"title":"Lucid dreaming verified by volitional communication during REM sleep.",
"container-title":"Perceptual and motor skills",
"page":"727–732",
"volume":"52",
"issue":"3",
"call-number":"0049",
"author":[{
"family":"la Berge",
"given":"S. P"
},
{
"family":"Nagel",
"given":"L. E"
},
{
"family":"Dement",
"given":"W. C"
},
{
"family":"Zarcone",
"given":"V. P"
}
],
"issued":{
"date-parts":[[1981
]
]
}
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/integration_DuplicateItem2.txt 0000644 0000000 0000000 00000005632 07346545000 021163 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
>>[0] la Berge, Nagel, Dement & Zarcone (1981)
<<===== RESULT =====<<
>>===== CITATIONS =====>>
[
[
{
"citationID": "CITATION-1",
"citationItems": [
{
"id": 1772
}
],
"properties": {
"noteIndex": 0
}
},
[],
[]
],
[
{
"citationID": "CITATION-1",
"citationItems": [
{
"id": 1773
}
],
"properties": {
"noteIndex": 0
}
},
[],
[]
],
[
{
"citationID": "CITATION-1",
"citationItems": [
{
"id": 1772
}
],
"properties": {
"noteIndex": 0
}
},
[],
[]
]
]
<<===== CITATIONS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id":1772,
"type":"article-journal",
"title":"Lucid dreaming verified by volitional communication during REM sleep.",
"container-title":"Perceptual and motor skills",
"page":"727–732",
"volume":"52",
"issue":"3",
"call-number":"0049",
"author":[{
"family":"la Berge",
"given":"S. P"
},
{
"family":"Nagel",
"given":"L. E"
},
{
"family":"Dement",
"given":"W. C"
},
{
"family":"Zarcone",
"given":"V. P"
}
],
"issued":{
"date-parts":[[1981
]
]
}
},
{
"id":1773,
"type":"article-journal",
"title":"Lucid dreaming verified by volitional communication during REM sleep.",
"container-title":"Perceptual and motor skills",
"page":"727–732",
"volume":"52",
"issue":"3",
"call-number":"0049",
"author":[{
"family":"la Berge",
"given":"S. P"
},
{
"family":"Nagel",
"given":"L. E"
},
{
"family":"Dement",
"given":"W. C"
},
{
"family":"Zarcone",
"given":"V. P"
}
],
"issued":{
"date-parts":[[1981
]
]
}
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/integration_FirstReferenceNoteNumberPositionChange.txt 0000644 0000000 0000000 00000011333 07346545000 026103 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
>>[0] Snoakes, “Life of Snoakes” (1902).
>>[1] Doe, “Life of Doe” (1901).
>>[2] Roe, “Life of Roe” (1900).
>>[3] Doe, supra note 2.
>>[4] Roe, supra note 3.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== CITATIONS =====>>
[
[
{
"citationID": "CITATION-1",
"citationItems": [
{
"id": "ITEM-1"
}
],
"properties": {
"noteIndex": 1
}
},
[],
[]
],
[
{
"citationID": "CITATION-2",
"citationItems": [
{
"id": "ITEM-2"
}
],
"properties": {
"noteIndex": 2
}
},
[
[
"CITATION-1",
1
]
],
[]
],
[
{
"citationID": "CITATION-3",
"citationItems": [
{
"id": "ITEM-1"
}
],
"properties": {
"noteIndex": 3
}
},
[
[
"CITATION-1",
1
],
[
"CITATION-2",
2
]
],
[]
],
[
{
"citationID": "CITATION-4",
"citationItems": [
{
"id": "ITEM-2"
}
],
"properties": {
"noteIndex": 4
}
},
[
[
"CITATION-1",
1
],
[
"CITATION-2",
2
],
[
"CITATION-3",
3
]
],
[]
],
[
{
"citationID": "CITATION-5",
"citationItems": [
{
"id": "ITEM-3"
}
],
"properties": {
"noteIndex": 1
}
},
[],
[
[
"CITATION-1",
2
],
[
"CITATION-2",
3
],
[
"CITATION-3",
4
],
[
"CITATION-4",
5
]
]
]
]
<<===== CITATIONS =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"type": "book",
"title": "Life of Doe",
"issued": {
"date-parts": [
[
1901
]
]
}
},
{
"author": [
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-2",
"type": "book",
"title": "Life of Roe",
"issued": {
"date-parts": [
[
1900
]
]
}
},
{
"author": [
{
"family": "Snoakes",
"given": "Richard"
}
],
"id": "ITEM-3",
"type": "book",
"title": "Life of Snoakes",
"issued": {
"date-parts": [
[
1902
]
]
}
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/integration_IbidOnInsert.txt 0000644 0000000 0000000 00000007007 07346545000 020677 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
..[0] (Doe p. 12)
>>[1] (Noakes p. 34)
>>[2] (Ibid.)
..[3] (Snoakes p. 45)
<<===== RESULT =====<<
>>===== CITATIONS =====>>
[
[
{
"citationID": "CITATION-1",
"citationItems": [
{
"id": "ITEM-1",
"locator": "12"
}
],
"properties": {
"noteIndex": 1
}
},
[],
[]
],
[
{
"citationID": "CITATION-2",
"citationItems": [
{
"id": "ITEM-3",
"locator": "34"
}
],
"properties": {
"noteIndex": 2
}
},
[
[
"CITATION-1",
1
]
],
[]
],
[
{
"citationID": "CITATION-3",
"citationItems": [
{
"id": "ITEM-4",
"locator": "45"
}
],
"properties": {
"noteIndex": 3
}
},
[
[
"CITATION-1",
1
],
[
"CITATION-2",
2
]
],
[]
],
[
{
"citationID": "CITATION-4",
"citationItems": [
{
"id": "ITEM-3",
"locator": "34"
}
],
"properties": {
"noteIndex": 2
}
},
[
[
"CITATION-1",
1
]
],
[
[
"CITATION-2",
3
],
[
"CITATION-3",
4
]
]
]
]
<<===== CITATIONS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"type": "book"
},
{
"author": [
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-2",
"type": "book"
},
{
"author": [
{
"family": "Noakes",
"given": "John"
}
],
"id": "ITEM-3",
"type": "book"
},
{
"author": [
{
"family": "Snoakes",
"given": "Richard"
}
],
"id": "ITEM-4",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/integration_IbidWithDifferentLocators.txt 0000644 0000000 0000000 00000007641 07346545000 023413 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
..[0] (Doe p. 12)
..[1] (ibid-with-locator)
..[2] (Roe bk. 20)
>>[3] (ibid-with-locator)
<<===== RESULT =====<<
>>===== CITATIONS =====>>
[
[
{
"citationID": "CITATION-1",
"citationItems": [
{
"id": "ITEM-1",
"locator": "12"
}
],
"properties": {
"noteIndex": 1
}
},
[],
[]
],
[
{
"citationID": "CITATION-2",
"citationItems": [
{
"id": "ITEM-1",
"label": "book",
"locator": "12"
}
],
"properties": {
"noteIndex": 2
}
},
[
[
"CITATION-1",
1
]
],
[]
],
[
{
"citationID": "CITATION-3",
"citationItems": [
{
"id": "ITEM-2",
"label": "book",
"locator": "20"
}
],
"properties": {
"noteIndex": 3
}
},
[
[
"CITATION-1",
1
],
[
"CITATION-2",
2
]
],
[]
],
[
{
"citationID": "CITATION-4",
"citationItems": [
{
"id": "ITEM-2",
"label": "chapter",
"locator": "20"
}
],
"properties": {
"noteIndex": 4
}
},
[
[
"CITATION-1",
1
],
[
"CITATION-2",
2
],
[
"CITATION-3",
3
]
],
[]
]
]
<<===== CITATIONS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"type": "book"
},
{
"author": [
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-2",
"type": "book"
},
{
"author": [
{
"family": "Noakes",
"given": "John"
}
],
"id": "ITEM-3",
"type": "book"
},
{
"author": [
{
"family": "Snoakes",
"given": "Richard"
}
],
"id": "ITEM-4",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/integration_SimpleFirstReferenceNoteNumber.txt 0000644 0000000 0000000 00000007353 07346545000 024431 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
..[0] Doe, “Life of Doe” (1901).
..[1] Roe, “Life of Roe” (1900).
..[2] Doe, supra note 1.
>>[3] Roe, supra note 2.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== CITATIONS =====>>
[
[
{
"citationID": "CITATION-1",
"citationItems": [
{
"id": "ITEM-1"
}
],
"properties": {
"noteIndex": 1
}
},
[],
[]
],
[
{
"citationID": "CITATION-2",
"citationItems": [
{
"id": "ITEM-2"
}
],
"properties": {
"noteIndex": 2
}
},
[
[
"CITATION-1",
1
]
],
[]
],
[
{
"citationID": "CITATION-3",
"citationItems": [
{
"id": "ITEM-1"
}
],
"properties": {
"noteIndex": 3
}
},
[
[
"CITATION-1",
1
],
[
"CITATION-2",
2
]
],
[]
],
[
{
"citationID": "CITATION-4",
"citationItems": [
{
"id": "ITEM-2"
}
],
"properties": {
"noteIndex": 4
}
},
[
[
"CITATION-1",
1
],
[
"CITATION-2",
2
],
[
"CITATION-3",
3
]
],
[]
]
]
<<===== CITATIONS =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"type": "book",
"title": "Life of Doe",
"issued": {
"date-parts": [
[
1901
]
]
}
},
{
"author": [
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-2",
"type": "book",
"title": "Life of Roe",
"issued": {
"date-parts": [
[
1900
]
]
}
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/integration_SimpleIbid.txt 0000644 0000000 0000000 00000006114 07346545000 020365 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
..[0] (Doe p. 12; Roe p. 23)
>>[1] (Noakes p. 34; ibid.; Snoakes p. 45)
<<===== RESULT =====<<
>>===== CITATIONS =====>>
[
[
{
"citationID": "CITATION-1",
"citationItems": [
{
"id": "ITEM-1",
"locator": "12"
},
{
"id": "ITEM-2",
"locator": "23"
}
],
"properties": {
"noteIndex": 1
}
},
[],
[]
],
[
{
"citationID": "CITATION-2",
"citationItems": [
{
"id": "ITEM-3",
"locator": "34"
},
{
"id": "ITEM-3",
"locator": "34"
},
{
"id": "ITEM-4",
"locator": "45"
}
],
"properties": {
"noteIndex": 2
}
},
[
[
"CITATION-1",
1
]
],
[]
]
]
<<===== CITATIONS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"type": "book"
},
{
"author": [
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-2",
"type": "book"
},
{
"author": [
{
"family": "Noakes",
"given": "John"
}
],
"id": "ITEM-3",
"type": "book"
},
{
"author": [
{
"family": "Snoakes",
"given": "Richard"
}
],
"id": "ITEM-4",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/integration_SubsequentWhenInterveningFootnote.txt 0000644 0000000 0000000 00000003660 07346545000 025256 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
..[0] (Doe)
>>[1] (I am subsequent)
<<===== RESULT =====<<
>>===== CITATIONS =====>>
[
[
{
"citationID": "CITATION-1",
"citationItems": [
{
"id": "ITEM-1"
}
],
"properties": {
"noteIndex": 1
}
},
[],
[]
],
[
{
"citationID": "CITATION-2",
"citationItems": [
{
"id": "ITEM-1"
}
],
"properties": {
"noteIndex": 3
}
},
[
[
"CITATION-1",
1
]
],
[]
]
]
<<===== CITATIONS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/integration_YearSuffixOnOffOn.txt 0000644 0000000 0000000 00000007154 07346545000 021663 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
>>[0] Smith (1986a); Smith (1986b); Smith (1986c); Smith (1986d)
<<===== RESULT =====<<
>>===== CITATIONS =====>>
[
[
{
"citationID": "CITATION-1",
"citationItems": [
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
},
{
"id": "ITEM-3"
}
],
"properties": {
"noteIndex": 0
}
},
[],
[]
],
[
{
"citationID": "CITATION-1",
"citationItems": [
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
}
],
"properties": {
"noteIndex": 0
}
},
[],
[]
],
[
{
"citationID": "CITATION-1",
"citationItems": [
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
},
{
"id": "ITEM-3"
},
{
"id": "ITEM-4"
}
],
"properties": {
"noteIndex": 0
}
},
[],
[]
]
]
<<===== CITATIONS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-1"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-2"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-3"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
1986
]
]
},
"type": "book",
"id": "ITEM-4"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/label_CollapsedPageNumberPluralDetection.txt 0000644 0000000 0000000 00000002213 07346545000 023767 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
His Anonymous Life, page 327-30
His Anonymous Life, pages 427–430
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1",
"label": "page",
"locator": "327\\-30"
}
],
[
{
"id": "ITEM-1",
"label": "page",
"locator": "427-30"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"id": "ITEM-1",
"title": "His Anonymous Life",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/label_CompactNamesAfterFullNames.txt 0000644 0000000 0000000 00000002034 07346545000 022240 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
Alan Aalto, editor
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"editor": [
{
"family": "Aalto",
"given": "Alan"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/label_EditorTranslator1.txt 0000644 0000000 0000000 00000065634 07346545000 020475 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
1. Иванов И.И. Пример оформления книги с редактором и переводчиком в одном лице : вид издания : in 5 vols. Vol. 2 / И.И. Иванов, П.П. Петров, С.С. Сидоров; ed & trans. Р.Р. Романов Дополнительно. – Тюмень: Дом, 2013. – No. 10. – 100 p.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"archive-place": "Тюмень",
"author": [
{
"family": "Иванов",
"given": "Иван Иванович"
},
{
"family": "Петров",
"given": "П.П."
},
{
"family": "Сидоров",
"given": "С.С."
}
],
"collection-number": "10",
"collection-title": "вид издания",
"edition": "2-е изд. перераб. и доп.",
"editor": [
{
"family": "Романов",
"given": "Р.Р."
}
],
"event-place": "Тюмень",
"id": "ITEM-1",
"issued": {
"date-parts": [
[
2013
]
]
},
"note": "Дополнительно",
"number-of-pages": "100",
"number-of-volumes": "5",
"publisher": "Дом",
"publisher-place": "Тюмень",
"system_id": "0_6CD2WX2A",
"title": "Пример оформления книги с редактором и переводчиком в одном лице",
"translator": [
{
"family": "Романов",
"given": "Р.Р."
}
],
"type": "book",
"volume": "2"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/label_EditorTranslator2.txt 0000644 0000000 0000000 00000001414 07346545000 020460 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
Some title, “Hello there”.
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1",
"suffix": ", \"Hello there\"."
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"id": "ITEM-1",
"title": "Some title",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/label_EmptyLabelVanish.txt 0000644 0000000 0000000 00000001621 07346545000 020305 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
[start](22)[end]
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"page": "22-45",
"title": "His Anonymous Life",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/label_EmptyLabelVanishPage.txt 0000644 0000000 0000000 00000001643 07346545000 021106 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
{53}
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1",
"locator": "53"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"id": "ITEM-1",
"title": "My Title",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/label_ImplicitForm.txt 0000644 0000000 0000000 00000001434 07346545000 017476 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
John Doe (editor)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"editor": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/label_MissingReturnsEmpty.txt 0000644 0000000 0000000 00000001747 07346545000 021122 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
Aalto
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "Aalto",
"given": "Alan"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/label_NameLabelThroughSubstitute.txt 0000644 0000000 0000000 00000145070 07346545000 022362 0 ustar 00 0000000 0000000 >>==== MODE ====>>
bibliography
<<==== MODE ====<<
>>==== RESULT ====>>
Wolf, K. S. (2005). The future for Deaf individuals is not that bleak [Peer commentary, Decrease of Deaf potential in a mainstreamed environment, by W. C. Hall]. Retrieved from http://www.personalityresearch.org/papers/hall.html
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"URL": "http://www.personalityresearch.org/papers/hall.html",
"author": [
{
"family": "Wolf",
"given": "K.S."
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"2005"
]
]
},
"language": "en",
"note": "reviewed-title: Decrease of Deaf potential in a mainstreamed environment\ngenre: Peer commentary\nreviewed-author: Hall || W.C.",
"title": "The future for Deaf individuals is not that bleak",
"type": "post-weblog"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/label_NoFirstCharCapWithInTextClass.txt 0000644 0000000 0000000 00000001267 07346545000 022670 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
n.d.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"title": "His Anonymous Life",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/label_NonexistentNameVariableLabel.txt 0000644 0000000 0000000 00000001377 07346545000 022633 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
John Doe
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"composer": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/label_PluralNumberOfVolumes.txt 0000644 0000000 0000000 00000002014 07346545000 021343 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
volume 1; volumes 2
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"number-of-volumes": 1,
"type": "book"
},
{
"id": "ITEM-2",
"number-of-volumes": 2,
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/label_PluralPagesWithAlphaPrefix.txt 0000644 0000000 0000000 00000001421 07346545000 022273 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
pages S213–S235
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"page": "S213-S235",
"title": "His Anonymous Life",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/label_PluralWithAmpersand.txt 0000644 0000000 0000000 00000001640 07346545000 021025 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
pages 213 & 235
<<===== RESULT =====<<
>>===== CITATION-ITEMS =====>>
[
[
{
"id": "ITEM-1",
"locator": "213 & 235"
}
]
]
<<===== CITATION-ITEMS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "His Anonymous Life",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/label_PluralWithAnd.txt 0000644 0000000 0000000 00000001641 07346545000 017616 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
pages 213 and 235
<<===== RESULT =====<<
>>===== CITATION-ITEMS =====>>
[
[
{
"id": "ITEM-1",
"locator": "213 and 235"
}
]
]
<<===== CITATION-ITEMS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "His Anonymous Life",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/label_PluralWithCommaAnd.txt 0000644 0000000 0000000 00000001642 07346545000 020574 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
pages 213, and 235
<<===== RESULT =====<<
>>===== CITATION-ITEMS =====>>
[
[
{
"id": "ITEM-1",
"locator": "213, and 235"
}
]
]
<<===== CITATION-ITEMS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "His Anonymous Life",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/label_PluralWithCommaLocalizedAnd.txt 0000644 0000000 0000000 00000001671 07346545000 022425 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
pages 213, et 235
<<===== RESULT =====<<
>>===== CITATION-ITEMS =====>>
[
[
{
"id": "ITEM-1",
"locator": "213, et 235"
}
]
]
<<===== CITATION-ITEMS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "His Anonymous Life",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/label_PluralWithLocalizedAmpersand.txt 0000644 0000000 0000000 00000002054 07346545000 022654 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
pages 213 AMPERSAND 235
<<===== RESULT =====<<
>>===== CITATION-ITEMS =====>>
[
[
{
"id": "ITEM-1",
"locator": "213 & 235"
}
]
]
<<===== CITATION-ITEMS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "His Anonymous Life",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/label_PluralWithLocalizedAnd.txt 0000644 0000000 0000000 00000001667 07346545000 021455 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
pages 213 et 235
<<===== RESULT =====<<
>>===== CITATION-ITEMS =====>>
[
[
{
"id": "ITEM-1",
"locator": "213 et 235"
}
]
]
<<===== CITATION-ITEMS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "His Anonymous Life",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/locale_EmptyDate.txt 0000644 0000000 0000000 00000002150 07346545000 017150 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Sample Title: (2000 June 18)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"2000",
"6",
"18"
]
]
},
"title": "Sample Title",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/locale_EmptyPlusOverrideDate.txt 0000644 0000000 0000000 00000002460 07346545000 021520 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Sample Title: (2000 June 18)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"2000",
"6",
"18"
]
]
},
"title": "Sample Title",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/locale_EmptyPlusOverrideStyleOpt.txt 0000644 0000000 0000000 00000001470 07346545000 022426 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
“Sample Title.”
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "Sample Title",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/locale_EmptyPlusOverrideTerm.txt 0000644 0000000 0000000 00000001620 07346545000 021547 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Sample Title: (weird term)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "Sample Title",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/locale_EmptyStyleOpt.txt 0000644 0000000 0000000 00000001341 07346545000 020057 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
“Sample Title.”
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "Sample Title",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/locale_EmptyTerm.txt 0000644 0000000 0000000 00000001451 07346545000 017205 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Sample Title: (weird term)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "Sample Title",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/locale_ForceEmptyAndOthersTerm.txt 0000644 0000000 0000000 00000002116 07346545000 021773 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
John Doe
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
},
{
"family": "Noakes",
"given": "Richard"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/locale_ForceEmptyEtAlTerm.txt 0000644 0000000 0000000 00000002046 07346545000 020733 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
John Doe
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
},
{
"family": "Noakes",
"given": "Richard"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/locale_NonExistentLocaleDef.txt 0000644 0000000 0000000 00000002343 07346545000 021275 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
John Doe (edxitor) + Jane roe (translator)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"editor": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"translator": [
{
"family": "roe",
"given": "Jane"
}
],
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/locale_OverloadWithEmptyString.txt 0000644 0000000 0000000 00000001640 07346545000 022074 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Sample Title: ()
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "Sample Title",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/locale_PageRangeDelimiterTermDefined.txt 0000644 0000000 0000000 00000001355 07346545000 023061 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
1=2
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"page": "1-2",
"title": "His Anonymous Life",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/locale_PageRangeDelimiterTermFrenchUndef.txt 0000644 0000000 0000000 00000001421 07346545000 023704 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
Delimiter is a non-breaking Unicode hyphen U+2011, supplied by the CSL 1.0.1 fr-FR and fr-CA locales.
>>===== RESULT =====>>
1‑2
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"page": "1-2",
"title": "His Anonymous Life",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/locale_PageRangeDelimiterTermUndefined.txt 0000644 0000000 0000000 00000001216 07346545000 023420 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
1–2
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"page": "1-2",
"title": "His Anonymous Life",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/locale_SpecificDate.txt 0000644 0000000 0000000 00000002166 07346545000 017606 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Sample Title: (2000 June 18)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"2000",
"6",
"18"
]
]
},
"title": "Sample Title",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/locale_SpecificStyleOpt.txt 0000644 0000000 0000000 00000001357 07346545000 020515 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
“Sample Title.”
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "Sample Title",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/locale_SpecificTerm.txt 0000644 0000000 0000000 00000001467 07346545000 017643 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Sample Title: (weird term)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "Sample Title",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/locale_TitleCaseEmptyLangEmptyLocale.txt 0000644 0000000 0000000 00000001227 07346545000 023115 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
His Anonymous Life
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "His anonymous life",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/locale_TitleCaseEmptyLangNonEnglishLocale.txt 0000644 0000000 0000000 00000001264 07346545000 024064 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
His anonymous life
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "His anonymous life",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/locale_TitleCaseGarbageLangEmptyLocale.txt 0000644 0000000 0000000 00000004072 07346545000 023350 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
The first item begins with a valid French language tag, followed by
garbage. The second begins with a valid English tag followed by
garbage. The third begins with garbage. The behaviour in the RESULT
reflects the CSL 1.0.1 specification, which in the Title Case
Conversion section reads:
"If default-locale is set to a locale code with a primary language
tag other than "en", items are assumed to be non-English. An item is
only considered to be English if the value of its language field
starts with the "en" primary language tag."
In the style used in this test, no locale is set, so the default is
"en". When the language tag parse fails, "en" is assumed.
By agreement within CSL circles, garbage should be construed as
"non-English content" for purposes of applying text-case rules. This
is not happy, since without specifics we cannot know which cite format
to apply to the item. To keep things simple in citeproc-js, we set the
language for garbage to "tlh", for Klingon, which is about as
non-English as you can get.
>>===== RESULT =====>>
His anonymous life; His Anonymous Life; His anonymous life
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"language": "fr French language",
"title": "His anonymous life",
"type": "book"
},
{
"id": "ITEM-2",
"language": "en--other stuff commenting about the lingo",
"title": "His anonymous life",
"type": "book"
},
{
"id": "ITEM-3",
"language": "french language",
"title": "His anonymous life",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/locale_TitleCaseGarbageLangEnglishLocale.txt 0000644 0000000 0000000 00000001330 07346545000 023635 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
His anonymous life
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"language": "french language",
"title": "His anonymous life",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/locale_TitleCaseGarbageLangNonEnglishLocale.txt 0000644 0000000 0000000 00000001333 07346545000 024313 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
His anonymous life
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"language": "french language",
"title": "His anonymous life",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/locale_TitleCaseNonEnglishLangUpperEmptyLocale.txt 0000644 0000000 0000000 00000001261 07346545000 025075 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
His anonymous life
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"language": "FR",
"title": "His anonymous life",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/locale_UnknownTerm.txt 0000644 0000000 0000000 00000001330 07346545000 017542 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Sample Title: (interview by)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "Sample Title",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/locator_SimpleLocators.txt 0000644 0000000 0000000 00000003734 07346545000 020431 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Doe, Book A, 2000, pp. 100–103; Roe, Book B, 2001, chaps. 200–201.
<<===== RESULT =====<<
>>===== CITATION-ITEMS =====>>
[
[
{
"id": "ITEM-1",
"label": "page",
"locator": "100 - 103"
},
{
"id": "ITEM-2",
"label": "chapter",
"locator": "200 - 201"
}
]
]
<<===== CITATION-ITEMS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "Book A",
"type": "book"
},
{
"author": [
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
"2001"
]
]
},
"title": "Book B",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/locator_SingularEmbeddedLabelAfterPlural.txt 0000644 0000000 0000000 00000001655 07346545000 023771 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
Book One, pages 367–368, fig. 333
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1",
"locator": "367-368, fig. 333"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"id": "ITEM-1",
"title": "Book One",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/locator_TermSelection.txt 0000644 0000000 0000000 00000001700 07346545000 020235 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
Book A, fol. 101
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1",
"label": "folio",
"locator": "101"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"id": "ITEM-1",
"title": "Book A",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/locator_TrickyEntryForPlurals.txt 0000644 0000000 0000000 00000002075 07346545000 021767 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
Book Title, vol. 1, fol. 186, 8 April 1544
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1",
"locator": "vol. 1, fol. 186, 8 April 1544"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"id": "ITEM-1",
"title": "Book Title",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/locator_WithLeadingSpace.txt 0000644 0000000 0000000 00000001720 07346545000 020635 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
Hello Title:666
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1",
"locator": " 666"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"id": "ITEM-1",
"title": "Hello Title",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/locator_WorkaroundTestForSubVerbo.txt 0000644 0000000 0000000 00000002653 07346545000 022602 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
Book With Opus, op. 100
Book With Sub Verbo, 200
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1",
"label": "opus",
"locator": "100"
}
],
[
{
"id": "ITEM-2",
"label": "sub verbo",
"locator": "200"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"id": "ITEM-1",
"title": "Book With Opus",
"type": "book"
},
{
"id": "ITEM-2",
"title": "Book With Sub Verbo",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/magic_AllowRepeatDateRenderings.txt 0000644 0000000 0000000 00000003152 07346545000 022136 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
(2006).
(2007, February 15).
<<===== RESULT =====<<
>>===== CITATION-ITEMS =====>>
[
[
{
"id": "ITEM-1"
}
],
[
{
"id": "ITEM-2"
}
]
]
<<===== CITATION-ITEMS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
2006,
1,
20
]
]
},
"type": "book"
},
{
"id": "ITEM-2",
"issued": {
"date-parts": [
[
2007,
2,
15
]
]
},
"type": "article-newspaper"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/magic_CapitalizeFirstOccurringNameParticle.txt 0000644 0000000 0000000 00000001574 07346545000 024344 0 ustar 00 0000000 0000000 >>== MODE ==>>
citation
<<== MODE ==<<
We no longer capitalise particles in citations. Magic capitalisation
is still performed on first-position particles in bibliography, however.
>>== RESULT ==>>
de Simone
<<== RESULT ==<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "de Simone",
"given": "Samuel"
}
],
"id": "item-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/magic_CapitalizeFirstOccurringTerm.txt 0000644 0000000 0000000 00000001120 07346545000 022672 0 ustar 00 0000000 0000000 >>== MODE ==>>
citation
<<== MODE ==<<
>>== RESULT ==>>
And
<<== RESULT ==<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "item-1",
"title": "Ignore me",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/magic_CitationLabelInBibliography.txt 0000644 0000000 0000000 00000017505 07346545000 022444 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
[Doe65]
Doe, J.: Book A., 1965.
[RoNo78a]
Roe, J. and Noakes, R.: Book A., 1978.
[RoNo78b]
Roe, J. and Noakes, R.: Book A., 1978.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Roe",
"given": "Jane"
},
{
"family": "Noakes",
"given": "Richard"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"1978"
]
]
},
"title": "Book A",
"type": "book"
},
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
"1965"
]
]
},
"title": "Book A",
"type": "book"
},
{
"author": [
{
"family": "Roe",
"given": "Jane"
},
{
"family": "Noakes",
"given": "Richard"
}
],
"id": "ITEM-3",
"issued": {
"date-parts": [
[
"1978"
]
]
},
"title": "Book A",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/magic_CitationLabelInCitation.txt 0000644 0000000 0000000 00000016560 07346545000 021603 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
[Doe65, RoNo78a, RoNo78b]
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Roe",
"given": "Jane"
},
{
"family": "Noakes",
"given": "Richard"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"1978"
]
]
},
"title": "Book A",
"type": "book"
},
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
"1965"
]
]
},
"title": "Book A",
"type": "book"
},
{
"author": [
{
"family": "Roe",
"given": "Jane"
},
{
"family": "Noakes",
"given": "Richard"
}
],
"id": "ITEM-3",
"issued": {
"date-parts": [
[
"1978"
]
]
},
"title": "Book A",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/magic_EntrySpacingDouble.txt 0000644 0000000 0000000 00000003333 07346545000 020642 0 ustar 00 0000000 0000000 >>== MODE ==>>
bibliography
<<== MODE ==<<
>>== RESULT ==>>
John Smith, Book A (2000)
Robert Jones, Book B (2001)
<<== RESULT ==<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "Book A",
"type": "book"
},
{
"author": [
{
"family": "Jones",
"given": "Robert"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
"2001"
]
]
},
"title": "Book B",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/magic_HangingIndent.txt 0000644 0000000 0000000 00000004611 07346545000 017616 0 ustar 00 0000000 0000000 >>== MODE ==>>
bibliography
<<== MODE ==<<
>>== RESULT ==>>
John Smith, Book A: being a book with a very long and verbose title with lots of words that takes up excessive space on the page and leaves the reader more confused about the content rather than less (2000)
Robert Jones, Book B: a work of great eloquence in which every word makes the reader eager for the next which is a good thing because it has a very long and ostensibly boring title (2001)
<<== RESULT ==<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "Book A: being a book with a very long and verbose title with lots of words that takes up excessive space on the page and leaves the reader more confused about the content rather than less",
"type": "book"
},
{
"author": [
{
"family": "Jones",
"given": "Robert"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
"2001"
]
]
},
"title": "Book B: a work of great eloquence in which every word makes the reader eager for the next which is a good thing because it has a very long and ostensibly boring title",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/magic_ImplicitYearSuffixDelimiter.txt 0000644 0000000 0000000 00000002575 07346545000 022527 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
John Doe 1965a; b
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"1965"
]
]
},
"type": "book"
},
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
"1965"
]
]
},
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/magic_ImplicitYearSuffixExplicitDelimiter.txt 0000644 0000000 0000000 00000004130 07346545000 024216 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
(1965a,b)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"1965"
]
]
},
"type": "book"
},
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
"1965"
]
]
},
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/magic_LineSpacingDouble.txt 0000644 0000000 0000000 00000003332 07346545000 020427 0 ustar 00 0000000 0000000 >>== MODE ==>>
bibliography
<<== MODE ==<<
>>== RESULT ==>>
John Smith, Book A (2000)
Robert Jones, Book B (2001)
<<== RESULT ==<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "Book A",
"type": "book"
},
{
"author": [
{
"family": "Jones",
"given": "Robert"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
"2001"
]
]
},
"title": "Book B",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/magic_LineSpacingTripleStretch.txt 0000644 0000000 0000000 00000003332 07346545000 022011 0 ustar 00 0000000 0000000 >>== MODE ==>>
bibliography
<<== MODE ==<<
>>== RESULT ==>>
John Smith, Book A (2000)
Robert Jones, Book B (2001)
<<== RESULT ==<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "Book A",
"type": "book"
},
{
"author": [
{
"family": "Jones",
"given": "Robert"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
"2001"
]
]
},
"title": "Book B",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/magic_NameParticle.txt 0000644 0000000 0000000 00000001516 07346545000 017446 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Doe, John von
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"dropping-particle": "von",
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/magic_NameSuffixNoComma.txt 0000644 0000000 0000000 00000001372 07346545000 020421 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
John Doe III
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John, III"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/magic_NameSuffixWithComma.txt 0000644 0000000 0000000 00000001374 07346545000 020762 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
John Doe, Jr.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John,! Jr."
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/magic_NumberRangeEnglish.txt 0000644 0000000 0000000 00000001147 07346545000 020621 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
1–3
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"page": "1-3",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/magic_NumberRangeFrench.txt 0000644 0000000 0000000 00000001352 07346545000 020433 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
Delimiter is a non-breaking Unicode hyphen U+2011, supplied by the CSL 1.0.1 fr-FR and fr-CA locales.
>>===== RESULT =====>>
1‑3
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"page": "1-3",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/magic_PunctuationInQuoteDefaultEnglishDelimiter.txt 0000644 0000000 0000000 00000002162 07346545000 025374 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Doe, “Book A,” 1900.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1900
]
]
},
"title": "Book A",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/magic_PunctuationInQuoteDefaultEnglishSuffix.txt 0000644 0000000 0000000 00000002177 07346545000 024730 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Doe, “Book A,” 1900.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1900
]
]
},
"title": "Book A",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/magic_PunctuationInQuoteDelimiterTrue.txt 0000644 0000000 0000000 00000002311 07346545000 023411 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Doe, “Book A,” 1900.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1900
]
]
},
"title": "Book A",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/magic_PunctuationInQuoteFalse.txt 0000644 0000000 0000000 00000002312 07346545000 021666 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Doe, “Book A”, 1900.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1900
]
]
},
"title": "Book A",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/magic_PunctuationInQuoteFalseSuppressExtra.txt 0000644 0000000 0000000 00000001526 07346545000 024445 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
“Article A?”, Journal B
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"container-title": "Journal B",
"id": "ITEM-1",
"title": "Article A?",
"type": "article-journal"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/magic_PunctuationInQuoteNested.txt 0000644 0000000 0000000 00000002435 07346545000 022064 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Doe. “Book A.” 1900.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1900
]
]
},
"title": "Book A",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/magic_PunctuationInQuoteSuffixTrue.txt 0000644 0000000 0000000 00000002247 07346545000 022747 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Doe, “Book A,” 1900.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1900
]
]
},
"title": "Book A",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/magic_PunctuationInQuoteTrueSuppressExtra.txt 0000644 0000000 0000000 00000001524 07346545000 024330 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
“Article A?” Journal B
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"container-title": "Journal B",
"id": "ITEM-1",
"title": "Article A?",
"type": "article-journal"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/magic_QuotesAndBraces1.txt 0000644 0000000 0000000 00000001371 07346545000 020205 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
[“His Anonymous Life”]
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "His Anonymous Life",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/magic_QuotesAndBraces2.txt 0000644 0000000 0000000 00000001372 07346545000 020207 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
[“His Anonymous Life”]
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "His Anonymous Life",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/magic_SecondFieldAlign.txt 0000644 0000000 0000000 00000003710 07346545000 020232 0 ustar 00 0000000 0000000 >>== MODE ==>>
bibliography
<<== MODE ==<<
>>== RESULT ==>>
[1]
John Smith, Book A (2000)
[2]
Robert Jones, Book B (2001)
<<== RESULT ==<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "Book A",
"type": "book"
},
{
"author": [
{
"family": "Jones",
"given": "Robert"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
"2001"
]
]
},
"title": "Book B",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/magic_StripPeriodsExcludeAffixes.txt 0000644 0000000 0000000 00000002606 07346545000 022352 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
John Doe.Journal Title.Jane Roe.Journ Title.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"container-title": "Journal Title",
"id": "ITEM-1",
"type": "article-journal"
},
{
"author": [
{
"family": "Roe",
"given": "Jane"
}
],
"container-title": "Journ. Title",
"id": "ITEM-2",
"type": "article-journal"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/magic_StripPeriodsFalse.txt 0000644 0000000 0000000 00000001362 07346545000 020503 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
“An Article,” Am. L.J.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"container-title": "Am. L.J.",
"id": "ITEM-1",
"title": "An Article",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/magic_StripPeriodsTrue.txt 0000644 0000000 0000000 00000001420 07346545000 020363 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
“An Article,” Am LJ.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"container-title": "Am. L.J.",
"id": "ITEM-1",
"title": "An Article",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/magic_StripPeriodsTrueShortForm.txt 0000644 0000000 0000000 00000002464 07346545000 022240 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Am LJ; Am LJ.
<<===== RESULT =====<<
CSL adjusted to reflect user report.
http://forums.zotero.org/discussion/15166/stripperiods-not-working-yet/
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"container-title": "American Law Journal",
"id": "ITEM-1",
"journalAbbreviation": "Am. L.J.",
"title": "An Article",
"type": "article-journal"
},
{
"container-title": "Am. L.J.",
"id": "ITEM-2",
"title": "Another Article",
"type": "article-journal"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/magic_SubsequentAuthorSubstitute.txt 0000644 0000000 0000000 00000004641 07346545000 022521 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
John Smith and Jane Roe, Book A (2000)
———, Book B (2001)
John Smith, Book C (2002)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Smith",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
}
],
"id": "item-1",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "Book A",
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
}
],
"id": "item-2",
"issued": {
"date-parts": [
[
"2001"
]
]
},
"title": "Book B",
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"id": "item-3",
"issued": {
"date-parts": [
[
"2002"
]
]
},
"title": "Book C",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/magic_SubsequentAuthorSubstituteNotFooled.txt 0000644 0000000 0000000 00000041100 07346545000 024322 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
Silverstein, Theodore, tran. “Sir Gawain and the Green Knight.” Chicago: University of Chicago Press, 1974.
Soltes, Ori A., ed. “Georgia: Art and Civilization through the Ages.” London: Philip Wilson, 1999.
“The Chicago Manual of Style.” Chicago: University of Chicago Press, 1993.
<<===== RESULT =====<<
Chicago Author-Date.
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"1974"
]
]
},
"publisher": "University of Chicago Press",
"publisher-place": "Chicago",
"title": "Sir Gawain and the Green Knight",
"translator": [
{
"family": "Silverstein",
"given": "Theodore"
}
],
"type": "chapter"
},
{
"editor": [
{
"family": "Soltes",
"given": "Ori A."
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
1999
]
]
},
"publisher": "Philip Wilson",
"publisher-place": "London",
"title": "Georgia: Art and Civilization through the Ages",
"type": "chapter"
},
{
"id": "ITEM-3",
"issued": {
"date-parts": [
[
1993
]
]
},
"publisher": "University of Chicago Press",
"publisher-place": "Chicago",
"title": "The Chicago Manual of Style",
"type": "chapter"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/magic_SubsequentAuthorSubstituteOfTitleField.txt 0000644 0000000 0000000 00000004066 07346545000 024755 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
Warren Smith (2000)
----- (2001)
Book Y (2002)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Smith",
"given": "Warren"
}
],
"id": "item-1",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "Book X",
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "Warren"
}
],
"id": "item-2",
"issued": {
"date-parts": [
[
"2001"
]
]
},
"title": "Book X",
"type": "book"
},
{
"id": "item-3",
"issued": {
"date-parts": [
[
"2002"
]
]
},
"title": "Book Y",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/magic_SuperscriptChars.txt 0000644 0000000 0000000 00000013733 07346545000 020412 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
The Unicode standard provides a number of discrete superscript
characters, to allow such to be transferred across systems
without the need for system-specific markup. Because the characters
are currently not fully supported on all platforms for rendering,
implementations may desire to convert them into a marked-up
equivalent when rendering.
The list of characters used in this test is here:
http://unicode.org/reports/tr30/datafiles/SuperscriptFolding.txt
Relevant discussions:
http://forums.zotero.org/discussion/18074/edition-with-superscript/
https://github.com/citation-style-language/schema/issues/49
>>===== RESULT =====>>
a
2
3
1
o
h
ɦ
j
r
ɹ
ɻ
ʁ
w
y
ɣ
l
s
x
ʕ
A
Æ
B
D
E
Ǝ
G
H
I
J
K
L
M
N
O
Ȣ
P
R
T
U
W
a
ɐ
ɑ
ᴂ
b
d
e
ə
ɛ
ɜ
g
k
m
ŋ
o
ɔ
ᴖ
ᴗ
p
t
u
ᴝ
ɯ
v
ᴥ
β
γ
δ
φ
χ
0
i
4
5
6
7
8
9
+
−
=
(
)
n
SM
TM
一
二
三
四
上
中
下
甲
乙
丙
丁
天
地
人
ʔ
ʕ
و
ي
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "Bogus Title",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/magic_SuppressDuplicateVariableRendering.txt 0000644 0000000 0000000 00000002107 07346545000 024062 0 ustar 00 0000000 0000000 >>== MODE ==>>
citation
<<== MODE ==<<
>>== RESULT ==>>
Should print this: Book A … and this: Book A … but this only once: Blob
<<== RESULT ==<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"editor": [
{
"literal": "Blob"
}
],
"id": "item-1",
"title": "Book A",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/magic_SuppressLayoutDelimiterIfPrefixComma.txt 0000644 0000000 0000000 00000001600 07346545000 024367 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
Book A, cited in Book B
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-2",
"prefix": ", cited in "
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"id": "ITEM-1",
"title": "Book A",
"type": "book"
},
{
"id": "ITEM-2",
"title": "Book B",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/magic_TermCapitalizationWithPrefix.txt 0000644 0000000 0000000 00000005753 07346545000 022726 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
..[0] Doe (1965)
..[1] See ibid.
..[2] This has been said. Ibid.
>>[3] Ibid.
<<===== RESULT =====<<
>>===== CITATIONS =====>>
[
[
{
"citationID": "CITATION-1",
"citationItems": [
{
"id": "ITEM-1"
}
],
"properties": {
"noteIndex": 1
}
},
[],
[]
],
[
{
"citationID": "CITATION-2",
"citationItems": [
{
"id": "ITEM-1",
"prefix": "See "
}
],
"properties": {
"noteIndex": 2
}
},
[
[
"CITATION-1",
1
]
],
[]
],
[
{
"citationID": "CITATION-3",
"citationItems": [
{
"id": "ITEM-1",
"prefix": "This has been said. "
}
],
"properties": {
"noteIndex": 3
}
},
[
[
"CITATION-1",
1
],
[
"CITATION-2",
2
]
],
[]
],
[
{
"citationID": "CITATION-4",
"citationItems": [
{
"id": "ITEM-1"
}
],
"properties": {
"noteIndex": 4
}
},
[
[
"CITATION-1",
1
],
[
"CITATION-2",
2
],
[
"CITATION-3",
3
]
],
[]
]
]
<<===== CITATIONS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"1965"
]
]
},
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/magic_TextRangeEnglish.txt 0000644 0000000 0000000 00000001147 07346545000 020315 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
1–3
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"page": "1-3",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/magic_TextRangeFrench.txt 0000644 0000000 0000000 00000001352 07346545000 020127 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
Delimiter is a non-breaking Unicode hyphen U+2011, supplied by the CSL 1.0.1 fr-FR and fr-CA locales.
>>===== RESULT =====>>
1‑3
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"page": "1-3",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_AfterInvertedName.txt 0000644 0000000 0000000 00000006233 07346545000 020306 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
DOEBUCK, Jonathan, et al.; DOE, John, Jane ROE et al.; DOE, John, Janice ROEBUCK et al.
APPLEBY, Aloysius, and Bobby BROWN; APPLEBY, Aloysius, Bobby BROWN and Cecile CREAM; APPLEBY, Aloysius, Bobby BROWN and Enola EVERGREEN
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
},
{
"id": "ITEM-3"
}
],
[
{
"id": "ITEM-4"
},
{
"id": "ITEM-5"
},
{
"id": "ITEM-6"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "Doebuck",
"given": "Jonathan"
},
{
"family": "Roe",
"given": "Jane"
},
{
"family": "Snoakes",
"given": "Richard"
}
],
"id": "ITEM-1",
"type": "book"
},
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
},
{
"family": "Snoakes",
"given": "Richard"
},
{
"family": "Noakes",
"given": "Robert"
}
],
"id": "ITEM-2",
"type": "book"
},
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roebuck",
"given": "Janice"
},
{
"family": "Snoakes",
"given": "Richard"
},
{
"family": "Noakes",
"given": "Robert"
}
],
"id": "ITEM-3",
"type": "book"
},
{
"author": [
{
"family": "Appleby",
"given": "Aloysius"
},
{
"family": "Brown",
"given": "Bobby"
}
],
"id": "ITEM-4",
"type": "book"
},
{
"author": [
{
"family": "Appleby",
"given": "Aloysius"
},
{
"family": "Brown",
"given": "Bobby"
},
{
"family": "Cream",
"given": "Cecile"
}
],
"id": "ITEM-5",
"type": "book"
},
{
"author": [
{
"family": "Appleby",
"given": "Aloysius"
},
{
"family": "Brown",
"given": "Bobby"
},
{
"family": "Evergreen",
"given": "Enola"
}
],
"id": "ITEM-6",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_AllCapsInitialsUntouched.txt 0000644 0000000 0000000 00000002063 07346545000 021633 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Full: JH Hartcourt Doe; Initialized: JH Hartcourt Doe
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "JH Hartcourt"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_AndTextDelimiterPrecedesLastAlways.txt 0000644 0000000 0000000 00000002062 07346545000 023625 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Doe, J.; Roe, J.; and Noakes, R.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
},
{
"family": "Noakes",
"given": "Richard"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_ApostropheInGivenName.txt 0000644 0000000 0000000 00000001616 07346545000 021150 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
Shun’ichi Aalto
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "Aalto",
"given": "Shun'ichi"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_ArabicShortForms.txt 0000644 0000000 0000000 00000002135 07346545000 020150 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
al-Aswānī; al-Aswānī
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "al-Aswānī",
"given": "ʿAlāʾ"
}
],
"id": "ITEM-1",
"type": "book"
},
{
"author": [
{
"family": "al-Aswānī",
"given": "`Alā'"
}
],
"id": "ITEM-2",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_ArticularNameAsSortOrder.txt 0000644 0000000 0000000 00000001462 07346545000 021621 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Doe, James, III
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "James",
"suffix": "III"
}
],
"id": "item-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_ArticularPlain.txt 0000644 0000000 0000000 00000001712 07346545000 017652 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
James Doe III
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "James",
"suffix": "III"
}
],
"id": "item-1",
"issued": {
"date-parts": [
[
"2001"
]
]
},
"title": "My Anonymous Heritage",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_ArticularShortForm.txt 0000644 0000000 0000000 00000001432 07346545000 020531 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Doe
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "James",
"suffix": "III"
}
],
"id": "item-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_ArticularShortFormCommaSuffix.txt 0000644 0000000 0000000 00000001477 07346545000 022704 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Doe
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"comma-suffix": true,
"family": "Doe",
"given": "James",
"suffix": "Jr"
}
],
"id": "item-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_ArticularWithComma.txt 0000644 0000000 0000000 00000001774 07346545000 020507 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Jeffrey Doe, Jr.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"comma-suffix": true,
"family": "Doe",
"given": "Jeffrey",
"suffix": "Jr."
}
],
"id": "item-1",
"issued": {
"date-parts": [
[
"2001"
]
]
},
"title": "My Life as an Anonymous Heir",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_ArticularWithCommaNameAsSortOrder.txt 0000644 0000000 0000000 00000001526 07346545000 023433 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Doe, James, Jr
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"comma-suffix": true,
"family": "Doe",
"given": "James",
"suffix": "Jr"
}
],
"id": "item-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_AsianGlyphs.txt 0000644 0000000 0000000 00000001627 07346545000 017167 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
我妻栄
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "我妻",
"given": "栄"
}
],
"id": "item-1",
"issued": {
"date-parts": [
[
"1960"
]
]
},
"title": "民法",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_AuthorCount.txt 0000644 0000000 0000000 00000004306 07346545000 017215 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Count=(3) | Count=(3) | Count=(2) | Count=(1) | Count=()
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
},
{
"family": "Brown",
"given": "Robert"
},
{
"family": "Smith",
"given": "Tom"
}
],
"id": "item-1",
"type": "book"
},
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Doe",
"given": "Jake"
},
{
"family": "Brown",
"given": "Robert"
}
],
"id": "item-2",
"type": "book"
},
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Doe",
"given": "Jake"
}
],
"id": "item-3",
"type": "book"
},
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "item-4",
"type": "book"
},
{
"editor": [
{
"family": "Doe",
"given": "John"
}
],
"id": "item-5",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_AuthorCountWithMultipleVariables.txt 0000644 0000000 0000000 00000002466 07346545000 023423 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
5
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
},
{
"family": "Brown",
"given": "Robert"
},
{
"family": "Smith",
"given": "Tom"
}
],
"editor": [
{
"family": "Noakes",
"given": "John"
},
{
"family": "Stoakes",
"given": "Richard"
}
],
"id": "item-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_AuthorCountWithSameVarContentAndCombinedTermFail.txt 0000644 0000000 0000000 00000002526 07346545000 026375 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
4
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Noakes",
"given": "John"
},
{
"family": "Stoakes",
"given": "Richard"
}
],
"editor": [
{
"family": "Noakes",
"given": "John"
},
{
"family": "Stoakes",
"given": "Richard"
}
],
"id": "item-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_AuthorCountWithSameVarContentAndCombinedTermSucceed.txt 0000644 0000000 0000000 00000002532 07346545000 027072 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
2
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"editor": [
{
"family": "Noakes",
"given": "John"
},
{
"family": "Stoakes",
"given": "Richard"
}
],
"id": "item-1",
"translator": [
{
"family": "Noakes",
"given": "John"
},
{
"family": "Stoakes",
"given": "Richard"
}
],
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_AuthorEditorCount.txt 0000644 0000000 0000000 00000002463 07346545000 020366 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
5
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
},
{
"family": "Brown",
"given": "Robert"
},
{
"family": "Smith",
"given": "Tom"
}
],
"editor": [
{
"family": "Bloggs",
"given": "Joe"
},
{
"family": "Bloggs",
"given": "Barbie"
}
],
"id": "item-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_BibliographyNameFormNeverShrinks.txt 0000644 0000000 0000000 00000007537 07346545000 023355 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
Smith, Jimmie
Smith, Reggie
<<===== RESULT =====<<
>>===== CITATIONS =====>>
[
[
{
"citationID": "CITATION-1",
"citationItems": [
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
}
],
"properties": {
"noteIndex": 1
}
},
[],
[]
]
]
<<===== CITATIONS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Smith",
"given": "Reggie"
}
],
"id": "ITEM-1",
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "Jimmie"
}
],
"id": "ITEM-2",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_CelticClanName.txt 0000644 0000000 0000000 00000001543 07346545000 017544 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
http://forums.zotero.org/discussion/17610/apsa-problems-with-capitalization-of-mc-mac-etc/
>>===== RESULT =====>>
Susan McMurphy Smith
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Smith",
"given": "Susan McMurphy"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_CeltsAndToffsCrowdedInitials.txt 0000644 0000000 0000000 00000002764 07346545000 022454 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
This example comes to us via a query to comp.text.tex:
http://groups.google.com/group/comp.text.tex/browse_thread/thread/4796d6a2f06952ad?hl=en
(This is a modified version of the desired output inicated in the user's
post, with no spaces following the periods in initials)
>>===== RESULT =====>>
O’Malley, C.D., & Saunders, J.B. de C.M.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "item-1",
"issued": {
"date-parts": [
[
"1952"
]
]
},
"title": "Leonardo on the Human Body",
"translator": [
{
"family": "O’Malley",
"given": "Charles D."
},
{
"family": "Saunders",
"given": "John Bertrand de Cusance Morant"
}
],
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_CeltsAndToffsNoHyphens.txt 0000644 0000000 0000000 00000002106 07346545000 021271 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Chen, H.L.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "item-1",
"issued": {
"date-parts": [
[
"1933"
]
]
},
"title": "Book A",
"translator": [
{
"family": "Chen",
"given": "Hsien-Li"
}
],
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_CeltsAndToffsSpacedInitials.txt 0000644 0000000 0000000 00000002570 07346545000 022257 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
This example comes to us via a query to comp.text.tex:
http://groups.google.com/group/comp.text.tex/browse_thread/thread/4796d6a2f06952ad?hl=en
>>===== RESULT =====>>
O’Malley, C. D., & Saunders, J. B. de C. M.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "item-1",
"issued": {
"date-parts": [
[
"1952"
]
]
},
"title": "Leonardo on the Human Body",
"translator": [
{
"family": "O’Malley",
"given": "Charles D."
},
{
"family": "Saunders",
"given": "John Bertrand de Cusance Morant"
}
],
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_CeltsAndToffsWithHyphens.txt 0000644 0000000 0000000 00000002106 07346545000 021630 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Chen, H.-L.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "item-1",
"issued": {
"date-parts": [
[
"1933"
]
]
},
"title": "Book A",
"translator": [
{
"family": "Chen",
"given": "Hsien-Li"
}
],
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_CiteGroupDelimiterWithYearCollapse.txt 0000644 0000000 0000000 00000030470 07346545000 023643 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
(Aalto 2015a 2015b)
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "Aalto",
"given": "Alan"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
2015
]
]
},
"type": "book"
},
{
"author": [
{
"family": "Aalto",
"given": "Alan"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
2015
]
]
},
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_CiteGroupDelimiterWithYearSuffixCollapse.txt 0000644 0000000 0000000 00000003045 07346545000 025026 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
(Aalto 2015a, b)
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "Aalto",
"given": "Alan"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
2015
]
]
},
"type": "book"
},
{
"author": [
{
"family": "Aalto",
"given": "Alan"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
2015
]
]
},
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_CiteGroupDelimiterWithYearSuffixCollapse2.txt 0000644 0000000 0000000 00000056533 07346545000 025122 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
(Aalto 2015a,b; Bartleby 2010; Aalto 2015c–e)
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
},
{
"id": "ITEM-3"
},
{
"id": "ITEM-4"
},
{
"id": "ITEM-5"
},
{
"id": "ITEM-6"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "Aalto",
"given": "Alan"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
2015
]
]
},
"type": "book"
},
{
"author": [
{
"family": "Aalto",
"given": "Alan"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
2015
]
]
},
"type": "book"
},
{
"author": [
{
"family": "Bartleby",
"given": "Brian"
}
],
"id": "ITEM-3",
"issued": {
"date-parts": [
[
2010
]
]
},
"type": "book"
},
{
"author": [
{
"family": "Aalto",
"given": "Alan"
}
],
"id": "ITEM-4",
"issued": {
"date-parts": [
[
2015
]
]
},
"type": "book"
},
{
"author": [
{
"family": "Aalto",
"given": "Alan"
}
],
"id": "ITEM-5",
"issued": {
"date-parts": [
[
2015
]
]
},
"type": "book"
},
{
"author": [
{
"family": "Aalto",
"given": "Alan"
}
],
"id": "ITEM-6",
"issued": {
"date-parts": [
[
2015
]
]
},
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
>>===== DESCRIPTION =====>>
Cite grouping is applied only if the citations are sorted in some way, otherwise they should be rendered in entry order.
<<===== DESCRIPTION =====<<
citeproc-0.13/test/csl/name_CiteGroupDelimiterWithYearSuffixCollapse3.txt 0000644 0000000 0000000 00000054260 07346545000 025116 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
(Aalto 2015a,b; Bartleby 2010)
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
},
{
"id": "ITEM-3"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "Aalto",
"given": "Alan"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
2015
]
]
},
"type": "book"
},
{
"author": [
{
"family": "Aalto",
"given": "Alan"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
2015
]
]
},
"type": "book"
},
{
"author": [
{
"family": "Bartleby",
"given": "Brian"
}
],
"id": "ITEM-3",
"issued": {
"date-parts": [
[
2010
]
]
},
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_CollapseRoleLabels.txt 0000644 0000000 0000000 00000003535 07346545000 020454 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Albert Asthma et al. (eds. & trans.)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"editor": [
{
"family": "Asthma",
"given": "Albert"
},
{
"family": "Bronchitis",
"given": "Bosworth"
},
{
"family": "Cold",
"given": "Crispin"
}
],
"id": "editor-translator-1",
"issued": {
"date-parts": [
[
"1990"
]
]
},
"title": "Book One",
"translator": [
{
"family": "Asthma",
"given": "Albert"
},
{
"family": "Bronchitis",
"given": "Bosworth"
},
{
"family": "Cold",
"given": "Crispin"
}
],
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_Delimiter.txt 0000644 0000000 0000000 00000002677 07346545000 016671 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
John Doe; Jane Roe OR Doe Inc.; Doe Inc.; Noakes Inc.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
}
],
"id": "item-1",
"type": "book"
},
{
"author": [
{
"family": "Doe Inc.",
"given": "",
"isInstitution": true
},
{
"family": "Doe Inc.",
"given": "",
"isInstitution": true
},
{
"family": "Noakes Inc.",
"given": "",
"isInstitution": true
}
],
"id": "item-2",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_DelimiterAfterInverted.txt 0000644 0000000 0000000 00000006556 07346545000 021354 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== DESCRIPTION =====>>
set delimiter
<<===== DESCRIPTION =====<<
>>===== RESULT =====>>
Australian Government Productivity Commission & New Zealand Productivity Commission
Weinstock, R., Leong, G. B., & Silva, J. A.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"URL": "https://www.pc.gov.au/inquiries/completed/australia-new-zealand/report/trans-tasman.pdf",
"author": [
{
"literal": "Australian Government Productivity Commission"
},
{
"literal": "New Zealand Productivity Commission"
}
],
"id": "AustralianGovernmentProductivityCommissionStrengtheningtransTasmaneconomic2012",
"issued": {
"date-parts": [
[
2012
]
]
},
"title": "Strengthening trans-Tasman economic relations",
"type": "report"
},
{
"author": [
{
"family": "Weinstock",
"given": "R."
},
{
"family": "Leong",
"given": "G. B."
},
{
"family": "Silva",
"given": "J. A."
}
],
"container-title": "Principles and practice of forensic psychiatry",
"edition": "2",
"editor": [
{
"family": "Rosner",
"given": "R."
}
],
"id": "WeinstockDefiningforensicpsychiatry2003",
"issued": {
"date-parts": [
[
2003
]
]
},
"page": "7-13",
"publisher": "CRC Press",
"title": "Defining forensic psychiatry: Roles and responsibilities",
"type": "chapter"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0.1
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_EditorTranslatorBoth.txt 0000644 0000000 0000000 00000014613 07346545000 021061 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
Noakes, Richard. Hello. Ed. by John Doe. Trans. by Jane Roe.
<<===== RESULT =====<<
mla-x.csl
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Noakes",
"given": "Richard"
}
],
"editor": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"title": "Hello",
"translator": [
{
"family": "Roe",
"given": "Jane"
}
],
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_EditorTranslatorSameEmptyTerm.txt 0000644 0000000 0000000 00000002057 07346545000 022720 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
John Doe (editor), John Doe (translator)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"editor": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"translator": [
{
"family": "Doe",
"given": "John"
}
],
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_EditorTranslatorSameWithTerm.txt 0000644 0000000 0000000 00000002331 07346545000 022530 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
The result will differ with in-text style in citeproc-js (only one
name variable will be rendered). That would be the right result for
most in-text styles, but would be unwanted in an in-text note
style. A CSL extension (note-in-text?) would cover that case.
>>===== RESULT =====>>
John Doe (ed. & trans.)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"editor": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"translator": [
{
"family": "Doe",
"given": "John"
}
],
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_EditorTranslatorWithTranslatorOnlyBib.txt 0000644 0000000 0000000 00000014376 07346545000 024437 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
Noakes, Richard. Hello. Trans. by Jane Roe.
<<===== RESULT =====<<
mla-x.csl
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Noakes",
"given": "Richard"
}
],
"id": "ITEM-1",
"title": "Hello",
"translator": [
{
"family": "Roe",
"given": "Jane"
}
],
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_EtAlKanji.txt 0000644 0000000 0000000 00000002531 07346545000 016542 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Ziggy Zither, 等
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Zither",
"given": "Ziggy"
},
{
"family": "Yoda",
"given": "Yossarian"
},
{
"family": "Xylophone",
"given": "Xerxes"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_EtAlUseLast.txt 0000644 0000000 0000000 00000003512 07346545000 017066 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
John Anderson, John Brown, John Catharsis, John Doldrums, John Evergreen, John Fugedaboutit, … John Houynym
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Anderson",
"given": "John"
},
{
"family": "Brown",
"given": "John"
},
{
"family": "Catharsis",
"given": "John"
},
{
"family": "Doldrums",
"given": "John"
},
{
"family": "Evergreen",
"given": "John"
},
{
"family": "Fugedaboutit",
"given": "John"
},
{
"family": "Gargoyle",
"given": "John"
},
{
"family": "Houynym",
"given": "John"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_EtAlWithCombined.txt 0000644 0000000 0000000 00000024441 07346545000 020066 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
John Doe。
——,Ziggy Zither等點校。
田中太郎, Yossarian Yoda, 等翻譯員。
<<===== RESULT =====<<
>>===== CITATION-ITEMS =====>>
[
[
{
"id": "ITEM-1"
}
],
[
{
"id": "ITEM-2"
}
],
[
{
"id": "ITEM-3"
}
]
]
<<===== CITATION-ITEMS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"type": "book"
},
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"collection-editor": [
{
"family": "Zither",
"given": "Ziggy"
},
{
"family": "Yoda",
"given": "Yossarian"
},
{
"family": "Xylophone",
"given": "Xerxes"
}
],
"id": "ITEM-2",
"type": "book"
},
{
"translator": [
{
"family": "田中",
"given": "太郎"
},
{
"family": "Yoda",
"given": "Yossarian"
},
{
"family": "Xylophone",
"given": "Xerxes"
}
],
"id": "ITEM-3",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_FirstInitialFullForm.txt 0000644 0000000 0000000 00000001531 07346545000 021007 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
A. Alan Aalto
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "Aalto",
"given": "A. Alan"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_FormattingOfParticles.txt 0000644 0000000 0000000 00000001644 07346545000 021212 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Gerard van DER MEER
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"dropping-particle": "van",
"family": "Meer",
"given": "Gerard",
"non-dropping-particle": "der"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_GreekSimple.txt 0000644 0000000 0000000 00000001407 07346545000 017150 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Μυρτώ Ράις
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Ράις",
"given": "Μυρτώ"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_HebrewAnd.txt 0000644 0000000 0000000 00000001606 07346545000 016601 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
תפוחו תפוז
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "תפוח"
},
{
"family": "תפוז"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_HierarchicalDelimiter.txt 0000644 0000000 0000000 00000001624 07346545000 021157 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
John Doe; Jane Roe
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
}
],
"id": "item-1",
"title": "Our Anonymous Lives",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_HyphenatedFirstName.txt 0000644 0000000 0000000 00000001431 07346545000 020640 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
H.-X. L. Y. Liu
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Liu",
"given": "Hui-Xiao Li Yuan"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_HyphenatedNonDroppingParticle1.txt 0000644 0000000 0000000 00000003072 07346545000 022755 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
Marple, Mary
One, Alan al-
Participle, Paul
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "al-One",
"given": "Alan"
}
],
"id": "ITEM-1",
"type": "book"
},
{
"author": [
{
"family": "Marple",
"given": "Mary"
}
],
"id": "ITEM-2",
"type": "book"
},
{
"author": [
{
"family": "Participle",
"given": "Paul"
}
],
"id": "ITEM-3",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_HyphenatedNonDroppingParticle2.txt 0000644 0000000 0000000 00000003035 07346545000 022755 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
Mary Marple
Alan al-One
Paul Participle
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "al-One",
"given": "Alan"
}
],
"id": "ITEM-1",
"type": "book"
},
{
"author": [
{
"family": "Marple",
"given": "Mary"
}
],
"id": "ITEM-2",
"type": "book"
},
{
"author": [
{
"family": "Participle",
"given": "Paul"
}
],
"id": "ITEM-3",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_InTextMarkupInitialize.txt 0000644 0000000 0000000 00000002507 07346545000 021360 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John Quiggly"
}
],
"id": "ITEM-1",
"type": "book"
},
{
"author": [
{
"family": "Doe",
"given": "John-Quiggly"
}
],
"id": "ITEM-2",
"type": "book"
}
]
<<===== INPUT =====<<
citeproc-0.13/test/csl/name_InTextMarkupNormalizeInitials.txt 0000644 0000000 0000000 00000002465 07346545000 022717 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "J Q"
}
],
"id": "ITEM-1",
"type": "book"
},
{
"author": [
{
"family": "Doe",
"given": "J-Q"
}
],
"id": "ITEM-2",
"type": "book"
}
]
<<===== INPUT =====<<
citeproc-0.13/test/csl/name_InheritAttributesEtAlStyle.txt 0000644 0000000 0000000 00000002150 07346545000 022175 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Doe, Roe, et al.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
},
{
"family": "Noakes",
"given": "John"
},
{
"family": "Stoakes",
"given": "Richard"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_InitialsInitializeFalse.txt 0000644 0000000 0000000 00000006050 07346545000 021511 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
[Axford, ME] becomes [Axford, ME]
[Behn, M.E] becomes [Behn, M E]
[Crosler, M E.] becomes [Crosler, M E]
[Dimauro, John M.E.] becomes [Dimauro, John M E]
[Evans, M E] becomes [Evans, M E]
[Faquhar, ME.] becomes [Faquhar, ME]
[Grant, Me.] becomes [Grant, Me]
[Hudson, Ph.M.E.] becomes [Hudson, Ph M E]
[Immel, Ph. M.E.] becomes [Immel, Ph M E]
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
}
],
[
{
"id": "ITEM-2"
}
],
[
{
"id": "ITEM-3"
}
],
[
{
"id": "ITEM-4"
}
],
[
{
"id": "ITEM-5"
}
],
[
{
"id": "ITEM-6"
}
],
[
{
"id": "ITEM-7"
}
],
[
{
"id": "ITEM-8"
}
],
[
{
"id": "ITEM-9"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "Axford",
"given": "ME"
}
],
"id": "ITEM-1",
"type": "book"
},
{
"author": [
{
"family": "Behn",
"given": "M.E"
}
],
"id": "ITEM-2",
"type": "book"
},
{
"author": [
{
"family": "Crosler",
"given": "M E."
}
],
"id": "ITEM-3",
"type": "book"
},
{
"author": [
{
"family": "Dimauro",
"given": "John M.E."
}
],
"id": "ITEM-4",
"type": "book"
},
{
"author": [
{
"family": "Evans",
"given": "M E"
}
],
"id": "ITEM-5",
"type": "book"
},
{
"author": [
{
"family": "Faquhar",
"given": "ME."
}
],
"id": "ITEM-6",
"type": "book"
},
{
"author": [
{
"family": "Grant",
"given": "Me."
}
],
"id": "ITEM-7",
"type": "book"
},
{
"author": [
{
"family": "Hudson",
"given": "Ph.M.E."
}
],
"id": "ITEM-8",
"type": "book"
},
{
"author": [
{
"family": "Immel",
"given": "Ph. M.E."
}
],
"id": "ITEM-9",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_InitialsInitializeFalseEmpty.txt 0000644 0000000 0000000 00000006037 07346545000 022535 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
[Axford, ME] becomes [Axford, ME]
[Behn, M.E] becomes [Behn, ME]
[Crosler, M E.] becomes [Crosler, ME]
[Dimauro, John M.E.] becomes [Dimauro, John ME]
[Evans, M E] becomes [Evans, ME]
[Faquhar, ME.] becomes [Faquhar, ME]
[Grant, Me.] becomes [Grant, Me]
[Hudson, Ph.M.E.] becomes [Hudson, PhME]
[Immel, Ph. M.E.] becomes [Immel, PhME]
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
}
],
[
{
"id": "ITEM-2"
}
],
[
{
"id": "ITEM-3"
}
],
[
{
"id": "ITEM-4"
}
],
[
{
"id": "ITEM-5"
}
],
[
{
"id": "ITEM-6"
}
],
[
{
"id": "ITEM-7"
}
],
[
{
"id": "ITEM-8"
}
],
[
{
"id": "ITEM-9"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "Axford",
"given": "ME"
}
],
"id": "ITEM-1",
"type": "book"
},
{
"author": [
{
"family": "Behn",
"given": "M.E"
}
],
"id": "ITEM-2",
"type": "book"
},
{
"author": [
{
"family": "Crosler",
"given": "M E."
}
],
"id": "ITEM-3",
"type": "book"
},
{
"author": [
{
"family": "Dimauro",
"given": "John M.E."
}
],
"id": "ITEM-4",
"type": "book"
},
{
"author": [
{
"family": "Evans",
"given": "M E"
}
],
"id": "ITEM-5",
"type": "book"
},
{
"author": [
{
"family": "Faquhar",
"given": "ME."
}
],
"id": "ITEM-6",
"type": "book"
},
{
"author": [
{
"family": "Grant",
"given": "Me."
}
],
"id": "ITEM-7",
"type": "book"
},
{
"author": [
{
"family": "Hudson",
"given": "Ph.M.E."
}
],
"id": "ITEM-8",
"type": "book"
},
{
"author": [
{
"family": "Immel",
"given": "Ph. M.E."
}
],
"id": "ITEM-9",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_InitialsInitializeFalsePeriod.txt 0000644 0000000 0000000 00000006060 07346545000 022655 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
[Axford, ME] becomes [Axford, ME]
[Behn, M.E] becomes [Behn, M.E.]
[Crosler, M E.] becomes [Crosler, M.E.]
[Dimauro, John M.E.] becomes [Dimauro, John M.E.]
[Evans, M E] becomes [Evans, M.E.]
[Faquhar, ME.] becomes [Faquhar, ME.]
[Grant, Me.] becomes [Grant, Me.]
[Hudson, Ph.M.E.] becomes [Hudson, Ph.M.E.]
[Immel, Ph. M.E.] becomes [Immel, Ph.M.E.]
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
}
],
[
{
"id": "ITEM-2"
}
],
[
{
"id": "ITEM-3"
}
],
[
{
"id": "ITEM-4"
}
],
[
{
"id": "ITEM-5"
}
],
[
{
"id": "ITEM-6"
}
],
[
{
"id": "ITEM-7"
}
],
[
{
"id": "ITEM-8"
}
],
[
{
"id": "ITEM-9"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "Axford",
"given": "ME"
}
],
"id": "ITEM-1",
"type": "book"
},
{
"author": [
{
"family": "Behn",
"given": "M.E"
}
],
"id": "ITEM-2",
"type": "book"
},
{
"author": [
{
"family": "Crosler",
"given": "M E."
}
],
"id": "ITEM-3",
"type": "book"
},
{
"author": [
{
"family": "Dimauro",
"given": "John M.E."
}
],
"id": "ITEM-4",
"type": "book"
},
{
"author": [
{
"family": "Evans",
"given": "M E"
}
],
"id": "ITEM-5",
"type": "book"
},
{
"author": [
{
"family": "Faquhar",
"given": "ME."
}
],
"id": "ITEM-6",
"type": "book"
},
{
"author": [
{
"family": "Grant",
"given": "Me."
}
],
"id": "ITEM-7",
"type": "book"
},
{
"author": [
{
"family": "Hudson",
"given": "Ph.M.E."
}
],
"id": "ITEM-8",
"type": "book"
},
{
"author": [
{
"family": "Immel",
"given": "Ph. M.E."
}
],
"id": "ITEM-9",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_InitialsInitializeFalsePeriodSpace.txt 0000644 0000000 0000000 00000006071 07346545000 023633 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
[Axford, ME] becomes [Axford, ME]
[Behn, M.E] becomes [Behn, M. E.]
[Crosler, M E.] becomes [Crosler, M. E.]
[Dimauro, John M.E.] becomes [Dimauro, John M. E.]
[Evans, M E] becomes [Evans, M. E.]
[Faquhar, ME.] becomes [Faquhar, ME.]
[Grant, Me.] becomes [Grant, Me.]
[Hudson, Ph.M.E.] becomes [Hudson, Ph. M. E.]
[Immel, Ph. M.E.] becomes [Immel, Ph. M. E.]
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
}
],
[
{
"id": "ITEM-2"
}
],
[
{
"id": "ITEM-3"
}
],
[
{
"id": "ITEM-4"
}
],
[
{
"id": "ITEM-5"
}
],
[
{
"id": "ITEM-6"
}
],
[
{
"id": "ITEM-7"
}
],
[
{
"id": "ITEM-8"
}
],
[
{
"id": "ITEM-9"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "Axford",
"given": "ME"
}
],
"id": "ITEM-1",
"type": "book"
},
{
"author": [
{
"family": "Behn",
"given": "M.E"
}
],
"id": "ITEM-2",
"type": "book"
},
{
"author": [
{
"family": "Crosler",
"given": "M E."
}
],
"id": "ITEM-3",
"type": "book"
},
{
"author": [
{
"family": "Dimauro",
"given": "John M.E."
}
],
"id": "ITEM-4",
"type": "book"
},
{
"author": [
{
"family": "Evans",
"given": "M E"
}
],
"id": "ITEM-5",
"type": "book"
},
{
"author": [
{
"family": "Faquhar",
"given": "ME."
}
],
"id": "ITEM-6",
"type": "book"
},
{
"author": [
{
"family": "Grant",
"given": "Me."
}
],
"id": "ITEM-7",
"type": "book"
},
{
"author": [
{
"family": "Hudson",
"given": "Ph.M.E."
}
],
"id": "ITEM-8",
"type": "book"
},
{
"author": [
{
"family": "Immel",
"given": "Ph. M.E."
}
],
"id": "ITEM-9",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_InitialsInitializeTrue.txt 0000644 0000000 0000000 00000006043 07346545000 021400 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
[Axford, ME] becomes [Axford, M]
[Behn, M.E] becomes [Behn, M E]
[Crosler, M E.] becomes [Crosler, M E]
[Dimauro, John M.E.] becomes [Dimauro, J M E]
[Evans, M E] becomes [Evans, M E]
[Faquhar, ME.] becomes [Faquhar, ME]
[Grant, Me.] becomes [Grant, Me]
[Hudson, Ph.M.E.] becomes [Hudson, Ph M E]
[Immel, Ph. M.E.] becomes [Immel, Ph M E]
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
}
],
[
{
"id": "ITEM-2"
}
],
[
{
"id": "ITEM-3"
}
],
[
{
"id": "ITEM-4"
}
],
[
{
"id": "ITEM-5"
}
],
[
{
"id": "ITEM-6"
}
],
[
{
"id": "ITEM-7"
}
],
[
{
"id": "ITEM-8"
}
],
[
{
"id": "ITEM-9"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "Axford",
"given": "ME"
}
],
"id": "ITEM-1",
"type": "book"
},
{
"author": [
{
"family": "Behn",
"given": "M.E"
}
],
"id": "ITEM-2",
"type": "book"
},
{
"author": [
{
"family": "Crosler",
"given": "M E."
}
],
"id": "ITEM-3",
"type": "book"
},
{
"author": [
{
"family": "Dimauro",
"given": "John M.E."
}
],
"id": "ITEM-4",
"type": "book"
},
{
"author": [
{
"family": "Evans",
"given": "M E"
}
],
"id": "ITEM-5",
"type": "book"
},
{
"author": [
{
"family": "Faquhar",
"given": "ME."
}
],
"id": "ITEM-6",
"type": "book"
},
{
"author": [
{
"family": "Grant",
"given": "Me."
}
],
"id": "ITEM-7",
"type": "book"
},
{
"author": [
{
"family": "Hudson",
"given": "Ph.M.E."
}
],
"id": "ITEM-8",
"type": "book"
},
{
"author": [
{
"family": "Immel",
"given": "Ph. M.E."
}
],
"id": "ITEM-9",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_InitialsInitializeTrueEmpty.txt 0000644 0000000 0000000 00000006031 07346545000 022414 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
[Axford, ME] becomes [Axford, M]
[Behn, M.E] becomes [Behn, ME]
[Crosler, M E.] becomes [Crosler, ME]
[Dimauro, John M.E.] becomes [Dimauro, JME]
[Evans, M E] becomes [Evans, ME]
[Faquhar, ME.] becomes [Faquhar, ME]
[Grant, Me.] becomes [Grant, Me]
[Hudson, Ph.M.E.] becomes [Hudson, PhME]
[Immel, Ph. M.E.] becomes [Immel, PhME]
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
}
],
[
{
"id": "ITEM-2"
}
],
[
{
"id": "ITEM-3"
}
],
[
{
"id": "ITEM-4"
}
],
[
{
"id": "ITEM-5"
}
],
[
{
"id": "ITEM-6"
}
],
[
{
"id": "ITEM-7"
}
],
[
{
"id": "ITEM-8"
}
],
[
{
"id": "ITEM-9"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "Axford",
"given": "ME"
}
],
"id": "ITEM-1",
"type": "book"
},
{
"author": [
{
"family": "Behn",
"given": "M.E"
}
],
"id": "ITEM-2",
"type": "book"
},
{
"author": [
{
"family": "Crosler",
"given": "M E."
}
],
"id": "ITEM-3",
"type": "book"
},
{
"author": [
{
"family": "Dimauro",
"given": "John M.E."
}
],
"id": "ITEM-4",
"type": "book"
},
{
"author": [
{
"family": "Evans",
"given": "M E"
}
],
"id": "ITEM-5",
"type": "book"
},
{
"author": [
{
"family": "Faquhar",
"given": "ME."
}
],
"id": "ITEM-6",
"type": "book"
},
{
"author": [
{
"family": "Grant",
"given": "Me."
}
],
"id": "ITEM-7",
"type": "book"
},
{
"author": [
{
"family": "Hudson",
"given": "Ph.M.E."
}
],
"id": "ITEM-8",
"type": "book"
},
{
"author": [
{
"family": "Immel",
"given": "Ph. M.E."
}
],
"id": "ITEM-9",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_InitialsInitializeTruePeriod.txt 0000644 0000000 0000000 00000006054 07346545000 022545 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
[Axford, ME] becomes [Axford, M.]
[Behn, M.E] becomes [Behn, M.E.]
[Crosler, M E.] becomes [Crosler, M.E.]
[Dimauro, John M.E.] becomes [Dimauro, J.M.E.]
[Evans, M E] becomes [Evans, M.E.]
[Faquhar, ME.] becomes [Faquhar, ME.]
[Grant, Me.] becomes [Grant, Me.]
[Hudson, Ph.M.E.] becomes [Hudson, Ph.M.E.]
[Immel, Ph. M.E.] becomes [Immel, Ph.M.E.]
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
}
],
[
{
"id": "ITEM-2"
}
],
[
{
"id": "ITEM-3"
}
],
[
{
"id": "ITEM-4"
}
],
[
{
"id": "ITEM-5"
}
],
[
{
"id": "ITEM-6"
}
],
[
{
"id": "ITEM-7"
}
],
[
{
"id": "ITEM-8"
}
],
[
{
"id": "ITEM-9"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "Axford",
"given": "ME"
}
],
"id": "ITEM-1",
"type": "book"
},
{
"author": [
{
"family": "Behn",
"given": "M.E"
}
],
"id": "ITEM-2",
"type": "book"
},
{
"author": [
{
"family": "Crosler",
"given": "M E."
}
],
"id": "ITEM-3",
"type": "book"
},
{
"author": [
{
"family": "Dimauro",
"given": "John M.E."
}
],
"id": "ITEM-4",
"type": "book"
},
{
"author": [
{
"family": "Evans",
"given": "M E"
}
],
"id": "ITEM-5",
"type": "book"
},
{
"author": [
{
"family": "Faquhar",
"given": "ME."
}
],
"id": "ITEM-6",
"type": "book"
},
{
"author": [
{
"family": "Grant",
"given": "Me."
}
],
"id": "ITEM-7",
"type": "book"
},
{
"author": [
{
"family": "Hudson",
"given": "Ph.M.E."
}
],
"id": "ITEM-8",
"type": "book"
},
{
"author": [
{
"family": "Immel",
"given": "Ph. M.E."
}
],
"id": "ITEM-9",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_InitialsInitializeTruePeriodSpace.txt 0000644 0000000 0000000 00000006066 07346545000 023524 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
[Axford, ME] becomes [Axford, M.]
[Behn, M.E] becomes [Behn, M. E.]
[Crosler, M E.] becomes [Crosler, M. E.]
[Dimauro, John M.E.] becomes [Dimauro, J. M. E.]
[Evans, M E] becomes [Evans, M. E.]
[Faquhar, ME.] becomes [Faquhar, ME.]
[Grant, Me.] becomes [Grant, Me.]
[Hudson, Ph.M.E.] becomes [Hudson, Ph. M. E.]
[Immel, Ph. M.E.] becomes [Immel, Ph. M. E.]
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
}
],
[
{
"id": "ITEM-2"
}
],
[
{
"id": "ITEM-3"
}
],
[
{
"id": "ITEM-4"
}
],
[
{
"id": "ITEM-5"
}
],
[
{
"id": "ITEM-6"
}
],
[
{
"id": "ITEM-7"
}
],
[
{
"id": "ITEM-8"
}
],
[
{
"id": "ITEM-9"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "Axford",
"given": "ME"
}
],
"id": "ITEM-1",
"type": "book"
},
{
"author": [
{
"family": "Behn",
"given": "M.E"
}
],
"id": "ITEM-2",
"type": "book"
},
{
"author": [
{
"family": "Crosler",
"given": "M E."
}
],
"id": "ITEM-3",
"type": "book"
},
{
"author": [
{
"family": "Dimauro",
"given": "John M.E."
}
],
"id": "ITEM-4",
"type": "book"
},
{
"author": [
{
"family": "Evans",
"given": "M E"
}
],
"id": "ITEM-5",
"type": "book"
},
{
"author": [
{
"family": "Faquhar",
"given": "ME."
}
],
"id": "ITEM-6",
"type": "book"
},
{
"author": [
{
"family": "Grant",
"given": "Me."
}
],
"id": "ITEM-7",
"type": "book"
},
{
"author": [
{
"family": "Hudson",
"given": "Ph.M.E."
}
],
"id": "ITEM-8",
"type": "book"
},
{
"author": [
{
"family": "Immel",
"given": "Ph. M.E."
}
],
"id": "ITEM-9",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_Institution.txt 0000644 0000000 0000000 00000001732 07346545000 017273 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Multi-National United
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"literal": "Multi-National United"
}
],
"id": "institution-name-1",
"issued": {
"date-parts": [
[
"2006"
]
]
},
"title": "White Paper on Education, Sports, Culture, Science and Technology",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_InstitutionDecoration.txt 0000644 0000000 0000000 00000002354 07346545000 021304 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
SÃO PAULO (ESTADO)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"literal": "São Paulo (Estado)"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_LabelAfterPlural.txt 0000644 0000000 0000000 00000002055 07346545000 020122 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
John Doe, Jane Roeeditors
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"editor": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
}
],
"id": "item-1",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "His Anonymous Life",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_LabelAfterPluralDecorations.txt 0000644 0000000 0000000 00000002210 07346545000 022306 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
John Doe et al. (editors)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"editor": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
}
],
"id": "item-1",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "His Anonymous Life",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_LabelFormatBug.txt 0000644 0000000 0000000 00000002635 07346545000 017573 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
Aalto editor
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"editor": [
{
"family": "Aalto",
"given": "Alan"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_LiteralWithComma.txt 0000644 0000000 0000000 00000003542 07346545000 020150 0 ustar 00 0000000 0000000 >>==== MODE ====>>
bibliography
<<==== MODE ====<<
>>==== RESULT ====>>
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"literal": "Smith, John"
}
],
"id": "ITEM-1",
"type": "book"
},
{
"author": [
{
"family": "Kent",
"given": "Klark"
}
],
"id": "ITEM-2",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_LongAbbreviation.txt 0000644 0000000 0000000 00000002066 07346545000 020170 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Ts. Tserendorj
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Tserendorj",
"given": "TSerendorjiin"
}
],
"id": "simple-mongolian-name-1",
"issued": {
"date-parts": [
[
"1925",
"3",
"4"
]
]
},
"title": "An Altogether Unknown History of Soviet-Mongolian Relations",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_LowercaseSurnameSuffix.txt 0000644 0000000 0000000 00000001423 07346545000 021403 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
G Chen
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Chen",
"given": "Guo-ping"
}
],
"id": "ITEM-1",
"type": "article-journal"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_MultipleLiteral.txt 0000644 0000000 0000000 00000002636 07346545000 020056 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
JJ Doe; G Jones; B Smith; Alfred Benzon Foundation; James Benson Foundation; John Candy Foundation
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John J."
},
{
"family": "Jones",
"given": "Gregory"
},
{
"family": "Smith",
"given": "Bob"
},
{
"family": "Alfred Benzon Foundation",
"isInstitution": "true"
},
{
"family": "James Benson Foundation",
"isInstitution": "true"
},
{
"family": "John Candy Foundation",
"isInstitution": "true"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_NoNameNode.txt 0000644 0000000 0000000 00000001663 07346545000 016730 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
John Doe
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"1965",
"6",
"1"
]
]
},
"title": "His Anonymous Life",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_NonDroppingParticleDefault.txt 0000644 0000000 0000000 00000001476 07346545000 022175 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Roe, Jane van
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Roe",
"given": "Jane",
"non-dropping-particle": "van"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_OnlyFamilyname.txt 0000644 0000000 0000000 00000001400 07346545000 017656 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Prince
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Prince"
}
],
"id": "ITEM-1",
"title": "Item 1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_OnlyGivenname.txt 0000644 0000000 0000000 00000001377 07346545000 017522 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Banksy
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"given": "Banksy"
}
],
"id": "ITEM-1",
"title": "Item 1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_OverridingHierarchicalDelimiter.txt 0000644 0000000 0000000 00000001676 07346545000 023217 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
John Doe///Jane Roe
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
}
],
"id": "item-1",
"title": "Our Anonymous Lives",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_ParseNames.txt 0000644 0000000 0000000 00000002530 07346545000 016775 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
van Gogh, Vincent; Humboldt, Alexander von; van der Vlist, Eric
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "van der Vlist",
"given": "Eric"
}
],
"id": "ITEM-3",
"type": "book"
},
{
"author": [
{
"family": "van Gogh",
"given": "Vincent"
}
],
"id": "ITEM-1",
"type": "book"
},
{
"author": [
{
"family": "Humboldt",
"given": "Alexander von"
}
],
"id": "ITEM-2",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_ParsedCommaDelimitedDroppingParticleSortOrderingWithoutAffixes.txt 0000644 0000000 0000000 00000001717 07346545000 031404 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
AUBIGNAC, François Hédelin, abbé d’
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Aubignac",
"given": "François Hédelin, abbé d'"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_ParsedDroppingParticleWithAffixes.txt 0000644 0000000 0000000 00000002040 07346545000 023502 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
La Fontaine (Jean de)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "La Fontaine",
"given": "Jean de"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_ParsedDroppingParticleWithApostrophe.txt 0000644 0000000 0000000 00000001624 07346545000 024250 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
François Hédelin (d’Aubignac)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Aubignac",
"given": "François Hédelin d'"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_ParsedNonDroppingParticleWithAffixes.txt 0000644 0000000 0000000 00000002032 07346545000 024156 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
(La Fontaine) Jean de
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "La Fontaine",
"given": "Jean de"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_ParsedNonDroppingParticleWithApostrophe.txt 0000644 0000000 0000000 00000002145 07346545000 024722 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Aubignac (François Hédelin d’)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "d'Aubignac",
"given": "François Hédelin"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_ParsedUpperCaseNonDroppingParticle.txt 0000644 0000000 0000000 00000002107 07346545000 023627 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
La Fontaine (Jean de)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "La Fontaine",
"given": "Jean de"
}
],
"id": "ITEM-1",
"title": "His Anonymous Life",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_ParticleCaps1.txt 0000644 0000000 0000000 00000002504 07346545000 017373 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
(van One, van Two)
(van Three, Van Four)
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
}
],
[
{
"id": "ITEM-2"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "van One",
"given": "Onename"
},
{
"family": "van Two",
"given": "Twoname"
}
],
"id": "ITEM-1",
"type": "book"
},
{
"author": [
{
"family": "van Three",
"given": "Threename"
},
{
"family": "Van Four",
"given": "Fourname"
}
],
"id": "ITEM-2",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_ParticleCaps2.txt 0000644 0000000 0000000 00000003030 07346545000 017367 0 ustar 00 0000000 0000000 >>==== MODE ====>>
bibliography
<<==== MODE ====<<
>>==== RESULT ====>>
van One, O., van Two, T.
van Three, T., Van Four, F.
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
}
],
[
{
"id": "ITEM-2"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "van One",
"given": "Onename"
},
{
"family": "van Two",
"given": "Twoname"
}
],
"id": "ITEM-1",
"type": "book"
},
{
"author": [
{
"family": "van Three",
"given": "Threename"
},
{
"family": "Van Four",
"given": "Fourname"
}
],
"id": "ITEM-2",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_ParticleCaps3.txt 0000644 0000000 0000000 00000003370 07346545000 017377 0 ustar 00 0000000 0000000 >>==== MODE ====>>
bibliography
<<==== MODE ====<<
>>==== RESULT ====>>
Onename van One, Twoname van Two
Threename van Three, Fourname Van Four
Dick Van Dyke
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
}
],
[
{
"id": "ITEM-2"
}
],
[
{
"id": "ITEM-3"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "van One",
"given": "Onename"
},
{
"family": "van Two",
"given": "Twoname"
}
],
"id": "ITEM-1",
"type": "book"
},
{
"author": [
{
"family": "van Three",
"given": "Threename"
},
{
"family": "Van Four",
"given": "Fourname"
}
],
"id": "ITEM-2",
"type": "book"
},
{
"author": [
{
"family": "\"Van Dyke\"",
"given": "Dick"
}
],
"id": "ITEM-3",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_ParticleFormatting.txt 0000644 0000000 0000000 00000002030 07346545000 020530 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
LA DOE, John de
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"dropping-particle": "de",
"family": "Doe",
"given": "John",
"non-dropping-particle": "la"
}
],
"id": "ITEM-1",
"title": "His Anonymous Life",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_ParticleParse1.txt 0000644 0000000 0000000 00000002066 07346545000 017562 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
Smith
von und zum Jones
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
}
],
[
{
"id": "ITEM-2"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "Smith",
"given": "George von und zum"
}
],
"id": "ITEM-1",
"type": "book"
},
{
"author": [
{
"family": "von und zum Jones",
"given": "Ralph"
}
],
"id": "ITEM-2",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_ParticlesDemoteNonDroppingNever.txt 0000644 0000000 0000000 00000041002 07346545000 023176 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== DESCRIPTION =====>>
This test depends on the particular way citeproc-js applies formatting to names and so may not pass
for other CSL processors that nonetheless parse name particles correctly.
Specifically, it expects bold and italic pseudo-HTML* to be applied separately to name particles
before they are appended to the given or family name. For example, with a main family name of
"George", this test would expect
St. George
de George
identifying "de" as a non-dropping particle and "St." as part of the family name, not a particle.
From a formatting perspective, however, these are the same
de George
de George
and so CSL processors may reasonably prefer the former, causing this test to fail incorrectly.
This test should be re-written so it doesn't depend on invisible formatting subtlies.
* https://citeproc-js.readthedocs.io/en/latest/csl-json/markup.html#html-like-formatting-tags
<<===== DESCRIPTION =====<<
>>===== RESULT =====>>
Familyname, Givenname al
Familyname, Givenname dos
Familyname, Givenname el
Las Familyname, Givenname de
Familyname, Givenname lo
Familyname, Givenname les
Familyname, Givenname il
del Familyname, Givenname
Familyname, Givenname dela
Familyname, Givenname della
Familyname, Givenname dello
Di Familyname, Givenname
Da Familyname, Givenname
Do Familyname, Givenname
Des Familyname, Givenname
Lou Familyname, Givenname
Pietro Familyname, Givenname
de Familyname, Givenname
La Familyname, Givenname de
Familyname, Givenname du
Familyname, Givenname d’
Le Familyname, Givenname
La Familyname, Givenname
L’Familyname, Givenname
Saint Familyname, Givenname
Sainte Familyname, Givenname
St. Familyname, Givenname
Ste. Familyname, Givenname
van Familyname, Givenname
van de Familyname, Givenname
van der Familyname, Givenname
van den Familyname, Givenname
vander Familyname, Givenname
v.d. Familyname, Givenname
vd Familyname, Givenname
van het Familyname, Givenname
ver Familyname, Givenname
ten Familyname, Givenname
ter Familyname, Givenname
te Familyname, Givenname
Familyname, Givenname op de
in de Familyname, Givenname
in ’t Familyname, Givenname
’t Familyname, Givenname
in het Familyname, Givenname
uit de Familyname, Givenname
uit den Familyname, Givenname
Familyname, Givenname von
Familyname, Givenname von der
Familyname, Givenname von dem
Familyname, Givenname von zu
v. Familyname, Givenname
v Familyname, Givenname
Familyname, Givenname vom
Familyname, Givenname das
Familyname, Givenname zum
Familyname, Givenname zur
Familyname, Givenname den
Familyname, Givenname der
Familyname, Givenname des
Familyname, Givenname auf den
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Familyname",
"given": "Givenname al"
}
],
"id": "ITEM-1",
"type": "book"
},
{
"author": [
{
"family": "Familyname",
"given": "Givenname dos"
}
],
"id": "ITEM-2",
"type": "book"
},
{
"author": [
{
"family": "Familyname",
"given": "Givenname el"
}
],
"id": "ITEM-3",
"type": "book"
},
{
"author": [
{
"family": "Las Familyname",
"given": "Givenname de"
}
],
"id": "ITEM-4",
"type": "book"
},
{
"author": [
{
"family": "Familyname",
"given": "Givenname lo"
}
],
"id": "ITEM-5",
"type": "book"
},
{
"author": [
{
"family": "Familyname",
"given": "Givenname les"
}
],
"id": "ITEM-6",
"type": "book"
},
{
"author": [
{
"family": "Familyname",
"given": "Givenname il"
}
],
"id": "ITEM-7",
"type": "book"
},
{
"author": [
{
"family": "del Familyname",
"given": "Givenname"
}
],
"id": "ITEM-8",
"type": "book"
},
{
"author": [
{
"family": "Familyname",
"given": "Givenname dela"
}
],
"id": "ITEM-9",
"type": "book"
},
{
"author": [
{
"family": "Familyname",
"given": "Givenname della"
}
],
"id": "ITEM-10",
"type": "book"
},
{
"author": [
{
"family": "Familyname",
"given": "Givenname dello"
}
],
"id": "ITEM-11",
"type": "book"
},
{
"author": [
{
"family": "Di Familyname",
"given": "Givenname"
}
],
"id": "ITEM-12",
"type": "book"
},
{
"author": [
{
"family": "Da Familyname",
"given": "Givenname"
}
],
"id": "ITEM-13",
"type": "book"
},
{
"author": [
{
"family": "Do Familyname",
"given": "Givenname"
}
],
"id": "ITEM-14",
"type": "book"
},
{
"author": [
{
"family": "Des Familyname",
"given": "Givenname"
}
],
"id": "ITEM-15",
"type": "book"
},
{
"author": [
{
"family": "Lou Familyname",
"given": "Givenname"
}
],
"id": "ITEM-16",
"type": "book"
},
{
"author": [
{
"family": "Pietro Familyname",
"given": "Givenname"
}
],
"id": "ITEM-17",
"type": "book"
},
{
"author": [
{
"family": "de Familyname",
"given": "Givenname"
}
],
"id": "ITEM-18",
"type": "book"
},
{
"author": [
{
"family": "La Familyname",
"given": "Givenname de"
}
],
"id": "ITEM-19",
"type": "book"
},
{
"author": [
{
"family": "Familyname",
"given": "Givenname du"
}
],
"id": "ITEM-20",
"type": "book"
},
{
"author": [
{
"family": "Familyname",
"given": "Givenname d'"
}
],
"id": "ITEM-21",
"type": "book"
},
{
"author": [
{
"family": "Le Familyname",
"given": "Givenname"
}
],
"id": "ITEM-22",
"type": "book"
},
{
"author": [
{
"family": "La Familyname",
"given": "Givenname"
}
],
"id": "ITEM-23",
"type": "book"
},
{
"author": [
{
"family": "L'Familyname",
"given": "Givenname"
}
],
"id": "ITEM-24",
"type": "book"
},
{
"author": [
{
"family": "Saint Familyname",
"given": "Givenname"
}
],
"id": "ITEM-25",
"type": "book"
},
{
"author": [
{
"family": "Sainte Familyname",
"given": "Givenname"
}
],
"id": "ITEM-26",
"type": "book"
},
{
"author": [
{
"family": "St. Familyname",
"given": "Givenname"
}
],
"id": "ITEM-27",
"type": "book"
},
{
"author": [
{
"family": "Ste. Familyname",
"given": "Givenname"
}
],
"id": "ITEM-28",
"type": "book"
},
{
"author": [
{
"family": "van Familyname",
"given": "Givenname"
}
],
"id": "ITEM-29",
"type": "book"
},
{
"author": [
{
"family": "van de Familyname",
"given": "Givenname"
}
],
"id": "ITEM-30",
"type": "book"
},
{
"author": [
{
"family": "van der Familyname",
"given": "Givenname"
}
],
"id": "ITEM-31",
"type": "book"
},
{
"author": [
{
"family": "van den Familyname",
"given": "Givenname"
}
],
"id": "ITEM-32",
"type": "book"
},
{
"author": [
{
"family": "vander Familyname",
"given": "Givenname"
}
],
"id": "ITEM-33",
"type": "book"
},
{
"author": [
{
"family": "v.d. Familyname",
"given": "Givenname"
}
],
"id": "ITEM-34",
"type": "book"
},
{
"author": [
{
"family": "vd Familyname",
"given": "Givenname"
}
],
"id": "ITEM-35",
"type": "book"
},
{
"author": [
{
"family": "van het Familyname",
"given": "Givenname"
}
],
"id": "ITEM-36",
"type": "book"
},
{
"author": [
{
"family": "ver Familyname",
"given": "Givenname"
}
],
"id": "ITEM-37",
"type": "book"
},
{
"author": [
{
"family": "ten Familyname",
"given": "Givenname"
}
],
"id": "ITEM-38",
"type": "book"
},
{
"author": [
{
"family": "ter Familyname",
"given": "Givenname"
}
],
"id": "ITEM-39",
"type": "book"
},
{
"author": [
{
"family": "te Familyname",
"given": "Givenname"
}
],
"id": "ITEM-40",
"type": "book"
},
{
"author": [
{
"family": "Familyname",
"given": "Givenname op de"
}
],
"id": "ITEM-41",
"type": "book"
},
{
"author": [
{
"family": "in de Familyname",
"given": "Givenname"
}
],
"id": "ITEM-42",
"type": "book"
},
{
"author": [
{
"family": "in 't Familyname",
"given": "Givenname"
}
],
"id": "ITEM-43",
"type": "book"
},
{
"author": [
{
"family": "'t Familyname",
"given": "Givenname"
}
],
"id": "ITEM-44",
"type": "book"
},
{
"author": [
{
"family": "in het Familyname",
"given": "Givenname"
}
],
"id": "ITEM-45",
"type": "book"
},
{
"author": [
{
"family": "uit de Familyname",
"given": "Givenname"
}
],
"id": "ITEM-46",
"type": "book"
},
{
"author": [
{
"family": "uit den Familyname",
"given": "Givenname"
}
],
"id": "ITEM-47",
"type": "book"
},
{
"author": [
{
"family": "Familyname",
"given": "Givenname von"
}
],
"id": "ITEM-48",
"type": "book"
},
{
"author": [
{
"family": "Familyname",
"given": "Givenname von der"
}
],
"id": "ITEM-49",
"type": "book"
},
{
"author": [
{
"family": "Familyname",
"given": "Givenname von dem"
}
],
"id": "ITEM-50",
"type": "book"
},
{
"author": [
{
"family": "Familyname",
"given": "Givenname von zu"
}
],
"id": "ITEM-51",
"type": "book"
},
{
"author": [
{
"family": "v. Familyname",
"given": "Givenname"
}
],
"id": "ITEM-52",
"type": "book"
},
{
"author": [
{
"family": "v Familyname",
"given": "Givenname"
}
],
"id": "ITEM-53",
"type": "book"
},
{
"author": [
{
"family": "Familyname",
"given": "Givenname vom"
}
],
"id": "ITEM-54",
"type": "book"
},
{
"author": [
{
"family": "Familyname",
"given": "Givenname das"
}
],
"id": "ITEM-55",
"type": "book"
},
{
"author": [
{
"family": "Familyname",
"given": "Givenname zum"
}
],
"id": "ITEM-56",
"type": "book"
},
{
"author": [
{
"family": "Familyname",
"given": "Givenname zur"
}
],
"id": "ITEM-57",
"type": "book"
},
{
"author": [
{
"family": "Familyname",
"given": "Givenname den"
}
],
"id": "ITEM-58",
"type": "book"
},
{
"author": [
{
"family": "Familyname",
"given": "Givenname der"
}
],
"id": "ITEM-59",
"type": "book"
},
{
"author": [
{
"family": "Familyname",
"given": "Givenname des"
}
],
"id": "ITEM-60",
"type": "book"
},
{
"author": [
{
"family": "Familyname",
"given": "Givenname auf den"
}
],
"id": "ITEM-61",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_PeriodAfterInitials.txt 0000644 0000000 0000000 00000001713 07346545000 020642 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Doe, J. J., His Anonymous Life
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John Jeeves"
}
],
"id": "ITEM-1",
"title": "His Anonymous Life",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_QuashOrdinaryVariableRenderedViaSubstitute.txt 0000644 0000000 0000000 00000001401 07346545000 025377 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Case Name
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "Case Name",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_RomanianTwo.txt 0000644 0000000 0000000 00000001603 07346545000 017175 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
John Doe și Jane Roe
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_SemicolonWithAnd.txt 0000644 0000000 0000000 00000002114 07346545000 020144 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
C. Smith; J. Brown; and F. Wilson
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Smith",
"given": "Cecil"
},
{
"family": "Brown",
"given": "Jimminey"
},
{
"family": "Wilson",
"given": "Fred"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_SplitInitials.txt 0000644 0000000 0000000 00000001761 07346545000 017534 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
JJ Doe
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "J.J."
}
],
"id": "simple-western-name-1",
"issued": {
"date-parts": [
[
"1965",
"6",
"1"
]
]
},
"title": "His Anonymous Life",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_SubsequentAuthorSubstituteMultipleNames.txt 0000644 0000000 0000000 00000003366 07346545000 025064 0 ustar 00 0000000 0000000 >>==== MODE ====>>
bibliography
<<==== MODE ====<<
>>==== RESULT ====>>
Bumke, Courtly Culture: Literature and Society in the High Middle Ages, Dunlap trans.
-----, Höfische
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
}
],
[
{
"id": "ITEM-2"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "Bumke",
"given": "Joachim"
}
],
"id": "ITEM-1",
"title": "Courtly Culture: Literature and Society in the High Middle Ages",
"translator": [
{
"family": "Dunlap",
"given": "Thomas"
}
],
"type": "book"
},
{
"author": [
{
"family": "Bumke",
"given": "Joachim"
}
],
"id": "ITEM-2",
"title": "Höfische",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_SubsequentAuthorSubstituteSingleField.txt 0000644 0000000 0000000 00000006054 07346545000 024467 0 ustar 00 0000000 0000000 >>==== MODE ====>>
bibliography
<<==== MODE ====<<
>>==== RESULT ====>>
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
}
],
[
{
"id": "ITEM-2"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"id": "ITEM-1",
"title": "Ashita no tenki",
"container-title": "Yomiuri Shinbun",
"type": "article-newspaper"
},
{
"id": "ITEM-2",
"title": "Asatte no tenki",
"container-title": "Yomiuri Shinbun",
"type": "article-newspaper"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_SubstituteInheritLabel.txt 0000644 0000000 0000000 00000003217 07346545000 021400 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
[[X]Jane Roe (ed.); [X]John Doe]
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"editor": [
{
"family": "Roe",
"given": "Jane"
}
],
"id": "item-1",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "Her Anonymous Anthology",
"type": "book"
},
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "simple-western-name-1",
"issued": {
"date-parts": [
[
"1965",
"6",
"1"
]
]
},
"title": "His Anonymous Life",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_SubstituteMacroInheritDecorations.txt 0000644 0000000 0000000 00000002302 07346545000 023607 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
[I AM A BLOB]
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "simple-western-name-1",
"issued": {
"date-parts": [
[
"1965",
"6",
"1"
]
]
},
"title": "His Anonymous Life",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_SubstituteName.txt 0000644 0000000 0000000 00000001761 07346545000 017720 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
John Doe
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"editor": [
{
"family": "Doe",
"given": "John"
}
],
"id": "item-1",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "His Anonymous Life",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_SubstituteOnDateGroupSpanFail.txt 0000644 0000000 0000000 00000002363 07346545000 022644 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
2000
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"edition": "5",
"id": "item-1",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "His Anonymous Life",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_SubstituteOnGroupSpanGroupSpanFail.txt 0000644 0000000 0000000 00000002477 07346545000 023713 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
His Anonymous Life (this should appear)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"edition": "5",
"id": "item-1",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "His Anonymous Life",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_SubstituteOnMacroGroupSpanFail.txt 0000644 0000000 0000000 00000002422 07346545000 023024 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
boo
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"edition": "5",
"id": "item-1",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "His Anonymous Life",
"type": "book",
"volume": "boo"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_SubstituteOnNamesSingletonGroupSpanFail.txt 0000644 0000000 0000000 00000002230 07346545000 024706 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
John Doe
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"edition": "5",
"id": "item-1",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "His Anonymous Life",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_SubstituteOnNamesSpanGroupSpanFail.txt 0000644 0000000 0000000 00000002332 07346545000 023650 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
(John Doe)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"edition": "5",
"id": "item-1",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "His Anonymous Life",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_SubstituteOnNamesSpanNamesSpanFail.txt 0000644 0000000 0000000 00000002423 07346545000 023620 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
(John Doe)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"edition": "5",
"editor": [
{
"family": "Roe",
"given": "Jane"
}
],
"id": "item-1",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "His Anonymous Life",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_SubstituteOnNumberGroupSpanFail.txt 0000644 0000000 0000000 00000002227 07346545000 023216 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
5
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"edition": "5",
"id": "item-1",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "His Anonymous Life",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_SubstitutePartialEach.txt 0000644 0000000 0000000 00000004325 07346545000 021214 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "Title One",
"type": "book"
},
{
"id": "ITEM-2",
"title": "Title One",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_TwoRolesSameRenderingSeparateRoleLabels.txt 0000644 0000000 0000000 00000003424 07346545000 024616 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Albert Asthma et al. (eds.), Albert Asthma et al. (trans.)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"editor": [
{
"family": "Asthma",
"given": "Albert"
},
{
"family": "Bronchitis",
"given": "Bosworth"
},
{
"family": "Cold",
"given": "Crispin"
}
],
"id": "editor-translator-2",
"issued": {
"date-parts": [
[
"1990"
]
]
},
"title": "Book One",
"translator": [
{
"family": "Asthma",
"given": "Albert"
},
{
"family": "Bronchitis",
"given": "Bosworth"
},
{
"family": "Cold",
"given": "Constantine"
}
],
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_WesternArticularLowercase.txt 0000644 0000000 0000000 00000001734 07346545000 022107 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Jacques van Doe
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "Jacques",
"non-dropping-particle": "van"
}
],
"id": "item-1",
"issued": {
"date-parts": [
[
"1645"
]
]
},
"title": "A Book of Five Rings",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_WesternPrimaryFontStyle.txt 0000644 0000000 0000000 00000002060 07346545000 021600 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
John Doe
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "simple-western-name-1",
"issued": {
"date-parts": [
[
"1965",
"6",
"1"
]
]
},
"title": "His Anonymous Life",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_WesternPrimaryFontStyleTwoAuthors.txt 0000644 0000000 0000000 00000002155 07346545000 023645 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
John Doe; Jane Roe
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
}
],
"id": "item-1",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "Our Anonymous Lives",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_WesternSimple.txt 0000644 0000000 0000000 00000001731 07346545000 017542 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
AAhad M. Doe
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "AAhad M."
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"1965",
"6",
"1"
]
]
},
"title": "His Anonymous Life",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_WesternTwoAuthors.txt 0000644 0000000 0000000 00000002011 07346545000 020420 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
John Doe, Jane Roe
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
}
],
"id": "item-1",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "Our Anonymous Lives",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_WithNonBreakingSpace.txt 0000644 0000000 0000000 00000002072 07346545000 020745 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
John Doe
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"1965",
"6",
"1"
]
]
},
"title": "His Anonymous Life",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_namepartAffixes.txt 0000644 0000000 0000000 00000002007 07346545000 020053 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
[Jean] (de La Fontaine III)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"dropping-particle": "de",
"family": "Fontaine",
"given": "Jean",
"non-dropping-particle": "La",
"suffix": "III"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_namepartAffixesNameAsSortOrder.txt 0000644 0000000 0000000 00000002142 07346545000 023004 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
(La Fontaine) [Jean de] III
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"dropping-particle": "de",
"family": "Fontaine",
"given": "Jean",
"non-dropping-particle": "La",
"suffix": "III"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/name_namepartAffixesNameAsSortOrderDemoteNonDroppingParticle.txt 0000644 0000000 0000000 00000002151 07346545000 030004 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
(Fontaine) [Jean de La] III
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"dropping-particle": "de",
"family": "Fontaine",
"given": "Jean",
"non-dropping-particle": "La",
"suffix": "III"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_AndOnBibliographyInBibliography.txt 0000644 0000000 0000000 00000002012 07346545000 024003 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_AndOnBibliographyInCitation.txt 0000644 0000000 0000000 00000001747 07346545000 023160 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
John Doe, Jane Roe
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_AndOnCitationInBibliography.txt 0000644 0000000 0000000 00000002054 07346545000 023150 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_AndOnCitationInCitation.txt 0000644 0000000 0000000 00000001554 07346545000 022313 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
John Doe and Jane Roe
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_AndOnNamesInBibliography.txt 0000644 0000000 0000000 00000002003 07346545000 022433 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_AndOnNamesInCitation.txt 0000644 0000000 0000000 00000001545 07346545000 021604 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
John Doe and Jane Roe
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_AndOnStyleInBibliography.txt 0000644 0000000 0000000 00000002012 07346545000 022470 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_AndOnStyleInCitation.txt 0000644 0000000 0000000 00000002012 07346545000 021627 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_DelimiterPrecedesEtAlOnBibliographyInBibliography.txt 0000644 0000000 0000000 00000002115 07346545000 027444 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_DelimiterPrecedesEtAlOnBibliographyInCitation.txt 0000644 0000000 0000000 00000002134 07346545000 026604 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
John Doe et al.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_DelimiterPrecedesEtAlOnCitationInBibliography.txt 0000644 0000000 0000000 00000002241 07346545000 026603 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_DelimiterPrecedesEtAlOnCitationInCitation.txt 0000644 0000000 0000000 00000001657 07346545000 025754 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
John Doe, et al.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_DelimiterPrecedesEtAlOnNamesInBibliography.txt 0000644 0000000 0000000 00000002107 07346545000 026075 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_DelimiterPrecedesEtAlOnNamesInCitation.txt 0000644 0000000 0000000 00000001651 07346545000 025237 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
John Doe, et al.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_DelimiterPrecedesEtAlOnStyleInBibliography.txt 0000644 0000000 0000000 00000002115 07346545000 026131 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_DelimiterPrecedesEtAlOnStyleInCitation.txt 0000644 0000000 0000000 00000001657 07346545000 025302 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
John Doe, et al.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_DelimiterPrecedesLastOnBibliographyInBibliography.txt 0000644 0000000 0000000 00000002073 07346545000 027525 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_DelimiterPrecedesLastOnBibliographyInCitation.txt 0000644 0000000 0000000 00000002064 07346545000 026664 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
John Doe and Jane Roe
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_DelimiterPrecedesLastOnCitationInBibliography.txt 0000644 0000000 0000000 00000002171 07346545000 026663 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_DelimiterPrecedesLastOnCitationInCitation.txt 0000644 0000000 0000000 00000001635 07346545000 026026 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
John Doe, and Jane Roe
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_DelimiterPrecedesLastOnNamesInBibliography.txt 0000644 0000000 0000000 00000002065 07346545000 026156 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_DelimiterPrecedesLastOnNamesInCitation.txt 0000644 0000000 0000000 00000001626 07346545000 025317 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
John Doe, and Jane Roe
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_DelimiterPrecedesLastOnStyleInBibliography.txt 0000644 0000000 0000000 00000002072 07346545000 026211 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_DelimiterPrecedesLastOnStyleInCitation.txt 0000644 0000000 0000000 00000001635 07346545000 025354 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
John Doe, and Jane Roe
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_EtAlMinOnBibliographyInBibliography.txt 0000644 0000000 0000000 00000002032 07346545000 024574 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_EtAlMinOnBibliographyInCitation.txt 0000644 0000000 0000000 00000002020 07346545000 023730 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
John Doe, Jane Roe
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_EtAlMinOnCitationInBibliography.txt 0000644 0000000 0000000 00000002125 07346545000 023736 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_EtAlMinOnCitationInCitation.txt 0000644 0000000 0000000 00000001574 07346545000 023104 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
John Doe et al.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_EtAlMinOnNamesInBibliography.txt 0000644 0000000 0000000 00000002024 07346545000 023225 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_EtAlMinOnNamesInCitation.txt 0000644 0000000 0000000 00000001566 07346545000 022376 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
John Doe et al.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_EtAlMinOnStyleInBibliography.txt 0000644 0000000 0000000 00000002024 07346545000 023262 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_EtAlMinOnStyleInCitation.txt 0000644 0000000 0000000 00000001566 07346545000 022433 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
John Doe et al.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_EtAlSubsequentMinOnBibliographyInBibliography.txt 0000644 0000000 0000000 00000002227 07346545000 026661 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
NOTE: the subsequent variants of et-al-use-first and et-al-min
have no effect in the bibliography.
>>===== RESULT =====>>
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_EtAlSubsequentMinOnBibliographyInCitation.txt 0000644 0000000 0000000 00000002061 07346545000 026014 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
John Doe, Jane Roe
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_EtAlSubsequentMinOnCitationInBibliography.txt 0000644 0000000 0000000 00000002166 07346545000 026022 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_EtAlSubsequentMinOnNamesInBibliography.txt 0000644 0000000 0000000 00000002227 07346545000 025311 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
NOTE: The subsequent forms of et-al-min and et-al-use-first
are completely ignored in the bibliography.
>>===== RESULT =====>>
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_EtAlSubsequentMinOnStyleInBibliography.txt 0000644 0000000 0000000 00000002231 07346545000 025341 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
NOTE: the subsequent versions of et-al-min and et-al-use-first
are completely ignored in the bibliography.
>>===== RESULT =====>>
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_EtAlSubsequentUseFirstOnBibliographyInBibliography.txt 0000644 0000000 0000000 00000002434 07346545000 027702 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
NOTE: the subsequent variants of et-al-min and et-al-use-first
have no effect in the bibliography.
>>===== RESULT =====>>
John Doe, Jane Roe, Richard Snoakes
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
},
{
"family": "Snoakes",
"given": "Richard"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_EtAlSubsequentUseFirstOnBibliographyInCitation.txt 0000644 0000000 0000000 00000002303 07346545000 027034 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
NOTE: no effect, of course.
>>===== RESULT =====>>
John Doe, Jane Roe, Richard Snoakes
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
},
{
"family": "Snoakes",
"given": "Richard"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_EtAlSubsequentUseFirstOnCitationInBibliography.txt 0000644 0000000 0000000 00000002411 07346545000 027034 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
NOTE: no effect, of course.
>>===== RESULT =====>>
John Doe, Jane Roe, Richard Snoakes
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
},
{
"family": "Snoakes",
"given": "Richard"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_EtAlSubsequentUseFirstOnStyleInBibliography.txt 0000644 0000000 0000000 00000002442 07346545000 026366 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
NOTE: The subsequent forms of et-al-min and et-al-use-first are
completely ignored in the bibliography.
>>===== RESULT =====>>
John Doe, Jane Roe, Richard Snoakes
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
},
{
"family": "Snoakes",
"given": "Richard"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_EtAlUseFirstOnBibliographyInBibliography.txt 0000644 0000000 0000000 00000002231 07346545000 025616 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
John Doe, Jane Roe, et al.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
},
{
"family": "Snoakes",
"given": "Richard"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_EtAlUseFirstOnBibliographyInCitation.txt 0000644 0000000 0000000 00000002273 07346545000 024763 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
NOTE: no effect, of course.
>>===== RESULT =====>>
John Doe, Jane Roe, Richard Snoakes
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
},
{
"family": "Snoakes",
"given": "Richard"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_EtAlUseFirstOnCitationInBibliography.txt 0000644 0000000 0000000 00000002343 07346545000 024761 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
John Doe, Jane Roe, Richard Snoakes
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
},
{
"family": "Snoakes",
"given": "Richard"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_EtAlUseFirstOnCitationInCitation.txt 0000644 0000000 0000000 00000002225 07346545000 024117 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
John Doe, Jane Roe, et al.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
},
{
"family": "Snoakes",
"given": "Richard"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_EtAlUseFirstOnNamesInBibliography.txt 0000644 0000000 0000000 00000002223 07346545000 024247 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
John Doe, Jane Roe, et al.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
},
{
"family": "Snoakes",
"given": "Richard"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_EtAlUseFirstOnNamesInCitation.txt 0000644 0000000 0000000 00000001765 07346545000 023420 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
John Doe, Jane Roe, et al.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
},
{
"family": "Snoakes",
"given": "Richard"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_EtAlUseFirstOnStyleInBibliography.txt 0000644 0000000 0000000 00000002231 07346545000 024303 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
John Doe, Jane Roe, et al.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
},
{
"family": "Snoakes",
"given": "Richard"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_EtAlUseFirstOnStyleInCitation.txt 0000644 0000000 0000000 00000001765 07346545000 023455 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
John Doe, Jane Roe, et al.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
},
{
"family": "Snoakes",
"given": "Richard"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_InitializeWithOnBibliographyInBibliography.txt 0000644 0000000 0000000 00000001656 07346545000 026253 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John-Lee"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_InitializeWithOnBibliographyInCitation.txt 0000644 0000000 0000000 00000001621 07346545000 025402 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
John-Lee Doe
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John-Lee"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_InitializeWithOnCitationInBibliography.txt 0000644 0000000 0000000 00000001726 07346545000 025410 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John-Lee"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_InitializeWithOnCitationInCitation.txt 0000644 0000000 0000000 00000001420 07346545000 024536 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
J.-L. Doe
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John-Lee"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_InitializeWithOnNamesInBibliography.txt 0000644 0000000 0000000 00000001647 07346545000 024703 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John-Lee"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_InitializeWithOnNamesInCitation.txt 0000644 0000000 0000000 00000001417 07346545000 024035 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
J.-L. Doe
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John-Lee"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_InitializeWithOnStyleInBibliography.txt 0000644 0000000 0000000 00000001656 07346545000 024740 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John-Lee"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_InitializeWithOnStyleInCitation.txt 0000644 0000000 0000000 00000001420 07346545000 024064 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
J.-L. Doe
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John-Lee"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_NameAsSortOrderOnBibliographyInBibliography.txt 0000644 0000000 0000000 00000002071 07346545000 026316 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_NameAsSortOrderOnBibliographyInCitation.txt 0000644 0000000 0000000 00000002071 07346545000 025455 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
John Doe; Jane Roe
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_NameAsSortOrderOnCitationInBibliography.txt 0000644 0000000 0000000 00000002176 07346545000 025463 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_NameAsSortOrderOnCitationInCitation.txt 0000644 0000000 0000000 00000001633 07346545000 024617 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Doe, John; Roe, Jane
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_NameAsSortOrderOnNamesInBibliography.txt 0000644 0000000 0000000 00000002063 07346545000 024747 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_NameAsSortOrderOnNamesInCitation.txt 0000644 0000000 0000000 00000001625 07346545000 024111 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Doe, John; Roe, Jane
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_NameAsSortOrderOnStyleInBibliography.txt 0000644 0000000 0000000 00000002071 07346545000 025003 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_NameAsSortOrderOnStyleInCitation.txt 0000644 0000000 0000000 00000001625 07346545000 024146 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Doe, John; Roe, Jane
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_NameDelimiterOnBibliographyInBibliography.txt 0000644 0000000 0000000 00000002017 07346545000 026025 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_NameDelimiterOnBibliographyInCitation.txt 0000644 0000000 0000000 00000001773 07346545000 025174 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
John Doe, Jane Roe
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_NameDelimiterOnCitationInBibliography.txt 0000644 0000000 0000000 00000002065 07346545000 025167 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_NameDelimiterOnCitationInCitation.txt 0000644 0000000 0000000 00000001774 07346545000 024334 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
John Doe; Jane Roe
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_NameDelimiterOnNamesInBibliography.txt 0000644 0000000 0000000 00000002004 07346545000 024451 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_NameDelimiterOnNamesInCitation.txt 0000644 0000000 0000000 00000001760 07346545000 023620 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
John Doe; Jane Roe
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_NameDelimiterOnStyleInBibliography.txt 0000644 0000000 0000000 00000002020 07346545000 024504 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_NameDelimiterOnStyleInCitation.txt 0000644 0000000 0000000 00000001774 07346545000 023662 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
John Doe; Jane Roe
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_NameFormOnBibliographyInBibliography.txt 0000644 0000000 0000000 00000001641 07346545000 025014 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_NameFormOnBibliographyInCitation.txt 0000644 0000000 0000000 00000001606 07346545000 024154 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
John Doe
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_NameFormOnCitationInBibliography.txt 0000644 0000000 0000000 00000001713 07346545000 024153 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_NameFormOnCitationInCitation.txt 0000644 0000000 0000000 00000001601 07346545000 023306 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Doe
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_NameFormOnNamesInBibliography.txt 0000644 0000000 0000000 00000001625 07346545000 023446 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_NameFormOnNamesInCitation.txt 0000644 0000000 0000000 00000001367 07346545000 022610 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Doe
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_NameFormOnStyleInBibliography.txt 0000644 0000000 0000000 00000001641 07346545000 023501 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_NameFormOnStyleInCitation.txt 0000644 0000000 0000000 00000001402 07346545000 022633 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Doe
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_NamesDelimiterOnBibliographyInBibliography.txt 0000644 0000000 0000000 00000002133 07346545000 026207 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
John Doe AND ALSO THE EDITOR Jane Roe
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"editor": [
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_NamesDelimiterOnBibliographyInCitation.txt 0000644 0000000 0000000 00000002110 07346545000 025341 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
John DoeJane Roe
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"editor": [
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_NamesDelimiterOnCitationInBibliography.txt 0000644 0000000 0000000 00000002214 07346545000 025346 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"editor": [
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_NamesDelimiterOnCitationInCitation.txt 0000644 0000000 0000000 00000001677 07346545000 024521 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
John Doe AND ALSO THE EDITOR Jane Roe
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"editor": [
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_NamesDelimiterOnNamesInBibliography.txt 0000644 0000000 0000000 00000002121 07346545000 024634 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
John Doe AND ALSO THE EDITOR Jane Roe
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"editor": [
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_NamesDelimiterOnNamesInCitation.txt 0000644 0000000 0000000 00000001663 07346545000 024005 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
John Doe AND ALSO THE EDITOR Jane Roe
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"editor": [
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_NamesDelimiterOnStyleInBibliography.txt 0000644 0000000 0000000 00000002127 07346545000 024677 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
John Doe AND ALSO THE EDITOR Jane Roe
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"editor": [
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_NamesDelimiterOnStyleInCitation.txt 0000644 0000000 0000000 00000001677 07346545000 024047 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
John Doe AND ALSO THE EDITOR Jane Roe
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"editor": [
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_SortSeparatorOnBibliographyInBibliography.txt 0000644 0000000 0000000 00000001702 07346545000 026116 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_SortSeparatorOnBibliographyInCitation.txt 0000644 0000000 0000000 00000001724 07346545000 025261 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Doe~John
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_SortSeparatorOnCitationInBibliography.txt 0000644 0000000 0000000 00000001747 07346545000 025266 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_SortSeparatorOnCitationInCitation.txt 0000644 0000000 0000000 00000001444 07346545000 024417 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Doe, John
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_SortSeparatorOnNamesInBibliography.txt 0000644 0000000 0000000 00000001673 07346545000 024555 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_SortSeparatorOnNamesInCitation.txt 0000644 0000000 0000000 00000001435 07346545000 023710 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Doe, John
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_SortSeparatorOnStyleInBibliography.txt 0000644 0000000 0000000 00000001702 07346545000 024603 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameattr_SortSeparatorOnStyleInCitation.txt 0000644 0000000 0000000 00000001444 07346545000 023745 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Doe, John
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameorder_Long.txt 0000644 0000000 0000000 00000001614 07346545000 016674 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Gérard de la Martinière III
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"dropping-particle": "de",
"family": "Martinière",
"given": "Gérard",
"non-dropping-particle": "la",
"suffix": "III"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameorder_LongNameAsSortDemoteDisplayAndSort.txt 0000644 0000000 0000000 00000001731 07346545000 024610 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Martinière, Gérard de la, III
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"dropping-particle": "de",
"family": "Martinière",
"given": "Gérard",
"non-dropping-particle": "la",
"suffix": "III"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameorder_LongNameAsSortDemoteNever.txt 0000644 0000000 0000000 00000001716 07346545000 022772 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
la Martinière, Gérard de, III
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"dropping-particle": "de",
"family": "Martinière",
"given": "Gérard",
"non-dropping-particle": "la",
"suffix": "III"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameorder_Short.txt 0000644 0000000 0000000 00000001611 07346545000 017071 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
la Martinière
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"dropping-particle": "de",
"family": "Martinière",
"given": "Gérard",
"non-dropping-particle": "la",
"suffix": "III"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameorder_ShortDemoteDisplayAndSort.txt 0000644 0000000 0000000 00000001677 07346545000 023064 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
la Martinière
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"dropping-particle": "de",
"family": "Martinière",
"given": "Gérard",
"non-dropping-particle": "la",
"suffix": "III"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/nameorder_ShortNameAsSortDemoteNever.txt 0000644 0000000 0000000 00000001712 07346545000 023166 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
la Martinière
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"dropping-particle": "de",
"family": "Martinière",
"given": "Gérard",
"non-dropping-particle": "la",
"suffix": "III"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/namespaces_NonNada3.txt 0000644 0000000 0000000 00000001156 07346545000 017542 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Book A
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "Book A",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/number_FailingDelimiters.txt 0000644 0000000 0000000 00000001756 07346545000 020713 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
His Anonymous Life[x]100[x]:555
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issue": 555,
"title": "His Anonymous Life",
"type": "book",
"volume": 100
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/number_IsNumericWithAlpha.txt 0000644 0000000 0000000 00000001426 07346545000 021012 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
not numeric
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"edition": "annotated edition",
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/number_LeadingZeros.txt 0000644 0000000 0000000 00000001630 07346545000 017675 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
01790 (is-numeric)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"page": "01790",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/number_LimitOrdinalsToDayOne.txt 0000644 0000000 0000000 00000004641 07346545000 021471 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== DESCRIPTION =====>>
limit-day-ordinals-to-day-1 with date ranges
Reported by @bwiernik @ https://gist.github.com/bwiernik/a18438c70e7a98155812a6652ffa91cc
<<===== DESCRIPTION =====<<
>>===== RESULT =====>>
1er-14 octobre 2004
14 octobre-1er novembre 2004
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "first_day_1_second_not1",
"language": "fr",
"note": "event-date: 2004-10-01/2004-10-14",
"type": "book"
},
{
"id": "first_day_not1_second_1",
"language": "fr",
"note": "event-date: 2004-10-14/2004-11-01",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0.1
<<===== VERSION =====<<
citeproc-0.13/test/csl/number_MixedPageRange.txt 0000644 0000000 0000000 00000001242 07346545000 020126 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
142–45 & 235
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"page": "142-145 & 235",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/number_MixedText.txt 0000644 0000000 0000000 00000001347 07346545000 017227 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
5 ed.; 5 edition
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"edition": "5 ed.",
"id": "ITEM-1",
"type": "book"
},
{
"edition": "5 edition",
"id": "ITEM-2",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/number_NewOrdinalsEdition.txt 0000644 0000000 0000000 00000101720 07346545000 021051 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
Title 1, 1re éd., 2000.
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"edition": 1,
"id": "ITEM-1",
"issued": {
"date-parts": [
[
2000,
1,
15
]
]
},
"title": "Title 1",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/number_NewOrdinalsWithGenderChange.txt 0000644 0000000 0000000 00000002150 07346545000 022621 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Title 1: 1refemmie
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"edition": 1,
"id": "ITEM-1",
"title": "Title 1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/number_OrdinalSpacing.txt 0000644 0000000 0000000 00000001671 07346545000 020211 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
Blah blah. 7th, pp. 3–8DDed
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"edition": "7, p. 3-8",
"id": "ITEM-1",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/number_PageFirst.txt 0000644 0000000 0000000 00000001312 07346545000 017170 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
42
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"page": "42-45",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/number_PageRange.txt 0000644 0000000 0000000 00000001155 07346545000 017142 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
42–45
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"page": "42-45",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/number_PlainHyphenOrEnDashAlwaysPlural.txt 0000644 0000000 0000000 00000004215 07346545000 023455 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== DESCRIPTION =====>>
Test to cover request here:
http://xbiblio-devel.2463403.n2.nabble.com/contextual-labels-for-non-numeric-page-ranges-td7578166.html
See also:
https://discourse.citationstyles.org/t/contextual-labels-for-non-numeric-page-ranges/1117
<<===== DESCRIPTION =====<<
>>===== RESULT =====>>
His Anonymous Life (1) pages 1–2 (cs:text) vs His Anonymous Life (1) pages 1–2 (cs:number); His Anonymous Life (2) pages i–ix (cs:text) vs His Anonymous Life (2) pages i–ix (cs:number); His Anonymous Life (3) page 3-B (cs:text) vs His Anonymous Life (3) page 3-B (cs:number); His Anonymous Life (4) page Michaelson-Morely (cs:text) vs His Anonymous Life (4) page Michaelson-Morely (cs:number)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"page": "1-2",
"title": "His Anonymous Life (1)",
"type": "book"
},
{
"id": "ITEM-2",
"page": "i-ix",
"title": "His Anonymous Life (2)",
"type": "book"
},
{
"id": "ITEM-3",
"page": "3\\-B",
"title": "His Anonymous Life (3)",
"type": "book"
},
{
"id": "ITEM-4",
"page": "4–6",
"title": "His Anonymous Life (4)",
"type": "book"
},
{
"id": "ITEM-4",
"page": "Michaelson-Morely",
"title": "His Anonymous Life (4)",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/number_PreserveDelimiter.txt 0000644 0000000 0000000 00000004040 07346545000 020737 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
. Pages 187–228 in C. S. Stephen and M. L. Brown, editors. Analysis and interpretation of freshwater fisheries data
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"container-title": "Analysis and interpretation of freshwater fisheries data",
"editor": [
{
"family": "Stephen",
"given": "Clarence Stephen"
},
{
"family": "Brown",
"given": "Michael Lawrence"
}
],
"id": "ITEM-1",
"page": "187-228",
"type": "chapter"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/number_SeparateOrdinalNamespaces.txt 0000644 0000000 0000000 00000003657 07346545000 022377 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
With One, 1.a edition, 1.o issue; With Two, 2.a edition, 2.oo issue; With Three, 3.a edition, 3.a issue
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"edition": "1",
"id": "ITEM-1",
"issue": "1",
"title": "With One",
"type": "book"
},
{
"edition": "2",
"id": "ITEM-2",
"issue": "2",
"title": "With Two",
"type": "book"
},
{
"edition": "3",
"id": "ITEM-3",
"issue": "3",
"title": "With Three",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/number_SimpleNumberArabic.txt 0000644 0000000 0000000 00000001156 07346545000 021016 0 ustar 00 0000000 0000000 >>== MODE ==>>
citation
<<== MODE ==<<
>>== RESULT ==>>
42
<<== RESULT ==<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "item-1",
"title": "Ignore me",
"type": "book",
"volume": "42"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/number_SimpleNumberOrdinalLong.txt 0000644 0000000 0000000 00000001670 07346545000 022046 0 ustar 00 0000000 0000000 >>== MODE ==>>
citation
<<== MODE ==<<
>>== RESULT ==>>
42nd
ninth
<<== RESULT ==<<
>>== CITATION-ITEMS ==>>
[
[
{
"id": "item-1"
}
],
[
{
"id": "item-2"
}
]
]
<<== CITATION-ITEMS ==<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "item-1",
"title": "Ignore me",
"type": "book",
"volume": "42"
},
{
"id": "item-2",
"title": "Ignore me too",
"type": "book",
"volume": "9"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/number_SimpleNumberOrdinalShort.txt 0000644 0000000 0000000 00000001201 07346545000 022234 0 ustar 00 0000000 0000000 >>== MODE ==>>
citation
<<== MODE ==<<
>>== RESULT ==>>
42nd
<<== RESULT ==<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "item-1",
"title": "Ignore me",
"type": "book",
"volume": "42"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/number_SimpleNumberRoman.txt 0000644 0000000 0000000 00000001177 07346545000 020714 0 ustar 00 0000000 0000000 >>== MODE ==>>
citation
<<== MODE ==<<
>>== RESULT ==>>
xlii
<<== RESULT ==<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "item-1",
"title": "Ignore me",
"type": "book",
"volume": "42"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/number_SpacesMakeIsNumericFalse.txt 0000644 0000000 0000000 00000003765 07346545000 022130 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
is-numeric is FALSE: version: 2002, amended effective June 1, 2010, and January 1, 2017
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== CITATION-ITEMS ====>>
[
[
{
"id": "Titlea"
}
]
]
<<===== CITATION-ITEMS =====<<
>>===== INPUT =====>>
[
{"id":"Titlea","type":"report","version":"version: 2002, amended effective June 1, 2010, and January 1, 2017"}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/number_StrangeError.txt 0000644 0000000 0000000 00000001372 07346545000 017727 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
Delimiter is a non-breaking Unicode hyphen U+2011, supplied by the CSL 1.0.1 fr-FR and fr-CA locales.
>>===== RESULT =====>>
463‑509
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"page": "463-509",
"type": "article-journal"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/page_Chicago.txt 0000644 0000000 0000000 00000010535 07346545000 016274 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Example A, at 101–8
Example B, at 3–10
Example C, at 71–72
Example D, at 96–117
Example E, at 100–104
Example F, at 600–613
Example G, at 1100–1123
Example H, at 107–8
Example I, at 505–17
Example J, at 1002–6
Example K, at 321–25
Example L, at 415–532
Example M, at 1536–38
Example N, at 11564–68
Example O, at 11564–78
Example P, at 13792–803
Example Q, at 1496–1504
Example R, at 2787–2816
<<===== RESULT =====<<
>>===== CITATION-ITEMS =====>>
[
[
{
"id": "ITEM-1"
}
],
[
{
"id": "ITEM-2"
}
],
[
{
"id": "ITEM-3"
}
],
[
{
"id": "ITEM-4"
}
],
[
{
"id": "ITEM-5"
}
],
[
{
"id": "ITEM-6"
}
],
[
{
"id": "ITEM-7"
}
],
[
{
"id": "ITEM-8"
}
],
[
{
"id": "ITEM-9"
}
],
[
{
"id": "ITEM-10"
}
],
[
{
"id": "ITEM-11"
}
],
[
{
"id": "ITEM-12"
}
],
[
{
"id": "ITEM-13"
}
],
[
{
"id": "ITEM-14"
}
],
[
{
"id": "ITEM-15"
}
],
[
{
"id": "ITEM-16"
}
],
[
{
"id": "ITEM-17"
}
],
[
{
"id": "ITEM-18"
}
]
]
<<===== CITATION-ITEMS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
* collapse(101, 108, "101-8")
*
* collapse(3,10, "3-10")
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"page": "101-108",
"title": "Example A",
"type": "book"
},
{
"id": "ITEM-2",
"page": "3-10",
"title": "Example B",
"type": "book"
},
{
"id": "ITEM-3",
"page": "71-72",
"title": "Example C",
"type": "book"
},
{
"id": "ITEM-4",
"page": "96-117",
"title": "Example D",
"type": "book"
},
{
"id": "ITEM-5",
"page": "100-4",
"title": "Example E",
"type": "book"
},
{
"id": "ITEM-6",
"page": "600-13",
"title": "Example F",
"type": "book"
},
{
"id": "ITEM-7",
"page": "1100-23",
"title": "Example G",
"type": "book"
},
{
"id": "ITEM-8",
"page": "107-108",
"title": "Example H",
"type": "book"
},
{
"id": "ITEM-9",
"page": "505-17",
"title": "Example I",
"type": "book"
},
{
"id": "ITEM-10",
"page": "1002-1006",
"title": "Example J",
"type": "book"
},
{
"id": "ITEM-11",
"page": "321-325",
"title": "Example K",
"type": "book"
},
{
"id": "ITEM-12",
"page": "415-532",
"title": "Example L",
"type": "book"
},
{
"id": "ITEM-13",
"page": "1536-538",
"title": "Example M",
"type": "book"
},
{
"id": "ITEM-14",
"page": "11564-11568",
"title": "Example N",
"type": "book"
},
{
"id": "ITEM-15",
"page": "11564-11578",
"title": "Example O",
"type": "book"
},
{
"id": "ITEM-16",
"page": "13792-13803",
"title": "Example P",
"type": "book"
},
{
"id": "ITEM-17",
"page": "1496-504",
"title": "Example Q",
"type": "book"
},
{
"id": "ITEM-18",
"page": "2787-816",
"title": "Example R",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/page_Chicago16.txt 0000644 0000000 0000000 00000011351 07346545000 016440 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
Examples taken from:
http://cmosshoptalk.com/2018/04/10/316-7-316-17-or-316-317-chicago-style-for-number-ranges/
>>===== RESULT =====>>
Example A, at 3–10
Example B, at 71–72
Example C, at 71–72
Example D, at 96–117
Example E, at 100–104
Example F, at 1100–1113
Example G, at 1100–1113
Example H, at 101–8
Example I, at 808–33
Example J, at 1103–4
Example K, at 321–28
Example L, at 321–28
Example M, at 498–532
Example N, at 1087–89
Example O, at 1087–89
Example P, at 1496–500
Example Q, at 11564–615
Example R, at 12991–123001
Example S, at xxv–xxviii
Example T, at cvi–cix
<<===== RESULT =====<<
>>===== CITATION-ITEMS =====>>
[
[
{
"id": "ITEM-1"
}
],
[
{
"id": "ITEM-2"
}
],
[
{
"id": "ITEM-3"
}
],
[
{
"id": "ITEM-4"
}
],
[
{
"id": "ITEM-5"
}
],
[
{
"id": "ITEM-6"
}
],
[
{
"id": "ITEM-7"
}
],
[
{
"id": "ITEM-8"
}
],
[
{
"id": "ITEM-9"
}
],
[
{
"id": "ITEM-10"
}
],
[
{
"id": "ITEM-11"
}
],
[
{
"id": "ITEM-12"
}
],
[
{
"id": "ITEM-13"
}
],
[
{
"id": "ITEM-14"
}
],
[
{
"id": "ITEM-15"
}
],
[
{
"id": "ITEM-16"
}
],
[
{
"id": "ITEM-17"
}
],
[
{
"id": "ITEM-18"
}
],
[
{
"id": "ITEM-19"
}
],
[
{
"id": "ITEM-20"
}
]
]
<<===== CITATION-ITEMS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"page": "3-10",
"title": "Example A",
"type": "book"
},
{
"id": "ITEM-2",
"page": "71-72",
"title": "Example B",
"type": "book"
},
{
"id": "ITEM-3",
"page": "71-2",
"title": "Example C",
"type": "book"
},
{
"id": "ITEM-4",
"page": "96-117",
"title": "Example D",
"type": "book"
},
{
"id": "ITEM-5",
"page": "100-104",
"title": "Example E",
"type": "book"
},
{
"id": "ITEM-6",
"page": "1100-1113",
"title": "Example F",
"type": "book"
},
{
"id": "ITEM-7",
"page": "1100-13",
"title": "Example G",
"type": "book"
},
{
"id": "ITEM-8",
"page": "101-108",
"title": "Example H",
"type": "book"
},
{
"id": "ITEM-9",
"page": "808-833",
"title": "Example I",
"type": "book"
},
{
"id": "ITEM-10",
"page": "1103-1104",
"title": "Example J",
"type": "book"
},
{
"id": "ITEM-11",
"page": "321-328",
"title": "Example K",
"type": "book"
},
{
"id": "ITEM-12",
"page": "321-8",
"title": "Example L",
"type": "book"
},
{
"id": "ITEM-13",
"page": "498-532",
"title": "Example M",
"type": "book"
},
{
"id": "ITEM-14",
"page": "1087-1089",
"title": "Example N",
"type": "book"
},
{
"id": "ITEM-15",
"page": "1087-89",
"title": "Example O",
"type": "book"
},
{
"id": "ITEM-16",
"page": "1496-1500",
"title": "Example P",
"type": "book"
},
{
"id": "ITEM-17",
"page": "11564-11615",
"title": "Example Q",
"type": "book"
},
{
"id": "ITEM-18",
"page": "12991-123001",
"title": "Example R",
"type": "book"
},
{
"id": "ITEM-19",
"page": "xxv-xxviii",
"title": "Example S",
"type": "book"
},
{
"id": "ITEM-20",
"page": "cvi-cix",
"title": "Example T",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/page_ChicagoWeird.txt 0000644 0000000 0000000 00000002443 07346545000 017266 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Example S, at 8n11564–68
Example T, at n11564–68
Example U, at n11564-1568
<<===== RESULT =====<<
>>===== CITATION-ITEMS =====>>
[
[
{
"id": "ITEM-19"
}
],
[
{
"id": "ITEM-20"
}
],
[
{
"id": "ITEM-21"
}
]
]
<<===== CITATION-ITEMS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-19",
"page": "8n11564-8n1568",
"title": "Example S",
"type": "book"
},
{
"id": "ITEM-20",
"page": "n11564-n1568",
"title": "Example T",
"type": "book"
},
{
"id": "ITEM-21",
"page": "n11564-1568",
"title": "Example U",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/page_Expand.txt 0000644 0000000 0000000 00000006145 07346545000 016160 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== DESCRIPTION =====>>
Per the CSL documentation (link below), dashes are standardized for page ranges
but not everything with a dash is a valid page range. Valid page ranges are
numbers with the same or no prefix.
For example, 110–115 and N110–N115 are valid page ranges but 110-N6 is not and
thus retains its original dash character.
https://docs.citationstyles.org/en/stable/specification.html#range-delimiters
<<===== DESCRIPTION =====<<
>>===== RESULT =====>>
Example: minimal, at 110–115
Example: prefix on first number only, at N110-5
Example: same prefix on both numbers, at N110–N115
Example: prefix on last number only, at 110-N6
Example: different prefixes on both numbers, at N110-P5
Example: leading number before prefix, at 123N110-N5
Example: multiple ranges, at 123N110-N5, 456K200-99
Example: first less than second, at 123N110-N5, 000c23-22
<<===== RESULT =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"page": "110-5",
"title": "Example: minimal",
"type": "book"
},
{
"id": "ITEM-2",
"page": "N110 - 5",
"title": "Example: prefix on first number only",
"type": "book"
},
{
"id": "ITEM-3",
"page": "N110 - N5",
"title": "Example: same prefix on both numbers",
"type": "book"
},
{
"id": "ITEM-4",
"page": "110 - N6",
"title": "Example: prefix on last number only",
"type": "book"
},
{
"id": "ITEM-5",
"page": "N110 - P5",
"title": "Example: different prefixes on both numbers",
"type": "book"
},
{
"id": "ITEM-6",
"page": "123N110 - N5",
"title": "Example: leading number before prefix",
"type": "book"
},
{
"id": "ITEM-7",
"page": "123N110 - N5, 456K200 - 99",
"title": "Example: multiple ranges",
"type": "book"
},
{
"id": "ITEM-8",
"page": "123N110 - N5, 000c23 - 22",
"title": "Example: first less than second",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== CITATION-ITEMS =====>>
[
[
{
"id": "ITEM-1"
}
],
[
{
"id": "ITEM-2"
}
],
[
{
"id": "ITEM-3"
}
],
[
{
"id": "ITEM-4"
}
],
[
{
"id": "ITEM-5"
}
],
[
{
"id": "ITEM-6"
}
],
[
{
"id": "ITEM-7"
}
],
[
{
"id": "ITEM-8"
}
]
]
<<===== CITATION-ITEMS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/page_ExpandWeirdComposite.txt 0000644 0000000 0000000 00000002212 07346545000 021025 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
## This test currently produces this:
Example: weird composite, at 123N110–5, 456K200–99
## It used to expect this:
>>===== RESULT =====>>
Example: weird composite, at 123N110-N5, 456K200-99
<<===== RESULT =====<<
## Which is correct, do you think?
## Here is the data from which the results above are derived:
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"page": "123N110 - N5, 456K200 - 99",
"title": "Example: weird composite",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== CITATION-ITEMS =====>>
[
[
{
"id": "ITEM-1"
}
]
]
<<===== CITATION-ITEMS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/page_Minimal.txt 0000644 0000000 0000000 00000011377 07346545000 016332 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Example A, at 101–8
Example B, at 3–10
Example C, at 71–2
Example D, at 96–117
Example E, at 100–4
Example F, at 600–13
Example G, at 1100–23
Example H, at 107–8
Example I, at 505–17
Example J, at 1002–6
Example K, at 321–5
Example L, at 415–532
Example M, at 1536–8
Example N, at 11564–8
Example O, at 11564–78
Example P, at 13792–803
Example Q, at 1496–504
Example R, at 2787–816
Example S, at n11564–8
Example T, at n11564-1568
<<===== RESULT =====<<
>>===== CITATION-ITEMS =====>>
[
[
{
"id": "ITEM-1"
}
],
[
{
"id": "ITEM-2"
}
],
[
{
"id": "ITEM-3"
}
],
[
{
"id": "ITEM-4"
}
],
[
{
"id": "ITEM-5"
}
],
[
{
"id": "ITEM-6"
}
],
[
{
"id": "ITEM-7"
}
],
[
{
"id": "ITEM-8"
}
],
[
{
"id": "ITEM-9"
}
],
[
{
"id": "ITEM-10"
}
],
[
{
"id": "ITEM-11"
}
],
[
{
"id": "ITEM-12"
}
],
[
{
"id": "ITEM-13"
}
],
[
{
"id": "ITEM-14"
}
],
[
{
"id": "ITEM-15"
}
],
[
{
"id": "ITEM-16"
}
],
[
{
"id": "ITEM-17"
}
],
[
{
"id": "ITEM-18"
}
],
[
{
"id": "ITEM-19"
}
],
[
{
"id": "ITEM-20"
}
]
]
<<===== CITATION-ITEMS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
* collapse(101, 108, "101-8")
*
* collapse(3,10, "3-10")
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"page": "101-108",
"title": "Example A",
"type": "book"
},
{
"id": "ITEM-2",
"page": "3-10",
"title": "Example B",
"type": "book"
},
{
"id": "ITEM-3",
"page": "71-72",
"title": "Example C",
"type": "book"
},
{
"id": "ITEM-4",
"page": "96-117",
"title": "Example D",
"type": "book"
},
{
"id": "ITEM-5",
"page": "100-4",
"title": "Example E",
"type": "book"
},
{
"id": "ITEM-6",
"page": "600-13",
"title": "Example F",
"type": "book"
},
{
"id": "ITEM-7",
"page": "1100-23",
"title": "Example G",
"type": "book"
},
{
"id": "ITEM-8",
"page": "107-108",
"title": "Example H",
"type": "book"
},
{
"id": "ITEM-9",
"page": "505-17",
"title": "Example I",
"type": "book"
},
{
"id": "ITEM-10",
"page": "1002-1006",
"title": "Example J",
"type": "book"
},
{
"id": "ITEM-11",
"page": "321-325",
"title": "Example K",
"type": "book"
},
{
"id": "ITEM-12",
"page": "415-532",
"title": "Example L",
"type": "book"
},
{
"id": "ITEM-13",
"page": "1536-538",
"title": "Example M",
"type": "book"
},
{
"id": "ITEM-14",
"page": "11564-11568",
"title": "Example N",
"type": "book"
},
{
"id": "ITEM-15",
"page": "11564-11578",
"title": "Example O",
"type": "book"
},
{
"id": "ITEM-16",
"page": "13792-13803",
"title": "Example P",
"type": "book"
},
{
"id": "ITEM-17",
"page": "1496-504",
"title": "Example Q",
"type": "book"
},
{
"id": "ITEM-18",
"page": "2787-816",
"title": "Example R",
"type": "book"
},
{
"id": "ITEM-19",
"page": "n11564 - n1568",
"title": "Example S",
"type": "book"
},
{
"id": "ITEM-20",
"page": "n11564 - 1568",
"title": "Example T",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/page_NoOption.txt 0000644 0000000 0000000 00000001307 07346545000 016501 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Book Thing, at 110–5
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"page": "110-5",
"title": "Book Thing",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/page_NumberPageFirst.txt 0000644 0000000 0000000 00000001223 07346545000 017766 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
22
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"page": "22-45",
"title": "His Anonymous Life",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/page_PluralDetectWithEndash.txt 0000644 0000000 0000000 00000001225 07346545000 021302 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
10
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"page": "10–20",
"title": "His Anonymous Life",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/page_WithLocaleAndWeirdDelimiter.txt 0000644 0000000 0000000 00000001321 07346545000 022240 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
253‑57
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"page": "253-257",
"title": "His Anonymous Life",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/plural_LabelForced.txt 0000644 0000000 0000000 00000001543 07346545000 017463 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
p. 32–34
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1",
"locator": "32-34"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"id": "ITEM-1",
"title": "His Anonymous Life",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/plural_NameLabelAlways.txt 0000644 0000000 0000000 00000001514 07346545000 020320 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Doe eds
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"editor": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/plural_NameLabelContextualPlural.txt 0000644 0000000 0000000 00000001701 07346545000 022364 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Doe and Roe eds
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"editor": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/plural_NameLabelContextualSingular.txt 0000644 0000000 0000000 00000001517 07346545000 022716 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Doe ed
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"editor": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/plural_NameLabelDefaultPlural.txt 0000644 0000000 0000000 00000001655 07346545000 021632 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Doe and Roe eds
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"editor": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/plural_NameLabelDefaultSingular.txt 0000644 0000000 0000000 00000001473 07346545000 022155 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Doe ed
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"editor": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/plural_NameLabelNever.txt 0000644 0000000 0000000 00000001673 07346545000 020145 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Doe and Roe ed
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"editor": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/position_FalseInBibliography.txt 0000644 0000000 0000000 00000001761 07346545000 021545 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "His Anonymous Life",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/position_FirstTrueOnlyOnce.txt 0000644 0000000 0000000 00000004627 07346545000 021272 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
..[0] Appleton “Tom Swift and His Electric Runabout” (1910).
>>[1] Ibid. p. 23.
<<===== RESULT =====<<
>>===== CITATIONS =====>>
[
[
{
"citationID": "CITATION-1",
"citationItems": [
{
"id": "ITEM-1"
}
],
"properties": {
"noteIndex": 1
}
},
[],
[]
],
[
{
"citationID": "CITATION-2",
"citationItems": [
{
"id": "ITEM-1",
"label": "page",
"locator": "23"
}
],
"properties": {
"noteIndex": 2
}
},
[
[
"CITATION-1",
1
]
],
[]
]
]
<<===== CITATIONS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Appleton",
"given": "Victor"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"1910"
]
]
},
"title": "Tom Swift and His Electric Runabout",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/position_IbidInText.txt 0000644 0000000 0000000 00000005710 07346545000 017671 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
..[0] Appleton “Tom Swift and His Electric Runabout” (1910).
..[1] Bloggs “A Very Short Book Indeed” (2012).
>>[2] Ibid.
<<===== RESULT =====<<
>>===== CITATIONS =====>>
[
[
{
"citationID": "CITATION-1",
"citationItems": [
{
"id": "ITEM-1"
}
],
"properties": {
"noteIndex": 0
}
},
[],
[]
],
[
{
"citationID": "CITATION-2",
"citationItems": [
{
"id": "ITEM-2"
}
],
"properties": {
"noteIndex": 1
}
},
[
[
"CITATION-1",
0
]
],
[]
],
[
{
"citationID": "CITATION-3",
"citationItems": [
{
"id": "ITEM-1"
}
],
"properties": {
"noteIndex": 0
}
},
[
[
"CITATION-1",
0
],
[
"CITATION-2",
1
]
],
[]
]
]
<<===== CITATIONS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Appleton",
"given": "Victor"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"1910"
]
]
},
"title": "Tom Swift and His Electric Runabout",
"type": "book"
},
{
"author": [
{
"family": "Bloggs",
"given": "Joe"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
"2012"
]
]
},
"title": "A Very Short Book Indeed",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/position_IbidSeparateCiteSameNote.txt 0000644 0000000 0000000 00000016254 07346545000 022470 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
..[0] [citation1-item1-note1] Appleton “Tom Swift and His Electric Runabout” (1910).
..[1] [citation2-item1-note2] ibid.
..[2] [citation3-item1-note2] ibid. page 33.
..[3] [citation4-item2-note3] Bloggs “A Very Short Book Indeed” (2012); [citation4-item1-note3] Appleton supra note 1.
..[4] [citation5-item1-note4] Appleton supra note 1 page 99.
..[5] [citation6-item1-note4] Appleton supra note 1.
>>[6] [citation7-item1-note4] ibid.
<<===== RESULT =====<<
>>===== CITATIONS =====>>
[
[
{
"citationID": "CITATION-1",
"citationItems": [
{
"id": "ITEM-1",
"prefix": "[citation1-item1-note1] "
}
],
"properties": {
"noteIndex": 1
}
},
[],
[]
],
[
{
"citationID": "CITATION-2",
"citationItems": [
{
"id": "ITEM-1",
"prefix": "[citation2-item1-note2] "
}
],
"properties": {
"noteIndex": 2
}
},
[
[
"CITATION-1",
1
]
],
[]
],
[
{
"citationID": "CITATION-3",
"citationItems": [
{
"id": "ITEM-1",
"locator": "33",
"prefix": "[citation3-item1-note2] "
}
],
"properties": {
"noteIndex": 2
}
},
[
[
"CITATION-1",
1
],
[
"CITATION-2",
2
]
],
[]
],
[
{
"citationID": "CITATION-4",
"citationItems": [
{
"id": "ITEM-2",
"prefix": "[citation4-item2-note3] "
},
{
"id": "ITEM-1",
"prefix": "[citation4-item1-note3] "
}
],
"properties": {
"noteIndex": 3
}
},
[
[
"CITATION-1",
1
],
[
"CITATION-2",
2
],
[
"CITATION-3",
2
]
],
[]
],
[
{
"citationID": "CITATION-5",
"citationItems": [
{
"id": "ITEM-1",
"locator": "99",
"prefix": "[citation5-item1-note4] "
}
],
"properties": {
"noteIndex": 4
}
},
[
[
"CITATION-1",
1
],
[
"CITATION-2",
2
],
[
"CITATION-3",
2
],
[
"CITATION-4",
3
]
],
[]
],
[
{
"citationID": "CITATION-6",
"citationItems": [
{
"id": "ITEM-1",
"prefix": "[citation6-item1-note4] "
}
],
"properties": {
"noteIndex": 4
}
},
[
[
"CITATION-1",
1
],
[
"CITATION-2",
2
],
[
"CITATION-3",
2
],
[
"CITATION-4",
3
],
[
"CITATION-5",
4
]
],
[]
],
[
{
"citationID": "CITATION-7",
"citationItems": [
{
"id": "ITEM-1",
"prefix": "[citation7-item1-note4] "
}
],
"properties": {
"noteIndex": 4
}
},
[
[
"CITATION-1",
1
],
[
"CITATION-2",
2
],
[
"CITATION-3",
2
],
[
"CITATION-4",
3
],
[
"CITATION-5",
4
],
[
"CITATION-6",
4
]
],
[]
]
]
<<===== CITATIONS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Appleton",
"given": "Victor"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"1910"
]
]
},
"title": "Tom Swift and His Electric Runabout",
"type": "book"
},
{
"author": [
{
"family": "Bloggs",
"given": "Joe"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
"2012"
]
]
},
"title": "A Very Short Book Indeed",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/position_IbidWithLocator.txt 0000644 0000000 0000000 00000003460 07346545000 020715 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Appleton “Tom Swift and His Electric Runabout” (1910).
Ibid. p. 23.
<<===== RESULT =====<<
>>===== CITATION-ITEMS =====>>
[
[
{
"id": "ITEM-1"
}
],
[
{
"id": "ITEM-1",
"label": "page",
"locator": "23",
"position": 3
}
]
]
<<===== CITATION-ITEMS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Appleton",
"given": "Victor"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"1910"
]
]
},
"title": "Tom Swift and His Electric Runabout",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/position_IbidWithMultipleSoloCitesInBackref.txt 0000644 0000000 0000000 00000005626 07346545000 024505 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
..[0] Aalto
..[1] Álvarez
..[2] Álvarez
>>[3] Ibid.
<<===== RESULT =====<<
>>===== CITATIONS =====>>
[
[
{
"citationID": "CITATION-1",
"citationItems": [
{
"id": "ITEM-1"
}
],
"properties": {
"noteIndex": 1
}
},
[],
[]
],
[
{
"citationID": "CITATION-2",
"citationItems": [
{
"id": "ITEM-2"
}
],
"properties": {
"noteIndex": 1
}
},
[
[
"CITATION-1",
1
]
],
[]
],
[
{
"citationID": "CITATION-3",
"citationItems": [
{
"id": "ITEM-2"
}
],
"properties": {
"noteIndex": 2
}
},
[
[
"CITATION-1",
1
],
[
"CITATION-2",
1
]
],
[]
],
[
{
"citationID": "CITATION-4",
"citationItems": [
{
"id": "ITEM-2"
}
],
"properties": {
"noteIndex": 3
}
},
[
[
"CITATION-1",
1
],
[
"CITATION-2",
1
],
[
"CITATION-3",
2
]
],
[]
]
]
<<===== CITATIONS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Aalto",
"given": "Alan"
}
],
"id": "ITEM-1",
"type": "book"
},
{
"author": [
{
"family": "Álvarez",
"given": "Ajax"
}
],
"id": "ITEM-2",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/position_IbidWithPrefixFullStop.txt 0000644 0000000 0000000 00000002532 07346545000 022237 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
>>[0] Book A. He said “Please work.” Ibid.
<<===== RESULT =====<<
>>===== CITATIONS =====>>
[
[
{
"citationID": "CITATION-1",
"citationItems": [
{
"id": "ITEM-1"
},
{
"id": "ITEM-1",
"prefix": ". He said \"Please work.\" "
}
],
"properties": {
"noteIndex": 1
}
},
[],
[]
]
]
<<===== CITATIONS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "Book A",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/position_IbidWithSuffix.txt 0000644 0000000 0000000 00000003537 07346545000 020563 0 ustar 00 0000000 0000000 >>==== MODE ====>>
bibliography
<<==== MODE ====<<
>>==== RESULT ====>>
Alan Aberdeen
Al-Khatib Organization
Beatrice Butterfield
Sergei Kaspersky
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
},
{
"id": "ITEM-3"
},
{
"id": "ITEM-4"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "Al-Khatib Organization"
}
],
"id": "ITEM-1",
"type": "book"
},
{
"author": [
{
"family": "Aberdeen",
"given": "Alan"
}
],
"id": "ITEM-2",
"type": "book"
},
{
"author": [
{
"family": "Butterfield",
"given": "Beatrice"
}
],
"id": "ITEM-3",
"type": "book"
},
{
"author": [
{
"family": "Kaspersky",
"given": "Sergei"
}
],
"id": "ITEM-4",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/position_IfIbidIsTrueThenSubsequentIsTrue.txt 0000644 0000000 0000000 00000004124 07346545000 024200 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Appleton “Tom Swift and His Electric Runabout” (1910).
SUBSEQUENT.
<<===== RESULT =====<<
>>===== CITATION-ITEMS =====>>
[
[
{
"id": "ITEM-1",
"position": 0
}
],
[
{
"id": "ITEM-1",
"label": "page",
"locator": "23",
"position": 2
}
]
]
<<===== CITATION-ITEMS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Appleton",
"given": "Victor"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"1910"
]
]
},
"title": "Tom Swift and His Electric Runabout",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/position_IfIbidWithLocatorIsTrueThenIbidIsTrue.txt 0000644 0000000 0000000 00000003755 07346545000 025102 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Appleton “Tom Swift and His Electric Runabout” (1910).
Ibid.
<<===== RESULT =====<<
>>===== CITATION-ITEMS =====>>
[
[
{
"id": "ITEM-1",
"position": 0
}
],
[
{
"id": "ITEM-1",
"label": "page",
"locator": "23",
"position": 3
}
]
]
<<===== CITATION-ITEMS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Appleton",
"given": "Victor"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"1910"
]
]
},
"title": "Tom Swift and His Electric Runabout",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/position_NearNoteFalse.txt 0000644 0000000 0000000 00000001677 07346545000 020364 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Note is not near.
<<===== RESULT =====<<
>>===== CITATION-ITEMS =====>>
[
[
{
"id": "ITEM-1",
"near-note": false
}
]
]
<<===== CITATION-ITEMS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "Book A",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/position_NearNoteSameNote.txt 0000644 0000000 0000000 00000004515 07346545000 021037 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
..[0] Plain+Vanilla:Book-A; Near+Ibid:Book-A
..[1] Plain+Vanilla:Book-B
>>[2] Plain+Vanilla:Book-B; Plain+Vanilla:Book-A
<<===== RESULT =====<<
>>===== CITATIONS =====>>
[
[
{
"citationID": "CITATION-1",
"citationItems": [
{
"id": "ITEM-1"
},
{
"id": "ITEM-1"
}
],
"properties": {
"noteIndex": 1
}
},
[],
[]
],
[
{
"citationID": "CITATION-2",
"citationItems": [
{
"id": "ITEM-2"
}
],
"properties": {
"noteIndex": 2
}
},
[
[
"CITATION-1",
1
]
],
[]
],
[
{
"citationID": "CITATION-3",
"citationItems": [
{
"id": "ITEM-2"
},
{
"id": "ITEM-1"
}
],
"properties": {
"noteIndex": 3
}
},
[
[
"CITATION-1",
1
],
[
"CITATION-2",
2
]
],
[]
]
]
<<===== CITATIONS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "Book-A",
"type": "book"
},
{
"id": "ITEM-2",
"title": "Book-B",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/position_NearNoteUnsupported.txt 0000644 0000000 0000000 00000001441 07346545000 021647 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Note is not near.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "Book A",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/position_NearNoteWithPlugin.txt 0000644 0000000 0000000 00000026506 07346545000 021422 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
People v. Taylor, 73 N.Y.2d 683 (1989).
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": 97
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"container-title": "N.Y.2d",
"id": 97,
"issued": {
"date-parts": [
[
1989
]
]
},
"multi": {
"_keys": {}
},
"page": "683",
"title": "People v. Taylor",
"type": "legal_case",
"volume": "73"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/position_ResetNoteNumbers.txt 0000644 0000000 0000000 00000014171 07346545000 021133 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
..[0] Book A (note 1)
..[1] Book C (note 1)
..[2] Book A, n 1 (note 2)
..[3] ibid (note 2)
..[4] Book C, n 1 (note 3)
..[5] Book A, n 1 (note 3)
..[6] Book C, n 1 (note 4)
>>[7] Book A, n 1 (note 5)
<<===== RESULT =====<<
>>===== CITATIONS =====>>
[
[
{
"citationID": "CITATION-1",
"citationItems": [
{
"id": "ITEM-1",
"suffix": " (note 1)"
}
],
"properties": {
"noteIndex": 1
}
},
[],
[]
],
[
{
"citationID": "CITATION-2",
"citationItems": [
{
"id": "ITEM-1",
"suffix": " (note 2)"
}
],
"properties": {
"noteIndex": 2
}
},
[
[
"CITATION-1",
1
]
],
[]
],
[
{
"citationID": "CITATION-3",
"citationItems": [
{
"id": "ITEM-3",
"suffix": " (note 3)"
}
],
"properties": {
"noteIndex": 3
}
},
[
[
"CITATION-1",
1
],
[
"CITATION-2",
2
]
],
[]
],
[
{
"citationID": "CITATION-4",
"citationItems": [
{
"id": "ITEM-3",
"suffix": " (note 1)"
}
],
"properties": {
"noteIndex": 1
}
},
[],
[
[
"CITATION-1",
1
],
[
"CITATION-2",
2
],
[
"CITATION-3",
3
]
]
],
[
{
"citationID": "CITATION-5",
"citationItems": [
{
"id": "ITEM-1",
"suffix": " (note 2)"
}
],
"properties": {
"noteIndex": 2
}
},
[
[
"CITATION-1",
1
],
[
"CITATION-4",
1
]
],
[
[
"CITATION-2",
2
],
[
"CITATION-3",
3
]
]
],
[
{
"citationID": "CITATION-6",
"citationItems": [
{
"id": "ITEM-1",
"suffix": " (note 3)"
}
],
"properties": {
"noteIndex": 3
}
},
[
[
"CITATION-1",
1
],
[
"CITATION-4",
1
],
[
"CITATION-2",
2
],
[
"CITATION-5",
2
],
[
"CITATION-3",
3
]
],
[]
],
[
{
"citationID": "CITATION-7",
"citationItems": [
{
"id": "ITEM-3",
"suffix": " (note 4)"
}
],
"properties": {
"noteIndex": 4
}
},
[
[
"CITATION-1",
1
],
[
"CITATION-4",
1
],
[
"CITATION-2",
2
],
[
"CITATION-5",
2
],
[
"CITATION-3",
3
],
[
"CITATION-6",
3
]
],
[]
],
[
{
"citationID": "CITATION-8",
"citationItems": [
{
"id": "ITEM-1",
"suffix": " (note 5)"
}
],
"properties": {
"noteIndex": 5
}
},
[
[
"CITATION-1",
1
],
[
"CITATION-4",
1
],
[
"CITATION-2",
2
],
[
"CITATION-5",
2
],
[
"CITATION-3",
3
],
[
"CITATION-6",
3
],
[
"CITATION-7",
4
]
],
[]
]
]
<<===== CITATIONS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "Book A",
"type": "book"
},
{
"id": "ITEM-2",
"title": "Book B",
"type": "book"
},
{
"id": "ITEM-3",
"title": "Book C",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/position_TrueInCitation.txt 0000644 0000000 0000000 00000001667 07346545000 020576 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
I am weak, and I have failed.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "His Anonymous Life",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/punctuation_DateStripPeriods.txt 0000644 0000000 0000000 00000001623 07346545000 021617 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
June 1965
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"1965",
"6",
"1"
]
]
},
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/punctuation_DefaultYearSuffixDelimiter.txt 0000644 0000000 0000000 00000015134 07346545000 023625 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
(Aalto 2000a; b; c)
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
},
{
"id": "ITEM-3"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "Aalto",
"given": "Alan"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
2000
]
]
},
"type": "book"
},
{
"author": [
{
"family": "Aalto",
"given": "Alan"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
2000
]
]
},
"type": "book"
},
{
"author": [
{
"family": "Aalto",
"given": "Alan"
}
],
"id": "ITEM-3",
"issued": {
"date-parts": [
[
2000
]
]
},
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/punctuation_DelimiterWithStripPeriodsAndSubstitute1.txt 0000644 0000000 0000000 00000003074 07346545000 026316 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
J Doe, J Roe and R Noakes eds. Book Title. http://example.com/
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"URL": "http://example.com/",
"editor": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
},
{
"family": "Noakes",
"given": "Richard"
}
],
"id": 45,
"title": "Book Title",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/punctuation_DelimiterWithStripPeriodsAndSubstitute2.txt 0000644 0000000 0000000 00000002715 07346545000 026320 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
J Doe, J Roe and R Noakes eds. Book Title
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"editor": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
},
{
"family": "Noakes",
"given": "Richard"
}
],
"id": 45,
"title": "Book Title",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/punctuation_DelimiterWithStripPeriodsAndSubstitute3.txt 0000644 0000000 0000000 00000003160 07346545000 026314 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
J Doe, J Roe and R Noakes eds. Book Title
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"editor": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
},
{
"family": "Noakes",
"given": "Richard"
}
],
"id": 45,
"title": "Book Title",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/punctuation_DoNotSuppressColonAfterPeriod.txt 0000644 0000000 0000000 00000001347 07346545000 024305 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Detroit, Mich.: Random
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"publisher": "Random",
"publisher-place": "Detroit, Mich.",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/punctuation_FieldDuplicates.txt 0000644 0000000 0000000 00000002437 07346545000 021437 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Doe, J. 1965
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"1965",
"6",
"1"
]
]
},
"title": "His Anonymous Life",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/punctuation_FrenchOrthography.txt 0000644 0000000 0000000 00000002035 07346545000 022024 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== DESCRIPTION =====>>
It may not be immediately apparent, but the spaces immediately
inside the double angle quotes below are half-width no-break
spaces ("narrow no-break space").
See http://en.wikipedia.org/wiki/Space_(punctuation)#Breaking_and_non-breaking_spaces
and http://forums.zotero.org/discussion/4933/localized-quotes/#Comment_88384
for details.
<<===== DESCRIPTION =====<<
>>===== RESULT =====>>
His « Anonymous » Life
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "His « Anonymous » Life",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/punctuation_FullMontyField.txt 0000644 0000000 0000000 00000013232 07346545000 021266 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
ENDING IN COLON
colon: colon
period.: colon
semicolon; colon
exclamation! colon
question? colon
comma,: colon
ENDING IN PERIOD
colon: period
period. period
semicolon; period
exclamation! period
question? period
comma,. period
ENDING IN SEMICOLON
colon:; semicolon
period.; semicolon
semicolon; semicolon
exclamation!; semicolon
question?; semicolon
comma,; semicolon
ENDING IN EXCLAMATION
colon! exclamation
period.! exclamation
semicolon! exclamation
exclamation! exclamation
question?! exclamation
comma,! exclamation
ENDING IN QUESTION
colon? question
period.? question
semicolon? question
exclamation!? question
question? question
comma,? question
ENDING IN COMMA
colon:, comma
period., comma
semicolon;, comma
exclamation!, comma
question?, comma
comma, comma
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/punctuation_FullMontyPlain.txt 0000644 0000000 0000000 00000014002 07346545000 021302 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
ENDING IN COLON
colon: colon
period.: colon
semicolon; colon
exclamation! colon
question? colon
comma,: colon
ENDING IN PERIOD
colon: period
period. period
semicolon; period
exclamation! period
question? period
comma,. period
ENDING IN SEMICOLON
colon:; semicolon
period.; semicolon
semicolon; semicolon
exclamation!; semicolon
question?; semicolon
comma,; semicolon
ENDING IN EXCLAMATION
colon! exclamation
period.! exclamation
semicolon! exclamation
exclamation! exclamation
question?! exclamation
comma,! exclamation
ENDING IN QUESTION
colon? question
period.? question
semicolon? question
exclamation!? question
question? question
comma,? question
ENDING IN COMMA
colon:, comma
period., comma
semicolon;, comma
exclamation!, comma
question?, comma
comma, comma
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/punctuation_FullMontyQuotesIn.txt 0000644 0000000 0000000 00000015432 07346545000 022016 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
ENDING IN COLON
“colon”: colon
“period.”: colon
“semicolon”; colon
“exclamation!” colon
“question?” colon
“comma,”: colon
ENDING IN PERIOD
“colon”: period
“period.” period
“semicolon”; period
“exclamation!” period
“question?” period
“comma,.” period
ENDING IN SEMICOLON
“colon”:; semicolon
“period.”; semicolon
“semicolon”; semicolon
“exclamation!”; semicolon
“question?”; semicolon
“comma,”; semicolon
ENDING IN EXCLAMATION
“colon!” exclamation
“period.!” exclamation
“semicolon!” exclamation
“exclamation!” exclamation
“question?!” exclamation
“comma,!” exclamation
ENDING IN QUESTION
“colon?” question
“period.?” question
“semicolon?” question
“exclamation!?” question
“question?” question
“comma,?” question
ENDING IN COMMA
“colon”:, comma
“period.,” comma
“semicolon”;, comma
“exclamation!,” comma
“question?,” comma
“comma,” comma
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/punctuation_FullMontyQuotesOut.txt 0000644 0000000 0000000 00000015433 07346545000 022220 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
ENDING IN COLON
“colon”: colon
“period”.: colon
“semicolon”; colon
“exclamation”! colon
“question”? colon
“comma”,: colon
ENDING IN PERIOD
“colon”: period
“period”. period
“semicolon”; period
“exclamation”! period
“question”? period
“comma”,. period
ENDING IN SEMICOLON
“colon”:; semicolon
“period”.; semicolon
“semicolon”; semicolon
“exclamation”!; semicolon
“question”?; semicolon
“comma”,; semicolon
ENDING IN EXCLAMATION
“colon”! exclamation
“period”.! exclamation
“semicolon”! exclamation
“exclamation”! exclamation
“question”?! exclamation
“comma”,! exclamation
ENDING IN QUESTION
“colon”? question
“period”.? question
“semicolon”? question
“exclamation”!? question
“question”? question
“comma”,? question
ENDING IN COMMA
“colon”:, comma
“period”., comma
“semicolon”;, comma
“exclamation”!, comma
“question”?, comma
“comma”, comma
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/punctuation_NoSuppressOfPeriodBeforeSemicolon.txt 0000644 0000000 0000000 00000002016 07346545000 025134 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Hello.; Goodbye
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"1965",
"6",
"1"
]
]
},
"title": "His Anonymous Life",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/punctuation_OnMacro.txt 0000644 0000000 0000000 00000001714 07346545000 017731 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
“My Title.” My Publisher
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"publisher": "My Publisher",
"publisher-place": "New York",
"title": "My Title",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/punctuation_SemicolonDelimiter.txt 0000644 0000000 0000000 00000006222 07346545000 022161 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
Bauthor, O. T.; Cauthor, T.; Dauthor, T.; Eauthor, E.; Fauthor, F.; Gauthor, G.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"URL": "www.reporturl.com",
"accessed": {
"date-parts": [
[
2007,
12,
12
]
]
},
"archive_location": "loc archieve",
"author": [
{
"family": "Bauthor",
"given": "One Two"
},
{
"family": "Cauthor",
"given": "Two"
},
{
"family": "Dauthor",
"given": "Three"
},
{
"family": "Eauthor",
"given": "Edward"
},
{
"family": "Fauthor",
"given": "Fritz"
},
{
"family": "Gauthor",
"given": "Gerd"
}
],
"event-place": "Reportplace",
"genre": "Report Type",
"id": 1,
"issued": {
"date-parts": [
[
2009,
12,
12
]
]
},
"number": "17",
"publisher": "Institution",
"publisher-place": "Reportplace",
"title": "Report on something many authors",
"type": "report"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/punctuation_SuppressPrefixPeriodForDelimiterSemicolon.txt 0000644 0000000 0000000 00000056026 07346545000 026725 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
..[0] John Doe, “His Anonymous Life,” 1965; Jane Roe, “Her Anonymous Life,” 1965.
>>[1] Doe, “His Anonymous Life”; Roe, “Her Anonymous Life.”
<<===== RESULT =====<<
>>===== CITATIONS =====>>
[
[
{
"citationID": "CITATION-1",
"citationItems": [
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
}
],
"properties": {
"noteIndex": 1
}
},
[],
[]
],
[
{
"citationID": "CITATION-2",
"citationItems": [
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
}
],
"properties": {
"noteIndex": 2
}
},
[
[
"CITATION-1",
1
]
],
[]
]
]
<<===== CITATIONS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"1965",
"6",
"1"
]
]
},
"title": "His Anonymous Life",
"type": "chapter"
},
{
"author": [
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
"1965",
"6",
"1"
]
]
},
"title": "Her Anonymous Life",
"type": "chapter"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/quotes_Punctuation.txt 0000644 0000000 0000000 00000002203 07346545000 017645 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "item-1",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "The Book Title",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/quotes_PunctuationNasty.txt 0000644 0000000 0000000 00000076055 07346545000 020704 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
Savage, Thomas. “Report of Labors in Archives and Procuring Material for History of California: And Related Material,” 1879. MSS C-E 191. Bancroft Library, University of California at Berkeley.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"archive": "Bancroft Library, University of California at Berkeley",
"archive_location": "MSS C-E 191",
"author": [
{
"family": "Savage",
"given": "Thomas"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"1879"
]
]
},
"title": "Report of Labors in Archives and Procuring Material for History of California: And Related Material",
"type": "manuscript"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/quotes_PunctuationWithInnerQuote.txt 0000644 0000000 0000000 00000001623 07346545000 022520 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "item-1",
"title": "This is 'The One'",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/quotes_QuotesUnderQuotesFalse.txt 0000644 0000000 0000000 00000024752 07346545000 022003 0 ustar 00 0000000 0000000 >>==== MODE ====>>
bibliography
<<==== MODE ====<<
>>==== RESULT ====>>
'Title with ‘quotes’ in it',.
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"id": "ITEM-1",
"title": "Title with \"quotes\" in it",
"type": "chapter"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/simplespace_case1.txt 0000644 0000000 0000000 00000015674 07346545000 017335 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
Doe, J., 1992. In Some title. Vintage, pp. 250–300.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "Jhon"
}
],
"container-title": "Some title",
"edition": "Vintage First edition",
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1992
]
]
},
"page": "250-300",
"publisher": "Vintage",
"type": "chapter"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/sort_AguStyle.txt 0000644 0000000 0000000 00000013603 07346545000 016546 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
Smith, A. (1989a)
Smith, A. (1989b)
Smith, A. (1991)
Smith, A. and C. Allen (1992)
Smith, A. and B. Frank (1995)
Smith, A. and B. Frank (1997)
Smith, A., L. Roberts, and T. Jones (1993)
Smith, A., T. Jones, and L. Roberts (1997)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Smith",
"given": "Al"
}
],
"id": "item-1",
"issued": {
"date-parts": [
[
"1989"
]
]
},
"title": "Book One",
"type": "book"
},
{
"editor": [
{
"family": "Smith",
"given": "Al"
}
],
"id": "item-3",
"issued": {
"date-parts": [
[
"1991"
]
]
},
"title": "Book Three",
"type": "book"
},
{
"editor": [
{
"family": "Smith",
"given": "Al"
},
{
"family": "Allen",
"given": "Carl"
}
],
"id": "item-4",
"issued": {
"date-parts": [
[
"1992"
]
]
},
"title": "Book Four",
"type": "book"
},
{
"editor": [
{
"family": "Smith",
"given": "Al"
},
{
"family": "Frank",
"given": "Beauregarde"
}
],
"id": "item-6",
"issued": {
"date-parts": [
[
"1997"
]
]
},
"title": "Book Six",
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "Al"
}
],
"id": "item-2",
"issued": {
"date-parts": [
[
"1989"
]
]
},
"title": "Book Two",
"type": "book"
},
{
"editor": [
{
"family": "Smith",
"given": "Al"
},
{
"family": "Frank",
"given": "Beauregarde"
}
],
"id": "item-5",
"issued": {
"date-parts": [
[
"1995"
]
]
},
"title": "Book Five",
"type": "book"
},
{
"editor": [
{
"family": "Smith",
"given": "Al"
},
{
"family": "Roberts",
"given": "Lionel"
},
{
"family": "Jones",
"given": "Theresa"
}
],
"id": "item-7",
"issued": {
"date-parts": [
[
"1993"
]
]
},
"title": "Book Seven",
"type": "book"
},
{
"editor": [
{
"family": "Smith",
"given": "Al"
},
{
"family": "Jones",
"given": "Theresa"
},
{
"family": "Roberts",
"given": "Lionel"
}
],
"id": "item-8",
"issued": {
"date-parts": [
[
"1997"
]
]
},
"title": "Book Eight",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/sort_AguStyleReverseGroups.txt 0000644 0000000 0000000 00000013625 07346545000 021306 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
Smith, A., L. Roberts, and T. Jones (1993)
Smith, A., T. Jones, and L. Roberts (1997)
Smith, A. and C. Allen (2000)
Smith, A. and B. Frank (1995)
Smith, A. and B. Frank (1997)
Smith, A. (1989a)
Smith, A. (1989b)
Smith, A. (1991)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Smith",
"given": "Al"
}
],
"id": "item-1",
"issued": {
"date-parts": [
[
"1989"
]
]
},
"title": "Book One",
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "Al"
}
],
"id": "item-2",
"issued": {
"date-parts": [
[
"1989"
]
]
},
"title": "Book Two",
"type": "book"
},
{
"editor": [
{
"family": "Smith",
"given": "Al"
}
],
"id": "item-3",
"issued": {
"date-parts": [
[
"1991"
]
]
},
"title": "Book Three",
"type": "book"
},
{
"editor": [
{
"family": "Smith",
"given": "Al"
},
{
"family": "Allen",
"given": "Carl"
}
],
"id": "item-4",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "Book Four",
"type": "book"
},
{
"editor": [
{
"family": "Smith",
"given": "Al"
},
{
"family": "Frank",
"given": "Beauregarde"
}
],
"id": "item-5",
"issued": {
"date-parts": [
[
"1995"
]
]
},
"title": "Book Five",
"type": "book"
},
{
"editor": [
{
"family": "Smith",
"given": "Al"
},
{
"family": "Frank",
"given": "Beauregarde"
}
],
"id": "item-6",
"issued": {
"date-parts": [
[
"1997"
]
]
},
"title": "Book Six",
"type": "book"
},
{
"editor": [
{
"family": "Smith",
"given": "Al"
},
{
"family": "Roberts",
"given": "Lionel"
},
{
"family": "Jones",
"given": "Theresa"
}
],
"id": "item-7",
"issued": {
"date-parts": [
[
"1993"
]
]
},
"title": "Book Seven",
"type": "book"
},
{
"editor": [
{
"family": "Smith",
"given": "Al"
},
{
"family": "Jones",
"given": "Theresa"
},
{
"family": "Roberts",
"given": "Lionel"
}
],
"id": "item-8",
"issued": {
"date-parts": [
[
"1997"
]
]
},
"title": "Book Eight",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/sort_AuthorDateWithYearSuffix.txt 0000644 0000000 0000000 00000021071 07346545000 021711 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
>>[0] (Day and Fitzpatrick, 2005a, 2005b; Mian et al., 2005)
<<===== RESULT =====<<
>>===== CITATIONS =====>>
[
[
{
"citationID": "21j4228k5n",
"citationItems": [
{
"id": 30,
"label": "page"
},
{
"id": 32,
"label": "page"
},
{
"id": 29,
"label": "page"
}
],
"properties": {
"noteIndex": 0
}
},
[],
[]
]
]
<<===== CITATIONS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": 30,
"type": "article-journal",
"title": "The vestibular system",
"container-title": "Curr Biol",
"page": "R583-6",
"volume": "15",
"issue": "15",
"author": [
{
"family": "Day",
"given": "B. L."
},
{
"family": "Fitzpatrick",
"given": "R. C."
}
],
"issued": {
"date-parts": [
[
2005
]
]
}
},
{
"id": 32,
"type": "paper-conference",
"title": "Stair descent: kinematics in healthy young and older adults",
"publisher-place": "Belgrade, Serbia",
"page": "129-130",
"event": "European College of Sport Science 10th Annual Congress",
"event-place": "Belgrade, Serbia",
"author": [
{
"family": "Mian",
"given": "O.S."
},
{
"family": "Thom",
"given": "J. M."
},
{
"family": "Narici",
"given": "M. V."
},
{
"family": "Baltzopoulos",
"given": "V."
}
],
"issued": {
"date-parts": [
[
2005
]
]
}
},
{
"id": 29,
"type": "article-journal",
"title": "Virtual head rotation reveals a process of route reconstruction from human vestibular signals",
"container-title": "J Physiol",
"page": "591-7",
"volume": "567",
"issue": "Pt 2",
"author": [
{
"family": "Day",
"given": "B. L."
},
{
"family": "Fitzpatrick",
"given": "R. C."
}
],
"issued": {
"date-parts": [
[
2005
]
]
}
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/sort_BibliographyCitationNumberDescending.txt 0000644 0000000 0000000 00000004271 07346545000 024255 0 ustar 00 0000000 0000000 >>==== MODE ====>>
bibliography
<<==== MODE ====<<
>>==== RESULT ====>>
[1] Book 008
[2] Book 007
[3] Book 005
[4] Book 002
[5] Book 006
[6] Book 004
[7] Book 003
[8] Book 001
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
},
{
"id": "ITEM-3"
},
{
"id": "ITEM-4"
},
{
"id": "ITEM-5"
},
{
"id": "ITEM-6"
},
{
"id": "ITEM-7"
},
{
"id": "ITEM-8"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"id": "ITEM-1",
"title": "Book 001",
"type": "book"
},
{
"id": "ITEM-2",
"title": "Book 003",
"type": "book"
},
{
"id": "ITEM-3",
"title": "Book 004",
"type": "book"
},
{
"id": "ITEM-4",
"title": "Book 006",
"type": "book"
},
{
"id": "ITEM-5",
"title": "Book 002",
"type": "book"
},
{
"id": "ITEM-6",
"title": "Book 005",
"type": "book"
},
{
"id": "ITEM-7",
"title": "Book 007",
"type": "book"
},
{
"id": "ITEM-8",
"title": "Book 008",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/sort_BibliographyCitationNumberDescendingSecondary.txt 0000644 0000000 0000000 00000004235 07346545000 026125 0 ustar 00 0000000 0000000 >>==== MODE ====>>
bibliography
<<==== MODE ====<<
>>==== RESULT ====>>
[1] Book 001
[2] Book 002
[3] Book 003
[4] Book 004
[5] Book 005
[6] Book 006
[7] Book 007
[8] Book 008
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
},
{
"id": "ITEM-3"
},
{
"id": "ITEM-4"
},
{
"id": "ITEM-5"
},
{
"id": "ITEM-6"
},
{
"id": "ITEM-7"
},
{
"id": "ITEM-8"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"id": "ITEM-1",
"title": "Book 001",
"type": "book"
},
{
"id": "ITEM-2",
"title": "Book 003",
"type": "book"
},
{
"id": "ITEM-3",
"title": "Book 004",
"type": "book"
},
{
"id": "ITEM-4",
"title": "Book 006",
"type": "book"
},
{
"id": "ITEM-5",
"title": "Book 002",
"type": "book"
},
{
"id": "ITEM-6",
"title": "Book 005",
"type": "book"
},
{
"id": "ITEM-7",
"title": "Book 007",
"type": "book"
},
{
"id": "ITEM-8",
"title": "Book 008",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/sort_BibliographyCitationNumberDescendingViaCompositeMacro.txt 0000644 0000000 0000000 00000002627 07346545000 027565 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
[4] Aaaa
[3] Bbbb
[2] Xxxx
[1] Zzzz
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "item-1",
"title": "Aaaa",
"type": "book"
},
{
"id": "item-3",
"title": "Bbbb",
"type": "book"
},
{
"id": "item-4",
"title": "Zzzz",
"type": "book"
},
{
"id": "item-5",
"title": "Xxxx",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/sort_BibliographyCitationNumberDescendingViaMacro.txt 0000644 0000000 0000000 00000003737 07346545000 025705 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
[8] Book One
[7] Book Three
[6] Book Four
[5] Book Six
[4] Book Two
[3] Book Five
[2] Book Seven
[1] Book Eight
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "item-1",
"title": "Book One",
"type": "book"
},
{
"id": "item-3",
"title": "Book Three",
"type": "book"
},
{
"id": "item-4",
"title": "Book Four",
"type": "book"
},
{
"id": "item-6",
"title": "Book Six",
"type": "book"
},
{
"id": "item-2",
"title": "Book Two",
"type": "book"
},
{
"id": "item-5",
"title": "Book Five",
"type": "book"
},
{
"id": "item-7",
"title": "Book Seven",
"type": "book"
},
{
"id": "item-8",
"title": "Book Eight",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/sort_BibliographyResortOnUpdate.txt 0000644 0000000 0000000 00000003027 07346545000 022262 0 ustar 00 0000000 0000000 >>==== MODE ====>>
bibliography
<<==== MODE ====<<
>>==== RESULT ====>>
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
},
{
"id": "ITEM-3"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "Effinger",
"given": "Eda"
}
],
"id": "ITEM-1",
"type": "book"
},
{
"author": [
{
"family": "Jamey",
"given": "Jantzen"
}
],
"id": "ITEM-2",
"type": "book"
},
{
"author": [
{
"family": "Ging",
"given": "Tina"
}
],
"id": "ITEM-3",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/sort_CaseInsensitiveBibliography.txt 0000644 0000000 0000000 00000002722 07346545000 022441 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "ABC"
}
],
"id": "ITEM-1",
"type": "book"
},
{
"author": [
{
"family": "Aaa"
}
],
"id": "ITEM-2",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/sort_CaseInsensitiveCitation.txt 0000644 0000000 0000000 00000001767 07346545000 021610 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
Aaa - ABC - Xyz
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
},
{
"id": "ITEM-3"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"id": "ITEM-1",
"title": "Xyz",
"type": "book"
},
{
"id": "ITEM-2",
"title": "ABC",
"type": "book"
},
{
"id": "ITEM-3",
"title": "Aaa",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/sort_ChangeInNameSort.txt 0000644 0000000 0000000 00000003341 07346545000 020134 0 ustar 00 0000000 0000000 >>==== MODE ====>>
bibliography
<<==== MODE ====<<
>>==== RESULT ====>>
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
}
],
[
{
"id": "ITEM-2"
}
],
[
{
"id": "ITEM-3"
}
],
[
{
"id": "ITEM-2"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "De Quincey",
"given": "Alan"
}
],
"id": "ITEM-1",
"type": "book"
},
{
"author": [
{
"family": "Noakes",
"given": "Ajax"
}
],
"id": "ITEM-2",
"type": "book"
},
{
"author": [
{
"family": "Carter",
"given": "Cedric"
}
],
"id": "ITEM-3",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/sort_ChicagoYearSuffix1.txt 0000644 0000000 0000000 00000032044 07346545000 020435 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
Beijing Zoo. 1974a. Observations on the breeding of the giant panda and the raising of its young [in Chinese]. Acta Zoologica Sinica 20: 154–61.
---. 1974b. On the diseases of the giant panda and their preventive and curative measures [in Chinese]. Acta Zoologica Sinica 20: 139–47.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Beijing Zoo"
}
],
"container-title": "Acta Zoologica Sinica",
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"1974"
]
]
},
"page": "154-161",
"title": "Observations on the breeding of the giant panda and the raising of its young [in Chinese]",
"type": "article-journal",
"volume": "20"
},
{
"author": [
{
"literal": "Beijing Zoo"
}
],
"container-title": "Acta Zoologica Sinica",
"id": "ITEM-2",
"issued": {
"date-parts": [
[
"1974"
]
]
},
"page": "139-147",
"title": "On the diseases of the giant panda and their preventive and curative measures [in Chinese]",
"type": "article-journal",
"volume": "20"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/sort_ChicagoYearSuffix2.txt 0000644 0000000 0000000 00000032045 07346545000 020437 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
Beijing Zoo. 1974a. Observations on the breeding of the giant panda and the raising of its young [in Chinese]. Acta Zoologica Sinica 20: 154–61.
---. 1974b. On the diseases of the giant panda and their preventive and curative measures [in Chinese]. Acta Zoologica Sinica 20: 139–47.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"literal": "Beijing Zoo"
}
],
"container-title": "Acta Zoologica Sinica",
"id": "ITEM-2",
"issued": {
"date-parts": [
[
"1974"
]
]
},
"page": "139-147",
"title": "On the diseases of the giant panda and their preventive and curative measures [in Chinese]",
"type": "article-journal",
"volume": "20"
},
{
"author": [
{
"family": "Beijing Zoo"
}
],
"container-title": "Acta Zoologica Sinica",
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"1974"
]
]
},
"page": "154-161",
"title": "Observations on the breeding of the giant panda and the raising of its young [in Chinese]",
"type": "article-journal",
"volume": "20"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/sort_Citation.txt 0000644 0000000 0000000 00000002153 07346545000 016561 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
Doe; Roe
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"type": "book"
},
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-2",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/sort_CitationNumberPrimaryAscendingViaMacroBibliography.txt 0000644 0000000 0000000 00000004220 07346545000 027065 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>==== DESCRIPTION ====>>
Sorting on and rendering citation-numbers is accomplished with specialized logic that isn't fully
documented in the specification. Please see the links below for an explanation.
https://github.com/citation-style-language/test-suite/issues/62
https://forums.zotero.org/discussion/71443/reverse-number-bibliography
<<==== DESCRIPTION ====<<
>>===== RESULT =====>>
[1] Aaaa (first-cited)
[2] Bbbb (second-cited)
[3] Zzzz (third-cited)
[4] Xxxx (fourth-cited)
<<===== RESULT =====<<
## Companion citations:
##
## >>[0] [1] Aaaa (first-cited); [2] Bbbb (second-cited); [3] Zzzz (third-cited); [4] Xxxx (fourth-cited)
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "item-1",
"title": "Aaaa (first-cited)",
"type": "book"
},
{
"id": "item-2",
"title": "Bbbb (second-cited)",
"type": "book"
},
{
"id": "item-3",
"title": "Zzzz (third-cited)",
"type": "book"
},
{
"id": "item-4",
"title": "Xxxx (fourth-cited)",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/sort_CitationNumberPrimaryAscendingViaMacroCitation.txt 0000644 0000000 0000000 00000005226 07346545000 026233 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>==== DESCRIPTION ====>>
Sorting on and rendering citation-numbers is accomplished with specialized logic that isn't fully
documented in the specification. Please see the links below for an explanation.
https://github.com/citation-style-language/test-suite/issues/62
https://forums.zotero.org/discussion/71443/reverse-number-bibliography
<<==== DESCRIPTION ====<<
>>===== RESULT =====>>
>>[0] [1] Aaaa (first-cited); [2] Bbbb (second-cited); [3] Zzzz (third-cited); [4] Xxxx (fourth-cited)
<<===== RESULT =====<<
## Companion bibliography:
##
##
##
[1] Aaaa (first-cited)
##
[2] Bbbb (second-cited)
##
[3] Zzzz (third-cited)
##
[4] Xxxx (fourth-cited)
##
>>==== CITATIONS ====>>
[
[
{
"citationID": "CITATION-1",
"citationItems": [
{
"id": "item-1"
},
{
"id": "item-2"
},
{
"id": "item-3"
},
{
"id": "item-4"
}
]
},
[],
[]
]
]
<<==== CITATIONS ====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "item-1",
"title": "Aaaa (first-cited)",
"type": "book"
},
{
"id": "item-2",
"title": "Bbbb (second-cited)",
"type": "book"
},
{
"id": "item-3",
"title": "Zzzz (third-cited)",
"type": "book"
},
{
"id": "item-4",
"title": "Xxxx (fourth-cited)",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/sort_CitationNumberPrimaryAscendingViaVariableBibliography.txt 0000644 0000000 0000000 00000004057 07346545000 027561 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>==== DESCRIPTION ====>>
Sorting on and rendering citation-numbers is accomplished with specialized logic that isn't fully
documented in the specification. Please see the links below for an explanation.
https://github.com/citation-style-language/test-suite/issues/62
https://forums.zotero.org/discussion/71443/reverse-number-bibliography
<<==== DESCRIPTION ====<<
>>===== RESULT =====>>
[1] Aaaa (first-cited)
[2] Bbbb (second-cited)
[3] Zzzz (third-cited)
[4] Xxxx (fourth-cited)
<<===== RESULT =====<<
## Companion citations:
##
## >>[0] [1] Aaaa (first-cited); [2] Bbbb (second-cited); [3] Zzzz (third-cited); [4] Xxxx (fourth-cited)
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "item-1",
"title": "Aaaa (first-cited)",
"type": "book"
},
{
"id": "item-2",
"title": "Bbbb (second-cited)",
"type": "book"
},
{
"id": "item-3",
"title": "Zzzz (third-cited)",
"type": "book"
},
{
"id": "item-4",
"title": "Xxxx (fourth-cited)",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/sort_CitationNumberPrimaryAscendingViaVariableCitation.txt 0000644 0000000 0000000 00000005067 07346545000 026722 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>==== DESCRIPTION ====>>
Sorting on and rendering citation-numbers is accomplished with specialized logic that isn't fully
documented in the specification. Please see the links below for an explanation.
https://github.com/citation-style-language/test-suite/issues/62
https://forums.zotero.org/discussion/71443/reverse-number-bibliography
<<==== DESCRIPTION ====<<
>>===== RESULT =====>>
>>[0] [1] Aaaa (first-cited); [2] Bbbb (second-cited); [3] Zzzz (third-cited); [4] Xxxx (fourth-cited)
<<===== RESULT =====<<
## Companion bibliography:
##
##
##
[1] Aaaa (first-cited)
##
[2] Bbbb (second-cited)
##
[3] Zzzz (third-cited)
##
[4] Xxxx (fourth-cited)
##
>>==== CITATIONS ====>>
[
[
{
"citationID": "CITATION-1",
"citationItems": [
{
"id": "item-1"
},
{
"id": "item-2"
},
{
"id": "item-3"
},
{
"id": "item-4"
}
]
},
[],
[]
]
]
<<==== CITATIONS ====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "item-1",
"title": "Aaaa (first-cited)",
"type": "book"
},
{
"id": "item-2",
"title": "Bbbb (second-cited)",
"type": "book"
},
{
"id": "item-3",
"title": "Zzzz (third-cited)",
"type": "book"
},
{
"id": "item-4",
"title": "Xxxx (fourth-cited)",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/sort_CitationNumberPrimaryDescendingViaMacroBibliography.txt 0000644 0000000 0000000 00000003435 07346545000 027244 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
[4] Xxxx (fourth-cited)
[3] Zzzz (third-cited)
[2] Bbbb (second-cited)
[1] Aaaa (first-cited)
<<===== RESULT =====<<
## Companion citations:
##
## >>[0] [1] Aaaa (first-cited); [2] Bbbb (second-cited); [3] Zzzz (third-cited); [4] Xxxx (fourth-cited)
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "item-1",
"title": "Aaaa (first-cited)",
"type": "book"
},
{
"id": "item-2",
"title": "Bbbb (second-cited)",
"type": "book"
},
{
"id": "item-3",
"title": "Zzzz (third-cited)",
"type": "book"
},
{
"id": "item-4",
"title": "Xxxx (fourth-cited)",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/sort_CitationNumberPrimaryDescendingViaMacroCitation.txt 0000644 0000000 0000000 00000004450 07346545000 026401 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
>>[0] [1] Aaaa (first-cited); [2] Bbbb (second-cited); [3] Zzzz (third-cited); [4] Xxxx (fourth-cited)
<<===== RESULT =====<<
## Companion bibliography:
##
##
##
[4] Xxxx (fourth-cited)
##
[3] Zzzz (third-cited)
##
[2] Bbbb (second-cited)
##
[1] Aaaa (first-cited)
##
>>==== CITATIONS ====>>
[
[
{
"citationID": "CITATION-1",
"citationItems": [
{
"id": "item-1"
},
{
"id": "item-2"
},
{
"id": "item-3"
},
{
"id": "item-4"
}
]
},
[],
[]
]
]
<<==== CITATIONS ====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "item-1",
"title": "Aaaa (first-cited)",
"type": "book"
},
{
"id": "item-2",
"title": "Bbbb (second-cited)",
"type": "book"
},
{
"id": "item-3",
"title": "Zzzz (third-cited)",
"type": "book"
},
{
"id": "item-4",
"title": "Xxxx (fourth-cited)",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/sort_CitationNumberPrimaryDescendingViaVariableBibliography.txt 0000644 0000000 0000000 00000003275 07346545000 027732 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
[4] Xxxx (fourth-cited)
[3] Zzzz (third-cited)
[2] Bbbb (second-cited)
[1] Aaaa (first-cited)
<<===== RESULT =====<<
## Companion citations:
##
## >>[0] [1] Aaaa (first-cited); [2] Bbbb (second-cited); [3] Zzzz (third-cited); [4] Xxxx (fourth-cited)
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "item-1",
"title": "Aaaa (first-cited)",
"type": "book"
},
{
"id": "item-2",
"title": "Bbbb (second-cited)",
"type": "book"
},
{
"id": "item-3",
"title": "Zzzz (third-cited)",
"type": "book"
},
{
"id": "item-4",
"title": "Xxxx (fourth-cited)",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/sort_CitationNumberPrimaryDescendingViaVariableCitation.txt 0000644 0000000 0000000 00000004312 07346545000 027062 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
>>[0] [1] Aaaa (first-cited); [2] Bbbb (second-cited); [3] Zzzz (third-cited); [4] Xxxx (fourth-cited)
<<===== RESULT =====<<
## Companion bibliography:
##
##
##
[4] Xxxx (fourth-cited)
##
[3] Zzzz (third-cited)
##
[2] Bbbb (second-cited)
##
[1] Aaaa (first-cited)
##
>>==== CITATIONS ====>>
[
[
{
"citationID": "CITATION-1",
"citationItems": [
{
"id": "item-1"
},
{
"id": "item-2"
},
{
"id": "item-3"
},
{
"id": "item-4"
}
]
},
[],
[]
]
]
<<==== CITATIONS ====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "item-1",
"title": "Aaaa (first-cited)",
"type": "book"
},
{
"id": "item-2",
"title": "Bbbb (second-cited)",
"type": "book"
},
{
"id": "item-3",
"title": "Zzzz (third-cited)",
"type": "book"
},
{
"id": "item-4",
"title": "Xxxx (fourth-cited)",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/sort_CitationNumberSecondaryAscendingViaMacroBibliography.txt 0000644 0000000 0000000 00000003520 07346545000 027373 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
[1] Zzzz (third-cited)
[2] Xxxx (fourth-cited)
[3] Bbbb (second-cited)
[4] Aaaa (first-cited)
<<===== RESULT =====<<
## Companion citations:
##
## >>[0] [1] Zzzz (third-cited); [2] Xxxx (fourth-cited); [3] Bbbb (second-cited); [4] Aaaa (first-cited)
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "item-1",
"title": "Aaaa (first-cited)",
"type": "book"
},
{
"id": "item-2",
"title": "Bbbb (second-cited)",
"type": "book"
},
{
"id": "item-3",
"title": "Zzzz (third-cited)",
"type": "book"
},
{
"id": "item-4",
"title": "Xxxx (fourth-cited)",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/sort_CitationNumberSecondaryAscendingViaMacroCitation.txt 0000644 0000000 0000000 00000003547 07346545000 026543 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
[1] Zzzz (third-cited); [2] Xxxx (fourth-cited); [3] Bbbb (second-cited); [4] Aaaa (first-cited)
<<===== RESULT =====<<
## Companion bibliography:
##
##
##
[1] Zzzz (third-cited)
##
[2] Xxxx (fourth-cited)
##
[3] Bbbb (second-cited)
##
[4] Aaaa (first-cited)
##
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "item-1",
"title": "Aaaa (first-cited)",
"type": "book"
},
{
"id": "item-2",
"title": "Bbbb (second-cited)",
"type": "book"
},
{
"id": "item-3",
"title": "Zzzz (third-cited)",
"type": "book"
},
{
"id": "item-4",
"title": "Xxxx (fourth-cited)",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/sort_CitationNumberSecondaryAscendingViaVariableBibliography.txt 0000644 0000000 0000000 00000003357 07346545000 030067 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
[1] Zzzz (third-cited)
[2] Xxxx (fourth-cited)
[3] Bbbb (second-cited)
[4] Aaaa (first-cited)
<<===== RESULT =====<<
## Companion citations:
##
## >>[0] [1] Zzzz (third-cited); [2] Xxxx (fourth-cited); [3] Bbbb (second-cited); [4] Aaaa (first-cited)
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "item-1",
"title": "Aaaa (first-cited)",
"type": "book"
},
{
"id": "item-2",
"title": "Bbbb (second-cited)",
"type": "book"
},
{
"id": "item-3",
"title": "Zzzz (third-cited)",
"type": "book"
},
{
"id": "item-4",
"title": "Xxxx (fourth-cited)",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/sort_CitationNumberSecondaryAscendingViaVariableCitation.txt 0000644 0000000 0000000 00000004371 07346545000 027223 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
>>[0] [1] Zzzz (third-cited); [2] Xxxx (fourth-cited); [3] Bbbb (second-cited); [4] Aaaa (first-cited)
<<===== RESULT =====<<
## Companion bibliography:
##
##
##
[1] Zzzz (third-cited)
##
[2] Xxxx (fourth-cited)
##
[3] Bbbb (second-cited)
##
[4] Aaaa (first-cited)
##
>>==== CITATIONS ====>>
[
[
{
"citationID": "CITATION-1",
"citationItems": [
{
"id": "item-2"
},
{
"id": "item-1"
},
{
"id": "item-4"
},
{
"id": "item-3"
}
]
},
[],
[]
]
]
<<==== CITATIONS ====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "item-1",
"title": "Aaaa (first-cited)",
"type": "book"
},
{
"id": "item-2",
"title": "Bbbb (second-cited)",
"type": "book"
},
{
"id": "item-3",
"title": "Zzzz (third-cited)",
"type": "book"
},
{
"id": "item-4",
"title": "Xxxx (fourth-cited)",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/sort_CitationSecondaryKey.txt 0000644 0000000 0000000 00000002721 07346545000 021103 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
Doe 1995; Roe 1995
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1995
]
]
},
"type": "book"
},
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
1995
]
]
},
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/sort_CiteGroupDelimiter.txt 0000644 0000000 0000000 00000003330 07346545000 020545 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
Banda 1999; Aalto 2000, Aalto 2001
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-3"
},
{
"id": "ITEM-2"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "Aalto",
"given": "Alan"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
2001
]
]
},
"type": "book"
},
{
"author": [
{
"family": "Aalto",
"given": "Alan"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
2000
]
]
},
"type": "book"
},
{
"author": [
{
"family": "Banda",
"given": "Gino"
}
],
"id": "ITEM-3",
"issued": {
"date-parts": [
[
1999
]
]
},
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/sort_ConditionalMacroDates.txt 0000644 0000000 0000000 00000004170 07346545000 021216 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "item-1",
"issued": {
"date-parts": [
[
2002,
12,
25
]
]
},
"title": "Title 2",
"type": "article-journal"
},
{
"id": "item-2",
"issued": {
"date-parts": [
[
2002,
11,
30
]
]
},
"title": "Title 3",
"type": "book"
},
{
"id": "item-3",
"issued": {
"date-parts": [
[
2002,
10,
25
]
]
},
"title": "Title 1",
"type": "article-journal"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/sort_DaleDalebout.txt 0000644 0000000 0000000 00000003164 07346545000 017337 0 ustar 00 0000000 0000000 >>==== MODE ====>>
bibliography
<<==== MODE ====<<
>>==== RESULT ====>>
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
},
{
"id": "ITEM-3"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "Dale",
"given": "Zippy"
}
],
"id": "ITEM-1",
"type": "book"
},
{
"author": [
{
"family": "Dalebout",
"given": "Arnie"
}
],
"id": "ITEM-3",
"type": "book"
},
{
"author": [
{
"family": "Allabout",
"given": "Kelly"
}
],
"id": "ITEM-2",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/sort_DateMacroSortWithSecondFieldAlign.txt 0000644 0000000 0000000 00000003176 07346545000 023433 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
John Doe
His Anonymous Life (1965).
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"1965",
"6",
"1"
]
]
},
"title": "His Anonymous Life",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/sort_DateVariable.txt 0000644 0000000 0000000 00000002043 07346545000 017330 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Book B; Book A
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"2001"
]
]
},
"title": "Book A",
"type": "book"
},
{
"id": "ITEM-2",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "Book B",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/sort_DateVariableMixedElementsAscendingA.txt 0000644 0000000 0000000 00000002114 07346545000 023730 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Book B; Book A
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"2000",
"5"
]
]
},
"title": "Book A",
"type": "book"
},
{
"id": "ITEM-2",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "Book B",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/sort_DateVariableMixedElementsAscendingB.txt 0000644 0000000 0000000 00000002114 07346545000 023731 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Book A; Book B
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "Book A",
"type": "book"
},
{
"id": "ITEM-2",
"issued": {
"date-parts": [
[
"2000",
"5"
]
]
},
"title": "Book B",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/sort_DateVariableMixedElementsDescendingA.txt 0000644 0000000 0000000 00000002115 07346545000 024101 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Book A; Book B
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"2000",
"5"
]
]
},
"title": "Book A",
"type": "book"
},
{
"id": "ITEM-2",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "Book B",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/sort_DateVariableMixedElementsDescendingB.txt 0000644 0000000 0000000 00000002115 07346545000 024102 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Book B; Book A
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "Book A",
"type": "book"
},
{
"id": "ITEM-2",
"issued": {
"date-parts": [
[
"2000",
"5"
]
]
},
"title": "Book B",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/sort_DateVariableRange.txt 0000644 0000000 0000000 00000002427 07346545000 020313 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Book B; Book A
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"2000",
"5"
],
[
"2001",
"5"
]
]
},
"title": "Book A",
"type": "book"
},
{
"id": "ITEM-2",
"issued": {
"date-parts": [
[
"2000",
"5"
],
[
"1999",
"5"
]
]
},
"title": "Book B",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/sort_DateVariableRangeMixed.txt 0000644 0000000 0000000 00000002276 07346545000 021304 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Book B; Book A
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"2000",
"5"
],
[
"2001",
"5"
]
]
},
"title": "Book A",
"type": "book"
},
{
"id": "ITEM-2",
"issued": {
"date-parts": [
[
"2000",
"5"
]
]
},
"title": "Book B",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/sort_DropNameLabelInSort.txt 0000644 0000000 0000000 00000011136 07346545000 020614 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
Doe, John ed. Hello.
---. Hello.
Doe, John Eamon. Hello.
Doe, John Egbert. Hello.
<<===== RESULT =====<<
mla-x.csl
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"editor": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"title": "Hello",
"type": "book"
},
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-4",
"title": "Hello",
"type": "book"
},
{
"author": [
{
"family": "Doe",
"given": "John Eamon"
}
],
"id": "ITEM-2",
"title": "Hello",
"type": "book"
},
{
"author": [
{
"family": "Doe",
"given": "John Egbert"
}
],
"id": "ITEM-3",
"title": "Hello",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/sort_EtAlUseLast.txt 0000644 0000000 0000000 00000005512 07346545000 017137 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
Roe, Doe, … Aogh, Book A
Roe, Doe, … Bogh, Book A
Roe, Doe, … Gogh, Book A
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Roe",
"given": "Jane"
},
{
"family": "Doe",
"given": "John"
},
{
"family": "Blow",
"given": "Joe"
},
{
"family": "Snow",
"given": "John"
},
{
"family": "Gogh",
"given": "Vincent"
}
],
"id": "ITEM-1",
"title": "Book A",
"type": "book"
},
{
"author": [
{
"family": "Roe",
"given": "Jane"
},
{
"family": "Doe",
"given": "John"
},
{
"family": "Blow",
"given": "Joe"
},
{
"family": "Snow",
"given": "John"
},
{
"family": "Bogh",
"given": "Vincent"
}
],
"id": "ITEM-2",
"title": "Book A",
"type": "book"
},
{
"author": [
{
"family": "Roe",
"given": "Jane"
},
{
"family": "Doe",
"given": "John"
},
{
"family": "Blow",
"given": "Joe"
},
{
"family": "Snow",
"given": "John"
},
{
"family": "Aogh",
"given": "Vincent"
}
],
"id": "ITEM-3",
"title": "Book A",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/sort_FamilyOnly.txt 0000644 0000000 0000000 00000002665 07346545000 017102 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
Aardvaark
ANZ Group
Edelweis
<<===== RESULT =====<<
Test for issue described here:
https://forums.zotero.org/discussion/29420/bug-sorting-bibliography-with-single-field-authors/
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "ANZ Group"
}
],
"id": "ITEM-1",
"type": "book"
},
{
"author": [
{
"family": "Aardvaark"
}
],
"id": "ITEM-2",
"type": "book"
},
{
"author": [
{
"family": "Edelweis"
}
],
"id": "ITEM-3",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/sort_GroupedByAuthorstring.txt 0000644 0000000 0000000 00000004433 07346545000 021324 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
>>[0] Smith 2003, 2010; Jones 2005
<<===== RESULT =====<<
>>===== CITATIONS =====>>
[
[
{
"citationID": "CITATION-1",
"citationItems": [
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
},
{
"id": "ITEM-3"
}
],
"properties": {
"noteIndex": 1
}
},
[],
[]
]
]
<<===== CITATIONS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued":{
"date-parts":[
[2010]
]
},
"id": "ITEM-1",
"type": "book"
},
{
"author": [
{
"family": "Jones",
"given": "2005"
}
],
"issued":{
"date-parts":[
[2005]
]
},
"id": "ITEM-2",
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued":{
"date-parts":[
[2003]
]
},
"id": "ITEM-3",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/sort_LatinUnicode.txt 0000644 0000000 0000000 00000003035 07346545000 017365 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
Aalto; Álvarez
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "Aalto",
"given": "Alan"
}
],
"id": "ITEM-1",
"type": "book"
},
{
"author": [
{
"family": "Álvarez",
"given": "Ajax"
}
],
"id": "ITEM-2",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/sort_LeadingA.txt 0000644 0000000 0000000 00000131150 07346545000 016453 0 ustar 00 0000000 0000000 >>==== MODE ====>>
bibliography
<<==== MODE ====<<
>>==== RESULT ====>>
“A er det første bogstav i alfabetet”. Television broadcast. DR, 2011.
A Hansen, Martin. Alfabetiseringsproblemer. København: Gyldendal, 2012.
A kasernes fællesvirke. Problemer med alfabetet. Kbh: Dafolo, 2015.
Ab Delrahman, Hussein. Det danske alfabet er sært. Kbh: Politiken, 2012.
B Gjengen. Alfabeta. Kbh, 2009.
Juul Jensen, Uffe, Carsten Hædersdal, og Mogens Kim Skadborg. “Etablering af klinisk etiske komitéer i Danmark: en praksis-filosofisk tilgang til klinisk etik fra bibliotek.dk”. Bibliotek for læger 206, nr. 1 (2014): 44–61.
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
},
{
"id": "ITEM-3"
},
{
"id": "ITEM-4"
},
{
"id": "ITEM-5"
},
{
"id": "ITEM-6"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"archive-place": "Kbh",
"author": [
{
"family": "Ab Delrahman",
"given": "Hussein"
}
],
"event-place": "Kbh",
"id": "ITEM-1",
"issued": {
"date-parts": [
[
2012
]
]
},
"publisher": "Politiken",
"publisher-place": "Kbh",
"title": "Det danske alfabet er sært",
"type": "book"
},
{
"archive-place": "København",
"author": [
{
"family": "A Hansen",
"given": "Martin"
}
],
"event-place": "København",
"id": "ITEM-2",
"issued": {
"date-parts": [
[
2012
]
]
},
"publisher": "Gyldendal",
"publisher-place": "København",
"title": "Alfabetiseringsproblemer",
"type": "book"
},
{
"archive-place": "Kbh",
"author": [
{
"family": "A kasernes fællesvirke",
"given": "",
"isInstitution": 1
}
],
"event-place": "Kbh",
"id": "ITEM-3",
"issued": {
"date-parts": [
[
2015
]
]
},
"publisher": "Dafolo",
"publisher-place": "Kbh",
"title": "Problemer med alfabetet",
"type": "book"
},
{
"archive-place": "Kbh",
"author": [
{
"family": "B Gjengen",
"given": "",
"isInstitution": 1
}
],
"event-place": "Kbh",
"id": "ITEM-4",
"issued": {
"date-parts": [
[
2009
]
]
},
"publisher-place": "Kbh",
"title": "Alfabeta",
"type": "book"
},
{
"ISSN": "0906-5407",
"author": [
{
"family": "Juul Jensen",
"given": "Uffe"
},
{
"family": "Hædersdal",
"given": "Carsten"
},
{
"family": "Skadborg",
"given": "Mogens Kim"
}
],
"call-number": "61.01",
"container-title": "Bibliotek for læger",
"id": "ITEM-5",
"issue": "1",
"issued": {
"date-parts": [
[
2014
]
]
},
"page": "44-61",
"title": "Etablering af klinisk etiske komitéer i Danmark: en praksis-filosofisk tilgang til klinisk etik fra bibliotek.dk",
"type": "article-journal",
"volume": "206"
},
{
"genre": "television broadcast",
"id": "ITEM-6",
"issued": {
"date-parts": [
[
2011
]
]
},
"publisher": "DR",
"title": "A er det første bogstav i alfabetet",
"type": "broadcast"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/sort_LeadingApostropheOnNameParticle.txt 0000644 0000000 0000000 00000005534 07346545000 023207 0 ustar 00 0000000 0000000 >>==== MODE ====>>
bibliography
<<==== MODE ====<<
>>==== RESULT ====>>
d’Wander, W
de’ Frinkle, B
in ’t Horvath, P A B
in ’t Horvath, P A D
Klabdaggit, M
’t Horvath, P A A
’t Horvath, P A C
Vooz, B
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
},
{
"id": "ITEM-3"
},
{
"id": "ITEM-4"
},
{
"id": "ITEM-5"
},
{
"id": "ITEM-6"
},
{
"id": "ITEM-7"
},
{
"id": "ITEM-8"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "'t Horvath",
"given": "Peter A.A."
}
],
"id": "ITEM-1",
"type": "book"
},
{
"author": [
{
"family": "in 't Horvath",
"given": "Peter A.B."
}
],
"id": "ITEM-2",
"type": "book"
},
{
"author": [
{
"family": "'t Horvath",
"given": "Peter A.C."
}
],
"id": "ITEM-3",
"type": "book"
},
{
"author": [
{
"family": "in 't Horvath",
"given": "Peter A.D."
}
],
"id": "ITEM-4",
"type": "book"
},
{
"author": [
{
"family": "de' Frinkle",
"given": "Bevis"
}
],
"id": "ITEM-5",
"type": "book"
},
{
"author": [
{
"family": "Klabdaggit",
"given": "Mizo"
}
],
"id": "ITEM-6",
"type": "book"
},
{
"author": [
{
"family": "Vooz",
"given": "Bablican"
}
],
"id": "ITEM-7",
"type": "book"
},
{
"author": [
{
"family": "d'Wander",
"given": "William"
}
],
"id": "ITEM-8",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/sort_LocalizedDateLimitedParts.txt 0000644 0000000 0000000 00000003321 07346545000 022033 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Book D; Book A; Book B; Book C
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"2000",
"11",
"2"
]
]
},
"title": "Book A",
"type": "book"
},
{
"id": "ITEM-2",
"issued": {
"date-parts": [
[
"2001"
]
]
},
"title": "Book C",
"type": "book"
},
{
"id": "ITEM-3",
"issued": {
"date-parts": [
[
"1999"
]
]
},
"title": "Book D",
"type": "book"
},
{
"id": "ITEM-4",
"issued": {
"date-parts": [
[
"2000",
"11",
"1"
]
]
},
"title": "Book B",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/sort_NameImplicitSortOrderAndForm.txt 0000644 0000000 0000000 00000004463 07346545000 022503 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
Doe, Book C
Doe, Book B
Roe, Book A
<<===== RESULT =====<<
This test originally anticipated that names should be
forced to long form when generating sort keys. This
behavior was in conflict with the explicit terms of the
specification:
http://citationstyles.org/downloads/specification.html#sorting-macros
It also caught users early in the deployment of citproc-js
in Zotero:
http://forums.zotero.org/discussion/18246/sort-bibliography-by-author-priority-of-surnames-given-names-and-initials/
The test has been amended to reflect correct behavior, by switching
the input order of the "Book B" and "Book C" entries. Three other
tests based on user data now cover this behavior:
sort_VariousNameMacros1.txt
sort_VariousNameMacros2.txt
sort_VariousNameMacros3.txt
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"title": "Book A",
"type": "book"
},
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-2",
"title": "Book C",
"type": "book"
},
{
"author": [
{
"family": "Doe",
"given": "James"
}
],
"id": "ITEM-3",
"title": "Book B",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/sort_NameParticleInNameSortFalse.txt 0000644 0000000 0000000 00000003132 07346545000 022264 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
John von Doe
John di Noakes
Jane van Roe
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Roe",
"given": "Jane",
"non-dropping-particle": "van"
}
],
"id": "ITEM-1",
"type": "book"
},
{
"author": [
{
"family": "Noakes",
"given": "John",
"non-dropping-particle": "di"
}
],
"id": "ITEM-2",
"type": "book"
},
{
"author": [
{
"family": "Doe",
"given": "John",
"non-dropping-particle": "von"
}
],
"id": "ITEM-3",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/sort_NameParticleInNameSortTrue.txt 0000644 0000000 0000000 00000003126 07346545000 022154 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
John di Noakes
Jane van Roe
John von Doe
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Roe",
"given": "Jane",
"non-dropping-particle": "van"
}
],
"id": "ITEM-1",
"type": "book"
},
{
"author": [
{
"family": "Noakes",
"given": "John",
"non-dropping-particle": "di"
}
],
"id": "ITEM-2",
"type": "book"
},
{
"author": [
{
"family": "Doe",
"given": "John",
"non-dropping-particle": "von"
}
],
"id": "ITEM-3",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/sort_NameVariable.txt 0000644 0000000 0000000 00000002633 07346545000 017340 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
John Doe
Jacob [F]linders
Jane Roe
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-1",
"type": "book"
},
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-2",
"type": "book"
},
{
"author": [
{
"family": "[F]linders",
"given": "Jacob"
}
],
"id": "ITEM-3",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/sort_NamesUseLast.txt 0000644 0000000 0000000 00000005047 07346545000 017360 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
John Doe, Xavier Xerxes, et al. Book One 2000
John Doe, Alvin Anderson, et al. Book Two 1999
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Anderson",
"given": "Alvin"
},
{
"family": "Zotero",
"given": "Zoe"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"1999"
]
]
},
"title": "Book Two",
"type": "book"
},
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Xerxes",
"given": "Xavier"
},
{
"family": "Boop",
"given": "Betty"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "Book One",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/sort_NumberOfAuthorsAsKey.txt 0000644 0000000 0000000 00000005404 07346545000 021031 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
Book One
Book Two
Book Three
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "item-1",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "Book One",
"type": "book"
},
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Doe",
"given": "Jake"
},
{
"family": "Jones",
"given": "Robert"
}
],
"id": "item-2",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "Book Three",
"type": "book"
},
{
"editor": [
{
"family": "Doe",
"given": "John"
},
{
"family": "Roe",
"given": "Jane"
}
],
"id": "item-3",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "Book Two",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/sort_OmittedBibRefMixedNumericStyle.txt 0000644 0000000 0000000 00000004426 07346545000 023026 0 ustar 00 0000000 0000000 >>==== MODE ====>>
bibliography
<<==== MODE ====<<
>>==== RESULT ====>>
1. Anderson, Book One
2. [CSL STYLE ERROR: reference with no printed form.]
3. Crane, Book Two
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
},
{
"id": "ITEM-3"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "Anderson",
"given": "Andrew"
}
],
"id": "ITEM-1",
"title": "Book One",
"type": "book"
},
{
"author": [
{
"family": "Brown",
"given": "Burt"
}
],
"id": "ITEM-2",
"title": "Letter One",
"type": "personal_communication"
},
{
"author": [
{
"family": "Crane",
"given": "Clive"
}
],
"id": "ITEM-3",
"title": "Book Two",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/sort_OmittedBibRefNonNumericStyle.txt 0000644 0000000 0000000 00000003730 07346545000 022507 0 ustar 00 0000000 0000000 >>==== MODE ====>>
bibliography
<<==== MODE ====<<
>>==== RESULT ====>>
Anderson, Book One
Crane, Book Two
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
},
{
"id": "ITEM-3"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "Anderson",
"given": "Andrew"
}
],
"id": "ITEM-1",
"title": "Book One",
"type": "book"
},
{
"author": [
{
"family": "Brown",
"given": "Burt"
}
],
"id": "ITEM-2",
"title": "Letter One",
"type": "personal_communication"
},
{
"author": [
{
"family": "Crane",
"given": "Clive"
}
],
"id": "ITEM-3",
"title": "Book Two",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/sort_Quotes.txt 0000644 0000000 0000000 00000003032 07346545000 016264 0 ustar 00 0000000 0000000 >>==== MODE ====>>
bibliography
<<==== MODE ====<<
>>==== RESULT ====>>
Simple title, here A
“Simple title here B”
Simple “title” here C
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
},
{
"id": "ITEM-3"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"id": "ITEM-1",
"title": "Simple 'title' here C",
"type": "book"
},
{
"id": "ITEM-2",
"title": "Simple title, here A",
"type": "book"
},
{
"id": "ITEM-3",
"title": "Simple title here B",
"type": "article-journal"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/sort_RangeUnaffected.txt 0000644 0000000 0000000 00000025003 07346545000 020027 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
>>[0] 1
>>[1] 1–3
<<===== RESULT =====<<
>>===== CITATIONS =====>>
[
[
{
"citationID": "CITATION-1",
"citationItems": [
{
"id": "ITEM-2"
},
{
"id": "ITEM-3"
},
{
"id": "ITEM-1"
}
],
"properties": {
"noteIndex": 1
}
},
[],
[]
],
[
{
"citationID": "CITATION-2",
"citationItems": [
{
"id": "ITEM-1"
}
],
"properties": {
"noteIndex": 1
}
},
[],
[
[
"CITATION-1",
2
]
]
]
]
<<===== CITATIONS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"type": "book",
"title": "Title A"
},
{
"id": "ITEM-2",
"type": "book",
"title": "Title B"
},
{
"id": "ITEM-3",
"type": "book",
"title": "Title C"
},
{
"id": "ITEM-4",
"type": "book",
"title": "Title D"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/sort_SeparateAuthorsAndOthers.txt 0000644 0000000 0000000 00000012043 07346545000 021730 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
Doe, John. Hello 4.
--- ed. Hello 1.
Doe, John Barbitol. Hello 2.
Doe, John Egbert. Hello 3.
<<===== RESULT =====<<
mla-x.csl
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"editor": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"title": "Hello 1",
"type": "book"
},
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-4",
"title": "Hello 4",
"type": "book"
},
{
"author": [
{
"family": "Doe",
"given": "John Barbitol"
}
],
"id": "ITEM-2",
"title": "Hello 2",
"type": "book"
},
{
"author": [
{
"family": "Doe",
"given": "John Egbert"
}
],
"id": "ITEM-3",
"title": "Hello 3",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/sort_StatusFieldAscending.txt 0000644 0000000 0000000 00000002227 07346545000 021054 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "Book A",
"type": "book"
},
{
"id": "ITEM-2",
"status": "forthcoming",
"title": "Book B",
"type": "book"
},
{
"id": "ITEM-3",
"title": "Book C",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/sort_StatusFieldDescending.txt 0000644 0000000 0000000 00000002230 07346545000 021216 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "Book A",
"type": "book"
},
{
"id": "ITEM-2",
"status": "forthcoming",
"title": "Book B",
"type": "book"
},
{
"id": "ITEM-3",
"title": "Book C",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/sort_StripMarkup.txt 0000644 0000000 0000000 00000002162 07346545000 017270 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Doe, Roe
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"title": "A Full Anonymous Life",
"type": "book"
},
{
"author": [
{
"family": "Roe",
"given": "Jane"
}
],
"id": "ITEM-2",
"title": "A Full Anonymous Life",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/sort_SubstituteTitle.txt 0000644 0000000 0000000 00000032674 07346545000 020177 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
Brooker, C. (2011, July 24). The news coverage of the Norway mass-killings was fact-free conjecture. The Guardian. London. Retrieved from http://www.guardian.co.uk/commentisfree/2011/jul/24/charlie-brooker-norway-mass-killings
Brooker, C. (2011, July 31). Let’s think outside the box here: maybe blue-sky thinking is nonsense. The Guardian. London. Retrieved from http://www.guardian.co.uk/commentisfree/2011/jul/31/blue-sky-thinking
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"URL": "http://www.guardian.co.uk/commentisfree/2011/jul/31/blue-sky-thinking",
"accessed": {
"date-parts": [
[
2011,
7,
31
]
]
},
"author": [
{
"family": "Brooker",
"given": "Charlie"
}
],
"container-title": "The Guardian",
"event-place": "London",
"id": 67,
"issued": {
"date-parts": [
[
2011,
7,
31
]
]
},
"publisher-place": "London",
"title": "Let's think outside the box here: maybe blue-sky thinking is nonsense",
"type": "article-newspaper"
},
{
"URL": "http://www.guardian.co.uk/commentisfree/2011/jul/24/charlie-brooker-norway-mass-killings",
"accessed": {
"date-parts": [
[
2011,
7,
31
]
]
},
"author": [
{
"family": "Brooker",
"given": "Charlie"
}
],
"container-title": "The Guardian",
"event-place": "London",
"id": 66,
"issued": {
"date-parts": [
[
"2011",
7,
24
]
]
},
"publisher-place": "London",
"title": "The news coverage of the Norway mass-killings was fact-free conjecture",
"type": "article-newspaper"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/sort_TestInheritance.txt 0000644 0000000 0000000 00000002171 07346545000 020100 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
Aalto; Bottom
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "Aalto",
"given": "Alan"
}
],
"id": "ITEM-1",
"type": "book"
},
{
"author": [
{
"family": "Bottom",
"given": "Brad"
}
],
"id": "ITEM-2",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/sort_VariousNameMacros1.txt 0000644 0000000 0000000 00000024105 07346545000 020467 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
Doe Jane B. & Doe John A. (2009). Title 1. Test 1, 1–2.
Doe John A. & Bloggs Joe A. (2011). Title 3. Test 3, 3–4.
Doe John A. & Smith John A. (2010). Title 2. Test 2, 1–2.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "Jane B."
},
{
"family": "Doe",
"given": "John A."
}
],
"container-title": "Test",
"id": 19,
"issued": {
"date-parts": [
[
2009
]
]
},
"page": "1-2",
"title": "Title 1",
"type": "article-journal",
"volume": "1"
},
{
"author": [
{
"family": "Doe",
"given": "John A."
},
{
"family": "Smith",
"given": "John A."
}
],
"container-title": "Test",
"id": 25,
"issued": {
"date-parts": [
[
2010
]
]
},
"page": "1-2",
"title": "Title 2",
"type": "article-journal",
"volume": "2"
},
{
"author": [
{
"family": "Doe",
"given": "John A."
},
{
"family": "Bloggs",
"given": "Joe A."
}
],
"container-title": "Test",
"id": 27,
"issued": {
"date-parts": [
[
2011
]
]
},
"page": "3-4",
"title": "Title 3",
"type": "article-journal",
"volume": "3"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/sort_VariousNameMacros2.txt 0000644 0000000 0000000 00000024105 07346545000 020470 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
Doe John A. & Bloggs Joe A. (2011). Title 3. Test 3, 3–4.
Doe John A. & Smith John A. (2010). Title 2. Test 2, 1–2.
Doe Jane B. & Doe John A. (2009). Title 1. Test 1, 1–2.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "Jane B."
},
{
"family": "Doe",
"given": "John A."
}
],
"container-title": "Test",
"id": 19,
"issued": {
"date-parts": [
[
2009
]
]
},
"page": "1-2",
"title": "Title 1",
"type": "article-journal",
"volume": "1"
},
{
"author": [
{
"family": "Doe",
"given": "John A."
},
{
"family": "Smith",
"given": "John A."
}
],
"container-title": "Test",
"id": 25,
"issued": {
"date-parts": [
[
2010
]
]
},
"page": "1-2",
"title": "Title 2",
"type": "article-journal",
"volume": "2"
},
{
"author": [
{
"family": "Doe",
"given": "John A."
},
{
"family": "Bloggs",
"given": "Joe A."
}
],
"container-title": "Test",
"id": 27,
"issued": {
"date-parts": [
[
2011
]
]
},
"page": "3-4",
"title": "Title 3",
"type": "article-journal",
"volume": "3"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/sort_VariousNameMacros3.txt 0000644 0000000 0000000 00000024111 07346545000 020466 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
Doe John A. & Bloggs Joe A. (2011). Title 3. Test 3, 3–4.
Doe Jane B. & Doe John A. (2009). Title 1. Test 1, 1–2.
Doe John A. & Smith John A. (2010). Title 2. Test 2, 1–2.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "Jane B."
},
{
"family": "Doe",
"given": "John A."
}
],
"container-title": "Test",
"id": 19,
"issued": {
"date-parts": [
[
2009
]
]
},
"page": "1-2",
"title": "Title 1",
"type": "article-journal",
"volume": "1"
},
{
"author": [
{
"family": "Doe",
"given": "John A."
},
{
"family": "Smith",
"given": "John A."
}
],
"container-title": "Test",
"id": 25,
"issued": {
"date-parts": [
[
2010
]
]
},
"page": "1-2",
"title": "Title 2",
"type": "article-journal",
"volume": "2"
},
{
"author": [
{
"family": "Doe",
"given": "John A."
},
{
"family": "Bloggs",
"given": "Joe A."
}
],
"container-title": "Test",
"id": 27,
"issued": {
"date-parts": [
[
2011
]
]
},
"page": "3-4",
"title": "Title 3",
"type": "article-journal",
"volume": "3"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/sort_WithAndInOneEntry.txt 0000644 0000000 0000000 00000055716 07346545000 020335 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
(Beck 1991; Beck and Katz 2001, 2011; Beck, Katz, and Tucker 1998; Beck, King, and Zeng 2000; Colaresi 2006; Colaresi, Rasler, and Thompson 2007; Colaresi and Thompson 2002; Gochman 1993; Gochman and Leng 1983; Gochman and Maoz 1984)
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "315",
"label": "page"
},
{
"id": "313",
"label": "page"
},
{
"id": "328",
"label": "page"
},
{
"id": "317",
"label": "page"
},
{
"id": "327",
"label": "page"
},
{
"id": "311",
"label": "page"
},
{
"id": "320",
"label": "page"
},
{
"id": "318",
"label": "page"
},
{
"id": "323",
"label": "page"
},
{
"id": "324",
"label": "page"
},
{
"id": "325",
"label": "page"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"abstract": "This article compares a variety of models of presidential approval in terms of their dynamic properties and their theoretical underpinnings. Exponential distributed lags, partial adjustment, error correction, and transfer function models are considered. The major difference between the models lies in interpretation rather than statistical properties. The error correction model seems most satisfactory. Approval models based on individual level theories are examined, and found to give no additional purchase.",
"accessed": {
"date-parts": [
[
2011,
9,
20
]
]
},
"author": [
{
"family": "Beck",
"given": "Nathaniel"
}
],
"container-title": "Political Analysis",
"id": 315,
"issue": "1",
"issued": {
"date-parts": [
[
1991,
1,
1
]
]
},
"page": "51-87",
"title": "Comparing Dynamic Specifications: The Case of Presidential Approval",
"title-short": "Comparing Dynamic Specifications",
"type": "article-journal",
"volume": "3"
},
{
"author": [
{
"family": "Beck",
"given": "Nathaniel"
},
{
"family": "Katz",
"given": "Jonathan"
}
],
"container-title": "International Organization",
"id": 313,
"issue": "2",
"issued": {
"date-parts": [
[
2001
]
]
},
"page": "487-495",
"title": "Throwing Out the Baby with the Bath Water: A Comment on Green, Kim, and Yoon",
"title-short": "Throwing Out the Baby with the Bath Water",
"type": "article-journal",
"volume": "55"
},
{
"accessed": {
"date-parts": [
[
2011,
4,
4
]
]
},
"author": [
{
"family": "Beck",
"given": "Nathaniel"
},
{
"family": "Katz",
"given": "Jonathan"
}
],
"container-title": "Annual Review of Political Science",
"id": 328,
"issue": "1",
"issued": {
"date-parts": [
[
2011
]
]
},
"journalAbbreviation": "Annu. Rev. Polit. Sci.",
"page": "331-352",
"title": "Dynamics in Time Series Cross Section Data",
"type": "article-journal",
"volume": "14"
},
{
"author": [
{
"family": "Beck",
"given": "Nathaniel"
},
{
"family": "Katz",
"given": "Jonathan"
},
{
"family": "Tucker",
"given": "Richard"
}
],
"container-title": "American Journal of Political Science",
"id": 317,
"issue": "4",
"issued": {
"date-parts": [
[
1998
]
]
},
"page": "1260-1288",
"title": "Taking Time Seriously: Time-Series-Cross-Section Analysis with a Binary Dependent Variable",
"type": "article-journal",
"volume": "42"
},
{
"abstract": "We address a well-known but infrequently discussed problem in the quantitative study of international conflict: Despite immense data collections, prestigious journals, and sophisticated analyses, empirical findings in the literature on international conflict are often unsatisfying. Many statistical results change from article to article and specification to specification. Accurate forecasts are nonexistent. In this article we offer a conjecture about one source of this problem: The causes of conflict, theorized to be important but often found to be small or ephemeral, are indeed tiny for the vast majority of dyads, but they are large, stable, and replicable wherever the ex ante probability of conflict is large. This simple idea has an unexpectedly rich array of observable implications, all consistent with the literature. We directly test our conjecture by formulating a statistical model that includes its critical features. Our approach, a version of a \"neural network\" model, uncovers some interesting structural features of international conflict and, as one evaluative measure, forecasts substantially better than any previous effort. Moreover, this improvement comes at little cost, and it is easy to evaluate whether the model is a statistical improvement over the simpler models commonly used.
",
"accessed": {
"date-parts": [
[
2011,
4,
6
]
]
},
"author": [
{
"family": "Beck",
"given": "Nathaniel"
},
{
"family": "King",
"given": "Gary"
},
{
"family": "Zeng",
"given": "Langche"
}
],
"container-title": "American Political Science Review",
"id": 327,
"issue": "1",
"issued": {
"date-parts": [
[
2000,
3,
1
]
]
},
"note": "ArticleType: research-article / Full publication date: Mar., 2000 / Copyright © 2000 American Political Science Association",
"page": "21-35",
"title": "Improving Quantitative Studies of International Conflict: A Conjecture",
"title-short": "Improving Quantitative Studies of International Conflict",
"type": "article-journal",
"volume": "94"
},
{
"author": [
{
"family": "Colaresi",
"given": "Michael P."
}
],
"event-place": "Syracuse, NY",
"id": 311,
"issued": {
"date-parts": [
[
2006,
1,
31
]
]
},
"number-of-pages": "262",
"publisher": "Syracuse University Press",
"publisher-place": "Syracuse, NY",
"title": "Scare Tactics: The Politics of International Rivalry",
"title-short": "Scare Tactics",
"type": "book"
},
{
"abstract": "Recently, a debate has begun concerning the relationship between conflict events over time between the same disputants. While research on rivalries and recurrent conflict suggest that crises are related over time, others (Gartzke and Simon 1999) doubt the empirical and theoretical foundations of this research. We agree with the critics that the proposition that conflicts between adversaries are related over time remains only weakly substantiated. To fill this lacuna, we test four hypotheses relating past crisis behavior and sequences to subsequent conflict, using International Crisis Behavior (ICB) project data. Our results support the serial crisis hypothesis and suggest that the probability of subsequent crises and wars increase with each past crisis. Our findings also reinforce the inclination to give more emphasis to the analysis of rivalries.",
"accessed": {
"date-parts": [
[
2011,
7,
8
]
]
},
"author": [
{
"family": "Colaresi",
"given": "Michael P."
},
{
"family": "Thompson",
"given": "William R."
}
],
"container-title": "Journal of Politics",
"id": 320,
"issue": "4",
"issued": {
"date-parts": [
[
2002
]
]
},
"page": "1175-1198",
"title": "Hot Spots or Hot Hands? Serial Crisis Behavior, Escalating Risks, and Rivalry",
"title-short": "Hot Spots or Hot Hands?",
"type": "article-journal",
"volume": "64"
},
{
"author": [
{
"family": "Colaresi",
"given": "Michael P."
},
{
"family": "Rasler",
"given": "Karen"
},
{
"family": "Thompson",
"given": "William R."
}
],
"edition": "1",
"id": 318,
"issued": {
"date-parts": [
[
2007
]
]
},
"publisher": "Cambridge University Press",
"title": "Strategic Rivalries in World Politics: Position, Space and Conflict Escalation",
"title-short": "Strategic Rivalries in World Politics",
"type": "book"
},
{
"author": [
{
"family": "Gochman",
"given": "Charles S."
}
],
"container-title": "International Interactions",
"id": 323,
"issue": "1-2",
"issued": {
"date-parts": [
[
1993
]
]
},
"page": "49-76",
"title": "The Evolution of Militarized Disputes",
"type": "article-journal",
"volume": "19"
},
{
"abstract": "The authors address the question of why some militarized interstate disputes evolve into wars, while others do not. They note from previous investigations that the probability of such disputes ending in war is associated with the types of bargaining behavior adopted by disputants. Particularly important are the degrees of escalation and reciprocity that characterize that behavior. This leads them to ask two questions: first, why do statesmen involved in militarized interstate disputes adopt the bargaining behavior they do?; second, what accounts for variations in outcomes for those disputes in which similar patterns of bargaining behavior are observed? Based upon an analysis of 30 militarized interstate disputes, the authors conclude that (1) escalation in interstate bargaining is strongly associated with the nature of the issues in contention and the types of threat of force initially employed in dispute bargaining, that (2) there exists an association between the relative capabilities of disputants and the degree of reciprocity in bargaining exchanges, and that (3) variations in the outcomes of disputes largely can be accounted for in terms of the interests at stake and the diplomacy of the great powers. These findings prove to be consistent with the basic tenets of political realism, and suggest that the behavior of decision makers engaged in militarized interstate disputes is generally rational in that they respond to cost-benefit considerations.",
"accessed": {
"date-parts": [
[
2011,
5,
31
]
]
},
"author": [
{
"family": "Gochman",
"given": "Charles S."
},
{
"family": "Leng",
"given": "Russell J."
}
],
"container-title": "International Studies Quarterly",
"id": 324,
"issue": "1",
"issued": {
"date-parts": [
[
1983,
3,
1
]
]
},
"note": "ArticleType: research-article / Full publication date: Mar., 1983 / Copyright © 1983 The International Studies Association",
"page": "97-120",
"title": "Realpolitik and the Road to War: An Analysis of Attributes and Behavior",
"title-short": "Realpolitik and the Road to War",
"type": "article-journal",
"volume": "27"
},
{
"abstract": "This article offers an empirical description and discussion of interstate conflict behavior. The basis is a recently completed data set consisting of all recorded instances of threats, displays, and uses of military force among states since 1816. We detail historical trends in the data and describe major dimensions of dispute behavior, including patterns of participation, duration, severity and escalation, regional distribution, and national dispute proneness. The following conclusions are suggested: First, patterns of dispute behavior have been more persistent over time than we often assume. Second, when these patterns have changed, the changes have been evolutionary in nature and have paralleled changes in the size and composition of the interstate system. Third, despite the diversity of the political units that constitute the interstate system, patterns of dispute behavior are generalizable across geographic boundaries.",
"accessed": {
"date-parts": [
[
2011,
5,
30
]
]
},
"author": [
{
"family": "Gochman",
"given": "Charles S."
},
{
"family": "Maoz",
"given": "Zeev"
}
],
"container-title": "Journal of Conflict Resolution",
"id": 325,
"issue": "4",
"issued": {
"date-parts": [
[
1984,
12,
1
]
]
},
"page": "585-616",
"title": "Militarized Interstate Disputes, 1816-1976",
"type": "article-journal",
"volume": "28"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/sortseparator_SortSeparatorEmpty.txt 0000644 0000000 0000000 00000001722 07346545000 022560 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
DoeJohn
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/substitute_RepeatedNamesOk.txt 0000644 0000000 0000000 00000002504 07346545000 021242 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Ma Ry, Ma Ry, Kwite Kontrari
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Ry",
"given": "Ma"
}
],
"editor": [
{
"family": "Kontrari",
"given": "Kwite"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/substitute_SharedMacro.txt 0000644 0000000 0000000 00000061171 07346545000 020430 0 ustar 00 0000000 0000000 >>==== MODE ====>>
bibliography
<<==== MODE ====<<
>>==== RESULT ====>>
Alan Alto Inc.: Book Three.
---: Book Four.
Alto, Alan: Book One.
---: Book Two.
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
},
{
"id": "ITEM-3"
},
{
"id": "ITEM-4"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "Alto",
"given": "Alan"
}
],
"id": "ITEM-1",
"title": "Book One",
"type": "book"
},
{
"author": [
{
"family": "Alto",
"given": "Alan"
}
],
"id": "ITEM-2",
"title": "Book Two",
"type": "book"
},
{
"author": [
{
"literal": "Alan Alto Inc."
}
],
"id": "ITEM-3",
"title": "Book Three",
"type": "book"
},
{
"author": [
{
"literal": "Alan Alto Inc."
}
],
"id": "ITEM-4",
"title": "Book Four",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/substitute_SubstituteOnlyOnceString.txt 0000644 0000000 0000000 00000001211 07346545000 023236 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
a
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
citeproc-0.13/test/csl/substitute_SubstituteOnlyOnceTerm.txt 0000644 0000000 0000000 00000001445 07346545000 022710 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Editor Term
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
citeproc-0.13/test/csl/substitute_SubstituteOnlyOnceTermEmpty.txt 0000644 0000000 0000000 00000001610 07346545000 023721 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Content:
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
citeproc-0.13/test/csl/substitute_SubstituteOnlyOnceVariable.txt 0000644 0000000 0000000 00000001354 07346545000 023525 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Title
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"container-title": "ContainerTitle",
"id": "ITEM-1",
"title": "Title",
"type": "book"
}
]
<<===== INPUT =====<<
citeproc-0.13/test/csl/substitute_SuppressOrdinaryVariable.txt 0000644 0000000 0000000 00000004656 07346545000 023247 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
“The Title.” The Publisher.
John-boy Doe ed. The Title. The Publisher.
Jane-girl Doe editor. The Title. The Organization.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"publisher": "The Publisher",
"title": "The Title",
"type": "book"
},
{
"editor": [
{
"family": "Doe",
"given": "John-boy"
}
],
"id": "ITEM-2",
"publisher": "The Publisher",
"title": "The Title",
"type": "book"
},
{
"editor": [
{
"family": "Doe",
"given": "Jane-girl"
}
],
"id": "ITEM-3",
"publisher": "The Organization",
"title": "The Title",
"type": "report"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/testers_FirstAutoGeneratedZoteroPluginTest.txt 0000644 0000000 0000000 00000057131 07346545000 024500 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
..[0] Center for History and New Media, “Zotero … ‘Quick Start’ & Guide 日本語,” 47, http://zotero.org/support/quick_start_guide.
>>[1] John Smith, Book A, 2000; Center for History and New Media, “Zotero … ‘Quick Start’ & Guide 日本語.”
<<===== RESULT =====<<
>>===== CITATIONS =====>>
[
[
{
"citationID": "10fplksp7n",
"citationItems": [
{
"id": 1,
"label": "page",
"locator": "47"
}
],
"properties": {
"noteIndex": 1
}
},
[],
[]
],
[
{
"citationID": "2cmt1f5kan",
"citationItems": [
{
"id": "5",
"label": "page"
},
{
"id": "1",
"label": "page"
}
],
"properties": {
"noteIndex": 2
}
},
[
[
"10fplksp7n",
1
]
],
[]
]
]
<<===== CITATIONS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": 1,
"type": "webpage",
"title": "Zotero … \"Quick Start\" & Guide 日本語",
"URL": "http://zotero.org/support/quick_start_guide",
"author": [
{
"family": "Center for History and New Media",
"given": "",
"isInstitution": 1
}
]
},
{
"id": 5,
"type": "book",
"title": "Book A",
"author": [
{
"family": "Smith",
"given": "John"
}
],
"issued": {
"date-parts": [
[
2000
]
]
}
},
{
"id": 9,
"type": "book",
"title": "Book A",
"author": [
{
"family": "Smith",
"given": "Steven"
}
],
"issued": {
"date-parts": [
[
2000
]
]
}
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/testers_SecondAutoGeneratedZoteroPluginTest.txt 0000644 0000000 0000000 00000055263 07346545000 024630 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
Center for History and New Media. “Zotero … ‘Quick Start’ & Guide 日本語.” http://zotero.org/support/quick_start_guide.
Smith, John. Book A, 2000.
Smith, Steven. Book A, 2000.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"URL": "http://zotero.org/support/quick_start_guide",
"author": [
{
"family": "Center for History and New Media",
"given": "",
"isInstitution": 1
}
],
"id": 1,
"title": "Zotero … \"Quick Start\" & Guide 日本語",
"type": "webpage"
},
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"id": 5,
"issued": {
"date-parts": [
[
2000
]
]
},
"title": "Book A",
"type": "book"
},
{
"author": [
{
"family": "Smith",
"given": "Steven"
}
],
"id": 9,
"issued": {
"date-parts": [
[
2000
]
]
},
"title": "Book A",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/textcase_AfterQuote.txt 0000644 0000000 0000000 00000001325 07346545000 017717 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
The “New Career” and Organizational Commitment
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "The “new Career” and Organizational Commitment",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/textcase_CapitalizeAll.txt 0000644 0000000 0000000 00000001342 07346545000 020355 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
This IS A Pen That Is A SMITH Pencil
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "This IS a Pen that is a SMITH Pencil",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/textcase_CapitalizeFirst.txt 0000644 0000000 0000000 00000001344 07346545000 020736 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
This is a Pen that is a Smith Pencil
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "this is a Pen that is a Smith Pencil",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/textcase_CapitalizeFirstWithDecor.txt 0000644 0000000 0000000 00000001377 07346545000 022555 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
This is a Pen that is a Smith Pencil
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "this is a Pen that is a Smith Pencil",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/textcase_CapitalsUntouched.txt 0000644 0000000 0000000 00000002176 07346545000 021264 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
UK
Review of Book by A.N. Author
Writings on UK People and Places
All for One. For All.
OC 1
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "UK",
"type": "book"
},
{
"id": "ITEM-2",
"title": "Review of Book by A.N. Author",
"type": "book"
},
{
"id": "ITEM-3",
"title": "Writings on UK people and places",
"type": "book"
},
{
"id": "ITEM-4",
"title": "All for one. For all.",
"type": "book"
},
{
"id": "ITEM-5",
"title": "OC 1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/textcase_ImplicitNocase.txt 0000644 0000000 0000000 00000002344 07346545000 020545 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
My small caps phrase in a Title
My superscript phrase in a Title
My subscript phrase in a Title
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
}
],
[
{
"id": "ITEM-2"
}
],
[
{
"id": "ITEM-3"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"id": "ITEM-1",
"title": "My small caps phrase in a title",
"type": "book"
},
{
"id": "ITEM-2",
"title": "My superscript phrase in a title",
"type": "book"
},
{
"id": "ITEM-3",
"title": "My subscript phrase in a title",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/textcase_InQuotes.txt 0000644 0000000 0000000 00000001645 07346545000 017414 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
From “Distance” to “Friction”: Substituting Metaphors and Redirecting Intercultural Research For
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"id": "ITEM-1",
"title": "from \"distance\" to \"friction\": substituting metaphors and redirecting intercultural research for",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/textcase_LastChar.txt 0000644 0000000 0000000 00000001543 07346545000 017343 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
07-x
07-x Test
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
}
],
[
{
"id": "ITEM-2"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"id": "ITEM-1",
"title": "07-x",
"type": "book"
},
{
"id": "ITEM-2",
"title": "07-x test",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/textcase_LocaleUnicode.txt 0000644 0000000 0000000 00000003176 07346545000 020354 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== DESCRIPTION =====>>
Details here:
https://forums.zotero.org/discussion/83567/uppercase-letter-problem-in-turkish
<<===== DESCRIPTION =====<<
>>===== RESULT =====>>
IA AND IB EN
IA AND IB EN
İC AND ID TR
BAD LANGUAGE CODE THAT PASSES IN NODE.JS BUT FAILS IN SOME BROWSERS
<<===== RESULT =====<<
>>===== CITATION-ITEMS =====>>
[
[
{
"id": "ITEM-1"
}
],
[
{
"id": "ITEM-2"
}
],
[
{
"id": "ITEM-3"
}
],
[
{
"id": "ITEM-4"
}
]
]
<<===== CITATION-ITEMS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "ia and ıb EN",
"type": "book"
},
{
"id": "ITEM-2",
"title": "ia and ıb EN",
"type": "book",
"language": "en"
},
{
"id": "ITEM-3",
"title": "ic and ıd TR",
"type": "book",
"language": "tr"
},
{
"id": "ITEM-4",
"title": "bad language code that passes in node.js but fails in some browsers",
"type": "book",
"language": "original-one hello"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/textcase_Lowercase.txt 0000644 0000000 0000000 00000001410 07346545000 017557 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
2017-01-27: "nocase" markup now recognized.
>>===== RESULT =====>>
this is a pen that is a Smith pencil
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "This is a pen that is a Smith pencil",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/textcase_NoSpaceBeforeApostrophe.txt 0000644 0000000 0000000 00000004221 07346545000 022356 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Marcus Shafi’i (ed.), Response to Shafi’i Comment
Marcus Shafi`i (ed.), Response to Shafi`i Comment
<<===== RESULT =====<<
>>===== CITATION-ITEMS =====>>
[
[
{
"id": "ITEM-1"
}
],
[
{
"id": "ITEM-2"
}
]
]
<<===== CITATION-ITEMS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"editor": [
{
"family": "Shafi'i",
"given": "Marcus"
}
],
"title": "Response to Shafi'i comment",
"type": "book"
},
{
"id": "ITEM-2",
"editor": [
{
"family": "Shafi`i",
"given": "Marcus"
}
],
"title": "Response to Shafi`i comment",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/textcase_NonEnglishChars.txt 0000644 0000000 0000000 00000001704 07346545000 020666 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
Saline Solution of β-Carotine
Saline Solution of Beta-Carotine
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
}
],
[
{
"id": "ITEM-2"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"id": "ITEM-1",
"title": "Saline solution of β-carotine",
"type": "book"
},
{
"id": "ITEM-2",
"title": "Saline solution of beta-carotine",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/textcase_RepeatedTitleBug.txt 0000644 0000000 0000000 00000056663 07346545000 021050 0 ustar 00 0000000 0000000 >>==== MODE ====>>
bibliography
<<==== MODE ====<<
>>==== RESULT ====>>
Jenrich, R. I., & Bentler, P. M. (2012). Exploratory bi-factor analysis: The oblique case. Psychometrika, 77(3), 442–454. https://doi.org/https://doi.org/10.1007/s11336-012-9269-1
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"DOI": "https://doi.org/10.1007/s11336-012-9269-1",
"author": [
{
"family": "Jenrich",
"given": "R.I."
},
{
"family": "Bentler",
"given": "P.M."
}
],
"container-title": "Psychometrika",
"id": "ITEM-1",
"issue": "3",
"issued": {
"date-parts": [
[
2012
]
]
},
"page": "442-454",
"title": "Exploratory bi-factor analysis: The oblique case",
"title-short": "Exploratory bi-factor analysis",
"type": "article-journal",
"volume": "77"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/textcase_SentenceCapitalization.txt 0000644 0000000 0000000 00000001334 07346545000 022300 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
This is a pen that is a Smith pencil
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "This is a Pen that is a Smith Pencil",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/textcase_SkipNameParticlesInTitleCase.txt 0000644 0000000 0000000 00000002051 07346545000 023300 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
John von Doe: An about up Life; John van Doe? A Life; John d’Doe! A Life; John de Doe a Life
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "John von Doe: an about up life",
"type": "book"
},
{
"id": "ITEM-4",
"title": "John van Doe? a life",
"type": "book"
},
{
"id": "ITEM-2",
"title": "John d'Doe! a life",
"type": "book"
},
{
"id": "ITEM-3",
"title": "John de Doe a life",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/textcase_StopWordBeforeHyphen.txt 0000644 0000000 0000000 00000001444 07346545000 021722 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
Employee Pro-Environmental Behavior
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"container-title": "Employee pro-environmental behavior",
"id": "ITEM-1",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/textcase_TitleCapitalization.txt 0000644 0000000 0000000 00000001331 07346545000 021612 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
This IS a Pen That Is a smith Pencil
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "This IS a pen that is a smith pencil",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/textcase_TitleCapitalization2.txt 0000644 0000000 0000000 00000001355 07346545000 021702 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
This IS a Pen That Is a Cat/Mouse smith Pencil
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "This IS a pen that is a cat/mouse smith pencil",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/textcase_TitleCaseNonEnglish.txt 0000644 0000000 0000000 00000001307 07346545000 021502 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Review of book by A.N. author
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"language": "de",
"title": "Review of book by A.N. author",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/textcase_TitleCaseNonEnglish2.txt 0000644 0000000 0000000 00000001344 07346545000 021565 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Review of Book by A.N. Author
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"language": "en",
"title": "Review of book by A.N. author",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/textcase_TitleCaseWithCleverBrandName.txt 0000644 0000000 0000000 00000001217 07346545000 023262 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
iPad Is a Thing
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "iPad is a thing",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/textcase_TitleCaseWithFinalNocase.txt 0000644 0000000 0000000 00000001747 07346545000 022464 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
The Mirror, the Window, and the Telescope: How Renaissance Linear Perspective Changed Our Vision of the Universe
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "The Mirror, the Window, and the Telescope: How Renaissance Linear Perspective Changed Our Vision of the Universe",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/textcase_TitleCaseWithHyphens.txt 0000644 0000000 0000000 00000001305 07346545000 021706 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Out-of-Fashion Initiatives: A Second Story
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "Out-of-fashion initiatives: a second story",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/textcase_TitleCaseWithInitials.txt 0000644 0000000 0000000 00000001255 07346545000 022050 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Review of Book by A.N. Author
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "Review of Book by A.N. Author",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/textcase_TitleCaseWithNonBreakSpace.txt 0000644 0000000 0000000 00000001355 07346545000 022750 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
The Physical Volcanology of the 1600 Eruption of Huaynaputina
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "The physical volcanology of the 1600 eruption of Huaynaputina",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/textcase_TitleCaseWithVolumeTitle.txt 0000644 0000000 0000000 00000003752 07346545000 022551 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== DESCRIPTION =====>>
Title case not disabled on volume-title with alternative languages
<<===== DESCRIPTION =====<<
>>===== RESULT =====>>
Syntax und Stilistik
Syntax und Stilistik
Syntax und Stilistik
Syntax und Stilistik
Syntax und Stilistik
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"event-title": "Syntax und Stilistik",
"id": "ITEM-1",
"language": "de",
"type": "book"
},
{
"id": "ITEM-2",
"language": "de",
"original-title": "Syntax und Stilistik",
"type": "book"
},
{
"id": "ITEM-3",
"language": "de",
"part-title": "Syntax und Stilistik",
"type": "book"
},
{
"id": "ITEM-4",
"language": "de",
"reviewed-title": "Syntax und Stilistik",
"type": "book"
},
{
"id": "ITEM-5",
"language": "de",
"type": "book",
"volume-title": "Syntax und Stilistik"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/textcase_TitleWithCircumflex.txt 0000644 0000000 0000000 00000001372 07346545000 021601 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
“About Arvâsî”
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"id": "ITEM-1",
"title": "About arvâsî",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/textcase_TitleWithEmDash.txt 0000644 0000000 0000000 00000002121 07346545000 020632 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
Relationship of Core Self-Evaluation Traits—Self-Esteem, Generalized Self-Efficacy, Locus of Control, and Emotional Stability—with Job Satisfaction and Job Performance: A Meta-Analysis
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"id": "ITEM-1",
"title": "Relationship of core self-evaluation traits—self-esteem, generalized self-efficacy, locus of control, and emotional stability—with job satisfaction and job performance: a meta-analysis",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/textcase_TitleWithEnDash.txt 0000644 0000000 0000000 00000001625 07346545000 020643 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
Closing the Scientist–Practitioner Gap: Studies from 2016 with Significant Practical Utility
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"id": "ITEM-1",
"title": "Closing the scientist–practitioner gap: studies from 2016 with significant practical utility",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/textcase_Uppercase.txt 0000644 0000000 0000000 00000003211 07346545000 017563 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
We're ignoring the "nocase" markup here, but no one is
likely to miss it.
2017-01-27: "nocase" markup now recognized.
>>===== RESULT =====>>
SMITH, John: THIS IS A PEN THAT IS A Smith PENCIL
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Smith",
"given": "John"
}
],
"id": "ITEM-1",
"title": "This is a pen that is a Smith pencil",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/textcase_UppercaseNumber.txt 0000644 0000000 0000000 00000001217 07346545000 020740 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
XXIII
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"type": "book",
"volume": "23"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/unicode_NonBreakingSpace.txt 0000644 0000000 0000000 00000001376 07346545000 020625 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
His Anonymous Life (postfix following non-breaking space)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "His Anonymous Life",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/variables_ContainerTitleShort.txt 0000644 0000000 0000000 00000032520 07346545000 021735 0 ustar 00 0000000 0000000 >>==== MODE ====>>
bibliography
<<==== MODE ====<<
>>==== RESULT ====>>
1.
Campbell DT, Fiske DW. Main title. In: Container: a title. (Series: a title).
2.
Campbell DT, Fiske DW. Main title. Container.
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "Campbell",
"given": "Donald T"
},
{
"family": "Fiske",
"given": "Donald W"
}
],
"collection-title": "Series: a title",
"collection-title-short": "Series",
"container-title": "Container: a title",
"container-title-short": "Container",
"id": "ITEM-1",
"language": "en",
"source": "Zotero",
"title": "Main title",
"type": "chapter"
},
{
"author": [
{
"family": "Campbell",
"given": "Donald T"
},
{
"family": "Fiske",
"given": "Donald W"
}
],
"collection-title": "Series: a title",
"collection-title-short": "Series",
"container-title": "Container: a title",
"container-title-short": "Container",
"id": "ITEM-2",
"language": "en",
"source": "Zotero",
"title": "Main title",
"type": "article-journal"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/variables_ContainerTitleShort2.txt 0000644 0000000 0000000 00000033140 07346545000 022016 0 ustar 00 0000000 0000000 >>==== MODE ====>>
bibliography
<<==== MODE ====<<
>>==== RESULT ====>>
1.
Campbell DT, Fiske DW. CONVERGENT AND DISCRIMINANT VALIDATION BY THE MULTITRAIT-MULTIMETHOD MATRIX. In: Container: a title. p. 25. (Series: a title).
2.
Campbell DT, Fiske DW. CONVERGENT AND DISCRIMINANT VALIDATION BY THE MULTITRAIT-MULTIMETHOD MATRIX. Container. :25.
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "Campbell",
"given": "Donald T"
},
{
"family": "Fiske",
"given": "Donald W"
}
],
"id": "ITEM-1",
"language": "en",
"note": "collection-title: Series: a title\ncollection-title-short: Series\ncontainer-title: Container: a title\ncontainer-title-short: Container",
"page": "25",
"source": "Zotero",
"title": "CONVERGENT AND DISCRIMINANT VALIDATION BY THE MULTITRAIT-MULTIMETHOD MATRIX",
"type": "chapter"
},
{
"author": [
{
"family": "Campbell",
"given": "Donald T"
},
{
"family": "Fiske",
"given": "Donald W"
}
],
"id": "ITEM-2",
"language": "en",
"note": "collection-title: Series: a title\ncollection-title-short: Series\ncontainer-title: Container: a title\ncontainer-title-short: Container",
"page": "25",
"source": "Zotero",
"title": "CONVERGENT AND DISCRIMINANT VALIDATION BY THE MULTITRAIT-MULTIMETHOD MATRIX",
"type": "article-journal"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/variables_TitleShortOnShortTitleNoTitle.txt 0000644 0000000 0000000 00000001211 07346545000 023701 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
My Short Title
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title-short": "My Short Title",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/variables_TitleShortOnShortTitleNoTitleCondition.txt 0000644 0000000 0000000 00000003000 07346545000 025546 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
My Long Title 1 has title-short
My Long Title 2 does not have title-short
does not have title-short
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
}
],
[
{
"id": "ITEM-2"
}
],
[
{
"id": "ITEM-3"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"id": "ITEM-1",
"title": "My Long Title 1",
"title-short": "My Short Title",
"type": "book"
},
{
"id": "ITEM-2",
"title": "My Long Title 2",
"type": "book"
},
{
"id": "ITEM-3",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/variables_TitleShortOnShortTitleNoTitleGroup.txt 0000644 0000000 0000000 00000002306 07346545000 024724 0 ustar 00 0000000 0000000 >>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
Check this out: My Short Title is from title-short
Check this out:
Check this out:
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
}
],
[
{
"id": "ITEM-2"
}
],
[
{
"id": "ITEM-3"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"id": "ITEM-1",
"title": "My Long Title 1",
"title-short": "My Short Title",
"type": "book"
},
{
"id": "ITEM-2",
"title": "My Long Title 2",
"type": "book"
},
{
"id": "ITEM-3",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/csl/virtual_PageFirst.txt 0000644 0000000 0000000 00000001341 07346545000 017370 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
12:12
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"page": "12-20",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/extra/ 0000755 0000000 0000000 00000000000 07346545000 013540 5 ustar 00 0000000 0000000 citeproc-0.13/test/extra/abbreviations_Basic.txt 0000644 0000000 0000000 00000001576 07346545000 020243 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
JoClSt/Journal of Classical Studies
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "Journal of Classical Studies",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== ABBREVIATIONS =====>>
{ "default": {
"title": {
"Journal of classical studies": "JoClSt"
}
}
}
<<===== ABBREVIATIONS =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/extra/abbreviations_WithFormatting.txt 0000644 0000000 0000000 00000001547 07346545000 022166 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
Here it's expected that the formatting will be lost.
>>===== RESULT =====>>
JoClSt
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"title": "Journal of Classical Studies",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== ABBREVIATIONS =====>>
{ "default": {
"title": {
"Journal of Classical Studies": "JoClSt"
}
}
}
<<===== ABBREVIATIONS =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/extra/case_insensitive.txt 0000644 0000000 0000000 00000002023 07346545000 017631 0 ustar 00 0000000 0000000 Zotero does a case-insensitive sort, so we will too.
>>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
The Civil Law
The civil life
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"title": "The Civil Law",
"id": "ITEM-1",
"type": "book"
},
{
"title": "The civil life",
"id": "ITEM-2",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/extra/disambiguation-author-in-text.txt 0000644 0000000 0000000 00000057522 07346545000 022201 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Magazine (2012a, 3)
Magazine (2012b)
Magazine (2012c)
Magazine (2012d)
Newspaper (2012a)
Newspaper (2012b)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== CITATION-ITEMS =====>>
[ [ {"id":"item1","type":"author-only"}
, {"id":"item1","type":"suppress-author","locator":"3","label":"page"}]
, [ {"id":"item2","type":"author-only"}
, {"id":"item2","type":"suppress-author"} ]
, [ {"id":"item3","type":"author-only"}
, {"id":"item3","type":"suppress-author"} ]
, [ {"id":"item4","type":"author-only"}
, {"id":"item4","type":"suppress-author"} ]
, [ {"id":"item5","type":"author-only"}
, {"id":"item5","type":"suppress-author"} ]
, [ {"id":"item6","type":"author-only"}
, {"id":"item6","type":"suppress-author"} ] ]
<<===== CITATION-ITEMS =====<<
>>===== INPUT =====>>
[
{
"container-title": "Magazine",
"id": "item1",
"issued": {
"date-parts": [
[
2012
]
]
},
"title": "Title A",
"type": "article-magazine"
},
{
"container-title": "Magazine",
"id": "item2",
"issued": {
"date-parts": [
[
2012
]
]
},
"title": "Title B",
"type": "article-magazine"
},
{
"container-title": "Magazine",
"id": "item3",
"issued": {
"date-parts": [
[
2012
]
]
},
"title": "Title C",
"type": "article-magazine"
},
{
"container-title": "Magazine",
"id": "item4",
"issued": {
"date-parts": [
[
2012
]
]
},
"title": "Title D",
"type": "article-magazine"
},
{
"container-title": "Newspaper",
"id": "item5",
"issued": {
"date-parts": [
[
2012
]
]
},
"title": "Title E",
"type": "article-magazine"
},
{
"container-title": "Newspaper",
"id": "item6",
"issued": {
"date-parts": [
[
2012
]
]
},
"title": "Title F",
"type": "article-magazine"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/extra/issue_101.txt 0000644 0000000 0000000 00000014617 07346545000 016023 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
AUTHOR EDITOR Blockley, D. AUTHOR EDITOR, 2021. Engineering: a very short introduction. W.M. Haynes, ed. AUTHOR EDITOR. Oxford: Oxford University Press.
NO_AUTHOR EDITOR Haynes, W.M., ed. NO_AUTHOR EDITOR, 2014. CRC handbook of chemistry and physics. Boca Raton, Fla.: CRC Press/Taylor and Francis.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== CITATION-ITEMS =====>>
[ [ {"id":"haynes2014crc"}, {"id":"blockley2021evs"} ] ]
<<===== CITATION-ITEMS =====<<
>>===== INPUT =====>>
[
{
"editor": [
{
"family": "Haynes",
"given": "W. M."
}
],
"id": "haynes2014crc",
"issued": {
"date-parts": [
[
2014
]
]
},
"publisher": "CRC Press/Taylor and Francis",
"publisher-place": "Boca Raton, Fla.",
"title": "CRC handbook of chemistry and physics",
"type": "book"
},
{
"author": [
{
"family": "Blockley",
"given": "D."
}
],
"editor": [
{
"family": "Haynes",
"given": "W. M."
}
],
"id": "blockley2021evs",
"issued": {
"date-parts": [
[
2021
]
]
},
"publisher": "Oxford University Press",
"publisher-place": "Oxford",
"short-title": "Engineering",
"title": "Engineering: a very short introduction",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/extra/issue_107.txt 0000644 0000000 0000000 00000011431 07346545000 016020 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
pp. 3–17, at p. 15
pp. 120–154, at pp. 123–124
pp. 380–387, at p. 281
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== CITATION-ITEMS =====>>
[ [ {"id":"latourette_community_1938", "locator":"15"} ],
[ {"id":"oldham_responsible_1948", "locator":"123-124"} ],
[ {"id":"barbour_justice_1979", "locator":"281"} ]
]
<<===== CITATION-ITEMS =====<<
>>===== INPUT =====>>
[
{
"DOI": "10.1111/j.1758-6623.1979.tb02528.x",
"ISSN": "130796",
"URL": "http://libezproxy.open.ac.uk/login?url=https://search.ebscohost.com/login.aspx?direct=true&db=a9h&AN=6431771&site=ehost-live&scope=site",
"accessed": {
"date-parts": [
[
2021,
1,
19
]
]
},
"author": [
{
"family": "Barbour",
"given": "Ian G."
}
],
"citation-key": "barbour_justice_1979",
"container-title": "Ecumenical Review",
"container-title-short": "Ecumenical Review",
"id": "barbour_justice_1979",
"issue": "4",
"issued": {
"date-parts": [
[
1979,
10
]
]
},
"language": "en-GB",
"page": "380-387",
"publisher": "Wiley-Blackwell",
"source": "EBSCOhost",
"title": "Justice, participation and sustainability at MIT",
"title-short": "Justice, participation and sustainability",
"type": "article-journal",
"volume": "31"
},
{
"author": [
{
"family": "Latourette",
"given": "Kenneth S."
}
],
"citation-key": "latourette_community_1938",
"collection-number": "5",
"collection-title": "Church, community and state",
"container-title": "Church and community",
"editor": [
{
"family": "Latourette",
"given": "Kenneth S."
},
{
"family": "Barker",
"given": "Ernest"
},
{
"family": "Boegner",
"given": "Marc"
},
{
"family": "Lilje",
"given": "Hanns"
},
{
"family": "Björkquist",
"given": "Manfred"
},
{
"family": "Zankov",
"given": "Stefan"
},
{
"family": "Aubrey",
"given": "Edwin E."
},
{
"family": "Douglass",
"given": "H. Paul"
}
],
"event-place": "Chicago",
"id": "latourette_community_1938",
"issued": {
"date-parts": [
[
1938
]
]
},
"language": "en-GB",
"page": "3-17",
"publisher": "Willett, Clark & Company",
"publisher-place": "Chicago",
"title": "Community and church: an historical survey and interpretation",
"title-short": "Community and church",
"type": "chapter"
},
{
"author": [
{
"family": "Oldham",
"given": "J. H."
}
],
"citation-key": "oldham_responsible_1948",
"collection-number": "3",
"collection-title": "Man’s disorder and God’s design",
"container-title": "The church and the disorder of society",
"editor": [
{
"family": "Bates",
"given": "S."
},
{
"family": "Bennett",
"given": "J. C."
},
{
"family": "Bliss",
"given": "Kathleen"
},
{
"family": "Brunner",
"given": "Emil"
},
{
"family": "Ellul",
"given": "Jacques"
},
{
"family": "Niebuhr",
"given": "Reinhold"
},
{
"family": "Oldham",
"given": "J. H."
},
{
"family": "Patijn",
"given": "C. L."
},
{
"family": "Thomas",
"given": "M. M."
},
{
"family": "Urwin",
"given": "E. C."
}
],
"event-place": "London",
"id": "oldham_responsible_1948",
"issued": {
"date-parts": [
[
1948
]
]
},
"language": "en-GB",
"page": "120-154",
"publisher": "SCM Press",
"publisher-place": "London",
"title": "A responsible society",
"title-short": "Responsible society",
"type": "chapter"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/extra/issue_108.txt 0000644 0000000 0000000 00000020435 07346545000 016025 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
Stanze in lode della donna brutta. 1547.
<<===== RESULT =====<<
>>===== CITATIONS =====>>
[[ { "id":"stanze"} ]]
<<===== CITATIONS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "stanze",
"issued": {
"date-parts": [
[
1547
]
]
},
"language": "it-IT",
"publisher-place": "Florence",
"title": "Stanze in lode della donna brutta",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/extra/issue_112.txt 0000644 0000000 0000000 00000014671 07346545000 016025 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== OPTIONS =====>>
{
"linkBibliography" : true
}
<<===== OPTIONS =====<<
>>===== RESULT =====>>
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Author",
"given": "First"
}
],
"id": "test",
"title": "Title",
"journal": "Journal",
"type": "article",
"issued": {
"date-parts": [
[
1234
]
]
},
"URL": "https://pandoc.org/"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/extra/issue_116.txt 0000644 0000000 0000000 00000043127 07346545000 016027 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Thorlac Turville-Petre, ‘Sir Adrian Fortescue and His Copy of Piers Plowman’, Yearbook of Langland Studies, 14 (2000), 29–48; Thorlac Turville-Petre, ‘Putting It Right: The Corrections of Huntington Library MS. HM 128 and BL Additional MS. 35287’, Yearbook of Langland Studies, 16 (2002), 41–65.
Turville-Petre, ‘Putting It Right’.
<<===== RESULT =====<<
>>===== CITATIONS =====>>
[[ { "id":"Turville-PetreSirAdrianFortescue2000" },
{ "id":"Turville-PetrePuttingItRight2002" } ],
[ { "id":"Turville-PetrePuttingItRight2002" } ]
]
<<===== CITATIONS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Turville-Petre",
"given": "Thorlac"
}
],
"citation-key": "Turville-PetrePuttingItRight2002",
"container-title": "Yearbook of Langland Studies",
"id": "Turville-PetrePuttingItRight2002",
"issued": {
"date-parts": [
[
2002
]
]
},
"page": "41-65",
"title": "Putting it right: the corrections of Huntington Library MS. HM 128 and BL Additional MS. 35287",
"title-short": "Putting it right",
"type": "article-journal",
"volume": "16"
},
{
"author": [
{
"family": "Turville-Petre",
"given": "Thorlac"
}
],
"citation-key": "Turville-PetreSirAdrianFortescue2000",
"container-title": "Yearbook of Langland Studies",
"id": "Turville-PetreSirAdrianFortescue2000",
"issued": {
"date-parts": [
[
2000
]
]
},
"page": "29-48",
"title": "Sir Adrian Fortescue and his copy of Piers Plowman",
"title-short": "Sir Adrian Fortescue",
"type": "article-journal",
"volume": "14"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/extra/issue_126.txt 0000644 0000000 0000000 00000176460 07346545000 016037 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
American College of Sports Medicine. (1975). Guidelines for graded exercise testing and exercise prescription.
American College of Sports Medicine. (2013). ACSM’s resource manual for guidelines for exercise testing and prescription.
American College of Sports Medicine. (2018). ACSM’s exercise testing and prescription.
American College of Sports Medicine. (2021a). ACSM’s guidelines for exercise testing and prescription.
American College of Sports Medicine. (2021b, November 10). The American College of Sports Medicine. https://bit.ly/3DSQHc8
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== CITATION-ITEMS =====>>
[[ ]]
<<===== CITATION-ITEMS =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "American College of Sports Medicine",
"given": ""
}
],
"citation-key": "americancollegeofsportsmedicine1975",
"id": "americancollegeofsportsmedicine1975",
"issued": {
"date-parts": [
[
1975
]
]
},
"title": "Guidelines for graded exercise testing and exercise prescription",
"type": "book"
},
{
"author": [
{
"family": "American College of Sports Medicine",
"given": ""
}
],
"citation-key": "americancollegeofsportsmedicine2013",
"id": "americancollegeofsportsmedicine2013",
"issued": {
"date-parts": [
[
2013
]
]
},
"title": "ACSM’s resource manual for guidelines for exercise testing and prescription",
"type": "book"
},
{
"author": [
{
"family": "American College of Sports Medicine",
"given": ""
}
],
"citation-key": "americancollegeofsportsmedicine2018",
"id": "americancollegeofsportsmedicine2018",
"issued": {
"date-parts": [
[
2018
]
]
},
"title": "ACSM’s exercise testing and prescription",
"type": "book"
},
{
"URL": "https://bit.ly/3DSQHc8",
"accessed": {
"date-parts": [
[
2021,
12,
15
]
]
},
"author": [
{
"family": "American College of Sports Medicine",
"given": ""
}
],
"citation-key": "americancollegeofsportsmedicine2021",
"id": "americancollegeofsportsmedicine2021",
"issued": {
"date-parts": [
[
2021,
11,
10
]
]
},
"title": "The American College of Sports Medicine",
"type": "webpage"
},
{
"author": [
{
"family": "American College of Sports Medicine",
"given": ""
}
],
"citation-key": "americancollegeofsportsmedicine2021a",
"id": "americancollegeofsportsmedicine2021a",
"issued": {
"date-parts": [
[
2021
]
]
},
"title": "ACSM’s guidelines for exercise testing and prescription",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/extra/issue_141.txt 0000644 0000000 0000000 00000013053 07346545000 016020 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
van Inwagen, Peter. 1975.
Lewis, David, and Stephanie R. Lewis. 1970.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== CITATION-ITEMS =====>>
[ [ {"id":"lewis_dk-lewis:1970", "type":"normal"} ]
, [ {"id":"vaninwagen:1975", "type":"normal"} ] ]
<<===== CITATION-ITEMS =====<<
>>===== INPUT =====>>
[
{
"DOI": "10.1080/00048407012341181",
"author": [
{
"family": "Lewis",
"given": "David"
},
{
"family": "Lewis",
"given": "Stephanie R."
}
],
"container-title": "Australasian Journal of Philosophy",
"id": "lewis_dk-lewis:1970",
"issue": "2",
"issued": {
"date-parts": [
[
1970
]
]
},
"note": "reprinted in ",
"page": "206-212",
"title": "Holes",
"type": "article-journal",
"volume": "48"
},
{
"DOI": "10.1007/bf01624156",
"author": [
{
"family": "Inwagen",
"given": "Peter",
"non-dropping-particle": "van"
}
],
"container-title": "Philosophical Studies",
"id": "vaninwagen:1975",
"issue": "3",
"issued": {
"date-parts": [
[
1975
]
]
},
"page": "185-199",
"title": "The incompatibility of Free Will and Determinism",
"type": "article-journal",
"volume": "27"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/extra/issue_148.txt 0000644 0000000 0000000 00000002236 07346545000 016030 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Variable not present
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== CITATION-ITEMS =====>>
[ [ {"id":"test"} ] ]
<<===== CITATION-ITEMS =====<<
>>===== INPUT =====>>
[
{
"id": "test",
"type": "book",
"title": "Title"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/extra/issue_151.txt 0000644 0000000 0000000 00000002105 07346545000 016015 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
type is article-journal or chaptertype is article-journal or chapter
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== CITATION-ITEMS =====>>
[ [ {"id":"test1"}, {"id":"test2"} ] ]
<<===== CITATION-ITEMS =====<<
>>===== INPUT =====>>
[
{
"id": "test1",
"type": "article-journal",
"title": "Test One"
},
{
"id": "test2",
"type": "chapter",
"title": "Test Two"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/extra/issue_156.txt 0000644 0000000 0000000 00000053410 07346545000 016027 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
(e.g., Cork 2018; Doe 2019; Doe 2020, among others)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== CITATIONS =====>>
[{ "citationItems":
[ {"id":"doeA"},
{"id":"cork"},
{"id":"doeB"} ],
"citationPrefix": "e.g., ",
"citationSuffix": ", among others"
}]
<<===== CITATIONS =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "doeA",
"title": "Fruits",
"type": "book",
"issued": {
"date-parts": [
[
2020
]
]
}
},
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "doeB",
"title": "Veggies",
"type": "book",
"issued": {
"date-parts": [
[
2019
]
]
}
},
{
"author": [
{
"family": "Cork",
"given": "John"
}
],
"id": "cork",
"title": "Meat",
"type": "book",
"issued": {
"date-parts": [
[
2018
]
]
}
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/extra/issue_159.txt 0000644 0000000 0000000 00000004364 07346545000 016036 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
Isabelle Ferreras, Julie Battilana, Dominique Méda
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== CITATION-ITEMS =====>>
[ [ {"id":"FerrerasDemocratizeWorkCase2022"} ] ]
<<===== CITATION-ITEMS =====<<
>>===== INPUT =====>>
[
{
"ISBN": "978-0-226-81962-4 978-0-226-81963-1",
"citation-key": "FerrerasDemocratizeWorkCase2022",
"editor": [
{
"family": "Ferreras",
"given": "Isabelle"
},
{
"family": "Battilana",
"given": "Julie"
},
{
"family": "Méda",
"given": "Dominique"
}
],
"id": "FerrerasDemocratizeWorkCase2022",
"issued": {
"date-parts": [
[
2022
]
]
},
"language": "en",
"publisher": "University of Chicago Press",
"publisher-place": "Chicago",
"title": "Democratize work: the case for reorganizing the economy",
"title-short": "Democratize work",
"translator": [
{
"family": "Richmond Mouillot",
"given": "Miranda"
}
],
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/extra/issue_160.txt 0000644 0000000 0000000 00000003276 07346545000 016027 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
..[0] (Doe)
..[1] (Doe)
<<===== RESULT =====<<
>>===== CITATIONS =====>>
[
{
"citationID": "CITATION-1",
"citationItems": [
{
"id": "ITEM-1"
}
],
"properties": {
"noteIndex": 1
}
}
, {
"citationID": "CITATION-2",
"citationResetPosition": true,
"citationItems": [
{
"id": "ITEM-1"
}
],
"properties": {
"noteIndex": 3
}
}
]
<<===== CITATIONS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/extra/issue_164.txt 0000644 0000000 0000000 00000004066 07346545000 016031 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
chap. 2.
<<===== RESULT =====<<
>>===== CITATIONS =====>>
[ [{"id":"BarnesCompleteWorksAristotle1984", "locator": "2","label":"chapter"} ] ]
<<===== CITATIONS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"DOI": "10.1515/9781400835843",
"ISBN": "978-0-691-01650-4 978-1-4008-3584-3",
"citation-key": "BarnesCompleteWorksAristotle1984",
"collection-number": "192",
"collection-title": "Bollingen Series",
"editor": [
{
"family": "Barnes",
"given": "Jonathan"
}
],
"event-place": "Princeton, NJ",
"id": "BarnesCompleteWorksAristotle1984",
"issued": {
"date-parts": [
[
1984
]
]
},
"language": "en",
"number-of-volumes": "2",
"publisher": "Princeton University Press",
"publisher-place": "Princeton, NJ",
"title": "The complete works of Aristotle: the revised Oxford translation",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/extra/issue_165.txt 0000644 0000000 0000000 00000004445 07346545000 016033 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
no page locator; no chapter locator; no locator
page locator present; no chapter locator; locator present
no page locator; chapter locator present; locator present
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== CITATION-ITEMS =====>>
[ [ {"id":"test"} ]
, [ {"id":"test", "locator": "123", "label": "page"} ]
, [ {"id":"test", "locator": "456", "label": "chapter"} ]
]
<<===== CITATION-ITEMS =====<<
>>===== INPUT =====>>
[
{
"id": "test",
"type": "book",
"title": "Title"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/extra/issue_166.txt 0000644 0000000 0000000 00000003724 07346545000 016033 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
numeric locator: 123
numeric locator: 123
numeric locator: 123a
numeric locator: L123
non-numeric locator: 123.55
numeric locator: 123, 55
numeric locator: 123, 55 & 66
non-numeric locator: iv.123
non-numeric locator: iv.123
<<===== RESULT =====<<
>>===== CITATIONS =====>>
[[ { "id":"a", "locator": "123", "label": "page" } ]
,[ { "id":"a", "locator": "123", "label": "chapter" } ]
,[ { "id":"a", "locator": "123a", "label": "page" } ]
,[ { "id":"a", "locator": "L123", "label": "page" } ]
,[ { "id":"a", "locator": "123.55", "label": "page" } ]
,[ { "id":"a", "locator": "123, 55", "label": "page" } ]
,[ { "id":"a", "locator": "123, 55 & 66", "label": "page" } ]
,[ { "id":"a", "locator": "iv.123", "label": "page" } ]
,[ { "id":"a", "locator": "iv.123", "label": "chapter" } ]
]
<<===== CITATIONS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Dummy",
"given": "John"
}
],
"id": "a",
"issued": {
"date-parts": [
[
2022
]
]
},
"title": "A dummy book",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/extra/issue_173.txt 0000644 0000000 0000000 00000002203 07346545000 016020 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
https://www.researchgate.net/publication/308399994_Teo's_Brew_-_The_Re-composition_of_'Bitches_Brew'_in_the_Studio
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== CITATION-ITEMS =====>>
[ [ {"id":"Doe" } ] ]
<<===== CITATION-ITEMS =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "Doe",
"type": "book",
"title": "Title",
"URL":"https://www.researchgate.net/publication/308399994_Teo's_Brew_-_The_Re-composition_of_'Bitches_Brew'_in_the_Studio"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/extra/issue_174.txt 0000644 0000000 0000000 00000004360 07346545000 016027 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Title, ALCT, 3
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== CITATION-ITEMS =====>>
[ [ {"id":"test" } ] ]
<<===== CITATION-ITEMS =====<<
>>===== INPUT =====>>
[
{ "id": "test",
"title": "A title with a long form",
"title-short": "Title",
"container-title": "A long container title",
"container-title-short": "ALCT",
"volume": "3"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/extra/issue_175.txt 0000644 0000000 0000000 00000003305 07346545000 016026 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
numeric volume: volumes 1–2
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== CITATION-ITEMS =====>>
[ [ {"id":"VolumeTest1" } ] ]
<<===== CITATION-ITEMS =====<<
>>===== INPUT =====>>
[
{
"id": "VolumeTest1",
"type": "book",
"title": "Title",
"volume": "1–2"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/extra/issue_19.txt 0000644 0000000 0000000 00000015562 07346545000 015753 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
Díaz-León, E. (2013). What Is Social Construction? Eur J Philos 1–16.
Díaz-León, E. (2015). In Defence of Historical Constructivism about Races. Ergo, an Open Access Journal of Philosophy 2.
Díaz-León, E. (2016). <i>Wo> as a Politically Significant Term: A Solution to the Puzzle. Hypatia 245–258.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== 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": "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": "Woman 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 =====<<
citeproc-0.13/test/extra/issue_22.txt 0000644 0000000 0000000 00000040462 07346545000 015742 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
1
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== 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 =====<<
citeproc-0.13/test/extra/issue_27.txt 0000644 0000000 0000000 00000053726 07346545000 015756 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
Doe, John. n.d. Fruits (Apples, Pears, Oranges) and Veggies.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "doeA",
"title": "Fruits (apples, pears, oranges) and veggies",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/extra/issue_37.txt 0000644 0000000 0000000 00000001677 07346545000 015755 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
J. Doe
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "doeA"
}
]
]
<<==== CITATION-ITEMS ====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "doeA",
"title": "Fruits",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/extra/issue_38.txt 0000644 0000000 0000000 00000054433 07346545000 015754 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
(Díaz-León 2016; 2015, 333)
(Díaz-León 2016, 333; 2015)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== 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": "Woman 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": "Woman 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 =====<<
citeproc-0.13/test/extra/issue_61.txt 0000644 0000000 0000000 00000002225 07346545000 015740 0 ustar 00 0000000 0000000 Special treatment for literal "others" when it occurs as
the last name in the list, using localized et al.
>>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
},
{
"literal": "others"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/extra/issue_74.txt 0000644 0000000 0000000 00000003673 07346545000 015754 0 ustar 00 0000000 0000000 Special treatment for literal "others" when it occurs as
the last name in the list, using localized et al.
>>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
S Gosling, H Müller Schmied, R Betts, J Chang, P Ciais, et al.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== 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 =====<<
citeproc-0.13/test/extra/issue_80.txt 0000644 0000000 0000000 00000003222 07346545000 015737 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Astha; Asthb; Bron00
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Asthma",
"given": "Albert"
}
],
"id": "ITEM-1",
"accessed": {
"date-parts": [
[
"1900"
]
]
},
"title": "Book A",
"type": "book"
},
{
"author": [
{
"family": "Asthma",
"given": "Zeppo"
}
],
"id": "ITEM-2",
"accessed": {
"date-parts": [
[
"1900"
]
]
},
"title": "Book B",
"type": "book"
},
{
"author": [
{
"family": "Bronchitis",
"given": "Buffy"
}
],
"id": "ITEM-3",
"issued": {
"date-parts": [
[
"2000"
]
]
},
"title": "Book C",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/extra/issue_89.txt 0000644 0000000 0000000 00000055041 07346545000 015756 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
(Doe 2020; see also Cork 2018; Doe 2019)
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== CITATION-ITEMS =====>>
[ [ {"id":"doeA"},
{"id":"cork", "prefix":"see also "},
{"id":"doeB"}] ]
<<===== CITATION-ITEMS =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "doeA",
"title": "Fruits",
"type": "book",
"issued": {
"date-parts": [
[
2020
]
]
}
},
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "doeB",
"title": "Veggies",
"type": "book",
"issued": {
"date-parts": [
[
2019
]
]
}
},
{
"author": [
{
"family": "Cork",
"given": "John"
}
],
"id": "cork",
"title": "Meat",
"type": "book",
"issued": {
"date-parts": [
[
2018
]
]
}
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/extra/issue_90.txt 0000644 0000000 0000000 00000013440 07346545000 015743 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Alfred Koller, Schweizerisches Obligationenrecht Besonderer Teil Band I, Bern, Stämpfli Verlag, 2012; Alfred Koller, Schweizerisches Werkvertragsrecht, Zürich/St. Gallen, Dike Verlag AG, 2015.
Koller, Werkvertragsrecht.
Koller, OR BT I.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== CITATION-ITEMS =====>>
[ [ {"id":"kollerSchweizerischesWerkvertragsrecht2015"},
{"id":"kollerSchweizerischesObligationenrechtBesonderer2012"}
],
[ {"id":"kollerSchweizerischesWerkvertragsrecht2015"} ],
[ {"id":"kollerSchweizerischesObligationenrechtBesonderer2012"} ]
]
<<===== CITATION-ITEMS =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Koller",
"given": "Alfred"
}
],
"id": "kollerSchweizerischesWerkvertragsrecht2015",
"issued": {
"date-parts": [
[
2015
]
]
},
"language": "de-DE",
"publisher": "Dike Verlag AG",
"publisher-place": "Zürich/St. Gallen",
"title": "Schweizerisches Werkvertragsrecht",
"title-short": "Werkvertragsrecht",
"type": "book"
},
{
"author": [
{
"family": "Koller",
"given": "Alfred"
}
],
"id": "kollerSchweizerischesObligationenrechtBesonderer2012",
"issued": {
"date-parts": [
[
2012
]
]
},
"language": "de-DE",
"publisher": "Stämpfli Verlag",
"publisher-place": "Bern",
"title": "Schweizerisches Obligationenrecht Besonderer Teil Band I",
"title-short": "OR BT I",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/extra/issue_96.txt 0000644 0000000 0000000 00000012044 07346545000 015750 0 ustar 00 0000000 0000000 >>===== 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 =====>>
<<===== 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 =====<<
citeproc-0.13/test/extra/issue_99.txt 0000644 0000000 0000000 00000002306 07346545000 015753 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== CITATION-ITEMS =====>>
[ [ {"id":"Doe"} ] ]
<<===== CITATION-ITEMS =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "Doe",
"type": "book",
"title": "Title"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/extra/issue_pandoc6813.txt 0000644 0000000 0000000 00000133343 07346545000 017306 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Doe, Title A.
Doe, Title B.
Doe, Title B.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== 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 =====<<
citeproc-0.13/test/extra/link_bibitems.txt 0000644 0000000 0000000 00000011070 07346545000 017113 0 ustar 00 0000000 0000000 This test checks the following properties:
- when no DOI/PMCID/PMID/URL, in order of priority, appears as plain text in
an item, and when further, no title appears, the entire bibitem should be
linkified with one of those identifiers.
- shortDOIs should be handled correctly, meaning that every shortDOI of
the form 10/abcde should be converted to the DOI abcde
>>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== OPTIONS =====>>
{
"linkBibliography" : true
}
<<===== OPTIONS =====<<
>>===== RESULT =====>>
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{ "family": "Apple", "given": "Andrew" }
],
"id": "ITEM-A",
"type": "book",
"title": "AAAA",
"DOI": "10.1021/ja01577a030",
"issued": {
"date-parts": [ [ 2010 ] ]
}
},
{
"author": [
{ "family": "Blueberry", "given": "Bethany" }
],
"id": "ITEM-B",
"type": "book",
"title": "BBBB",
"DOI": "10/bbbbb",
"issued": {
"date-parts": [ [ 2011 ] ]
}
},
{
"author": [
{ "family": "Cherry", "given": "Carlos" }
],
"id": "ITEM-C",
"type": "book",
"title": "CCCC",
"URL": "https://pandoc.org/",
"issued": {
"date-parts": [ [ 2012 ] ]
}
},
{
"author": [
{ "family": "Durian", "given": "Denice" }
],
"id": "ITEM-D",
"type": "book",
"title": "DDDD",
"PMID": "30310042",
"issued": {
"date-parts": [ [ 2013 ] ]
}
},
{
"author": [
{ "family": "Elderberry", "given": "Edward" }
],
"id": "ITEM-E",
"type": "book",
"title": "EEEE",
"PMCID": "PMC3531190",
"issued": {
"date-parts": [ [ 2014 ] ]
}
},
{
"author": [
{ "family": "Fig", "given": "Francella" }
],
"id": "ITEM-F",
"type": "book",
"title": "FFFF",
"DOI": "10/bbbbb",
"PMCID": "PMC3531190",
"PMID": "30310042",
"URL": "https://pandoc.org/",
"issued": {
"date-parts": [ [ 2015 ] ]
}
},
{
"author": [
{ "family": "Grapefruit", "given": "Gordon" }
],
"id": "ITEM-G",
"type": "book",
"title": "GGGG",
"PMCID": "PMC3531190",
"PMID": "30310042",
"URL": "https://pandoc.org/",
"issued": {
"date-parts": [ [ 2016 ] ]
}
},
{
"author": [
{ "family": "Honeydew", "given": "Helen" }
],
"id": "ITEM-H",
"type": "book",
"title": "HHHH",
"PMID": "30310042",
"URL": "https://pandoc.org/",
"issued": {
"date-parts": [ [ 2017 ] ]
}
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/extra/link_plainurls.txt 0000644 0000000 0000000 00000007612 07346545000 017335 0 ustar 00 0000000 0000000 This test checks the following properties:
- plain URLs appearing in bibliography items should be linkified
- when a link's prefix+anchor matches its target, the
prefix should be included in the anchor
>>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== OPTIONS =====>>
{
"linkBibliography" : true
}
<<===== OPTIONS =====<<
>>===== RESULT =====>>
Cherry. CCCC. 2012.
https://pandoc.org/
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{ "family": "Apple", "given": "Andrew" }
],
"id": "ITEM-A",
"type": "book",
"title": "AAAA",
"DOI": "10.1021/ja01577a030",
"issued": {
"date-parts": [ [ 2010 ] ]
}
},
{
"author": [
{ "family": "Blueberry", "given": "Bethany" }
],
"id": "ITEM-B",
"type": "book",
"title": "BBBB",
"DOI": "10/bbbbb",
"issued": {
"date-parts": [ [ 2011 ] ]
}
},
{
"author": [
{ "family": "Cherry", "given": "Carlos" }
],
"id": "ITEM-C",
"type": "book",
"title": "CCCC",
"URL": "https://pandoc.org/",
"issued": {
"date-parts": [ [ 2012 ] ]
}
},
{
"author": [
{ "family": "Durian", "given": "Denice" }
],
"id": "ITEM-D",
"type": "book",
"title": "DDDD",
"PMID": "30310042",
"issued": {
"date-parts": [ [ 2013 ] ]
}
},
{
"author": [
{ "family": "Elderberry", "given": "Edward" }
],
"id": "ITEM-E",
"type": "book",
"title": "EEEE",
"PMCID": "PMC3531190",
"issued": {
"date-parts": [ [ 2014 ] ]
}
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/extra/link_titles.txt 0000644 0000000 0000000 00000011161 07346545000 016622 0 ustar 00 0000000 0000000 This test checks the following properties:
- when no DOI/PMCID/PMID/URL, in order of priority, appears as plain text in
an item, the title should be linkified with one of those identifiers
- shortDOIs should be handled correctly, meaning that every shortDOI of
the form 10/abcde should be converted to the DOI abcde
>>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== OPTIONS =====>>
{
"linkBibliography" : true
}
<<===== OPTIONS =====<<
>>===== RESULT =====>>
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{ "family": "Apple", "given": "Andrew" }
],
"id": "ITEM-A",
"type": "book",
"title": "AAAA",
"DOI": "10.1021/ja01577a030",
"issued": {
"date-parts": [ [ 2010 ] ]
}
},
{
"author": [
{ "family": "Blueberry", "given": "Bethany" }
],
"id": "ITEM-B",
"type": "book",
"title": "BBBB",
"DOI": "10/bbbbb",
"issued": {
"date-parts": [ [ 2011 ] ]
}
},
{
"author": [
{ "family": "Cherry", "given": "Carlos" }
],
"id": "ITEM-C",
"type": "book",
"title": "CCCC",
"URL": "https://pandoc.org/",
"issued": {
"date-parts": [ [ 2012 ] ]
}
},
{
"author": [
{ "family": "Durian", "given": "Denice" }
],
"id": "ITEM-D",
"type": "book",
"title": "DDDD",
"PMID": "30310042",
"issued": {
"date-parts": [ [ 2013 ] ]
}
},
{
"author": [
{ "family": "Elderberry", "given": "Edward" }
],
"id": "ITEM-E",
"type": "book",
"title": "EEEE",
"PMCID": "PMC3531190",
"issued": {
"date-parts": [ [ 2014 ] ]
}
},
{
"author": [
{ "family": "Fig", "given": "Francella" }
],
"id": "ITEM-F",
"type": "book",
"title": "FFFF",
"DOI": "10/bbbbb",
"PMCID": "PMC3531190",
"PMID": "30310042",
"URL": "https://pandoc.org/",
"issued": {
"date-parts": [ [ 2015 ] ]
}
},
{
"author": [
{ "family": "Grapefruit", "given": "Gordon" }
],
"id": "ITEM-G",
"type": "book",
"title": "GGGG",
"PMCID": "PMC3531190",
"PMID": "30310042",
"URL": "https://pandoc.org/",
"issued": {
"date-parts": [ [ 2016 ] ]
}
},
{
"author": [
{ "family": "Honeydew", "given": "Helen" }
],
"id": "ITEM-H",
"type": "book",
"title": "HHHH",
"PMID": "30310042",
"URL": "https://pandoc.org/",
"issued": {
"date-parts": [ [ 2017 ] ]
}
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/extra/name_issue10.txt 0000644 0000000 0000000 00000055130 07346545000 016576 0 ustar 00 0000000 0000000 >>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
Doe, John. 2020a. An Anthology.
———. 2020b. “Some Chapter.” In An Anthology, edited by John Doe, 63–79. A place: A publisher.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "doe1",
"issued": {
"date-parts": [
[
2020
]
]
},
"title": "An anthology",
"type": "book"
},
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"container-title": "An anthology",
"editor": [
{
"family": "Doe",
"given": "John"
}
],
"id": "doe2",
"issued": {
"date-parts": [
[
2020
]
]
},
"page": "63–79",
"publisher": "A publisher",
"publisher-place": "A place",
"title": "Some chapter",
"type": "chapter"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/overrides/ 0000755 0000000 0000000 00000000000 07346545000 014417 5 ustar 00 0000000 0000000 citeproc-0.13/test/overrides/bugreports_AccidentalAllCaps.txt 0000644 0000000 0000000 00000077515 07346545000 022742 0 ustar 00 0000000 0000000 The official result has ', , 1965' which is undesirable.
>>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
J. Doe, His Anonymous Life, 1965.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
"1965",
"6",
"1"
]
]
},
"title": "His Anonymous Life",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/overrides/bugreports_DoubleEncodedAngleBraces.txt 0000644 0000000 0000000 00000044154 07346545000 024227 0 ustar 00 0000000 0000000 The official result has ". ." at the end instead of ".".
This is an insignificant difference and neither would appear
in a better-designed style.
>>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
Center for History and New Media, « Zotero Quick Start Guide », s.d., [En ligne]. <http://zotero.org/support/quick_start_guide>.
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "http://zotero.org/users/local/0rmqTjvx/items/ABCD2345"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"URL": "http://zotero.org/support/quick_start_guide",
"author": [
{
"literal": "Center for History and New Media"
}
],
"id": "http://zotero.org/users/local/0rmqTjvx/items/ABCD2345",
"title": "Zotero Quick Start Guide",
"type": "webpage"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/overrides/bugreports_NoTitle.txt 0000644 0000000 0000000 00000031724 07346545000 021021 0 ustar 00 0000000 0000000 The official results have '(n.d.). .' and we get '(n.d.).'.
This seems fine. The extra period is due to a bug in the
style which has since been fixed.
>>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
ecs. (n.d.).
Family01, G. (n.d.). XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Family01",
"given": "Given01"
}
],
"id": "ITEM-1",
"title": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"type": "article-journal"
},
{
"id": "ITEM-2",
"title": "ecs",
"type": "article-journal"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/overrides/bugreports_UnisaHarvardInitialization.txt 0000644 0000000 0000000 00000003315 07346545000 024735 0 ustar 00 0000000 0000000 The test results include a trailing space, which we delete.
>>===== MODE =====>>
bibliography
<<===== MODE =====<<
>>===== RESULT =====>>
<<===== RESULT =====<<
Macros are from a private style "unisa-harvard", forwarded by a user.
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John Quiggly"
}
],
"id": "ITEM-1",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/overrides/display_AuthorAsHeading.txt 0000644 0000000 0000000 00000011122 07346545000 021710 0 ustar 00 0000000 0000000 Adjusted indentation of divs in result.
>>===== MODE =====>>
bibliography
<<===== MODE =====<<
An illustration of how the class attribute could be used to support
the grouping of authors in the AAA style bibliography format.
>>===== RESULT =====>>
John Aloysius Doe
1999
Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa
2000
Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb
Jane Henrietta Roe
1999a
Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc
1999b
Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd
2000
Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"author": [
{
"family": "Doe",
"given": "John Aloysius"
}
],
"id": "ITEM-1",
"issued": {
"date-parts": [
[
1999
]
]
},
"title": "Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa",
"type": "book"
},
{
"author": [
{
"family": "Doe",
"given": "John Aloysius"
}
],
"id": "ITEM-2",
"issued": {
"date-parts": [
[
2000
]
]
},
"title": "Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb",
"type": "book"
},
{
"author": [
{
"family": "Roe",
"given": "Jane Henrietta"
}
],
"id": "ITEM-3",
"issued": {
"date-parts": [
[
1999
]
]
},
"title": "Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc",
"type": "book"
},
{
"author": [
{
"family": "Roe",
"given": "Jane Henrietta"
}
],
"id": "ITEM-4",
"issued": {
"date-parts": [
[
1999
]
]
},
"title": "Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd",
"type": "book"
},
{
"author": [
{
"family": "Roe",
"given": "Jane Henrietta"
}
],
"id": "ITEM-5",
"issued": {
"date-parts": [
[
2000
]
]
},
"title": "Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/overrides/flipflop_NumericField.txt 0000644 0000000 0000000 00000004214 07346545000 021422 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
That is to say, rich text markup is not parsed on numeric fields with
numeric content.
This is the result in citeproc-js, but the correct behavior under CSL
at large is TBD.
As of this writing (2018-05-05), citeproc-js DOES parse rich text
markup in numeric fields if the field contains no numeric value
(not demonstrated by this fixture, but it is so). This inconsistency,
at least, is not desirable.
>>===== RESULT =====>>
1<sup>er</sup>
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"number": "1er",
"type": ""
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/overrides/fullstyles_ABdNT.txt 0000644 0000000 0000000 00000063327 07346545000 020351 0 ustar 00 0000000 0000000 The expected output includes a trailing space which this
library deletes.
>>===== MODE =====>>
bibliography
<<===== MODE =====<<
Note: Previously expected plain hyphen on issue number.
>>===== RESULT =====>>
COLE, S. J.; MOORE, R. Hydrological modelling using raingauge- and radar-based estimators of areal rainfall. Journal of Hydrology, v. 358, n. 3–4, p. 159–181, 2008.
<<===== RESULT =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"DOI": "10.1016/j.jhydrol.2008.05.025",
"ISSN": "0022-1694",
"author": [
{
"family": "Cole",
"given": "Steven J."
},
{
"family": "Moore",
"given": "Robert"
}
],
"container-title": "Journal of Hydrology",
"id": "ITEM-1",
"issue": "3-4",
"issued": {
"date-parts": [
[
2008
]
]
},
"page": "159-181",
"title": "Hydrological modelling using raingauge- and radar-based estimators of areal rainfall",
"type": "article-journal",
"url": "http://www.sciencedirect.com/science/article/pii/S0022169408002394",
"volume": "358"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/overrides/label_EditorTranslator2.txt 0000644 0000000 0000000 00000001557 07346545000 021711 0 ustar 00 0000000 0000000 The only difference in test output is that the period
is moved inside the quote, as it should be.
>>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
Some title, “Hello there.”
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1",
"suffix": ", \"Hello there\"."
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"id": "ITEM-1",
"title": "Some title",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/overrides/number_PreserveDelimiter.txt 0000644 0000000 0000000 00000004130 07346545000 022160 0 ustar 00 0000000 0000000 The official result starts with '. ', which is not good.
>>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
Pages 187–228 in C. S. Stephen and M. L. Brown, editors. Analysis and interpretation of freshwater fisheries data
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"container-title": "Analysis and interpretation of freshwater fisheries data",
"editor": [
{
"family": "Stephen",
"given": "Clarence Stephen"
},
{
"family": "Brown",
"given": "Michael Lawrence"
}
],
"id": "ITEM-1",
"page": "187-228",
"type": "chapter"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/overrides/page_ChicagoWeird.txt 0000644 0000000 0000000 00000002445 07346545000 020511 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Example S, at 8n11564–68
Example T, at n11564–68
Example U, at n11564–1568
<<===== RESULT =====<<
>>===== CITATION-ITEMS =====>>
[
[
{
"id": "ITEM-19"
}
],
[
{
"id": "ITEM-20"
}
],
[
{
"id": "ITEM-21"
}
]
]
<<===== CITATION-ITEMS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-19",
"page": "8n11564-8n1568",
"title": "Example S",
"type": "book"
},
{
"id": "ITEM-20",
"page": "n11564-n1568",
"title": "Example T",
"type": "book"
},
{
"id": "ITEM-21",
"page": "n11564-1568",
"title": "Example U",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/overrides/page_Expand.txt 0000644 0000000 0000000 00000005320 07346545000 017373 0 ustar 00 0000000 0000000 >>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Example: minimal, at 110–115
Example: prefix on first number only, at N110–5
Example: same prefix on both numbers, at N110–N115
Example: prefix on last number only, at 110–N6
Example: different prefixes on both numbers, at N110–P5
Example: leading number before prefix, at 123N110–N5
Example: multiple ranges, at 123N110–N5, 456K200–99
Example: first less than second, at 123N110–N5, 000c23–22
<<===== RESULT =====<<
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"page": "110-5",
"title": "Example: minimal",
"type": "book"
},
{
"id": "ITEM-2",
"page": "N110 - 5",
"title": "Example: prefix on first number only",
"type": "book"
},
{
"id": "ITEM-3",
"page": "N110 - N5",
"title": "Example: same prefix on both numbers",
"type": "book"
},
{
"id": "ITEM-4",
"page": "110 - N6",
"title": "Example: prefix on last number only",
"type": "book"
},
{
"id": "ITEM-5",
"page": "N110 - P5",
"title": "Example: different prefixes on both numbers",
"type": "book"
},
{
"id": "ITEM-6",
"page": "123N110 - N5",
"title": "Example: leading number before prefix",
"type": "book"
},
{
"id": "ITEM-7",
"page": "123N110 - N5, 456K200 - 99",
"title": "Example: multiple ranges",
"type": "book"
},
{
"id": "ITEM-8",
"page": "123N110 - N5, 000c23 - 22",
"title": "Example: first less than second",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== CITATION-ITEMS =====>>
[
[
{
"id": "ITEM-1"
}
],
[
{
"id": "ITEM-2"
}
],
[
{
"id": "ITEM-3"
}
],
[
{
"id": "ITEM-4"
}
],
[
{
"id": "ITEM-5"
}
],
[
{
"id": "ITEM-6"
}
],
[
{
"id": "ITEM-7"
}
],
[
{
"id": "ITEM-8"
}
]
]
<<===== CITATION-ITEMS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/overrides/page_ExpandWeirdComposite.txt 0000644 0000000 0000000 00000002304 07346545000 022250 0 ustar 00 0000000 0000000 This differs only in having an en dash in the range.
>>===== MODE =====>>
citation
<<===== MODE =====<<
## This test currently produces this:
Example: weird composite, at 123N110–5, 456K200–99
## It used to expect this:
>>===== RESULT =====>>
Example: weird composite, at 123N110–N5, 456K200–99
<<===== RESULT =====<<
## Which is correct, do you think?
## Here is the data from which the results above are derived:
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"page": "123N110 - N5, 456K200 - 99",
"title": "Example: weird composite",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== CITATION-ITEMS =====>>
[
[
{
"id": "ITEM-1"
}
]
]
<<===== CITATION-ITEMS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/overrides/page_Minimal.txt 0000644 0000000 0000000 00000011566 07346545000 017553 0 ustar 00 0000000 0000000 This differs from the official test in having an En
dash instead of a hyphen in Example T. I think that's
correct.
>>===== MODE =====>>
citation
<<===== MODE =====<<
>>===== RESULT =====>>
Example A, at 101–8
Example B, at 3–10
Example C, at 71–2
Example D, at 96–117
Example E, at 100–4
Example F, at 600–13
Example G, at 1100–23
Example H, at 107–8
Example I, at 505–17
Example J, at 1002–6
Example K, at 321–5
Example L, at 415–532
Example M, at 1536–8
Example N, at 11564–8
Example O, at 11564–78
Example P, at 13792–803
Example Q, at 1496–504
Example R, at 2787–816
Example S, at n11564–8
Example T, at n11564–1568
<<===== RESULT =====<<
>>===== CITATION-ITEMS =====>>
[
[
{
"id": "ITEM-1"
}
],
[
{
"id": "ITEM-2"
}
],
[
{
"id": "ITEM-3"
}
],
[
{
"id": "ITEM-4"
}
],
[
{
"id": "ITEM-5"
}
],
[
{
"id": "ITEM-6"
}
],
[
{
"id": "ITEM-7"
}
],
[
{
"id": "ITEM-8"
}
],
[
{
"id": "ITEM-9"
}
],
[
{
"id": "ITEM-10"
}
],
[
{
"id": "ITEM-11"
}
],
[
{
"id": "ITEM-12"
}
],
[
{
"id": "ITEM-13"
}
],
[
{
"id": "ITEM-14"
}
],
[
{
"id": "ITEM-15"
}
],
[
{
"id": "ITEM-16"
}
],
[
{
"id": "ITEM-17"
}
],
[
{
"id": "ITEM-18"
}
],
[
{
"id": "ITEM-19"
}
],
[
{
"id": "ITEM-20"
}
]
]
<<===== CITATION-ITEMS =====<<
>>===== CSL =====>>
<<===== CSL =====<<
* collapse(101, 108, "101-8")
*
* collapse(3,10, "3-10")
>>===== INPUT =====>>
[
{
"id": "ITEM-1",
"page": "101-108",
"title": "Example A",
"type": "book"
},
{
"id": "ITEM-2",
"page": "3-10",
"title": "Example B",
"type": "book"
},
{
"id": "ITEM-3",
"page": "71-72",
"title": "Example C",
"type": "book"
},
{
"id": "ITEM-4",
"page": "96-117",
"title": "Example D",
"type": "book"
},
{
"id": "ITEM-5",
"page": "100-4",
"title": "Example E",
"type": "book"
},
{
"id": "ITEM-6",
"page": "600-13",
"title": "Example F",
"type": "book"
},
{
"id": "ITEM-7",
"page": "1100-23",
"title": "Example G",
"type": "book"
},
{
"id": "ITEM-8",
"page": "107-108",
"title": "Example H",
"type": "book"
},
{
"id": "ITEM-9",
"page": "505-17",
"title": "Example I",
"type": "book"
},
{
"id": "ITEM-10",
"page": "1002-1006",
"title": "Example J",
"type": "book"
},
{
"id": "ITEM-11",
"page": "321-325",
"title": "Example K",
"type": "book"
},
{
"id": "ITEM-12",
"page": "415-532",
"title": "Example L",
"type": "book"
},
{
"id": "ITEM-13",
"page": "1536-538",
"title": "Example M",
"type": "book"
},
{
"id": "ITEM-14",
"page": "11564-11568",
"title": "Example N",
"type": "book"
},
{
"id": "ITEM-15",
"page": "11564-11578",
"title": "Example O",
"type": "book"
},
{
"id": "ITEM-16",
"page": "13792-13803",
"title": "Example P",
"type": "book"
},
{
"id": "ITEM-17",
"page": "1496-504",
"title": "Example Q",
"type": "book"
},
{
"id": "ITEM-18",
"page": "2787-816",
"title": "Example R",
"type": "book"
},
{
"id": "ITEM-19",
"page": "n11564 - n1568",
"title": "Example S",
"type": "book"
},
{
"id": "ITEM-20",
"page": "n11564 - 1568",
"title": "Example T",
"type": "book"
}
]
<<===== INPUT =====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/overrides/variables_ContainerTitleShort.txt 0000644 0000000 0000000 00000032617 07346545000 023165 0 ustar 00 0000000 0000000 Note: the only difference here is one space in the closing div.
>>==== MODE ====>>
bibliography
<<==== MODE ====<<
>>==== RESULT ====>>
1.
Campbell DT, Fiske DW. Main title. In: Container: a title. (Series: a title).
2.
Campbell DT, Fiske DW. Main title. Container.
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "Campbell",
"given": "Donald T"
},
{
"family": "Fiske",
"given": "Donald W"
}
],
"collection-title": "Series: a title",
"collection-title-short": "Series",
"container-title": "Container: a title",
"container-title-short": "Container",
"id": "ITEM-1",
"language": "en",
"source": "Zotero",
"title": "Main title",
"type": "chapter"
},
{
"author": [
{
"family": "Campbell",
"given": "Donald T"
},
{
"family": "Fiske",
"given": "Donald W"
}
],
"collection-title": "Series: a title",
"collection-title-short": "Series",
"container-title": "Container: a title",
"container-title-short": "Container",
"id": "ITEM-2",
"language": "en",
"source": "Zotero",
"title": "Main title",
"type": "article-journal"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/overrides/variables_ContainerTitleShort2.txt 0000644 0000000 0000000 00000033237 07346545000 023246 0 ustar 00 0000000 0000000 Note: the only difference here is one space in the closing div.
>>==== MODE ====>>
bibliography
<<==== MODE ====<<
>>==== RESULT ====>>
1.
Campbell DT, Fiske DW. CONVERGENT AND DISCRIMINANT VALIDATION BY THE MULTITRAIT-MULTIMETHOD MATRIX. In: Container: a title. p. 25. (Series: a title).
2.
Campbell DT, Fiske DW. CONVERGENT AND DISCRIMINANT VALIDATION BY THE MULTITRAIT-MULTIMETHOD MATRIX. Container. :25.
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
},
{
"id": "ITEM-2"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"author": [
{
"family": "Campbell",
"given": "Donald T"
},
{
"family": "Fiske",
"given": "Donald W"
}
],
"id": "ITEM-1",
"language": "en",
"note": "collection-title: Series: a title\ncollection-title-short: Series\ncontainer-title: Container: a title\ncontainer-title-short: Container",
"page": "25",
"source": "Zotero",
"title": "CONVERGENT AND DISCRIMINANT VALIDATION BY THE MULTITRAIT-MULTIMETHOD MATRIX",
"type": "chapter"
},
{
"author": [
{
"family": "Campbell",
"given": "Donald T"
},
{
"family": "Fiske",
"given": "Donald W"
}
],
"id": "ITEM-2",
"language": "en",
"note": "collection-title: Series: a title\ncollection-title-short: Series\ncontainer-title: Container: a title\ncontainer-title-short: Container",
"page": "25",
"source": "Zotero",
"title": "CONVERGENT AND DISCRIMINANT VALIDATION BY THE MULTITRAIT-MULTIMETHOD MATRIX",
"type": "article-journal"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<
citeproc-0.13/test/overrides/variables_TitleShortOnShortTitleNoTitleCondition.txt 0000644 0000000 0000000 00000003360 07346545000 027000 0 ustar 00 0000000 0000000 This test is contrary to the spec. In the third citation
the whole group should be suppressed because it contains
variables but none are called. See
https://github.com/citation-style-language/test-suite/issues/29
>>==== MODE ====>>
citation
<<==== MODE ====<<
>>==== RESULT ====>>
My Long Title 1 has title-short
My Long Title 2 does not have title-short
[CSL STYLE ERROR: reference with no printed form.]
<<==== RESULT ====<<
>>==== CITATION-ITEMS ====>>
[
[
{
"id": "ITEM-1"
}
],
[
{
"id": "ITEM-2"
}
],
[
{
"id": "ITEM-3"
}
]
]
<<==== CITATION-ITEMS ====<<
>>==== CSL ====>>
<<==== CSL ====<<
>>==== INPUT ====>>
[
{
"id": "ITEM-1",
"title": "My Long Title 1",
"title-short": "My Short Title",
"type": "book"
},
{
"id": "ITEM-2",
"title": "My Long Title 2",
"type": "book"
},
{
"id": "ITEM-3",
"type": "book"
}
]
<<==== INPUT ====<<
>>===== VERSION =====>>
1.0
<<===== VERSION =====<<