citeproc 1.0.3 → 1.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (788) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +19 -13
  3. data/Rakefile +7 -3
  4. data/features/affix/InterveningEmpty.feature +52 -0
  5. data/features/affix/PrefixFullCitationTextOnly.feature +41 -0
  6. data/features/affix/PrefixWithDecorations.feature +41 -0
  7. data/features/affix/SuppressDelimiterCharsWhenFullStopInSuffix.feature +410 -0
  8. data/features/affix/TextNodeWithMacro.feature +40 -0
  9. data/features/affix/WithCommas.feature +987 -0
  10. data/features/affix/WordProcessorAffixNoSpace.feature +41 -0
  11. data/features/api/SuppressAuthor.feature +48 -0
  12. data/features/api/UpdateItemsDelete.feature +44 -0
  13. data/features/api/UpdateItemsDeleteDecrementsByCiteDisambiguation.feature +46 -0
  14. data/features/api/UpdateItemsReshuffle.feature +44 -0
  15. data/features/bibheader/EntryspacingDefaultValueOne.feature +37 -0
  16. data/features/bibheader/EntryspacingExplicitValueZero.feature +38 -0
  17. data/features/bibheader/SecondFieldAlign.feature +38 -0
  18. data/features/bibheader/SecondFieldAlignWithAuthor.feature +40 -0
  19. data/features/bibheader/SecondFieldAlignWithNumber.feature +44 -0
  20. data/features/bibsection/Exclude.feature +47 -0
  21. data/features/bibsection/Include.feature +47 -0
  22. data/features/bibsection/Quash.feature +48 -0
  23. data/features/bibsection/Select.feature +47 -0
  24. data/features/bugreports/Abnt.feature +59 -0
  25. data/features/bugreports/AccidentalAllCaps.feature +813 -0
  26. data/features/bugreports/AllCapsLeakage.feature +818 -0
  27. data/features/bugreports/ApostropheOnParticle.feature +35 -0
  28. data/features/bugreports/AsaSpacing.feature +49 -0
  29. data/features/bugreports/AsmJournals.feature +153 -0
  30. data/features/bugreports/AuthorYear.feature +343 -0
  31. data/features/bugreports/AutomaticallyDeleteItemsFails.feature +154 -0
  32. data/features/bugreports/BadCitationUpdate.feature +39 -0
  33. data/features/bugreports/BrokenInstitutionalName.feature +390 -0
  34. data/features/bugreports/ChicagoAuthorDateLooping.feature +388 -0
  35. data/features/bugreports/ChineseCharactersFamilyOnlyPluralLabel.feature +36 -0
  36. data/features/bugreports/CitationSortsWithEtAl.feature +74 -0
  37. data/features/bugreports/CollapseFailure.feature +72 -0
  38. data/features/bugreports/ContainerTitleShort.feature +45 -0
  39. data/features/bugreports/ContentPunctuationDuplicate1.feature +40 -0
  40. data/features/bugreports/ContextualPluralWithMainItemFields.feature +34 -0
  41. data/features/bugreports/CreepingAddNames.feature +223 -0
  42. data/features/bugreports/DelimiterBug.feature +984 -0
  43. data/features/bugreports/DelimitersOnLocator.feature +322 -0
  44. data/features/bugreports/DemoPageFullCiteCruftOnSubsequent.feature +711 -0
  45. data/features/bugreports/DisambiguationAddNames.feature +233 -0
  46. data/features/bugreports/DisambiguationAddNamesBibliography.feature +235 -0
  47. data/features/bugreports/DroppingGroupDelimiterSpace.feature +37 -0
  48. data/features/bugreports/DuplicateSpaces.feature +151 -0
  49. data/features/bugreports/DuplicateSpaces2.feature +333 -0
  50. data/features/bugreports/DuplicateSpaces3.feature +200 -0
  51. data/features/bugreports/DuplicateTerminalPunctuationInBibliography.feature +227 -0
  52. data/features/bugreports/EmptyIfMatchNoneFail.feature +38 -0
  53. data/features/bugreports/EtAlSubsequent.feature +41 -0
  54. data/features/bugreports/FourAndFour.feature +715 -0
  55. data/features/bugreports/FrenchApostrophe.feature +34 -0
  56. data/features/bugreports/GreekStyleProblems.feature +1201 -0
  57. data/features/bugreports/GreekStyleTwoEditors.feature +1201 -0
  58. data/features/bugreports/IeeePunctuation.feature +151 -0
  59. data/features/bugreports/LabelsOutOfPlace.feature +715 -0
  60. data/features/bugreports/MovePunctuationInsideQuotesForLocator.feature +714 -0
  61. data/features/bugreports/NoEventInNestedMacroWithOldProcessor.feature +120 -0
  62. data/features/bugreports/NoTitle.feature +346 -0
  63. data/features/bugreports/NumberAffixEscape.feature +35 -0
  64. data/features/bugreports/NumberInMacroWithVerticalAlign.feature +36 -0
  65. data/features/bugreports/NumericStyleFirstRefMultipleCiteFailure.feature +148 -0
  66. data/features/bugreports/OldMhraDisambiguationFailure.feature +411 -0
  67. data/features/bugreports/ProcessorHang1.feature +209 -0
  68. data/features/bugreports/SingleQuote.feature +151 -0
  69. data/features/bugreports/SingletonIfMatchNoneFail.feature +38 -0
  70. data/features/bugreports/SortSecondaryKey.feature +233 -0
  71. data/features/bugreports/SortSecondaryKeyBibliography.feature +235 -0
  72. data/features/bugreports/SortedIeeeItalicsFail.feature +296 -0
  73. data/features/bugreports/ThesisUniversityAppearsTwice.feature +715 -0
  74. data/features/bugreports/TitleCase.feature +33 -0
  75. data/features/bugreports/TwoCitesPlusOneBackref.feature +963 -0
  76. data/features/bugreports/TwoFullStops.feature +394 -0
  77. data/features/bugreports/UndefinedInName.feature +199 -0
  78. data/features/bugreports/UndefinedInName2.feature +184 -0
  79. data/features/bugreports/UndefinedInName3.feature +351 -0
  80. data/features/bugreports/UndefinedNotString.feature +144 -0
  81. data/features/bugreports/UndefinedStr.feature +151 -0
  82. data/features/bugreports/UnisaHarvardInitialization.feature +62 -0
  83. data/features/bugreports/YearSuffixInHarvard1.feature +205 -0
  84. data/features/bugreports/YearSuffixLingers.feature +55 -0
  85. data/features/bugreports/disambiguate.feature +343 -0
  86. data/features/bugreports/ikeyOne.feature +277 -0
  87. data/features/bugreports/parenthesis.feature +333 -0
  88. data/features/bugreports/parseName.feature +46 -0
  89. data/features/bugreports/undefinedCrash.feature +150 -0
  90. data/features/collapse/AuthorCollapse.feature +41 -0
  91. data/features/collapse/AuthorCollapseDifferentAuthorsOneWithEtAl.feature +43 -0
  92. data/features/collapse/AuthorCollapseNoDate.feature +41 -0
  93. data/features/collapse/AuthorCollapseNoDateSorted.feature +45 -0
  94. data/features/collapse/CitationNumberRangesInsert.feature +39 -0
  95. data/features/collapse/CitationNumberRangesMixed.feature +39 -0
  96. data/features/collapse/CitationNumberRangesMixed2.feature +39 -0
  97. data/features/collapse/CitationNumberRangesMixed3.feature +39 -0
  98. data/features/collapse/CitationNumberRangesOneOnly.feature +41 -0
  99. data/features/collapse/CitationNumberRangesWithAffixes.feature +35 -0
  100. data/features/collapse/CitationNumberRangesWithAffixesGrouped.feature +51 -0
  101. data/features/collapse/CitationNumberRangesWithAffixesGroupedLocator.feature +51 -0
  102. data/features/collapse/CitationNumberRangesWithAffixesNoCollapse.feature +36 -0
  103. data/features/collapse/NumericDuplicate.feature +37 -0
  104. data/features/collapse/NumericDuplicate2.feature +34 -0
  105. data/features/collapse/TrailingDelimiter.feature +57 -0
  106. data/features/collapse/YearSuffixCollapse.feature +46 -0
  107. data/features/collapse/YearSuffixCollapseNoRange.feature +46 -0
  108. data/features/collapse/YearSuffixCollapseNoYearSuffixDelimiter.feature +45 -0
  109. data/features/collapse/YearSuffixImplicitCollapseNoYearSuffixDelimiter.feature +44 -0
  110. data/features/condition/EmptyDate.feature +42 -0
  111. data/features/condition/EmptyIsNumericFalse.feature +40 -0
  112. data/features/condition/EmptyIsUncertainDateFalse.feature +40 -0
  113. data/features/condition/EmptyShortTitleFalse.feature +40 -0
  114. data/features/condition/FirstNullAny.feature +38 -0
  115. data/features/condition/IsNumeric.feature +49 -0
  116. data/features/condition/LocatorIsFalse.feature +50 -0
  117. data/features/condition/MatchAll.feature +43 -0
  118. data/features/condition/NameAndTextVars.feature +56 -0
  119. data/features/condition/NumberIsNumeric.feature +40 -0
  120. data/features/condition/NumeralIsNumeric.feature +40 -0
  121. data/features/condition/NumeralWithTextIsNumeric.feature +40 -0
  122. data/features/condition/RefTypeBranching.feature +119 -0
  123. data/features/condition/SingletonIfMatchNone.feature +41 -0
  124. data/features/condition/TextIsNotNumeric.feature +40 -0
  125. data/features/condition/VariableAll.feature +41 -0
  126. data/features/condition/VariableAny.feature +41 -0
  127. data/features/condition/VariableNone.feature +41 -0
  128. data/features/date/Accessed.feature +33 -0
  129. data/features/date/DateAD.feature +37 -0
  130. data/features/date/DateBC.feature +37 -0
  131. data/features/date/DateNoDateNoTest.feature +37 -0
  132. data/features/date/DateNoDateWithTest.feature +45 -0
  133. data/features/date/DayOrdinalDayOneOnly.feature +44 -0
  134. data/features/date/IgnoreNonexistentSort.feature +37 -0
  135. data/features/date/InPress.feature +38 -0
  136. data/features/date/January.feature +33 -0
  137. data/features/date/KeyVariable.feature +46 -0
  138. data/features/date/LiteralFailGracefullyIfNoValue.feature +38 -0
  139. data/features/date/LocalizedDateFormats-af-ZA.feature +57 -0
  140. data/features/date/LocalizedDateFormats-ar-AR.feature +57 -0
  141. data/features/date/LocalizedDateFormats-bg-BG.feature +57 -0
  142. data/features/date/LocalizedDateFormats-ca-AD.feature +57 -0
  143. data/features/date/LocalizedDateFormats-cs-CZ.feature +57 -0
  144. data/features/date/LocalizedDateFormats-da-DK.feature +57 -0
  145. data/features/date/LocalizedDateFormats-de-AT.feature +57 -0
  146. data/features/date/LocalizedDateFormats-de-CH.feature +57 -0
  147. data/features/date/LocalizedDateFormats-de-DE.feature +57 -0
  148. data/features/date/LocalizedDateFormats-el-GR.feature +57 -0
  149. data/features/date/LocalizedDateFormats-en-US.feature +57 -0
  150. data/features/date/LocalizedDateFormats-es-ES.feature +57 -0
  151. data/features/date/LocalizedDateFormats-et-EE.feature +57 -0
  152. data/features/date/LocalizedDateFormats-fr-FR.feature +57 -0
  153. data/features/date/LocalizedDateFormats-he-IL.feature +57 -0
  154. data/features/date/LocalizedDateFormats-hu-HU.feature +57 -0
  155. data/features/date/LocalizedDateFormats-is-IS.feature +57 -0
  156. data/features/date/LocalizedDateFormats-it-IT.feature +57 -0
  157. data/features/date/LocalizedDateFormats-ja-JP.feature +57 -0
  158. data/features/date/LocalizedDateFormats-kh-KH.feature +46 -0
  159. data/features/date/LocalizedDateFormats-ko-KR.feature +57 -0
  160. data/features/date/LocalizedDateFormats-mn-MN.feature +57 -0
  161. data/features/date/LocalizedDateFormats-nb-NO.feature +57 -0
  162. data/features/date/LocalizedDateFormats-nl-NL.feature +57 -0
  163. data/features/date/LocalizedDateFormats-pl-PL.feature +57 -0
  164. data/features/date/LocalizedDateFormats-pt-BR.feature +57 -0
  165. data/features/date/LocalizedDateFormats-pt-PT.feature +57 -0
  166. data/features/date/LocalizedDateFormats-ro-RO.feature +57 -0
  167. data/features/date/LocalizedDateFormats-ru-RU.feature +57 -0
  168. data/features/date/LocalizedDateFormats-sk-SK.feature +57 -0
  169. data/features/date/LocalizedDateFormats-sl-SL.feature +57 -0
  170. data/features/date/LocalizedDateFormats-sr-RS.feature +57 -0
  171. data/features/date/LocalizedDateFormats-sv-SE.feature +57 -0
  172. data/features/date/LocalizedDateFormats-th-TH.feature +57 -0
  173. data/features/date/LocalizedDateFormats-tr-TR.feature +57 -0
  174. data/features/date/LocalizedDateFormats-uk-UA.feature +57 -0
  175. data/features/date/LocalizedDateFormats-vi-VN.feature +57 -0
  176. data/features/date/LocalizedDateFormats-zh-CN.feature +57 -0
  177. data/features/date/LocalizedDateFormats-zh-TW.feature +57 -0
  178. data/features/date/LocalizedNumericDefault.feature +33 -0
  179. data/features/date/LocalizedNumericDefaultMissingDay.feature +33 -0
  180. data/features/date/LocalizedNumericDefaultWithAffixes.feature +33 -0
  181. data/features/date/LocalizedNumericYear.feature +33 -0
  182. data/features/date/LocalizedNumericYearMonth.feature +33 -0
  183. data/features/date/LocalizedNumericYearRange.feature +33 -0
  184. data/features/date/LocalizedNumericYearWithAffixes.feature +33 -0
  185. data/features/date/LocalizedTextDefault.feature +33 -0
  186. data/features/date/LocalizedTextDefaultMissingDay.feature +33 -0
  187. data/features/date/LocalizedTextDefaultWithAffixes.feature +33 -0
  188. data/features/date/LocalizedTextInStyleLocaleWithTextCase.feature +42 -0
  189. data/features/date/LocalizedTextMonthFormOverride.feature +35 -0
  190. data/features/date/LocalizedTextYear.feature +33 -0
  191. data/features/date/LocalizedTextYearMonth.feature +33 -0
  192. data/features/date/LocalizedTextYearWithAffixes.feature +33 -0
  193. data/features/date/LocalizedWithInStyleFormatting.feature +35 -0
  194. data/features/date/LoneJapaneseMonth.feature +33 -0
  195. data/features/date/LongMonth.feature +37 -0
  196. data/features/date/LopsidedDataYearSuffixCollapse.feature +43 -0
  197. data/features/date/MaskNonexistentWithCondition.feature +42 -0
  198. data/features/date/NegativeDateSort.feature +40 -0
  199. data/features/date/NegativeDateSortViaMacro.feature +43 -0
  200. data/features/date/NegativeDateSortViaMacroOnYearMonthOnly.feature +53 -0
  201. data/features/date/NoDate.feature +45 -0
  202. data/features/date/NonexistentSortReverseBibliography.feature +47 -0
  203. data/features/date/NonexistentSortReverseCitation.feature +37 -0
  204. data/features/date/OtherAlone.feature +37 -0
  205. data/features/date/OtherWithDate.feature +37 -0
  206. data/features/date/RawParseSimpleDate.feature +37 -0
  207. data/features/date/RawSeasonRange1.feature +33 -0
  208. data/features/date/RawSeasonRange2.feature +33 -0
  209. data/features/date/RawSeasonRange3.feature +33 -0
  210. data/features/date/SeasonSubstituteInGroup.feature +38 -0
  211. data/features/date/SortEmptyDatesBibliography.feature +53 -0
  212. data/features/date/SortEmptyDatesCitation.feature +42 -0
  213. data/features/date/String.feature +36 -0
  214. data/features/date/TextFormFulldateDayRange.feature +37 -0
  215. data/features/date/TextFormFulldateMonthRange.feature +37 -0
  216. data/features/date/TextFormFulldateYearRange.feature +37 -0
  217. data/features/date/TextFormMonthdateMonthRange.feature +37 -0
  218. data/features/date/TextFormMonthdateYearRange.feature +37 -0
  219. data/features/date/TextFormYeardateYearRange.feature +37 -0
  220. data/features/date/TextFormYeardateYearRangeOpen.feature +37 -0
  221. data/features/date/Uncertain.feature +42 -0
  222. data/features/date/VariousInvalidDates.feature +37 -0
  223. data/features/date/YearSuffixDelimiter.feature +44 -0
  224. data/features/date/YearSuffixImplicitWithNoDate.feature +54 -0
  225. data/features/date/YearSuffixImplicitWithNoDateOneOnly.feature +54 -0
  226. data/features/date/YearSuffixWithNoDate.feature +54 -0
  227. data/features/decorations/AndTermUnaffectedByNameDecorations.feature +38 -0
  228. data/features/decorations/Baseline.feature +48 -0
  229. data/features/decorations/NestedQuotes.feature +33 -0
  230. data/features/decorations/NestedQuotesInnerReverse.feature +33 -0
  231. data/features/decorations/NoNormalWithoutDecoration.feature +41 -0
  232. data/features/decorations/SimpleFlipFlop.feature +33 -0
  233. data/features/decorations/SimpleQuotes.feature +33 -0
  234. data/features/disambiguate/AddNamesFailure.feature +43 -0
  235. data/features/disambiguate/AddNamesFailureWithAddGivenname.feature +44 -0
  236. data/features/disambiguate/AddNamesSuccess.feature +43 -0
  237. data/features/disambiguate/AllNamesBaseNameCountOnFailureIfYearSuffixAvailable.feature +55 -0
  238. data/features/disambiguate/AllNamesGenerally.feature +44 -0
  239. data/features/disambiguate/AllNamesSimpleSequence.feature +42 -0
  240. data/features/disambiguate/AllNamesWithInitialsGenerally.feature +44 -0
  241. data/features/disambiguate/AndreaEg1a.feature +47 -0
  242. data/features/disambiguate/AndreaEg1b.feature +48 -0
  243. data/features/disambiguate/AndreaEg1c.feature +47 -0
  244. data/features/disambiguate/AndreaEg2.feature +49 -0
  245. data/features/disambiguate/AndreaEg3.feature +50 -0
  246. data/features/disambiguate/AndreaEg4.feature +52 -0
  247. data/features/disambiguate/AndreaEg5.feature +53 -0
  248. data/features/disambiguate/BasedOnEtAlSubsequent.feature +44 -0
  249. data/features/disambiguate/BasedOnSubsequentFormWithBackref.feature +63 -0
  250. data/features/disambiguate/BasedOnSubsequentFormWithLocator.feature +67 -0
  251. data/features/disambiguate/ByCiteBaseNameCountOnFailureIfYearSuffixAvailable.feature +47 -0
  252. data/features/disambiguate/ByCiteDisambiguateCondition.feature +54 -0
  253. data/features/disambiguate/ByCiteGivennameExpandCrossNestedNames.feature +40 -0
  254. data/features/disambiguate/ByCiteGivennameNoShortFormInitializeWith.feature +39 -0
  255. data/features/disambiguate/ByCiteGivennameShortFormInitializeWith.feature +40 -0
  256. data/features/disambiguate/ByCiteGivennameShortFormNoInitializeWith.feature +39 -0
  257. data/features/disambiguate/ByCiteIncremental1.feature +355 -0
  258. data/features/disambiguate/ByCiteIncremental2.feature +352 -0
  259. data/features/disambiguate/ByCiteIsDefault.feature +250 -0
  260. data/features/disambiguate/ByCiteMinimalGivennameExpandMinimalNames.feature +48 -0
  261. data/features/disambiguate/ByCiteRetainNamesOnFailureIfYearSuffixNotAvailable.feature +46 -0
  262. data/features/disambiguate/ByCiteTwoAuthorsSameCite.feature +38 -0
  263. data/features/disambiguate/ByCiteTwoAuthorsSameFamilyName.feature +44 -0
  264. data/features/disambiguate/CitationLabelDefault.feature +34 -0
  265. data/features/disambiguate/CitationLabelInData.feature +34 -0
  266. data/features/disambiguate/DifferentSpacingInInitials.feature +40 -0
  267. data/features/disambiguate/DisambiguateTrueAndYearSuffixOne.feature +220 -0
  268. data/features/disambiguate/DisambiguateTrueAndYearSuffixTwo.feature +220 -0
  269. data/features/disambiguate/DisambiguateWithThree.feature +48 -0
  270. data/features/disambiguate/DisambiguateWithThree2.feature +91 -0
  271. data/features/disambiguate/DisambiguationHang.feature +48 -0
  272. data/features/disambiguate/ExtraTextCitation.feature +44 -0
  273. data/features/disambiguate/FailWithYearSuffix.feature +390 -0
  274. data/features/disambiguate/FamilyNameOnly.feature +43 -0
  275. data/features/disambiguate/HonorFullnameInBibliography.feature +49 -0
  276. data/features/disambiguate/ImplicitYearSuffixOnceOnly.feature +56 -0
  277. data/features/disambiguate/IncrementalExtraText.feature +55 -0
  278. data/features/disambiguate/InitializeWithButNoDisambiguation.feature +292 -0
  279. data/features/disambiguate/LastOnlyFailWithByCite.feature +49 -0
  280. data/features/disambiguate/NoTextElementUsesYearSuffixVariable.feature +39 -0
  281. data/features/disambiguate/PrimaryNameGenerally.feature +42 -0
  282. data/features/disambiguate/PrimaryNameWithInitialsLimitedToPrimary.feature +46 -0
  283. data/features/disambiguate/SetsOfNames.feature +205 -0
  284. data/features/disambiguate/SkipAccessedYearSuffix.feature +258 -0
  285. data/features/disambiguate/ThreeNoAuthorNoTitleEntries.feature +63 -0
  286. data/features/disambiguate/ToInitialOnly.feature +39 -0
  287. data/features/disambiguate/Trigraph.feature +36 -0
  288. data/features/disambiguate/YearCollapseWithInstitution.feature +51 -0
  289. data/features/disambiguate/YearSuffixAndSort.feature +50 -0
  290. data/features/disambiguate/YearSuffixAtTwoLevels.feature +45 -0
  291. data/features/disambiguate/YearSuffixFiftyTwoEntries.feature +48 -0
  292. data/features/disambiguate/YearSuffixFiftyTwoEntriesByCite.feature +48 -0
  293. data/features/disambiguate/YearSuffixMacroSameYearExplicit.feature +45 -0
  294. data/features/disambiguate/YearSuffixMacroSameYearImplicit.feature +42 -0
  295. data/features/disambiguate/YearSuffixMidInsert.feature +391 -0
  296. data/features/disambiguate/YearSuffixMixedDates.feature +52 -0
  297. data/features/disambiguate/YearSuffixTwoPairsBibliography.feature +63 -0
  298. data/features/disambiguate/YearSuffixTwoPairsFirstNameBibliography.feature +65 -0
  299. data/features/disambiguate/YearSuffixTwoPairsFullNamesBibliography.feature +63 -0
  300. data/features/disambiguate/YearSuffixWithEtAlSubequent.feature +51 -0
  301. data/features/disambiguate/YearSuffixWithMixedCreatorTypes.feature +53 -0
  302. data/features/discretionary/AuthorDateAuthorOnlyThenSuppressAuthor.feature +46 -0
  303. data/features/discretionary/AuthorOnly.feature +42 -0
  304. data/features/discretionary/CitationNumberAuthorOnlyThenSuppressAuthor.feature +41 -0
  305. data/features/discretionary/CitationNumberSuppressAuthor.feature +40 -0
  306. data/features/discretionary/SuppressAuthorSolo.feature +45 -0
  307. data/features/discretionary/SuppressEditorSolo.feature +45 -0
  308. data/features/discretionary/SuppressEditorSubstitute.feature +45 -0
  309. data/features/discretionary/SuppressMultipleAuthors.feature +45 -0
  310. data/features/display/AuthorAsHeading.feature +80 -0
  311. data/features/display/DisplayBlock.feature +54 -0
  312. data/features/display/SecondFieldAlignClone.feature +65 -0
  313. data/features/display/SecondFieldAlignMigratePunctuation.feature +154 -0
  314. data/features/etal/ShortFormOfName.feature +38 -0
  315. data/features/etal/UseZeroFirst.feature +47 -0
  316. data/features/flipflop/Apostrophes.feature +1064 -0
  317. data/features/flipflop/BoldfaceNodeLevelMarkup.feature +33 -0
  318. data/features/flipflop/ItalicsFlipped.feature +35 -0
  319. data/features/flipflop/ItalicsSimple.feature +39 -0
  320. data/features/flipflop/ItalicsWithOk.feature +48 -0
  321. data/features/flipflop/ItalicsWithOkAndTextcase.feature +48 -0
  322. data/features/flipflop/LeadingSingleQuote.feature +33 -0
  323. data/features/flipflop/QuotesInFieldNotOnNode.feature +33 -0
  324. data/features/flipflop/QuotesNodeLevelMarkup.feature +40 -0
  325. data/features/flipflop/SingleQuotesOnItalics.feature +33 -0
  326. data/features/flipflop/SmallCaps.feature +36 -0
  327. data/features/flipflop/StartingApostrophe.feature +33 -0
  328. data/features/form/TitleShort.feature +33 -0
  329. data/features/form/TitleShortNoLong.feature +33 -0
  330. data/features/form/TitleTestNoLongFalse.feature +40 -0
  331. data/features/fullstyles/ABdNT.feature +675 -0
  332. data/features/fullstyles/APA.feature +361 -0
  333. data/features/fullstyles/ChicagoArticleTitleQuestion.feature +390 -0
  334. data/features/fullstyles/ChicagoAuthorDateSimple.feature +394 -0
  335. data/features/fullstyles/ChicagoNoteWithBibliographyWithPublisher.feature +716 -0
  336. data/features/group/ComplexNesting.feature +397 -0
  337. data/features/group/ShortOutputOnly.feature +35 -0
  338. data/features/group/SuppressTermWhenNoOutputFromPartialDate.feature +39 -0
  339. data/features/group/SuppressValueWithEmptySubgroup.feature +46 -0
  340. data/features/group/SuppressWithEmptyNestedDateNode.feature +202 -0
  341. data/features/integration/CitationSort.feature +50 -0
  342. data/features/integration/CitationSortTwice.feature +51 -0
  343. data/features/integration/CrossCitationIbidOnInsert.feature +82 -0
  344. data/features/integration/DeleteName.feature +36 -0
  345. data/features/integration/DisambiguateAddGivenname1.feature +45 -0
  346. data/features/integration/DisambiguateAddGivenname2.feature +45 -0
  347. data/features/integration/DuplicateItem.feature +45 -0
  348. data/features/integration/DuplicateItem2.feature +45 -0
  349. data/features/integration/FirstReferenceNoteNumberPositionChange.feature +62 -0
  350. data/features/integration/IbidOnInsert.feature +50 -0
  351. data/features/integration/IbidWithDifferentLocators.feature +59 -0
  352. data/features/integration/SimpleFirstReferenceNoteNumber.feature +61 -0
  353. data/features/integration/SimpleIbid.feature +57 -0
  354. data/features/integration/SubsequentWhenInterveningFootnote.feature +51 -0
  355. data/features/integration/YearSuffixOnOffOn.feature +46 -0
  356. data/features/label/CollapsedPageNumberPluralDetection.feature +42 -0
  357. data/features/label/EditorTranslator1.feature +556 -0
  358. data/features/label/EmptyLabelVanish.feature +43 -0
  359. data/features/label/ImplicitForm.feature +36 -0
  360. data/features/label/NoFirstCharCapWithInTextClass.feature +38 -0
  361. data/features/label/NonexistentNameVariableLabel.feature +36 -0
  362. data/features/label/PageWithEmbeddedLabel.feature +35 -0
  363. data/features/label/PluralNumberOfVolumes.feature +36 -0
  364. data/features/label/PluralPagesWithAlphaPrefix.feature +37 -0
  365. data/features/locale/EffectOfStyleDefinition.feature +38 -0
  366. data/features/locale/EmptyDate.feature +41 -0
  367. data/features/locale/EmptyPlusOverrideDate.feature +48 -0
  368. data/features/locale/EmptyPlusOverrideStyleOpt.feature +39 -0
  369. data/features/locale/EmptyPlusOverrideTerm.feature +44 -0
  370. data/features/locale/EmptyStyleOpt.feature +36 -0
  371. data/features/locale/EmptyTerm.feature +39 -0
  372. data/features/locale/ForceEmptyAndOthersTerm.feature +41 -0
  373. data/features/locale/ForceEmptyEtAlTerm.feature +40 -0
  374. data/features/locale/NonExistentLocaleDef.feature +48 -0
  375. data/features/locale/OverloadWithEmptyString.feature +46 -0
  376. data/features/locale/PageRangeDelimiterTermDefined.feature +38 -0
  377. data/features/locale/PageRangeDelimiterTermFrenchUndef.feature +34 -0
  378. data/features/locale/PageRangeDelimiterTermUndefined.feature +33 -0
  379. data/features/locale/SpecificDate.feature +41 -0
  380. data/features/locale/SpecificStyleOpt.feature +36 -0
  381. data/features/locale/SpecificTerm.feature +39 -0
  382. data/features/locale/TermInSort.feature +77 -0
  383. data/features/locale/TitleCaseEmptyLangEmptyLocale.feature +33 -0
  384. data/features/locale/TitleCaseEmptyLangNonEnglishLocale.feature +34 -0
  385. data/features/locale/TitleCaseEnglishLangUpperEmptyLocale.feature +33 -0
  386. data/features/locale/TitleCaseGarbageLangEmptyLocale.feature +33 -0
  387. data/features/locale/TitleCaseGarbageLangEnglishLocale.feature +34 -0
  388. data/features/locale/TitleCaseGarbageLangNonEnglishLocale.feature +34 -0
  389. data/features/locale/TitleCaseNonEnglishLangUpperEmptyLocale.feature +33 -0
  390. data/features/locale/UnknownTerm.feature +34 -0
  391. data/features/locator/SimpleLocators.feature +46 -0
  392. data/features/locator/TermSelection.feature +40 -0
  393. data/features/locator/TrickyEntryForPlurals.feature +40 -0
  394. data/features/locator/WorkaroundTestForSubVerbo.feature +47 -0
  395. data/features/magic/AllowRepeatDateRenderings.feature +47 -0
  396. data/features/magic/CapitalizeFirstOccurringNameParticle.feature +35 -0
  397. data/features/magic/CapitalizeFirstOccurringTerm.feature +33 -0
  398. data/features/magic/CitationLabelInBibliography.feature +234 -0
  399. data/features/magic/CitationLabelInCitation.feature +224 -0
  400. data/features/magic/EntrySpacingDouble.feature +52 -0
  401. data/features/magic/HangingIndent.feature +52 -0
  402. data/features/magic/ImplicitYearSuffixDelimiter.feature +38 -0
  403. data/features/magic/ImplicitYearSuffixExplicitDelimiter.feature +52 -0
  404. data/features/magic/LineSpacingDouble.feature +52 -0
  405. data/features/magic/LineSpacingTripleStretch.feature +52 -0
  406. data/features/magic/NameParticle.feature +35 -0
  407. data/features/magic/NameSuffixNoComma.feature +35 -0
  408. data/features/magic/NameSuffixWithComma.feature +35 -0
  409. data/features/magic/NumberRangeEnglish.feature +33 -0
  410. data/features/magic/NumberRangeFrench.feature +34 -0
  411. data/features/magic/PunctuationInQuoteDefaultEnglishDelimiter.feature +41 -0
  412. data/features/magic/PunctuationInQuoteDefaultEnglishSuffix.feature +39 -0
  413. data/features/magic/PunctuationInQuoteDelimiterTrue.feature +44 -0
  414. data/features/magic/PunctuationInQuoteFalse.feature +44 -0
  415. data/features/magic/PunctuationInQuoteFalseSuppressExtra.feature +37 -0
  416. data/features/magic/PunctuationInQuoteNested.feature +47 -0
  417. data/features/magic/PunctuationInQuoteSuffixTrue.feature +42 -0
  418. data/features/magic/PunctuationInQuoteTrueSuppressExtra.feature +37 -0
  419. data/features/magic/QuotesAndBraces1.feature +36 -0
  420. data/features/magic/QuotesAndBraces2.feature +36 -0
  421. data/features/magic/SecondFieldAlign.feature +57 -0
  422. data/features/magic/StripPeriodsExcludeAffixes.feature +44 -0
  423. data/features/magic/StripPeriodsFalse.feature +34 -0
  424. data/features/magic/StripPeriodsTrue.feature +34 -0
  425. data/features/magic/StripPeriodsTrueShortForm.feature +46 -0
  426. data/features/magic/SubsequentAuthorSubstitute.feature +55 -0
  427. data/features/magic/SubsequentAuthorSubstituteNotFooled.feature +497 -0
  428. data/features/magic/SubsequentAuthorSubstituteOfTitleField.feature +55 -0
  429. data/features/magic/SuperscriptChars.feature +241 -0
  430. data/features/magic/SuppressDuplicateVariableRendering.feature +43 -0
  431. data/features/magic/SuppressExtraTerminalPunctuationAfterTerm.feature +410 -0
  432. data/features/magic/SuppressLayoutDelimiterIfPrefixComma.feature +34 -0
  433. data/features/magic/TermCapitalizationWithPrefix.feature +49 -0
  434. data/features/magic/TextRangeEnglish.feature +33 -0
  435. data/features/magic/TextRangeFrench.feature +34 -0
  436. data/features/name/AfterInvertedName.feature +42 -0
  437. data/features/name/AllCapsInitialsUntouched.feature +46 -0
  438. data/features/name/AndTextDelimiterPrecedesLastAlways.feature +35 -0
  439. data/features/name/ArticularNameAsSortOrder.feature +35 -0
  440. data/features/name/ArticularPlain.feature +35 -0
  441. data/features/name/ArticularShortForm.feature +35 -0
  442. data/features/name/ArticularShortFormCommaSuffix.feature +35 -0
  443. data/features/name/ArticularWithComma.feature +35 -0
  444. data/features/name/ArticularWithCommaNameAsSortOrder.feature +35 -0
  445. data/features/name/Asian.feature +35 -0
  446. data/features/name/AsianGlyphs.feature +35 -0
  447. data/features/name/AuthorCount.feature +39 -0
  448. data/features/name/AuthorCountWithMultipleVariables.feature +37 -0
  449. data/features/name/AuthorCountWithSameVarContentAndCombinedTermFail.feature +45 -0
  450. data/features/name/AuthorCountWithSameVarContentAndCombinedTermSucceed.feature +45 -0
  451. data/features/name/AuthorEditorCount.feature +37 -0
  452. data/features/name/CelticClanName.feature +35 -0
  453. data/features/name/CeltsAndToffsCrowdedInitials.feature +35 -0
  454. data/features/name/CeltsAndToffsNoHyphens.feature +36 -0
  455. data/features/name/CeltsAndToffsSpacedInitials.feature +35 -0
  456. data/features/name/CeltsAndToffsWithHyphens.feature +36 -0
  457. data/features/name/CollapseRoleLabels.feature +46 -0
  458. data/features/name/Delimiter.feature +37 -0
  459. data/features/name/EditorTranslatorBoth.feature +189 -0
  460. data/features/name/EditorTranslatorSameEmptyTerm.feature +41 -0
  461. data/features/name/EditorTranslatorSameWithTerm.feature +36 -0
  462. data/features/name/EditorTranslatorWithTranslatorOnly.feature +35 -0
  463. data/features/name/EditorTranslatorWithTranslatorOnlyBib.feature +189 -0
  464. data/features/name/EtAlUseLast.feature +47 -0
  465. data/features/name/FormattingOfParticles.feature +37 -0
  466. data/features/name/GreekSimple.feature +35 -0
  467. data/features/name/HebrewAnd.feature +40 -0
  468. data/features/name/HierarchicalDelimiter.feature +35 -0
  469. data/features/name/HyphenatedFirstName.feature +35 -0
  470. data/features/name/HyphenatedNonDroppingParticle1.feature +51 -0
  471. data/features/name/HyphenatedNonDroppingParticle2.feature +51 -0
  472. data/features/name/InheritAttributesEtAlStyle.feature +37 -0
  473. data/features/name/Institution.feature +35 -0
  474. data/features/name/InstitutionDecoration.feature +45 -0
  475. data/features/name/LabelAfterPlural.feature +36 -0
  476. data/features/name/LabelAfterPluralDecorations.feature +38 -0
  477. data/features/name/LongAbbreviation.feature +35 -0
  478. data/features/name/LowercaseSurnameSuffix.feature +35 -0
  479. data/features/name/MixedFormatsInitialSortOrderAllWithDecorationsEtAl.feature +39 -0
  480. data/features/name/MixedFormatsInitialSortOrderFirstWithDecorationsEtAl.feature +39 -0
  481. data/features/name/MixedFormatsInitialsWithDecorationsEtAl.feature +39 -0
  482. data/features/name/MixedFormatsPrimaryDecorations.feature +37 -0
  483. data/features/name/MixedFormatsWithDecorationsEtAl.feature +39 -0
  484. data/features/name/MixedFormatsWithDecorationsPlusAlternateEtAlDecorations.feature +40 -0
  485. data/features/name/MixedFormatsWithDecorationsPlusEtAlDecorations.feature +40 -0
  486. data/features/name/MultipleLiteral.feature +35 -0
  487. data/features/name/NoNameNode.feature +33 -0
  488. data/features/name/NonDroppingParticleDefault.feature +35 -0
  489. data/features/name/OnlyFamilyname.feature +35 -0
  490. data/features/name/OnlyGivenname.feature +35 -0
  491. data/features/name/OverridingHierarchicalDelimiter.feature +36 -0
  492. data/features/name/ParseNames.feature +39 -0
  493. data/features/name/ParsedCommaDelimitedDroppingParticleNormalOrderingWithAffixes.feature +38 -0
  494. data/features/name/ParsedCommaDelimitedDroppingParticleNormalOrderingWithoutAffixes.feature +36 -0
  495. data/features/name/ParsedCommaDelimitedDroppingParticleSortOrderingWithoutAffixes.feature +38 -0
  496. data/features/name/ParsedDroppingParticleWithAffixes.feature +39 -0
  497. data/features/name/ParsedDroppingParticleWithApostrophe.feature +38 -0
  498. data/features/name/ParsedNonDroppingParticleWithAffixes.feature +39 -0
  499. data/features/name/ParsedNonDroppingParticleWithApostrophe.feature +39 -0
  500. data/features/name/ParsedUpperCaseNonDroppingParticle.feature +39 -0
  501. data/features/name/ParticleCaps1.feature +40 -0
  502. data/features/name/ParticleCaps2.feature +46 -0
  503. data/features/name/ParticleCaps3.feature +47 -0
  504. data/features/name/ParticleFormatting.feature +38 -0
  505. data/features/name/ParticlesDemoteNonDroppingNever.feature +99 -0
  506. data/features/name/PeriodAfterInitials.feature +38 -0
  507. data/features/name/QuashOrdinaryVariableRenderedViaSubstitute.feature +39 -0
  508. data/features/name/RomanianTwo.feature +36 -0
  509. data/features/name/SemicolonWithAnd.feature +38 -0
  510. data/features/name/SplitInitials.feature +35 -0
  511. data/features/name/SubsequentAuthorSubstituteMultipleNames.feature +50 -0
  512. data/features/name/SubstituteInheritLabel.feature +44 -0
  513. data/features/name/SubstituteMacroInheritDecorations.feature +42 -0
  514. data/features/name/SubstituteName.feature +38 -0
  515. data/features/name/SubstituteOnDateGroupSpanFail.feature +45 -0
  516. data/features/name/SubstituteOnGroupSpanGroupSpanFail.feature +46 -0
  517. data/features/name/SubstituteOnMacroGroupSpanFail.feature +46 -0
  518. data/features/name/SubstituteOnNamesSingletonGroupSpanFail.feature +42 -0
  519. data/features/name/SubstituteOnNamesSpanGroupSpanFail.feature +44 -0
  520. data/features/name/SubstituteOnNamesSpanNamesSpanFail.feature +43 -0
  521. data/features/name/SubstituteOnNumberGroupSpanFail.feature +42 -0
  522. data/features/name/TwoRolesSameRenderingSeparateRoleLabels.feature +43 -0
  523. data/features/name/WesternArticularLowercase.feature +35 -0
  524. data/features/name/WesternPrimaryFontStyle.feature +37 -0
  525. data/features/name/WesternPrimaryFontStyleTwoAuthors.feature +37 -0
  526. data/features/name/WesternSimple.feature +35 -0
  527. data/features/name/WesternTwoAuthors.feature +35 -0
  528. data/features/name/namepartAffixes.feature +38 -0
  529. data/features/name/namepartAffixesNameAsSortOrder.feature +39 -0
  530. data/features/name/namepartAffixesNameAsSortOrderDemoteNonDroppingParticle.feature +39 -0
  531. data/features/nameattr/AndOnBibliographyInBibliography.feature +43 -0
  532. data/features/nameattr/AndOnBibliographyInCitation.feature +43 -0
  533. data/features/nameattr/AndOnCitationInBibliography.feature +45 -0
  534. data/features/nameattr/AndOnCitationInCitation.feature +36 -0
  535. data/features/nameattr/AndOnNamesInBibliography.feature +42 -0
  536. data/features/nameattr/AndOnNamesInCitation.feature +35 -0
  537. data/features/nameattr/AndOnStyleInBibliography.feature +43 -0
  538. data/features/nameattr/AndOnStyleInCitation.feature +43 -0
  539. data/features/nameattr/DelimiterPrecedesEtAlOnBibliographyInBibliography.feature +43 -0
  540. data/features/nameattr/DelimiterPrecedesEtAlOnBibliographyInCitation.feature +43 -0
  541. data/features/nameattr/DelimiterPrecedesEtAlOnCitationInBibliography.feature +45 -0
  542. data/features/nameattr/DelimiterPrecedesEtAlOnCitationInCitation.feature +36 -0
  543. data/features/nameattr/DelimiterPrecedesEtAlOnNamesInBibliography.feature +42 -0
  544. data/features/nameattr/DelimiterPrecedesEtAlOnNamesInCitation.feature +35 -0
  545. data/features/nameattr/DelimiterPrecedesEtAlOnStyleInBibliography.feature +43 -0
  546. data/features/nameattr/DelimiterPrecedesEtAlOnStyleInCitation.feature +36 -0
  547. data/features/nameattr/DelimiterPrecedesLastOnBibliographyInBibliography.feature +43 -0
  548. data/features/nameattr/DelimiterPrecedesLastOnBibliographyInCitation.feature +43 -0
  549. data/features/nameattr/DelimiterPrecedesLastOnCitationInBibliography.feature +45 -0
  550. data/features/nameattr/DelimiterPrecedesLastOnCitationInCitation.feature +36 -0
  551. data/features/nameattr/DelimiterPrecedesLastOnNamesInBibliography.feature +42 -0
  552. data/features/nameattr/DelimiterPrecedesLastOnNamesInCitation.feature +35 -0
  553. data/features/nameattr/DelimiterPrecedesLastOnStyleInBibliography.feature +43 -0
  554. data/features/nameattr/DelimiterPrecedesLastOnStyleInCitation.feature +36 -0
  555. data/features/nameattr/EtAlMinOnBibliographyInBibliography.feature +43 -0
  556. data/features/nameattr/EtAlMinOnBibliographyInCitation.feature +43 -0
  557. data/features/nameattr/EtAlMinOnCitationInBibliography.feature +45 -0
  558. data/features/nameattr/EtAlMinOnCitationInCitation.feature +36 -0
  559. data/features/nameattr/EtAlMinOnNamesInBibliography.feature +42 -0
  560. data/features/nameattr/EtAlMinOnNamesInCitation.feature +35 -0
  561. data/features/nameattr/EtAlMinOnStyleInBibliography.feature +42 -0
  562. data/features/nameattr/EtAlMinOnStyleInCitation.feature +35 -0
  563. data/features/nameattr/EtAlSubsequentMinOnBibliographyInBibliography.feature +43 -0
  564. data/features/nameattr/EtAlSubsequentMinOnBibliographyInCitation.feature +43 -0
  565. data/features/nameattr/EtAlSubsequentMinOnCitationInBibliography.feature +45 -0
  566. data/features/nameattr/EtAlSubsequentMinOnCitationInCitation.feature +37 -0
  567. data/features/nameattr/EtAlSubsequentMinOnNamesInBibliography.feature +42 -0
  568. data/features/nameattr/EtAlSubsequentMinOnStyleInBibliography.feature +42 -0
  569. data/features/nameattr/EtAlSubsequentMinOnStyleInCitation.feature +38 -0
  570. data/features/nameattr/EtAlSubsequentUseFirstOnBibliographyInBibliography.feature +43 -0
  571. data/features/nameattr/EtAlSubsequentUseFirstOnBibliographyInCitation.feature +43 -0
  572. data/features/nameattr/EtAlSubsequentUseFirstOnCitationInBibliography.feature +45 -0
  573. data/features/nameattr/EtAlSubsequentUseFirstOnCitationInCitation.feature +44 -0
  574. data/features/nameattr/EtAlSubsequentUseFirstOnStyleInBibliography.feature +43 -0
  575. data/features/nameattr/EtAlSubsequentUseFirstOnStyleInCitation.feature +37 -0
  576. data/features/nameattr/EtAlUseFirstOnBibliographyInBibliography.feature +43 -0
  577. data/features/nameattr/EtAlUseFirstOnBibliographyInCitation.feature +43 -0
  578. data/features/nameattr/EtAlUseFirstOnCitationInBibliography.feature +45 -0
  579. data/features/nameattr/EtAlUseFirstOnCitationInCitation.feature +43 -0
  580. data/features/nameattr/EtAlUseFirstOnNamesInBibliography.feature +42 -0
  581. data/features/nameattr/EtAlUseFirstOnNamesInCitation.feature +35 -0
  582. data/features/nameattr/EtAlUseFirstOnStyleInBibliography.feature +43 -0
  583. data/features/nameattr/EtAlUseFirstOnStyleInCitation.feature +35 -0
  584. data/features/nameattr/InitializeWithOnBibliographyInBibliography.feature +43 -0
  585. data/features/nameattr/InitializeWithOnBibliographyInCitation.feature +43 -0
  586. data/features/nameattr/InitializeWithOnCitationInBibliography.feature +45 -0
  587. data/features/nameattr/InitializeWithOnCitationInCitation.feature +36 -0
  588. data/features/nameattr/InitializeWithOnNamesInBibliography.feature +42 -0
  589. data/features/nameattr/InitializeWithOnNamesInCitation.feature +35 -0
  590. data/features/nameattr/InitializeWithOnStyleInBibliography.feature +43 -0
  591. data/features/nameattr/InitializeWithOnStyleInCitation.feature +36 -0
  592. data/features/nameattr/NameAsSortOrderOnBibliographyInBibliography.feature +43 -0
  593. data/features/nameattr/NameAsSortOrderOnBibliographyInCitation.feature +43 -0
  594. data/features/nameattr/NameAsSortOrderOnCitationInBibliography.feature +45 -0
  595. data/features/nameattr/NameAsSortOrderOnCitationInCitation.feature +36 -0
  596. data/features/nameattr/NameAsSortOrderOnNamesInBibliography.feature +42 -0
  597. data/features/nameattr/NameAsSortOrderOnNamesInCitation.feature +35 -0
  598. data/features/nameattr/NameAsSortOrderOnStyleInBibliography.feature +43 -0
  599. data/features/nameattr/NameAsSortOrderOnStyleInCitation.feature +35 -0
  600. data/features/nameattr/NameDelimiterOnBibliographyInBibliography.feature +43 -0
  601. data/features/nameattr/NameDelimiterOnBibliographyInCitation.feature +43 -0
  602. data/features/nameattr/NameDelimiterOnCitationInBibliography.feature +45 -0
  603. data/features/nameattr/NameDelimiterOnCitationInCitation.feature +43 -0
  604. data/features/nameattr/NameDelimiterOnNamesInBibliography.feature +42 -0
  605. data/features/nameattr/NameDelimiterOnNamesInCitation.feature +42 -0
  606. data/features/nameattr/NameDelimiterOnStyleInBibliography.feature +43 -0
  607. data/features/nameattr/NameDelimiterOnStyleInCitation.feature +43 -0
  608. data/features/nameattr/NameFormOnBibliographyInBibliography.feature +43 -0
  609. data/features/nameattr/NameFormOnBibliographyInCitation.feature +43 -0
  610. data/features/nameattr/NameFormOnCitationInBibliography.feature +45 -0
  611. data/features/nameattr/NameFormOnCitationInCitation.feature +43 -0
  612. data/features/nameattr/NameFormOnNamesInBibliography.feature +42 -0
  613. data/features/nameattr/NameFormOnNamesInCitation.feature +35 -0
  614. data/features/nameattr/NameFormOnStyleInBibliography.feature +43 -0
  615. data/features/nameattr/NameFormOnStyleInCitation.feature +36 -0
  616. data/features/nameattr/NamesDelimiterOnBibliographyInBibliography.feature +43 -0
  617. data/features/nameattr/NamesDelimiterOnBibliographyInCitation.feature +43 -0
  618. data/features/nameattr/NamesDelimiterOnCitationInBibliography.feature +45 -0
  619. data/features/nameattr/NamesDelimiterOnCitationInCitation.feature +36 -0
  620. data/features/nameattr/NamesDelimiterOnNamesInBibliography.feature +42 -0
  621. data/features/nameattr/NamesDelimiterOnNamesInCitation.feature +35 -0
  622. data/features/nameattr/NamesDelimiterOnStyleInBibliography.feature +42 -0
  623. data/features/nameattr/NamesDelimiterOnStyleInCitation.feature +36 -0
  624. data/features/nameattr/SortSeparatorOnBibliographyInBibliography.feature +43 -0
  625. data/features/nameattr/SortSeparatorOnBibliographyInCitation.feature +44 -0
  626. data/features/nameattr/SortSeparatorOnCitationInBibliography.feature +45 -0
  627. data/features/nameattr/SortSeparatorOnCitationInCitation.feature +36 -0
  628. data/features/nameattr/SortSeparatorOnNamesInBibliography.feature +42 -0
  629. data/features/nameattr/SortSeparatorOnNamesInCitation.feature +35 -0
  630. data/features/nameattr/SortSeparatorOnStyleInBibliography.feature +43 -0
  631. data/features/nameattr/SortSeparatorOnStyleInCitation.feature +36 -0
  632. data/features/nameorder/Long.feature +35 -0
  633. data/features/nameorder/LongNameAsSortDemoteDisplayAndSort.feature +36 -0
  634. data/features/nameorder/LongNameAsSortDemoteNever.feature +36 -0
  635. data/features/nameorder/Short.feature +35 -0
  636. data/features/nameorder/ShortDemoteDisplayAndSort.feature +36 -0
  637. data/features/nameorder/ShortNameAsSortDemoteNever.feature +36 -0
  638. data/features/namespaces/NonNada3.feature +33 -0
  639. data/features/number/EditionSort.feature +47 -0
  640. data/features/number/FailingDelimiters.feature +44 -0
  641. data/features/number/IsNumericWithAlpha.feature +40 -0
  642. data/features/number/MixedPageRange.feature +34 -0
  643. data/features/number/MixedText.feature +33 -0
  644. data/features/number/NewOrdinals.feature +64 -0
  645. data/features/number/NewOrdinalsEdition.feature +1044 -0
  646. data/features/number/NewOrdinalsWithGenderChange.feature +45 -0
  647. data/features/number/PageFirst.feature +36 -0
  648. data/features/number/PageRange.feature +33 -0
  649. data/features/number/PlainHyphenOrEnDashAlwaysPlural.feature +42 -0
  650. data/features/number/SeparateOrdinalNamespaces.feature +55 -0
  651. data/features/number/SimpleNumberArabic.feature +33 -0
  652. data/features/number/SimpleNumberOrdinalLong.feature +35 -0
  653. data/features/number/SimpleNumberOrdinalShort.feature +33 -0
  654. data/features/number/SimpleNumberRoman.feature +33 -0
  655. data/features/number/StrangeError.feature +34 -0
  656. data/features/page/Chicago.feature +55 -0
  657. data/features/page/Expand.feature +42 -0
  658. data/features/page/Minimal.feature +55 -0
  659. data/features/page/NoOption.feature +34 -0
  660. data/features/page/NumberPageFirst.feature +33 -0
  661. data/features/page/PluralDetectWithEndash.feature +33 -0
  662. data/features/parallel/Bibliography.feature +87 -0
  663. data/features/parallel/HackedChicago.feature +715 -0
  664. data/features/parallel/JournalArticleReverse.feature +46 -0
  665. data/features/parallel/JournalArticleSimple.feature +46 -0
  666. data/features/parallel/TrailingIbid.feature +69 -0
  667. data/features/plural/LabelForced.feature +37 -0
  668. data/features/plural/NameLabelAlways.feature +36 -0
  669. data/features/plural/NameLabelContextualPlural.feature +36 -0
  670. data/features/plural/NameLabelContextualSingular.feature +36 -0
  671. data/features/plural/NameLabelDefaultPlural.feature +36 -0
  672. data/features/plural/NameLabelDefaultSingular.feature +36 -0
  673. data/features/plural/NameLabelNever.feature +36 -0
  674. data/features/position/FalseInBibliography.feature +47 -0
  675. data/features/position/FirstTrueOnlyOnce.feature +55 -0
  676. data/features/position/IbidInText.feature +51 -0
  677. data/features/position/IbidSeparateCiteSameNote.feature +80 -0
  678. data/features/position/IbidWithLocator.feature +52 -0
  679. data/features/position/IbidWithMultipleSoloCitesInBackref.feature +52 -0
  680. data/features/position/IbidWithPrefixFullStop.feature +44 -0
  681. data/features/position/IbidWithSuffix.feature +54 -0
  682. data/features/position/IfIbidIsTrueThenSubsequentIsTrue.feature +61 -0
  683. data/features/position/IfIbidWithLocatorIsTrueThenIbidIsTrue.feature +58 -0
  684. data/features/position/NearNoteFalse.feature +41 -0
  685. data/features/position/NearNoteSameNote.feature +43 -0
  686. data/features/position/NearNoteTrue.feature +41 -0
  687. data/features/position/NearNoteUnsupported.feature +40 -0
  688. data/features/position/NearNoteWithPlugin.feature +454 -0
  689. data/features/position/ResetNoteNumbers.feature +54 -0
  690. data/features/position/TrueInCitation.feature +45 -0
  691. data/features/punctuation/DateStripPeriods.feature +36 -0
  692. data/features/punctuation/DefaultYearSuffixDelimiter.feature +183 -0
  693. data/features/punctuation/DelimiterWithStripPeriodsAndSubstitute1.feature +53 -0
  694. data/features/punctuation/DelimiterWithStripPeriodsAndSubstitute2.feature +52 -0
  695. data/features/punctuation/DelimiterWithStripPeriodsAndSubstitute3.feature +60 -0
  696. data/features/punctuation/DoNotSuppressColonAfterPeriod.feature +34 -0
  697. data/features/punctuation/FrenchOrthography.feature +33 -0
  698. data/features/punctuation/FullMontyField.feature +230 -0
  699. data/features/punctuation/FullMontyPlain.feature +230 -0
  700. data/features/punctuation/FullMontyQuotesIn.feature +233 -0
  701. data/features/punctuation/FullMontyQuotesOut.feature +233 -0
  702. data/features/punctuation/NoSuppressOfPeriodBeforeSemicolon.feature +36 -0
  703. data/features/punctuation/SemicolonDelimiter.feature +62 -0
  704. data/features/punctuation/SuppressPrefixPeriodForDelimiterSemicolon.feature +715 -0
  705. data/features/quotes/Punctuation.feature +43 -0
  706. data/features/quotes/PunctuationNasty.feature +977 -0
  707. data/features/quotes/PunctuationWithInnerQuote.feature +43 -0
  708. data/features/simplespace/case1.feature +202 -0
  709. data/features/sort/AguStyle.feature +94 -0
  710. data/features/sort/AguStyleReverseGroups.feature +94 -0
  711. data/features/sort/AuthorDateWithYearSuffix.feature +202 -0
  712. data/features/sort/BibliographyCitationNumberDescending.feature +51 -0
  713. data/features/sort/BibliographyCitationNumberDescendingViaMacro.feature +54 -0
  714. data/features/sort/BibliographyNosortOption.feature +44 -0
  715. data/features/sort/CaseInsensitiveBibliography.feature +55 -0
  716. data/features/sort/CaseInsensitiveCitation.feature +36 -0
  717. data/features/sort/ChangeInNameSort.feature +54 -0
  718. data/features/sort/ChicagoYearSuffix1.feature +391 -0
  719. data/features/sort/ChicagoYearSuffix2.feature +391 -0
  720. data/features/sort/Citation.feature +42 -0
  721. data/features/sort/CitationEdit.feature +49 -0
  722. data/features/sort/CitationSecondaryKey.feature +46 -0
  723. data/features/sort/CitationUnsorted.feature +42 -0
  724. data/features/sort/CiteGroupDelimiter.feature +45 -0
  725. data/features/sort/ConditionalMacroDates.feature +64 -0
  726. data/features/sort/DateMacroSortWithSecondFieldAlign.feature +56 -0
  727. data/features/sort/DateVariable.feature +36 -0
  728. data/features/sort/DateVariableMixedElementsAscendingA.feature +36 -0
  729. data/features/sort/DateVariableMixedElementsAscendingB.feature +36 -0
  730. data/features/sort/DateVariableMixedElementsDescendingA.feature +36 -0
  731. data/features/sort/DateVariableMixedElementsDescendingB.feature +36 -0
  732. data/features/sort/DateVariableRange.feature +36 -0
  733. data/features/sort/DateVariableRangeMixed.feature +36 -0
  734. data/features/sort/DropNameLabelInSort.feature +116 -0
  735. data/features/sort/EtAlUseLast.feature +54 -0
  736. data/features/sort/FamilyOnly.feature +45 -0
  737. data/features/sort/GroupedByAuthorstring.feature +50 -0
  738. data/features/sort/LatinUnicode.feature +42 -0
  739. data/features/sort/LeadingApostropheOnNameParticle.feature +55 -0
  740. data/features/sort/LocalizedDateLimitedParts.feature +40 -0
  741. data/features/sort/NameImplicitSortOrderAndForm.feature +51 -0
  742. data/features/sort/NameParticleInNameSortFalse.feature +48 -0
  743. data/features/sort/NameParticleInNameSortTrue.feature +48 -0
  744. data/features/sort/NameVariable.feature +47 -0
  745. data/features/sort/NamesUseLast.feature +64 -0
  746. data/features/sort/NumberOfAuthorsAsKey.feature +68 -0
  747. data/features/sort/SeparateAuthorsAndOthers.feature +127 -0
  748. data/features/sort/StatusFieldAscending.feature +46 -0
  749. data/features/sort/StatusFieldDescending.feature +46 -0
  750. data/features/sort/StripMarkup.feature +39 -0
  751. data/features/sort/SubstituteTitle.feature +398 -0
  752. data/features/sort/VariousNameMacros1.feature +287 -0
  753. data/features/sort/VariousNameMacros2.feature +287 -0
  754. data/features/sort/VariousNameMacros3.feature +288 -0
  755. data/features/sort/WithAndInOneEntry.feature +228 -0
  756. data/features/sortseparator/SortSeparatorEmpty.feature +44 -0
  757. data/features/substitute/RepeatedNamesOk.feature +52 -0
  758. data/features/substitute/SuppressOrdinaryVariable.feature +79 -0
  759. data/features/testers/FirstAutoGeneratedZoteroPluginTest.feature +715 -0
  760. data/features/testers/SecondAutoGeneratedZoteroPluginTest.feature +717 -0
  761. data/features/textcase/CapitalizeAll.feature +33 -0
  762. data/features/textcase/CapitalizeFirst.feature +33 -0
  763. data/features/textcase/CapitalizeFirstWithDecor.feature +33 -0
  764. data/features/textcase/CapitalsUntouched.feature +37 -0
  765. data/features/textcase/Lowercase.feature +33 -0
  766. data/features/textcase/SentenceCapitalization.feature +33 -0
  767. data/features/textcase/SkipNameParticlesInTitleCase.feature +33 -0
  768. data/features/textcase/TitleCapitalization.feature +33 -0
  769. data/features/textcase/TitleCaseNonEnglish.feature +33 -0
  770. data/features/textcase/TitleCaseNonEnglish2.feature +34 -0
  771. data/features/textcase/TitleCaseWithHyphens.feature +33 -0
  772. data/features/textcase/TitleCaseWithInitials.feature +33 -0
  773. data/features/textcase/Uppercase.feature +59 -0
  774. data/features/textcase/UppercaseNumber.feature +33 -0
  775. data/features/unicode/NonBreakingSpace.feature +34 -0
  776. data/features/variables/ShortForm.feature +54 -0
  777. data/features/variables/TitleShortOnAbbrevWithTitle.feature +37 -0
  778. data/features/variables/TitleShortOnAbbrevWithTitleCondition.feature +57 -0
  779. data/features/variables/TitleShortOnAbbrevWithTitleGroup.feature +44 -0
  780. data/features/variables/TitleShortOnShortTitleNoTitle.feature +33 -0
  781. data/features/variables/TitleShortOnShortTitleNoTitleCondition.feature +53 -0
  782. data/features/variables/TitleShortOnShortTitleNoTitleGroup.feature +40 -0
  783. data/features/virtual/PageFirst.feature +37 -0
  784. data/lib/citeproc/attributes.rb +7 -1
  785. data/lib/citeproc/version.rb +1 -1
  786. data/spec/citeproc/attributes_spec.rb +71 -27
  787. data/spec/citeproc/item_spec.rb +12 -0
  788. metadata +1563 -4
