citeproc-ruby 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (125) hide show
  1. data/README.md +78 -0
  2. data/lib/citeproc.rb +100 -0
  3. data/lib/citeproc/bibliography.rb +57 -0
  4. data/lib/citeproc/data.rb +149 -0
  5. data/lib/citeproc/date.rb +133 -0
  6. data/lib/citeproc/formatter.rb +38 -0
  7. data/lib/citeproc/item.rb +53 -0
  8. data/lib/citeproc/name.rb +284 -0
  9. data/lib/citeproc/processor.rb +166 -0
  10. data/lib/citeproc/selector.rb +61 -0
  11. data/lib/citeproc/variable.rb +82 -0
  12. data/lib/citeproc/version.rb +3 -0
  13. data/lib/csl/locale.rb +223 -0
  14. data/lib/csl/node.rb +72 -0
  15. data/lib/csl/nodes.rb +1364 -0
  16. data/lib/csl/renderer.rb +88 -0
  17. data/lib/csl/sort.rb +53 -0
  18. data/lib/csl/style.rb +110 -0
  19. data/lib/csl/term.rb +124 -0
  20. data/lib/extensions/core.rb +43 -0
  21. data/lib/plugins/filters/bibtex.rb +12 -0
  22. data/lib/plugins/formats/default.rb +134 -0
  23. data/lib/plugins/formats/html.rb +67 -0
  24. data/lib/support/attributes.rb +99 -0
  25. data/lib/support/tree.rb +80 -0
  26. data/resource/locale/locales-af-ZA.xml +304 -0
  27. data/resource/locale/locales-ar-AR.xml +304 -0
  28. data/resource/locale/locales-bg-BG.xml +304 -0
  29. data/resource/locale/locales-ca-AD.xml +304 -0
  30. data/resource/locale/locales-cs-CZ.xml +304 -0
  31. data/resource/locale/locales-da-DK.xml +304 -0
  32. data/resource/locale/locales-de-AT.xml +304 -0
  33. data/resource/locale/locales-de-CH.xml +304 -0
  34. data/resource/locale/locales-de-DE.xml +332 -0
  35. data/resource/locale/locales-el-GR.xml +303 -0
  36. data/resource/locale/locales-en-US.xml +313 -0
  37. data/resource/locale/locales-es-ES.xml +304 -0
  38. data/resource/locale/locales-et-EE.xml +304 -0
  39. data/resource/locale/locales-fr-FR.xml +304 -0
  40. data/resource/locale/locales-he-IL.xml +304 -0
  41. data/resource/locale/locales-hu-HU.xml +304 -0
  42. data/resource/locale/locales-is-IS.xml +304 -0
  43. data/resource/locale/locales-it-IT.xml +304 -0
  44. data/resource/locale/locales-ja-JP.xml +304 -0
  45. data/resource/locale/locales-kh-KH.xml +303 -0
  46. data/resource/locale/locales-ko-KR.xml +304 -0
  47. data/resource/locale/locales-mn-MN.xml +304 -0
  48. data/resource/locale/locales-nb-NO.xml +304 -0
  49. data/resource/locale/locales-nl-NL.xml +304 -0
  50. data/resource/locale/locales-nn-NO.xml +304 -0
  51. data/resource/locale/locales-pl-PL.xml +304 -0
  52. data/resource/locale/locales-pt-BR.xml +304 -0
  53. data/resource/locale/locales-pt-PT.xml +304 -0
  54. data/resource/locale/locales-ro-RO.xml +304 -0
  55. data/resource/locale/locales-ru-RU.xml +304 -0
  56. data/resource/locale/locales-sk-SK.xml +304 -0
  57. data/resource/locale/locales-sl-SI.xml +304 -0
  58. data/resource/locale/locales-sr-RS.xml +304 -0
  59. data/resource/locale/locales-sv-SE.xml +304 -0
  60. data/resource/locale/locales-th-TH.xml +304 -0
  61. data/resource/locale/locales-tr-TR.xml +304 -0
  62. data/resource/locale/locales-uk-UA.xml +304 -0
  63. data/resource/locale/locales-vi-VN.xml +304 -0
  64. data/resource/locale/locales-zh-CN.xml +304 -0
  65. data/resource/locale/locales-zh-TW.xml +304 -0
  66. data/resource/schema/csl-categories.rnc +39 -0
  67. data/resource/schema/csl-data.rnc +98 -0
  68. data/resource/schema/csl-terms.rnc +106 -0
  69. data/resource/schema/csl-types.rnc +39 -0
  70. data/resource/schema/csl-variables.rnc +182 -0
  71. data/resource/schema/csl.rnc +941 -0
  72. data/resource/style/acta-materialia-x.csl +128 -0
  73. data/resource/style/advanced-engineering-materials-x.csl +121 -0
  74. data/resource/style/ama.csl +185 -0
  75. data/resource/style/ama2-x.csl +179 -0
  76. data/resource/style/apa-x.csl +324 -0
  77. data/resource/style/apa.csl +254 -0
  78. data/resource/style/apsa-x.csl +163 -0
  79. data/resource/style/apsa.csl +176 -0
  80. data/resource/style/asa-x.csl +203 -0
  81. data/resource/style/asa.csl +216 -0
  82. data/resource/style/asm-journals-x.csl +131 -0
  83. data/resource/style/bibtex-x2.csl +175 -0
  84. data/resource/style/bluebook-demo-x.csl +392 -0
  85. data/resource/style/bluebook-demo.csl +942 -0
  86. data/resource/style/chicago-author-date-listing.csl +434 -0
  87. data/resource/style/chicago-author-date.csl +369 -0
  88. data/resource/style/chicago-fullnote-bibliography-bb.csl +928 -0
  89. data/resource/style/chicago-fullnote-bibliography.csl +695 -0
  90. data/resource/style/chicago-note-bibliography.csl +446 -0
  91. data/resource/style/chicago-note.csl +388 -0
  92. data/resource/style/greek-chicago-x.csl +1182 -0
  93. data/resource/style/harvard1-institution-italic.csl +190 -0
  94. data/resource/style/harvard1.csl +181 -0
  95. data/resource/style/ieee.csl +129 -0
  96. data/resource/style/mhra-x.csl +312 -0
  97. data/resource/style/mhra.csl +390 -0
  98. data/resource/style/mhra_note_without_bibliography-x.csl +330 -0
  99. data/resource/style/mhra_note_without_bibliography.csl +338 -0
  100. data/resource/style/mla-x.csl +178 -0
  101. data/resource/style/mla.csl +189 -0
  102. data/resource/style/nature-x.csl +81 -0
  103. data/resource/style/nature.csl +88 -0
  104. data/resource/style/nlm.csl +117 -0
  105. data/spec/citeproc/bibliography_spec.rb +45 -0
  106. data/spec/citeproc/citeproc_spec.rb +76 -0
  107. data/spec/citeproc/date_spec.rb +85 -0
  108. data/spec/citeproc/formatter_spec.rb +101 -0
  109. data/spec/citeproc/item_spec.rb +71 -0
  110. data/spec/citeproc/name_spec.rb +30 -0
  111. data/spec/citeproc/processor_spec.rb +61 -0
  112. data/spec/citeproc/selector_spec.rb +82 -0
  113. data/spec/citeproc/variable_spec.rb +69 -0
  114. data/spec/csl/locale_spec.rb +208 -0
  115. data/spec/csl/node_spec.rb +25 -0
  116. data/spec/csl/nodes_spec.rb +140 -0
  117. data/spec/csl/style_spec.rb +62 -0
  118. data/spec/csl/term_spec.rb +56 -0
  119. data/spec/fixtures/dates.yaml +80 -0
  120. data/spec/fixtures/names.yaml +115 -0
  121. data/spec/fixtures/nodes.yaml +245 -0
  122. data/spec/spec_helper.rb +18 -0
  123. data/spec/support/attributes_spec.rb +39 -0
  124. data/spec/support/tree_spec.rb +163 -0
  125. metadata +264 -0