@@ -0,0 +1,38 @@
1
+ Feature: etal
2
+ As a CSL cite processor hacker
3
+ I want the test etal_ShortFormOfName to pass
4
+
5
+ @citation @etal
6
+ Scenario: Short Form Of Name
7
+ Given the following style:
8
+ """
9
+ <style
10
+ xmlns="http://purl.org/net/xbiblio/csl"
11
+ class="note"
12
+ version="1.0">
13
+ <info>
14
+ <id />
15
+ <title />
16
+ <updated>2009-08-10T04:49:00+09:00</updated>
17
+ </info>
18
+ <citation
19
+ et-al-min="3"
20
+ et-al-use-first="1">
21
+ <layout>
22
+ <names variable="author">
23
+ <name form="short"/>
24
+ <et-al font-style="italic"/>
25
+ </names>
26
+ </layout>
27
+ </citation>
28
+ </style>
29
+ """
30
+ And the following input:
31
+ """
32
+ [{"author":[{"family":"Doe","given":"John"},{"family":"Roe","given":"Jane"},{"family":"Noakes","given":"Richard"}],"id":"ITEM-1","type":"book"}]
33
+ """
34
+ When I cite all items
35
+ Then the result should be:
36
+ """
37
+ Doe <i>et al.</i>
38
+ """
@@ -0,0 +1,47 @@
1
+ Feature: etal
2
+ As a CSL cite processor hacker
3
+ I want the test etal_UseZeroFirst to pass
4
+
5
+ @bibliography @etal
6
+ Scenario: Use Zero First
7
+ Given the following style:
8
+ """
9
+ <style
10
+ xmlns="http://purl.org/net/xbiblio/csl"
11
+ class="note"
12
+ version="1.0">
13
+ <info>
14
+ <id />
15
+ <title />
16
+ <updated>2009-08-10T04:49:00+09:00</updated>
17
+ </info>
18
+ <citation>
19
+ <layout>
20
+ <text value="Oops"/>
21
+ </layout>
22
+ </citation>
23
+ <bibliography>
24
+ <layout>
25
+ <group delimiter=" // ">
26
+ <names variable="author">
27
+ <name et-al-min="2" et-al-use-first="0"/>
28
+ </names>
29
+ <names variable="author">
30
+ <name et-al-min="2" et-al-use-first="1"/>
31
+ </names>
32
+ </group>
33
+ </layout>
34
+ </bibliography>
35
+ </style>
36
+ """
37
+ And the following input:
38
+ """
39
+ [{"author":[{"family":"Doe","given":"John"},{"family":"Roe","given":"Jane"}],"id":"ITEM-1","type":"book"}]
40
+ """
41
+ When I render the entire bibliography
42
+ Then the bibliography should be:
43
+ """
44
+ <div class="csl-bib-body">
45
+ <div class="csl-entry">John Doe et al.</div>
46
+ </div>
47
+ """
@@ -0,0 +1,1064 @@
1
+ Feature: flipflop
2
+ As a CSL cite processor hacker
3
+ I want the test flipflop_Apostrophes to pass
4
+
5
+ @citation @flipflop
6
+ Scenario: Apostrophes
7
+ Given the following style:
8
+ """
9
+ <?xml version="1.0" encoding="utf-8"?>
10
+ <style xmlns="http://purl.org/net/xbiblio/csl" class="note" version="1.0" demote-non-dropping-particle="never">
11
+ <info>
12
+ <title>Chicago Manual of Style (full note, no Ibid.)</title>
13
+ <id>http://www.zotero.org/styles/chicago-fullnote-bibliography-no-ibid</id>
14
+ <link href="http://www.zotero.org/styles/chicago-fullnote-bibliography-no-ibid" rel="self"/>
15
+ <link href="http://www.chicagomanualofstyle.org/tools_citationguide.html" rel="documentation"/>
16
+ <author>
17
+ <name>Julian Onions</name>
18
+ <email>julian.onions@gmail.com</email>
19
+ </author>
20
+ <contributor>
21
+ <name>Simon Kornblith</name>
22
+ <email>simon@simonster.com</email>
23
+ </contributor>
24
+ <contributor>
25
+ <name>Elena Razlogova</name>
26
+ <email>elena.razlogova@gmail.com</email>
27
+ </contributor>
28
+ <contributor>
29
+ <name>Frank Bennett</name>
30
+ <email>biercenator@gmail.com</email>
31
+ </contributor>
32
+ <category citation-format="note"/>
33
+ <category field="generic-base"/>
34
+ <summary>Chicago format with full notes and bibliography</summary>
35
+ <updated>2012-10-25T21:15:26+00:00</updated>
36
+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
37
+ </info>
38
+ <locale xml:lang="en">
39
+ <terms>
40
+ <term name="editortranslator" form="verb-short">
41
+ <single>trans. and ed.</single>
42
+ <multiple>trans. and ed.</multiple>
43
+ </term>
44
+ <term name="editortranslator" form="verb">
45
+ <single>Translated and edited by</single>
46
+ <multiple>Translated and edited by</multiple>
47
+ </term>
48
+ <term name="editor" form="verb-short">ed.</term>
49
+ <term name="translator" form="verb-short">trans.</term>
50
+ <term name="translator" form="short">trans.</term>
51
+ </terms>
52
+ </locale>
53
+ <macro name="editor-translator">
54
+ <group delimiter=", ">
55
+ <choose>
56
+ <if variable="author">
57
+ <group delimiter=" ">
58
+ <choose>
59
+ <if variable="container-author">
60
+ <group>
61
+ <names variable="container-author">
62
+ <label form="verb-short" text-case="lowercase" suffix=" "/>
63
+ <name and="text" delimiter=", "/>
64
+ </names>
65
+ </group>
66
+ </if>
67
+ </choose>
68
+ </group>
69
+ <names variable="editor translator" delimiter=", ">
70
+ <label form="verb-short" text-case="lowercase" suffix=" "/>
71
+ <name and="text" delimiter=", "/>
72
+ </names>
73
+ </if>
74
+ </choose>
75
+ </group>
76
+ </macro>
77
+ <macro name="secondary-contributors-note">
78
+ <choose>
79
+ <if type="chapter paper-conference" match="none">
80
+ <text macro="editor-translator"/>
81
+ </if>
82
+ </choose>
83
+ </macro>
84
+ <macro name="container-contributors-note">
85
+ <choose>
86
+ <if type="chapter paper-conference" match="any">
87
+ <text macro="editor-translator"/>
88
+ </if>
89
+ </choose>
90
+ </macro>
91
+ <macro name="secondary-contributors">
92
+ <choose>
93
+ <if type="chapter paper-conference" match="none">
94
+ <group delimiter=". ">
95
+ <choose>
96
+ <if variable="author">
97
+ <names variable="editor translator" delimiter=". ">
98
+ <label form="verb" text-case="capitalize-first" suffix=" "/>
99
+ <name and="text" delimiter=", "/>
100
+ </names>
101
+ </if>
102
+ </choose>
103
+ </group>
104
+ </if>
105
+ </choose>
106
+ </macro>
107
+ <macro name="container-contributors">
108
+ <choose>
109
+ <if type="chapter paper-conference" match="any">
110
+ <group delimiter=", ">
111
+ <choose>
112
+ <if variable="author">
113
+ <choose>
114
+ <if variable="container-author">
115
+ <names variable="container-author">
116
+ <label form="verb-short" text-case="lowercase" suffix=" "/>
117
+ <name and="text" delimiter=", "/>
118
+ </names>
119
+ </if>
120
+ </choose>
121
+ <!--This includes page numers after the container author, e.g. for Introductions -->
122
+ <choose>
123
+ <if variable="container-author author" match="all">
124
+ <group delimiter=". ">
125
+ <text variable="page"/>
126
+ <names variable="editor translator" delimiter=", ">
127
+ <label form="verb" suffix=" "/>
128
+ <name and="text" delimiter=", "/>
129
+ </names>
130
+ </group>
131
+ </if>
132
+ <else>
133
+ <names variable="editor translator" delimiter=", ">
134
+ <label form="verb" text-case="lowercase" suffix=" "/>
135
+ <name and="text" delimiter=", "/>
136
+ </names>
137
+ </else>
138
+ </choose>
139
+ </if>
140
+ </choose>
141
+ </group>
142
+ </if>
143
+ </choose>
144
+ </macro>
145
+ <macro name="recipient-note">
146
+ <names variable="recipient" delimiter=", ">
147
+ <label form="verb" text-case="lowercase" suffix=" "/>
148
+ <name and="text" delimiter=", "/>
149
+ </names>
150
+ </macro>
151
+ <macro name="contributors-note">
152
+ <group delimiter=" ">
153
+ <names variable="author">
154
+ <name and="text" sort-separator=", " delimiter=", "/>
155
+ <label form="short" prefix=", "/>
156
+ <substitute>
157
+ <names variable="editor"/>
158
+ <names variable="translator"/>
159
+ </substitute>
160
+ </names>
161
+ <text macro="recipient-note"/>
162
+ </group>
163
+ </macro>
164
+ <macro name="editor">
165
+ <names variable="editor">
166
+ <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>
167
+ <label form="short" prefix=", "/>
168
+ </names>
169
+ </macro>
170
+ <macro name="translator">
171
+ <names variable="translator">
172
+ <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>
173
+ <label form="verb-short" prefix=", "/>
174
+ </names>
175
+ </macro>
176
+ <macro name="recipient">
177
+ <group delimiter=" ">
178
+ <choose>
179
+ <if type="personal_communication">
180
+ <choose>
181
+ <if variable="genre">
182
+ <text variable="genre" text-case="capitalize-first"/>
183
+ </if>
184
+ <else>
185
+ <text term="letter" text-case="capitalize-first"/>
186
+ </else>
187
+ </choose>
188
+ </if>
189
+ </choose>
190
+ <text macro="recipient-note"/>
191
+ </group>
192
+ </macro>
193
+ <macro name="contributors">
194
+ <group delimiter=". ">
195
+ <names variable="author">
196
+ <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>
197
+ <substitute>
198
+ <text macro="editor"/>
199
+ <text macro="translator"/>
200
+ </substitute>
201
+ </names>
202
+ <text macro="recipient"/>
203
+ </group>
204
+ </macro>
205
+ <macro name="recipient-short">
206
+ <names variable="recipient">
207
+ <label form="verb" text-case="lowercase" suffix=" "/>
208
+ <name form="short" and="text" delimiter=", "/>
209
+ </names>
210
+ </macro>
211
+ <macro name="contributors-short">
212
+ <group delimiter=" ">
213
+ <names variable="author">
214
+ <name form="short" and="text" delimiter=", "/>
215
+ <substitute>
216
+ <names variable="editor"/>
217
+ <names variable="translator"/>
218
+ </substitute>
219
+ </names>
220
+ <text macro="recipient-short"/>
221
+ </group>
222
+ </macro>
223
+ <macro name="contributors-sort">
224
+ <names variable="author">
225
+ <name name-as-sort-order="all" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>
226
+ <substitute>
227
+ <names variable="editor"/>
228
+ <names variable="translator"/>
229
+ <text macro="title"/>
230
+ </substitute>
231
+ </names>
232
+ </macro>
233
+ <macro name="interviewer-note">
234
+ <names variable="interviewer" delimiter=", ">
235
+ <label form="verb" text-case="lowercase" suffix=" "/>
236
+ <name and="text" delimiter=", "/>
237
+ </names>
238
+ </macro>
239
+ <macro name="interviewer">
240
+ <names variable="interviewer" delimiter=", ">
241
+ <label form="verb" text-case="capitalize-first" suffix=" "/>
242
+ <name and="text" delimiter=", "/>
243
+ </names>
244
+ </macro>
245
+ <macro name="title-note">
246
+ <choose>
247
+ <if variable="title" match="none">
248
+ <text variable="genre"/>
249
+ </if>
250
+ <else-if type="bill book graphic legislation motion_picture report song" match="any">
251
+ <text variable="title" text-case="title" font-style="italic"/>
252
+ <group delimiter=" " prefix=", ">
253
+ <text term="version"/>
254
+ <text variable="version"/>
255
+ </group>
256
+ </else-if>
257
+ <else-if type="legal_case interview" match="any">
258
+ <text variable="title"/>
259
+ </else-if>
260
+ <else>
261
+ <text variable="title" text-case="title" quotes="true"/>
262
+ </else>
263
+ </choose>
264
+ </macro>
265
+ <macro name="title">
266
+ <choose>
267
+ <if variable="title" match="none">
268
+ <choose>
269
+ <if type="personal_communication" match="none">
270
+ <text variable="genre" text-case="capitalize-first"/>
271
+ </if>
272
+ </choose>
273
+ </if>
274
+ <else-if type="bill book graphic legislation motion_picture report song" match="any">
275
+ <text variable="title" text-case="title" font-style="italic"/>
276
+ <group prefix=" (" suffix=")" delimiter=" ">
277
+ <text term="version"/>
278
+ <text variable="version"/>
279
+ </group>
280
+ </else-if>
281
+ <else-if type="legal_case interview" match="any">
282
+ <text variable="title"/>
283
+ </else-if>
284
+ <else>
285
+ <text variable="title" text-case="title" quotes="true"/>
286
+ </else>
287
+ </choose>
288
+ </macro>
289
+ <macro name="title-short">
290
+ <choose>
291
+ <if variable="title" match="none">
292
+ <choose>
293
+ <if type="interview">
294
+ <text term="interview"/>
295
+ </if>
296
+ <else-if type="manuscript speech" match="any">
297
+ <text variable="genre" form="short"/>
298
+ </else-if>
299
+ <else-if type="personal_communication">
300
+ <text macro="issued"/>
301
+ </else-if>
302
+ </choose>
303
+ </if>
304
+ <else-if type="bill book graphic legislation motion_picture report song" match="any">
305
+ <text variable="title" text-case="title" form="short" font-style="italic"/>
306
+ </else-if>
307
+ <else-if type="legal_case interview" match="any">
308
+ <text variable="title"/>
309
+ </else-if>
310
+ <else>
311
+ <text variable="title" text-case="title" form="short" quotes="true"/>
312
+ </else>
313
+ </choose>
314
+ </macro>
315
+ <macro name="date-disambiguate">
316
+ <choose>
317
+ <if disambiguate="true">
318
+ <text macro="issued"/>
319
+ </if>
320
+ </choose>
321
+ </macro>
322
+ <macro name="description-note">
323
+ <group delimiter=", ">
324
+ <text macro="interviewer-note"/>
325
+ <text variable="medium"/>
326
+ <choose>
327
+ <if variable="title" match="none"/>
328
+ <else-if type="thesis speech" match="any"/>
329
+ <else>
330
+ <text variable="genre"/>
331
+ </else>
332
+ </choose>
333
+ </group>
334
+ </macro>
335
+ <macro name="description">
336
+ <group delimiter=", ">
337
+ <group delimiter=". ">
338
+ <text macro="interviewer"/>
339
+ <text variable="medium" text-case="capitalize-first"/>
340
+ </group>
341
+ <choose>
342
+ <if variable="title" match="none"/>
343
+ <else-if type="thesis speech" match="any"/>
344
+ <else>
345
+ <text variable="genre" text-case="capitalize-first"/>
346
+ </else>
347
+ </choose>
348
+ </group>
349
+ </macro>
350
+ <macro name="container-title-note">
351
+ <group delimiter=" ">
352
+ <choose>
353
+ <if type="chapter paper-conference" match="any">
354
+ <text term="in" text-case="lowercase"/>
355
+ </if>
356
+ </choose>
357
+ <choose>
358
+ <if type="legal_case" match="none">
359
+ <text variable="container-title" text-case="title" font-style="italic"/>
360
+ </if>
361
+ </choose>
362
+ </group>
363
+ </macro>
364
+ <macro name="container-title">
365
+ <group delimiter=" ">
366
+ <choose>
367
+ <if type="chapter paper-conference" match="any">
368
+ <text term="in" text-case="capitalize-first"/>
369
+ </if>
370
+ </choose>
371
+ <choose>
372
+ <if type="legal_case" match="none">
373
+ <text variable="container-title" text-case="title" font-style="italic"/>
374
+ </if>
375
+ </choose>
376
+ </group>
377
+ </macro>
378
+ <macro name="collection-title">
379
+ <group delimiter=" ">
380
+ <text variable="collection-title" text-case="title"/>
381
+ <text variable="collection-number"/>
382
+ </group>
383
+ </macro>
384
+ <macro name="edition-note">
385
+ <choose>
386
+ <if type="bill book chapter graphic legal_case legislation motion_picture paper-conference report song" match="any">
387
+ <choose>
388
+ <if is-numeric="edition">
389
+ <group delimiter=" ">
390
+ <number variable="edition" form="ordinal"/>
391
+ <text term="edition" form="short"/>
392
+ </group>
393
+ </if>
394
+ <else>
395
+ <number variable="edition" suffix="."/>
396
+ </else>
397
+ </choose>
398
+ </if>
399
+ </choose>
400
+ </macro>
401
+ <macro name="edition">
402
+ <choose>
403
+ <if type="bill book chapter graphic legal_case legislation motion_picture paper-conference report song" match="any">
404
+ <choose>
405
+ <if is-numeric="edition">
406
+ <group delimiter=" ">
407
+ <number variable="edition" form="ordinal"/>
408
+ <text term="edition" form="short"/>
409
+ </group>
410
+ </if>
411
+ <else>
412
+ <number variable="edition" text-case="capitalize-first" suffix="."/>
413
+ </else>
414
+ </choose>
415
+ </if>
416
+ </choose>
417
+ </macro>
418
+ <macro name="locators-note-join-with-space">
419
+ <choose>
420
+ <if type="article-journal">
421
+ <text macro="locators-note"/>
422
+ </if>
423
+ </choose>
424
+ </macro>
425
+ <macro name="locators-note-join-with-comma">
426
+ <choose>
427
+ <if type="article-journal" match="none">
428
+ <text macro="locators-note"/>
429
+ </if>
430
+ </choose>
431
+ </macro>
432
+ <macro name="locators-note">
433
+ <choose>
434
+ <if type="article-journal">
435
+ <group delimiter=", ">
436
+ <number variable="volume"/>
437
+ <group delimiter=" ">
438
+ <text term="issue" form="short"/>
439
+ <number variable="issue"/>
440
+ </group>
441
+ </group>
442
+ </if>
443
+ <else-if type="legal_case">
444
+ <group delimiter=", ">
445
+ <group delimiter=" ">
446
+ <number variable="volume"/>
447
+ <text variable="container-title"/>
448
+ <text variable="page"/>
449
+ </group>
450
+ <text variable="locator"/>
451
+ </group>
452
+ </else-if>
453
+ <else-if type="bill book chapter graphic legal_case legislation motion_picture paper-conference report song" match="any">
454
+ <group delimiter=", ">
455
+ <group delimiter=" ">
456
+ <text term="volume" form="short"/>
457
+ <number variable="volume" form="numeric"/>
458
+ </group>
459
+ <choose>
460
+ <if variable="locator" match="none">
461
+ <group delimiter=" ">
462
+ <number variable="number-of-volumes" form="numeric"/>
463
+ <text term="volume" form="short" plural="true"/>
464
+ </group>
465
+ </if>
466
+ </choose>
467
+ <text macro="edition-note"/>
468
+ </group>
469
+ </else-if>
470
+ </choose>
471
+ </macro>
472
+ <macro name="locators-join-with-space">
473
+ <choose>
474
+ <if type="article-journal">
475
+ <text macro="locators"/>
476
+ </if>
477
+ </choose>
478
+ </macro>
479
+ <macro name="locators-join-with-comma">
480
+ <choose>
481
+ <if type="legal_case">
482
+ <text macro="locators"/>
483
+ </if>
484
+ </choose>
485
+ </macro>
486
+ <macro name="locators-join-with-period">
487
+ <choose>
488
+ <if type="legal_case article-journal" match="none">
489
+ <text macro="locators"/>
490
+ </if>
491
+ </choose>
492
+ </macro>
493
+ <macro name="locators">
494
+ <choose>
495
+ <if type="article-journal">
496
+ <group delimiter=", ">
497
+ <number variable="volume"/>
498
+ <group delimiter=" ">
499
+ <text term="issue" form="short"/>
500
+ <number variable="issue"/>
501
+ </group>
502
+ </group>
503
+ </if>
504
+ <else-if type="legal_case">
505
+ <group delimiter=" ">
506
+ <number variable="volume"/>
507
+ <text variable="container-title"/>
508
+ <text variable="page"/>
509
+ </group>
510
+ </else-if>
511
+ <else-if type="bill book graphic legal_case legislation motion_picture report song" match="any">
512
+ <group delimiter=". ">
513
+ <group delimiter=" ">
514
+ <text term="volume" form="short" text-case="capitalize-first"/>
515
+ <number variable="volume" form="numeric"/>
516
+ </group>
517
+ <group delimiter=" ">
518
+ <number variable="number-of-volumes" form="numeric"/>
519
+ <text term="volume" form="short" plural="true"/>
520
+ </group>
521
+ <text macro="edition"/>
522
+ </group>
523
+ </else-if>
524
+ <else-if type="chapter paper-conference" match="any">
525
+ <group delimiter=". ">
526
+ <choose>
527
+ <if variable="page" match="none">
528
+ <group delimiter=" ">
529
+ <text term="volume" form="short" text-case="capitalize-first"/>
530
+ <number variable="volume" form="numeric"/>
531
+ </group>
532
+ </if>
533
+ </choose>
534
+ <text macro="edition"/>
535
+ </group>
536
+ </else-if>
537
+ </choose>
538
+ </macro>
539
+ <macro name="locators-newspaper">
540
+ <choose>
541
+ <if type="article-newspaper">
542
+ <group delimiter=", ">
543
+ <group delimiter=" ">
544
+ <number variable="edition"/>
545
+ <text term="edition"/>
546
+ </group>
547
+ <group delimiter=" ">
548
+ <text term="section" form="short"/>
549
+ <text variable="section"/>
550
+ </group>
551
+ </group>
552
+ </if>
553
+ </choose>
554
+ </macro>
555
+ <macro name="event">
556
+ <group delimiter=" ">
557
+ <text term="presented at"/>
558
+ <text variable="event"/>
559
+ </group>
560
+ </macro>
561
+ <macro name="publisher">
562
+ <choose>
563
+ <if type="thesis">
564
+ <text variable="publisher"/>
565
+ </if>
566
+ <else>
567
+ <group delimiter=": ">
568
+ <text variable="publisher-place"/>
569
+ <text variable="publisher"/>
570
+ </group>
571
+ </else>
572
+ </choose>
573
+ </macro>
574
+ <macro name="issued">
575
+ <choose>
576
+ <if variable="issued">
577
+ <choose>
578
+ <if type="graphic report" match="any">
579
+ <date variable="issued" form="text"/>
580
+ </if>
581
+ <else-if type="legal_case">
582
+ <group delimiter=" ">
583
+ <text variable="authority"/>
584
+ <date variable="issued">
585
+ <date-part name="year"/>
586
+ </date>
587
+ </group>
588
+ </else-if>
589
+ <else-if type="bill book chapter graphic legal_case legislation motion_picture paper-conference report song thesis" match="any">
590
+ <date variable="issued">
591
+ <date-part name="year"/>
592
+ </date>
593
+ </else-if>
594
+ <else>
595
+ <date variable="issued" form="text"/>
596
+ </else>
597
+ </choose>
598
+ </if>
599
+ <else-if variable="accessed URL" match="all"/>
600
+ <else>
601
+ <text term="no date" form="short"/>
602
+ </else>
603
+ </choose>
604
+ </macro>
605
+ <macro name="point-locators-subsequent">
606
+ <choose>
607
+ <if variable="locator">
608
+ <choose>
609
+ <if locator="page" match="none">
610
+ <group delimiter=" ">
611
+ <choose>
612
+ <if type="bill book graphic legal_case legislation motion_picture report song" match="any">
613
+ <choose>
614
+ <if variable="volume">
615
+ <group delimiter=", ">
616
+ <group delimiter=" ">
617
+ <text term="volume" form="short" text-case="lowercase"/>
618
+ <number variable="volume" form="numeric"/>
619
+ </group>
620
+ <label variable="locator" form="short"/>
621
+ </group>
622
+ </if>
623
+ <else>
624
+ <label variable="locator" form="short"/>
625
+ </else>
626
+ </choose>
627
+ </if>
628
+ <else>
629
+ <label variable="locator" form="short"/>
630
+ </else>
631
+ </choose>
632
+ <text variable="locator"/>
633
+ </group>
634
+ </if>
635
+ <else-if type="bill book graphic legal_case legislation motion_picture report song" match="any">
636
+ <group delimiter=":">
637
+ <number variable="volume" form="numeric"/>
638
+ <text variable="locator"/>
639
+ </group>
640
+ </else-if>
641
+ <else>
642
+ <text variable="locator"/>
643
+ </else>
644
+ </choose>
645
+ </if>
646
+ </choose>
647
+ </macro>
648
+ <macro name="point-locators-join-with-colon">
649
+ <choose>
650
+ <if type="article-journal">
651
+ <choose>
652
+ <if variable="locator page" match="any">
653
+ <text macro="point-locators"/>
654
+ </if>
655
+ </choose>
656
+ </if>
657
+ </choose>
658
+ </macro>
659
+ <macro name="point-locators-join-with-comma">
660
+ <choose>
661
+ <if type="article-journal" match="none">
662
+ <text macro="point-locators"/>
663
+ </if>
664
+ </choose>
665
+ </macro>
666
+ <macro name="point-locators">
667
+ <choose>
668
+ <if variable="locator" match="none">
669
+ <choose>
670
+ <if type="article-journal chapter paper-conference" match="any">
671
+ <text variable="page"/>
672
+ </if>
673
+ </choose>
674
+ </if>
675
+ <else-if type="article-journal">
676
+ <group delimiter=" ">
677
+ <choose>
678
+ <if locator="page" match="none">
679
+ <label variable="locator" form="short" suffix=" "/>
680
+ </if>
681
+ </choose>
682
+ <text variable="locator"/>
683
+ </group>
684
+ </else-if>
685
+ <else-if type="legal_case"/>
686
+ <else>
687
+ <group delimiter=" ">
688
+ <choose>
689
+ <if locator="page" match="none">
690
+ <label variable="locator" form="short"/>
691
+ </if>
692
+ </choose>
693
+ <text variable="locator"/>
694
+ </group>
695
+ </else>
696
+ </choose>
697
+ </macro>
698
+ <macro name="locators-chapter">
699
+ <choose>
700
+ <if type="chapter paper-conference" match="any">
701
+ <choose>
702
+ <if variable="author container-author" match="all"/>
703
+ <else>
704
+ <choose>
705
+ <if variable="page">
706
+ <number variable="volume" suffix=":"/>
707
+ <text variable="page"/>
708
+ </if>
709
+ </choose>
710
+ </else>
711
+ </choose>
712
+ </if>
713
+ </choose>
714
+ </macro>
715
+ <macro name="locators-journal">
716
+ <choose>
717
+ <if type="article-journal">
718
+ <text variable="page"/>
719
+ </if>
720
+ </choose>
721
+ </macro>
722
+ <macro name="archive-note">
723
+ <choose>
724
+ <if type="thesis">
725
+ <group delimiter=" ">
726
+ <text variable="archive"/>
727
+ <text variable="archive_location" prefix="(" suffix=")"/>
728
+ </group>
729
+ </if>
730
+ <else>
731
+ <group delimiter=", ">
732
+ <text variable="archive_location"/>
733
+ <text variable="archive"/>
734
+ <text variable="archive-place"/>
735
+ </group>
736
+ </else>
737
+ </choose>
738
+ </macro>
739
+ <macro name="archive">
740
+ <choose>
741
+ <if type="thesis">
742
+ <group delimiter=" ">
743
+ <text variable="archive"/>
744
+ <text variable="archive_location" prefix="(" suffix=")"/>
745
+ </group>
746
+ </if>
747
+ <else>
748
+ <group delimiter=". ">
749
+ <text variable="archive_location" text-case="capitalize-first"/>
750
+ <text variable="archive"/>
751
+ <text variable="archive-place"/>
752
+ </group>
753
+ </else>
754
+ </choose>
755
+ </macro>
756
+ <macro name="issue-note-join-with-space">
757
+ <choose>
758
+ <if type="article-journal legal_case" variable="publisher-place publisher" match="any">
759
+ <!--Chicago doesn't use publisher/place for Newspapers and we want the date delimited by a comma-->
760
+ <choose>
761
+ <if type="article-newspaper" match="none">
762
+ <text macro="issue-note"/>
763
+ </if>
764
+ </choose>
765
+ </if>
766
+ </choose>
767
+ </macro>
768
+ <macro name="issue-note-join-with-comma">
769
+ <choose>
770
+ <if type="article-journal legal_case" variable="publisher-place publisher" match="none">
771
+ <text macro="issue-note"/>
772
+ </if>
773
+ <else-if type="article-newspaper">
774
+ <text macro="issue-note"/>
775
+ </else-if>
776
+ </choose>
777
+ </macro>
778
+ <macro name="issue-note">
779
+ <choose>
780
+ <if type="article-journal legal_case" match="any">
781
+ <text macro="issued" prefix="(" suffix=")"/>
782
+ </if>
783
+ <else-if type="article-newspaper">
784
+ <text macro="issued"/>
785
+ </else-if>
786
+ <else-if variable="publisher-place publisher" match="any">
787
+ <group prefix="(" suffix=")" delimiter=", ">
788
+ <group delimiter=" ">
789
+ <choose>
790
+ <if variable="title" match="none"/>
791
+ <else-if type="thesis speech" match="any">
792
+ <text variable="genre"/>
793
+ </else-if>
794
+ </choose>
795
+ <text macro="event"/>
796
+ </group>
797
+ <text macro="publisher"/>
798
+ <text macro="issued"/>
799
+ </group>
800
+ </else-if>
801
+ <else>
802
+ <text macro="issued"/>
803
+ </else>
804
+ </choose>
805
+ </macro>
806
+ <macro name="issue-join-with-space">
807
+ <choose>
808
+ <if type="article-journal legal_case" match="any">
809
+ <text macro="issue"/>
810
+ </if>
811
+ </choose>
812
+ </macro>
813
+ <macro name="issue-join-with-period">
814
+ <choose>
815
+ <if type="article-journal legal_case" match="none">
816
+ <choose>
817
+ <if type="speech" variable="publisher publisher-place" match="any">
818
+ <text macro="issue"/>
819
+ </if>
820
+ </choose>
821
+ </if>
822
+ </choose>
823
+ </macro>
824
+ <macro name="issue-join-with-comma">
825
+ <choose>
826
+ <if type="article-journal legal_case" match="none">
827
+ <choose>
828
+ <if type="speech" variable="publisher publisher-place" match="none">
829
+ <text macro="issue"/>
830
+ </if>
831
+ </choose>
832
+ </if>
833
+ </choose>
834
+ </macro>
835
+ <macro name="issue">
836
+ <choose>
837
+ <if type="article-journal legal_case" match="any">
838
+ <text macro="issued" prefix="(" suffix=")"/>
839
+ </if>
840
+ <else-if type="speech">
841
+ <group delimiter=", ">
842
+ <group delimiter=" ">
843
+ <choose>
844
+ <if variable="title" match="none"/>
845
+ <else>
846
+ <text variable="genre" text-case="capitalize-first"/>
847
+ </else>
848
+ </choose>
849
+ <text macro="event"/>
850
+ </group>
851
+ <text variable="event-place"/>
852
+ <text macro="issued"/>
853
+ </group>
854
+ </else-if>
855
+ <!--Chicago doesn't use publisher/place for Newspapers -->
856
+ <else-if type="article-newspaper">
857
+ <text macro="issued"/>
858
+ </else-if>
859
+ <else-if variable="publisher-place publisher" match="any">
860
+ <group delimiter=", ">
861
+ <choose>
862
+ <if type="thesis">
863
+ <text variable="genre" text-case="capitalize-first"/>
864
+ </if>
865
+ </choose>
866
+ <text macro="publisher"/>
867
+ <text macro="issued"/>
868
+ </group>
869
+ </else-if>
870
+ <else>
871
+ <text macro="issued"/>
872
+ </else>
873
+ </choose>
874
+ </macro>
875
+ <macro name="access-note">
876
+ <group delimiter=", ">
877
+ <choose>
878
+ <if type="graphic report" match="any">
879
+ <text macro="archive-note"/>
880
+ </if>
881
+ <else-if type="article-journal bill book chapter legal_case legislation motion_picture paper-conference" match="none">
882
+ <text macro="archive-note"/>
883
+ </else-if>
884
+ </choose>
885
+ <choose>
886
+ <if variable="issued" match="none">
887
+ <group delimiter=" ">
888
+ <text term="accessed"/>
889
+ <date variable="accessed" form="text"/>
890
+ </group>
891
+ </if>
892
+ </choose>
893
+ <choose>
894
+ <if type="legal_case" match="none">
895
+ <choose>
896
+ <if variable="DOI">
897
+ <text variable="DOI" prefix="doi:"/>
898
+ </if>
899
+ <else>
900
+ <text variable="URL"/>
901
+ </else>
902
+ </choose>
903
+ </if>
904
+ </choose>
905
+ </group>
906
+ </macro>
907
+ <macro name="access">
908
+ <group delimiter=". ">
909
+ <choose>
910
+ <if type="graphic report" match="any">
911
+ <text macro="archive"/>
912
+ </if>
913
+ <else-if type="article-journal bill book chapter legal_case legislation motion_picture paper-conference" match="none">
914
+ <text macro="archive"/>
915
+ </else-if>
916
+ </choose>
917
+ <choose>
918
+ <if variable="issued" match="none">
919
+ <group delimiter=" ">
920
+ <text term="accessed" text-case="capitalize-first"/>
921
+ <date variable="accessed" form="text"/>
922
+ </group>
923
+ </if>
924
+ </choose>
925
+ <choose>
926
+ <if type="legal_case" match="none">
927
+ <choose>
928
+ <if variable="DOI">
929
+ <text variable="DOI" prefix="doi:"/>
930
+ </if>
931
+ <else>
932
+ <text variable="URL"/>
933
+ </else>
934
+ </choose>
935
+ </if>
936
+ </choose>
937
+ </group>
938
+ </macro>
939
+ <macro name="case-locator-subsequent">
940
+ <choose>
941
+ <if type="legal_case">
942
+ <text macro="locators-note"/>
943
+ </if>
944
+ </choose>
945
+ </macro>
946
+ <macro name="case-issue-subsequent">
947
+ <choose>
948
+ <if type="legal_case">
949
+ <text macro="issue"/>
950
+ </if>
951
+ </choose>
952
+ </macro>
953
+ <citation et-al-min="4" et-al-use-first="1" disambiguate-add-names="true">
954
+ <layout suffix="." delimiter="; ">
955
+ <choose>
956
+ <if position="subsequent">
957
+ <group delimiter=", ">
958
+ <text macro="contributors-short"/>
959
+ <group delimiter=" ">
960
+ <group delimiter=", ">
961
+ <text macro="title-short"/>
962
+ <!--if title & author are the same: -->
963
+ <text macro="date-disambiguate"/>
964
+ <text macro="case-locator-subsequent"/>
965
+ </group>
966
+ <text macro="case-issue-subsequent"/>
967
+ </group>
968
+ <text macro="point-locators-subsequent"/>
969
+ </group>
970
+ </if>
971
+ <else>
972
+ <group delimiter=", ">
973
+ <group delimiter=": ">
974
+ <group delimiter=", ">
975
+ <group delimiter=" ">
976
+ <group delimiter=", ">
977
+ <group delimiter=" ">
978
+ <group delimiter=", ">
979
+ <group delimiter=", ">
980
+ <text macro="contributors-note"/>
981
+ <text macro="title-note"/>
982
+ </group>
983
+ <text macro="description-note"/>
984
+ <text macro="secondary-contributors-note"/>
985
+ <text macro="container-title-note"/>
986
+ <text macro="container-contributors-note"/>
987
+ </group>
988
+ <text macro="locators-note-join-with-space"/>
989
+ </group>
990
+ <text macro="locators-note-join-with-comma"/>
991
+ <text macro="collection-title"/>
992
+ <text macro="issue-note-join-with-comma"/>
993
+ </group>
994
+ <text macro="issue-note-join-with-space"/>
995
+ </group>
996
+ <text macro="locators-newspaper"/>
997
+ <text macro="point-locators-join-with-comma"/>
998
+ </group>
999
+ <text macro="point-locators-join-with-colon"/>
1000
+ </group>
1001
+ <text macro="access-note"/>
1002
+ </group>
1003
+ </else>
1004
+ </choose>
1005
+ </layout>
1006
+ </citation>
1007
+ <bibliography hanging-indent="true" et-al-min="11" et-al-use-first="7" subsequent-author-substitute="&#8212;&#8212;&#8212;" entry-spacing="0">
1008
+ <sort>
1009
+ <key macro="contributors-sort"/>
1010
+ <key variable="title"/>
1011
+ <key variable="genre"/>
1012
+ <key variable="issued"/>
1013
+ </sort>
1014
+ <layout suffix=".">
1015
+ <group delimiter=". ">
1016
+ <group delimiter=": ">
1017
+ <group delimiter=", ">
1018
+ <group delimiter=" ">
1019
+ <group delimiter=". ">
1020
+ <group delimiter=" ">
1021
+ <group delimiter=", ">
1022
+ <group delimiter=". ">
1023
+ <group delimiter=". ">
1024
+ <text macro="contributors"/>
1025
+ <text macro="title"/>
1026
+ </group>
1027
+ <text macro="description"/>
1028
+ <text macro="secondary-contributors"/>
1029
+ <group delimiter=", ">
1030
+ <text macro="container-title"/>
1031
+ <text macro="container-contributors"/>
1032
+ <text macro="locators-chapter"/>
1033
+ </group>
1034
+ <text macro="locators-join-with-period"/>
1035
+ </group>
1036
+ <text macro="locators-join-with-comma"/>
1037
+ </group>
1038
+ <text macro="locators-join-with-space"/>
1039
+ </group>
1040
+ <text macro="collection-title"/>
1041
+ <text macro="issue-join-with-period"/>
1042
+ </group>
1043
+ <text macro="issue-join-with-space"/>
1044
+ </group>
1045
+ <text macro="issue-join-with-comma"/>
1046
+ <text macro="locators-newspaper"/>
1047
+ </group>
1048
+ <text macro="locators-journal"/>
1049
+ </group>
1050
+ <text macro="access"/>
1051
+ </group>
1052
+ </layout>
1053
+ </bibliography>
1054
+ </style>
1055
+ """
1056
+ And the following input:
1057
+ """
1058
+ [{"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":""}]
1059
+ """
1060
+ When I cite all items
1061
+ Then the result should be:
1062
+ """
1063
+ “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.).
1064
+ """