@@ -0,0 +1,312 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <style xmlns="http://purl.org/net/xbiblio/csl" class="note" version="1.0">
3
+ <info>
4
+ <title>Modern Humanities Research Association (Note with Bibliography)</title>
5
+ <id>http://www.zotero.org/styles/mhra</id>
6
+ <link href="http://www.zotero.org/styles/mhra" rel="self"/>
7
+ <link href="http://www.mhra.org.uk/Publications/Books/StyleGuide/download.shtml" rel="documentation"/>
8
+ <author>
9
+ <name>Julian Onions</name>
10
+ <email>julian.onions@gmail.com</email>
11
+ </author>
12
+ <category field="history"/>
13
+ <category citation-format="numeric"/>
14
+ <category field="generic-base"/>
15
+ <updated>2008-02-02T00:00:00+00:00</updated>
16
+ </info>
17
+ <macro name="editor-translator">
18
+ <names variable="editor translator" prefix="" suffix="" delimiter=", ">
19
+ <label form="verb-short" prefix=" " text-case="lowercase" suffix=" " strip-periods="true"/>
20
+ <name and="text" delimiter=", "/>
21
+ </names>
22
+ </macro>
23
+ <macro name="editor-translator-short">
24
+ <names variable="editor translator" prefix="" suffix="" delimiter=", ">
25
+ <label form="short" prefix=" " text-case="lowercase" suffix=". " strip-periods="true"/>
26
+ <name and="text" delimiter=", "/>
27
+ </names>
28
+ </macro>
29
+ <macro name="author">
30
+ <names variable="author">
31
+ <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>
32
+ <label form="short" prefix=", " suffix="." strip-periods="true"/>
33
+ <substitute>
34
+ <names variable="editor"/>
35
+ <names variable="translator"/>
36
+ <text macro="title"/>
37
+ </substitute>
38
+ </names>
39
+ </macro>
40
+ <macro name="author-full">
41
+ <names variable="author">
42
+ <name name-as-sort-order="all" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>
43
+ <label form="short" prefix=", " suffix="." strip-periods="true"/>
44
+ <substitute>
45
+ <names variable="editor"/>
46
+ <names variable="translator"/>
47
+ <text macro="title"/>
48
+ </substitute>
49
+ </names>
50
+ </macro>
51
+ <macro name="author-short">
52
+ <names variable="author">
53
+ <name form="long" and="text" delimiter=", "/>
54
+ <label form="short" prefix=", " suffix="." strip-periods="true"/>
55
+ </names>
56
+ </macro>
57
+ <macro name="access">
58
+ <group>
59
+ <text variable="URL"/>
60
+ <group prefix=" (" suffix=")" delimiter=" ">
61
+ <text term="accessed" text-case="lowercase" suffix=" "/>
62
+ <date variable="accessed" suffix=", ">
63
+ <date-part name="month" suffix=" "/>
64
+ <date-part name="day" suffix=", "/>
65
+ <date-part name="year"/>
66
+ </date>
67
+ </group>
68
+ </group>
69
+ </macro>
70
+ <macro name="title">
71
+ <choose>
72
+ <if type="thesis">
73
+ <text variable="title" form="long" quotes="true"/>
74
+ </if>
75
+ <else-if type="bill book graphic legal_case motion_picture report song" match="any">
76
+ <text variable="title" form="long" font-style="italic"/>
77
+ </else-if>
78
+ <else>
79
+ <text variable="title" form="long" quotes="true"/>
80
+ </else>
81
+ </choose>
82
+ </macro>
83
+ <macro name="publisher">
84
+ <group delimiter=": ">
85
+ <text variable="publisher-place"/>
86
+ <text variable="publisher"/>
87
+ </group>
88
+ </macro>
89
+ <macro name="pages">
90
+ <choose>
91
+ <if type="article-journal" match="none">
92
+ <label variable="page" form="short" suffix=". " strip-periods="true"/>
93
+ </if>
94
+ </choose>
95
+ <text variable="page"/>
96
+ </macro>
97
+ <macro name="locator">
98
+ <label variable="locator" form="short" suffix=". " strip-periods="true"/>
99
+ <text variable="locator"/>
100
+ </macro>
101
+ <macro name="vols">
102
+ <choose>
103
+ <if variable="number-of-volumes">
104
+ <text variable="number-of-volumes"/>
105
+ <text term="volume" prefix=" " form="short" plural="true" strip-periods="true"/>
106
+ </if>
107
+ </choose>
108
+ </macro>
109
+ <citation>
110
+ <layout suffix="." delimiter="; ">
111
+ <group suffix="">
112
+ <text macro="author-short" suffix=", "/>
113
+ <text macro="title" prefix=""/>
114
+ <choose>
115
+ <if type="thesis">
116
+ <group prefix=" (" delimiter=", " suffix=")">
117
+ <text variable="genre"/>
118
+ <text variable="publisher"/>
119
+ <date variable="issued">
120
+ <date-part name="year"/>
121
+ </date>
122
+ </group>
123
+ </if>
124
+ <else-if type="chapter paper-conference" match="any">
125
+ <group prefix=", ">
126
+ <text term="in" text-case="lowercase"/>
127
+ <text variable="container-title" font-style="italic" prefix=" " suffix=","/>
128
+ <text variable="collection-title" prefix=" " suffix=","/>
129
+ <text macro="editor-translator-short"/>
130
+ </group>
131
+ <group prefix=" (" suffix=")" delimiter=", ">
132
+ <text macro="publisher"/>
133
+ <date variable="issued">
134
+ <date-part name="year"/>
135
+ </date>
136
+ </group>
137
+ </else-if>
138
+ <else-if type="bill book graphic legal_case motion_picture report song" match="any">
139
+ <group delimiter=", " prefix=" ">
140
+ <text macro="editor-translator-short"/>
141
+ <text variable="collection-title"/>
142
+ <text variable="edition" suffix=" edn"/>
143
+ <text macro="vols"/>
144
+ </group>
145
+ <group prefix=" (" suffix=")" delimiter=", ">
146
+ <text macro="publisher"/>
147
+ <date variable="issued" prefix=" " suffix="">
148
+ <date-part name="year"/>
149
+ </date>
150
+ </group>
151
+ <text variable="volume" prefix=", "/>
152
+ </else-if>
153
+ <else-if type="article-newspaper article-magazine" match="any">
154
+ <group delimiter=", " prefix=", ">
155
+ <text variable="container-title" font-style="italic"/>
156
+ <text variable="issue" suffix="."/>
157
+ <date variable="issued">
158
+ <date-part name="day" form="numeric" suffix=" "/>
159
+ <date-part name="month" form="long" suffix=" "/>
160
+ <date-part name="year"/>
161
+ </date>
162
+ </group>
163
+ </else-if>
164
+ <else-if type="article-journal">
165
+ <group prefix=", " delimiter=", ">
166
+ <text variable="container-title" font-style="italic"/>
167
+ <text macro="publisher"/>
168
+ <text variable="volume" prefix=" "/>
169
+ </group>
170
+ <date variable="issued" prefix=" (" suffix=")">
171
+ <date-part name="year"/>
172
+ </date>
173
+ </else-if>
174
+ <else>
175
+ <group delimiter=", " prefix=". ">
176
+ <text variable="container-title" font-style="italic"/>
177
+ <text variable="issue" prefix=", " suffix="."/>
178
+ <date variable="issued">
179
+ <date-part name="month" form="long"/>
180
+ <date-part name="day" form="numeric" prefix=" " suffix=", "/>
181
+ <date-part name="year"/>
182
+ </date>
183
+ </group>
184
+ </else>
185
+ </choose>
186
+ <group prefix=", " delimiter=" ">
187
+ <text macro="pages"/>
188
+ <text macro="locator" prefix="(" suffix=")"/>
189
+ </group>
190
+ </group>
191
+ </layout>
192
+ </citation>
193
+ <bibliography hanging-indent="true" et-al-min="6" et-al-use-first="6" subsequent-author-substitute="---">
194
+ <sort>
195
+ <key macro="author"/>
196
+ <key variable="title"/>
197
+ </sort>
198
+ <layout suffix=".">
199
+ <text macro="author" suffix=","/>
200
+ <choose>
201
+ <if type="thesis">
202
+ <group suffix=".">
203
+ <text macro="title" prefix=" "/>
204
+ </group>
205
+ <group delimiter=", " prefix=" ">
206
+ <text variable="genre"/>
207
+ <text variable="publisher"/>
208
+ <date variable="issued">
209
+ <date-part name="year"/>
210
+ </date>
211
+ </group>
212
+ </if>
213
+ <else-if type="chapter paper-conference" match="any">
214
+ <text macro="title" prefix=" "/>
215
+ <group prefix=", ">
216
+ <text term="in" text-case="lowercase"/>
217
+ <text variable="container-title" font-style="italic" prefix=" " suffix=","/>
218
+ <text variable="collection-title" prefix=" " suffix=","/>
219
+ <text macro="editor-translator-short"/>
220
+ </group>
221
+ <group prefix=" (" suffix=")" delimiter=", ">
222
+ <text macro="publisher"/>
223
+ <date variable="issued">
224
+ <date-part name="year"/>
225
+ </date>
226
+ </group>
227
+ </else-if>
228
+ <else-if type="article-journal">
229
+ <group suffix=".">
230
+ <text macro="title" prefix=" "/>
231
+ <text macro="editor-translator" prefix=" "/>
232
+ </group>
233
+ <group prefix=" " suffix="">
234
+ <text variable="container-title" font-style="italic" prefix=" "/>
235
+ <text variable="volume" prefix=" "/>
236
+ <text variable="issue" prefix=", no. "/>
237
+ <date variable="issued" prefix=" (" suffix=")">
238
+ <date-part name="month" suffix=" "/>
239
+ <date-part name="day" suffix=", "/>
240
+ <date-part name="year"/>
241
+ </date>
242
+ <text variable="page" prefix=": "/>
243
+ </group>
244
+ </else-if>
245
+ <else-if type="article-newspaper article-magazine" match="any">
246
+ <group suffix=".">
247
+ <text macro="title" prefix=" "/>
248
+ <text macro="editor-translator" prefix=" "/>
249
+ </group>
250
+ <group delimiter=", " prefix=" ">
251
+ <text variable="container-title" font-style="italic"/>
252
+ <text variable="issue" suffix="."/>
253
+ <date variable="issued">
254
+ <date-part name="month" form="long"/>
255
+ <date-part name="day" form="numeric" prefix=" " suffix=", "/>
256
+ <date-part name="year"/>
257
+ </date>
258
+ </group>
259
+ </else-if>
260
+ <else-if type="paper-conference">
261
+ <group suffix=".">
262
+ <text macro="title" prefix=" "/>
263
+ <text macro="editor-translator" prefix=" "/>
264
+ </group>
265
+ <group suffix="">
266
+ <text value="paper presented at" text-case="capitalize-first"/>
267
+ <text variable="event" prefix=" "/>
268
+ <text variable="event-place" prefix=", "/>
269
+ <date variable="event-date">
270
+ <date-part name="month" form="long"/>
271
+ <date-part name="day" form="numeric" prefix=" " suffix=", "/>
272
+ <date-part name="year"/>
273
+ </date>
274
+ </group>
275
+ </else-if>
276
+ <else-if type="bill book graphic legal_case motion_picture report song" match="any">
277
+ <group suffix=".">
278
+ <text macro="title" prefix=" " suffix="."/>
279
+ </group>
280
+ <group delimiter=", " prefix=" ">
281
+ <text macro="editor-translator-short"/>
282
+ <text variable="collection-title"/>
283
+ <text variable="edition" suffix=" edn"/>
284
+ <text macro="vols"/>
285
+ </group>
286
+ <group prefix=" (" suffix=")" delimiter=", ">
287
+ <text macro="publisher"/>
288
+ <date variable="issued" prefix=" " suffix="">
289
+ <date-part name="year"/>
290
+ </date>
291
+ </group>
292
+ <text variable="volume" prefix=", "/>
293
+ </else-if>
294
+ <else>
295
+ <group suffix=".">
296
+ <text macro="title" prefix=" "/>
297
+ <text macro="editor-translator" prefix=" "/>
298
+ </group>
299
+ <group prefix=" " suffix="">
300
+ <text variable="container-title" font-style="italic"/>
301
+ <group prefix=", ">
302
+ <text variable="volume" font-style="italic"/>
303
+ <text variable="issue" prefix="(" suffix=")"/>
304
+ </group>
305
+ <text variable="page" prefix=", "/>
306
+ </group>
307
+ </else>
308
+ </choose>
309
+ <text prefix=" " macro="access"/>
310
+ </layout>
311
+ </bibliography>
312
+ </style>
@@ -0,0 +1,390 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <style xmlns="http://purl.org/net/xbiblio/csl" class="note" version="1.0">
3
+ <info>
4
+ <title>Modern Humanities Research Association (Note with Bibliography)</title>
5
+ <id>http://www.zotero.org/styles/mhra</id>
6
+ <link href="http://www.zotero.org/styles/mhra" rel="self"/>
7
+ <link href="http://www.mhra.org.uk/Publications/Books/StyleGuide/download.shtml" rel="documentation"/>
8
+ <author>
9
+ <name>Rintze Zelle</name>
10
+ <uri>http://forums.zotero.org/account/831/</uri>
11
+ </author>
12
+ <contributor>
13
+ <name>Sebastian Karcher</name>
14
+ </contributor>
15
+ <summary>MHRA format with full notes and bibliography</summary>
16
+ <category field="generic-base"/>
17
+ <category citation-format="note"/>
18
+ <updated>2009-12-15T12:42:52+00:00</updated>
19
+ </info>
20
+ <locale xml:lang="en">
21
+ <terms>
22
+ <term name="et-al">and others</term>
23
+ <term name="editor" form="verb-short">ed. by</term>
24
+ <term name="edition" form="short">edn</term>
25
+ <term name="translator" form="verb-short">trans. by</term>
26
+ </terms>
27
+ </locale>
28
+ <macro name="author">
29
+ <names variable="author">
30
+ <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>
31
+ <label form="short" prefix=", " suffix="." strip-periods="true"/>
32
+ <substitute>
33
+ <names variable="editor"/>
34
+ <names variable="translator"/>
35
+ <text macro="title-note"/>
36
+ </substitute>
37
+ </names>
38
+ </macro>
39
+ <macro name="contributors-note">
40
+ <names variable="author">
41
+ <name and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="never"/>
42
+ </names>
43
+ <text macro="recipient-note"/>
44
+ </macro>
45
+ <macro name="title-note">
46
+ <choose>
47
+ <if type="bill book graphic legal_case motion_picture report song" match="any">
48
+ <text variable="title" font-style="italic"/>
49
+ </if>
50
+ <else>
51
+ <text variable="title" prefix="‘" suffix="’"/>
52
+ </else>
53
+ </choose>
54
+ </macro>
55
+ <macro name="editor-translator">
56
+ <group delimiter=", ">
57
+ <names variable="editor" delimiter=", ">
58
+ <label form="verb-short" text-case="lowercase" suffix=" " strip-periods="true"/>
59
+ <name and="text" delimiter=", " delimiter-precedes-last="never"/>
60
+ </names>
61
+ <choose>
62
+ <if variable="author editor" match="any">
63
+ <names variable="translator" delimiter=", ">
64
+ <label form="verb-short" text-case="lowercase" suffix=" " strip-periods="true"/>
65
+ <name and="text" delimiter=", " delimiter-precedes-last="never"/>
66
+ </names>
67
+ </if>
68
+ </choose>
69
+ </group>
70
+ </macro>
71
+ <macro name="collection-title">
72
+ <text variable="collection-title"/>
73
+ <text variable="collection-number" prefix=", "/>
74
+ </macro>
75
+ <macro name="locators-note">
76
+ <choose>
77
+ <if type="article-journal">
78
+ <text variable="volume"/>
79
+ </if>
80
+ <else-if type="bill book graphic legal_case motion_picture report song chapter paper-conference" match="any">
81
+ <group delimiter=", ">
82
+ <text macro="edition-note"/>
83
+ <group>
84
+ <number variable="number-of-volumes" form="numeric"/>
85
+ <text term="volume" form="short" prefix=" " plural="true" strip-periods="true"/>
86
+ </group>
87
+ </group>
88
+ </else-if>
89
+ </choose>
90
+ </macro>
91
+ <macro name="volume">
92
+ <choose>
93
+ <if type="article-journal">
94
+ <text variable="volume"/>
95
+ </if>
96
+ <else-if type="bill book graphic legal_case motion_picture report song chapter paper-conference" match="any">
97
+ <group delimiter=", ">
98
+ <text macro="edition-note"/>
99
+ <group>
100
+ <number variable="number-of-volumes" form="numeric"/>
101
+ <text term="volume" form="short" prefix=" " plural="true" strip-periods="true"/>
102
+ </group>
103
+ </group>
104
+ </else-if>
105
+ </choose>
106
+ </macro>
107
+ <macro name="issue-note">
108
+ <choose>
109
+ <if type="article-journal">
110
+ <choose>
111
+ <if variable="volume">
112
+ <text macro="issued" prefix=" (" suffix=")"/>
113
+ </if>
114
+ <else>
115
+ <text macro="issued" prefix=", "/>
116
+ </else>
117
+ </choose>
118
+ </if>
119
+ <else-if variable="publisher-place publisher" match="any">
120
+ <group prefix=" (" suffix=")" delimiter=", ">
121
+ <group delimiter=" ">
122
+ <choose>
123
+ <if variable="title" match="none"/>
124
+ <else-if type="thesis speech" match="any">
125
+ <text variable="genre" prefix="unpublished "/>
126
+ </else-if>
127
+ </choose>
128
+ <text macro="event"/>
129
+ </group>
130
+ <text macro="publisher"/>
131
+ <text macro="issued"/>
132
+ </group>
133
+ </else-if>
134
+ <else>
135
+ <text macro="issued" prefix=", "/>
136
+ </else>
137
+ </choose>
138
+ </macro>
139
+ <macro name="locators-specific-note">
140
+ <choose>
141
+ <if type="bill book graphic legal_case motion_picture report song chapter paper-conference" match="any">
142
+ <choose>
143
+ <if is-numeric="volume">
144
+ <number variable="volume" form="roman" font-variant="small-caps"/>
145
+ </if>
146
+ </choose>
147
+ </if>
148
+ </choose>
149
+ </macro>
150
+ <macro name="container-title-note">
151
+ <choose>
152
+ <if type="chapter paper-conference" match="any">
153
+ <text term="in" text-case="lowercase" suffix=" "/>
154
+ </if>
155
+ </choose>
156
+ <text variable="container-title" font-style="italic"/>
157
+ </macro>
158
+ <macro name="edition-note">
159
+ <choose>
160
+ <if type="bill book graphic legal_case motion_picture report song chapter paper-conference" match="any">
161
+ <choose>
162
+ <if is-numeric="edition">
163
+ <group delimiter=" ">
164
+ <number variable="edition" form="ordinal"/>
165
+ <text term="edition" form="short" strip-periods="true"/>
166
+ </group>
167
+ </if>
168
+ <else>
169
+ <text variable="edition"/>
170
+ </else>
171
+ </choose>
172
+ </if>
173
+ </choose>
174
+ </macro>
175
+ <macro name="editor-note">
176
+ <names variable="editor">
177
+ <name and="text" sort-separator=", " delimiter=", "/>
178
+ <label form="short" prefix=", " suffix="." strip-periods="true"/>
179
+ </names>
180
+ </macro>
181
+ <macro name="translator-note">
182
+ <names variable="translator">
183
+ <name and="text" sort-separator=", " delimiter=", "/>
184
+ <label form="verb-short" prefix=", " suffix="." strip-periods="true"/>
185
+ </names>
186
+ </macro>
187
+ <macro name="recipient-note">
188
+ <names variable="recipient" delimiter=", ">
189
+ <label form="verb" prefix=" " text-case="lowercase" suffix=" "/>
190
+ <name and="text" delimiter=", "/>
191
+ </names>
192
+ </macro>
193
+ <macro name="recipient-short">
194
+ <names variable="recipient">
195
+ <label form="verb" prefix=" " text-case="lowercase" suffix=" "/>
196
+ <name form="short" and="text" delimiter=", "/>
197
+ </names>
198
+ </macro>
199
+ <macro name="contributors-short">
200
+ <names variable="author">
201
+ <name form="short" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="never"/>
202
+ <substitute>
203
+ <names variable="editor"/>
204
+ <names variable="translator"/>
205
+ </substitute>
206
+ </names>
207
+ <text macro="recipient-short"/>
208
+ </macro>
209
+ <macro name="interviewer-note">
210
+ <names variable="interviewer" delimiter=", ">
211
+ <label form="verb" prefix=" " text-case="lowercase" suffix=" "/>
212
+ <name and="text" delimiter=", "/>
213
+ </names>
214
+ </macro>
215
+ <macro name="locators-newspaper">
216
+ <choose>
217
+ <if type="article-newspaper">
218
+ <group delimiter=", ">
219
+ <group>
220
+ <text variable="edition" suffix=" "/>
221
+ <text term="edition" prefix=" "/>
222
+ </group>
223
+ <group>
224
+ <text term="section" suffix=" "/>
225
+ <text variable="section"/>
226
+ </group>
227
+ </group>
228
+ </if>
229
+ </choose>
230
+ </macro>
231
+ <macro name="event">
232
+ <group>
233
+ <text term="presented at" suffix=" "/>
234
+ <text variable="event"/>
235
+ </group>
236
+ </macro>
237
+ <macro name="publisher">
238
+ <group delimiter=": ">
239
+ <text variable="publisher-place"/>
240
+ <text variable="publisher"/>
241
+ </group>
242
+ </macro>
243
+ <macro name="issued">
244
+ <choose>
245
+ <if type="graphic report article-newspaper" match="any">
246
+ <date variable="issued">
247
+ <date-part name="day" suffix=" "/>
248
+ <date-part name="month" suffix=" "/>
249
+ <date-part name="year"/>
250
+ </date>
251
+ </if>
252
+ <else-if type="bill book graphic legal_case motion_picture report song thesis chapter paper-conference" match="any">
253
+ <date variable="issued">
254
+ <date-part name="year"/>
255
+ </date>
256
+ </else-if>
257
+ <else>
258
+ <date variable="issued">
259
+ <date-part name="year"/>
260
+ </date>
261
+ </else>
262
+ </choose>
263
+ </macro>
264
+ <macro name="pages">
265
+ <choose>
266
+ <if type="article-journal">
267
+ <text variable="page" prefix=", "/>
268
+ </if>
269
+ <else>
270
+ <choose>
271
+ <if variable="volume">
272
+ <text variable="page" prefix=", "/>
273
+ </if>
274
+ <else>
275
+ <label variable="page" form="short" prefix=", " suffix=" "/>
276
+ <text variable="page"/>
277
+ </else>
278
+ </choose>
279
+ </else>
280
+ </choose>
281
+ </macro>
282
+ <macro name="point-locators">
283
+ <text macro="pages"/>
284
+ <choose>
285
+ <if variable="page">
286
+ <group prefix=" (" suffix=")">
287
+ <label variable="locator" form="short" suffix=" "/>
288
+ <text variable="locator"/>
289
+ </group>
290
+ </if>
291
+ <else>
292
+ <label variable="locator" form="short" prefix=", " suffix=" "/>
293
+ <text variable="locator"/>
294
+ </else>
295
+ </choose>
296
+ </macro>
297
+ <macro name="archive-note">
298
+ <group delimiter=", ">
299
+ <text variable="archive_location"/>
300
+ <text variable="archive"/>
301
+ <text variable="archive-place"/>
302
+ </group>
303
+ </macro>
304
+ <macro name="access-note">
305
+ <group delimiter=", ">
306
+ <choose>
307
+ <if type="graphic report" match="any">
308
+ <text macro="archive-note" prefix=", "/>
309
+ </if>
310
+ <else-if type="bill book graphic legal_case motion_picture report song article-journal article-magazine article-newspaper thesis chapter paper-conference" match="none">
311
+ <text macro="archive-note" prefix=", "/>
312
+ </else-if>
313
+ </choose>
314
+ </group>
315
+ <choose>
316
+ <if variable="DOI">
317
+ <text variable="DOI" prefix=" &lt;doi:" suffix="&gt;"/>
318
+ </if>
319
+ <else>
320
+ <text variable="URL" prefix=" &lt;" suffix="&gt;"/>
321
+ <choose>
322
+ <if variable="accessed">
323
+ <group prefix=" [" suffix="]">
324
+ <text term="accessed" text-case="lowercase"/>
325
+ <date variable="accessed">
326
+ <date-part name="day" prefix=" "/>
327
+ <date-part name="month" prefix=" "/>
328
+ <date-part name="year" prefix=" "/>
329
+ </date>
330
+ </group>
331
+ </if>
332
+ </choose>
333
+ </else>
334
+ </choose>
335
+ </macro>
336
+ <citation et-al-min="4" et-al-use-first="1" et-al-subsequent-min="4" et-al-subsequent-use-first="1" disambiguate-add-names="true" disambiguate-add-givenname="true" givenname-disambiguation-rule="by-cite">
337
+ <layout prefix="" suffix="." delimiter="; ">
338
+ <choose>
339
+ <if position="subsequent">
340
+ <group delimiter=", ">
341
+ <text macro="contributors-short"/>
342
+ <choose>
343
+ <if disambiguate="true">
344
+ <text variable="title" form="short"/>
345
+ </if>
346
+ </choose>
347
+ </group>
348
+ <text macro="locators-specific-note" prefix=", "/>
349
+ <text macro="point-locators"/>
350
+ </if>
351
+ <else>
352
+ <group delimiter=", ">
353
+ <text macro="contributors-note"/>
354
+ <text macro="title-note"/>
355
+ <text macro="container-title-note"/>
356
+ <text macro="editor-translator"/>
357
+ <text macro="collection-title"/>
358
+ <text macro="locators-note"/>
359
+ </group>
360
+ <text macro="issue-note"/>
361
+ <text macro="locators-specific-note" prefix=", "/>
362
+ <text macro="locators-newspaper" prefix=", "/>
363
+ <text macro="point-locators"/>
364
+ <text macro="access-note"/>
365
+ </else>
366
+ </choose>
367
+ </layout>
368
+ </citation>
369
+ <bibliography hanging-indent="true" et-al-min="6" et-al-use-first="6" subsequent-author-substitute="---">
370
+ <sort>
371
+ <key macro="author"/>
372
+ <key variable="title"/>
373
+ </sort>
374
+ <layout suffix=".">
375
+ <group delimiter=", ">
376
+ <text macro="author"/>
377
+ <text macro="title-note"/>
378
+ <text macro="container-title-note"/>
379
+ <text macro="editor-translator"/>
380
+ <text macro="collection-title"/>
381
+ <text macro="volume"/>
382
+ </group>
383
+ <text macro="issue-note"/>
384
+ <text macro="locators-specific-note" prefix=", "/>
385
+ <text macro="locators-newspaper" prefix=", "/>
386
+ <text macro="pages"/>
387
+ <text macro="access-note"/>
388
+ </layout>
389
+ </bibliography>
390
+ </style>