@citestyle/compiler 1.0.0 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/locales/locales-en-GB.xml +853 -0
- package/package.json +2 -2
- package/src/cli.js +4 -2
- package/src/codegen.js +33 -3
- package/src/compile.js +6 -5
|
@@ -0,0 +1,853 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="en-GB">
|
|
3
|
+
<!-- The abbreviations in this file follow the New Oxford Dictionary for Writers and Editors, 2nd edn (2014), unless stated otherwise (cited hereafter as NODWE). This work is also available as part of the New Oxford Style Manual, 3rd edn (2016). -->
|
|
4
|
+
<!-- Additional abbreviations are from:
|
|
5
|
+
1. Oxford Dictionary for Writers and Editors (2000), https://archive.org/details/oxfordstylemanua0000unse (cited hereafter as ODWE). NODWE is an abridged version of ODWE, meaning that the earlier edition still provides useful recommendations in some specialized fields, especially law. Periods must be removed from contractions to reflect current British English usage (a convention that the dictionary adopted with NODWE in 2005).
|
|
6
|
+
2. Oxford Dictionary of Abbreviations (2011), https://doi.org/10.1093/acref/9780199698295.001.0001 (cited hereafter as ODA).
|
|
7
|
+
3. The Chicago Manual of Style, 18th edn (2024), sect. 10.48, https://www.chicagomanualofstyle.org (cited hereafter as CMOS), the foundational source for the en-US CSL locale.
|
|
8
|
+
-->
|
|
9
|
+
<info>
|
|
10
|
+
<translator>
|
|
11
|
+
<name>Andrew Dunning</name>
|
|
12
|
+
<uri>https://orcid.org/0000-0003-0464-5036</uri>
|
|
13
|
+
</translator>
|
|
14
|
+
<translator>
|
|
15
|
+
<name>Sebastian Karcher</name>
|
|
16
|
+
<uri>https://orcid.org/0000-0001-8249-7388</uri>
|
|
17
|
+
</translator>
|
|
18
|
+
<translator>
|
|
19
|
+
<name>Rintze M. Zelle</name>
|
|
20
|
+
<uri>https://orcid.org/0000-0003-1779-8883</uri>
|
|
21
|
+
</translator>
|
|
22
|
+
<rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
|
|
23
|
+
<updated>2026-01-10T00:00:00+00:00</updated>
|
|
24
|
+
</info>
|
|
25
|
+
<style-options punctuation-in-quote="false"/>
|
|
26
|
+
<date form="text">
|
|
27
|
+
<date-part name="day" suffix=" "/>
|
|
28
|
+
<date-part name="month" suffix=" "/>
|
|
29
|
+
<date-part name="year"/>
|
|
30
|
+
</date>
|
|
31
|
+
<date form="numeric">
|
|
32
|
+
<date-part name="day" form="numeric-leading-zeros" suffix="/"/>
|
|
33
|
+
<date-part name="month" form="numeric-leading-zeros" suffix="/"/>
|
|
34
|
+
<date-part name="year"/>
|
|
35
|
+
</date>
|
|
36
|
+
<terms>
|
|
37
|
+
<!-- LONG GENERAL TERMS -->
|
|
38
|
+
<term name="accessed">accessed</term>
|
|
39
|
+
<term name="advance-online-publication">advance online publication</term>
|
|
40
|
+
<term name="album">album</term>
|
|
41
|
+
<term name="and">and</term>
|
|
42
|
+
<term name="and others">and others</term>
|
|
43
|
+
<term name="anonymous">anonymous</term>
|
|
44
|
+
<term name="at">at</term>
|
|
45
|
+
<term name="audio-recording">audio recording</term>
|
|
46
|
+
<term name="available at">available at</term>
|
|
47
|
+
<term name="by">by</term>
|
|
48
|
+
<term name="circa">circa</term>
|
|
49
|
+
<term name="cited">cited</term>
|
|
50
|
+
<term name="et-al">et al.</term>
|
|
51
|
+
<term name="film">film</term>
|
|
52
|
+
<term name="forthcoming">forthcoming</term>
|
|
53
|
+
<term name="from">from</term>
|
|
54
|
+
<term name="henceforth">henceforth</term>
|
|
55
|
+
<term name="ibid">ibid.</term>
|
|
56
|
+
<term name="in">in</term>
|
|
57
|
+
<term name="in press">in press</term>
|
|
58
|
+
<term name="internet">internet</term>
|
|
59
|
+
<term name="letter">letter</term>
|
|
60
|
+
<term name="loc-cit">loc. cit.</term> <!-- like ibid., the abbreviated form is the regular form -->
|
|
61
|
+
<term name="no date">no date</term>
|
|
62
|
+
<term name="no-place">no place</term>
|
|
63
|
+
<term name="no-publisher">no publisher</term>
|
|
64
|
+
<term name="on">on</term>
|
|
65
|
+
<term name="online">online</term>
|
|
66
|
+
<term name="op-cit">op. cit.</term> <!-- like ibid., the abbreviated form is the regular form -->
|
|
67
|
+
<term name="original-work-published">original work published</term>
|
|
68
|
+
<term name="personal-communication">personal communication</term>
|
|
69
|
+
<term name="podcast">podcast</term>
|
|
70
|
+
<term name="podcast-episode">podcast episode</term>
|
|
71
|
+
<term name="preprint">preprint</term>
|
|
72
|
+
<term name="presented at">presented at the</term>
|
|
73
|
+
<term name="radio-broadcast">radio broadcast</term>
|
|
74
|
+
<term name="radio-series">radio series</term>
|
|
75
|
+
<term name="radio-series-episode">radio series episode</term>
|
|
76
|
+
<term name="reference">
|
|
77
|
+
<single>reference</single>
|
|
78
|
+
<multiple>references</multiple>
|
|
79
|
+
</term>
|
|
80
|
+
<term name="retrieved">retrieved</term>
|
|
81
|
+
<term name="review-of">review of</term>
|
|
82
|
+
<term name="scale">scale</term>
|
|
83
|
+
<term name="special-issue">special issue</term>
|
|
84
|
+
<term name="special-section">special section</term>
|
|
85
|
+
<term name="television-broadcast">television broadcast</term>
|
|
86
|
+
<term name="television-series">television series</term>
|
|
87
|
+
<term name="television-series-episode">television series episode</term>
|
|
88
|
+
<term name="video">video</term>
|
|
89
|
+
<term name="working-paper">working paper</term>
|
|
90
|
+
|
|
91
|
+
<!-- SHORT GENERAL TERMS -->
|
|
92
|
+
<!-- Omitted short forms: accessed, album, and (symbol), and others, at (symbol), forthcoming, henceforth, ibid, in, in press, internet, loc-cit, on, online, op-cit, podcast, preprint, presented at -->
|
|
93
|
+
<term name="advance-online-publication" form="short">adv. online pub.</term> <!-- ODA -->
|
|
94
|
+
<term name="anonymous" form="short">anon.</term>
|
|
95
|
+
<term name="audio-recording" form="short">au. rec.</term> <!-- ODA -->
|
|
96
|
+
<term name="available at" form="short">avail. at</term> <!-- ODA -->
|
|
97
|
+
<term name="circa" form="short">c.</term>
|
|
98
|
+
<term name="cited" form="short">cit.</term> <!-- ODA -->
|
|
99
|
+
<term name="film" form="short">flm</term> <!-- ODA -->
|
|
100
|
+
<term name="from" form="short">fr.</term>
|
|
101
|
+
<term name="letter" form="short">let.</term> <!-- ODA -->
|
|
102
|
+
<term name="no date" form="short">n.d.</term>
|
|
103
|
+
<term name="no-place" form="short">n.p.</term>
|
|
104
|
+
<term name="no-publisher" form="short">n.p.</term>
|
|
105
|
+
<term name="original-work-published" form="short">orig. pub.</term> <!-- Oxford Guide to Style -->
|
|
106
|
+
<term name="personal-communication" form="short">pers. comm.</term>
|
|
107
|
+
<term name="podcast-episode" form="short">podcast ep.</term>
|
|
108
|
+
<term name="radio-broadcast" form="short">radio bdcst</term> <!-- ODA -->
|
|
109
|
+
<term name="radio-series" form="short">radio ser.</term> <!-- ODA -->
|
|
110
|
+
<term name="radio-series-episode" form="short">radio ser. ep.</term> <!-- ODA -->
|
|
111
|
+
<term name="reference" form="short">
|
|
112
|
+
<single>ref.</single>
|
|
113
|
+
<multiple>refs</multiple>
|
|
114
|
+
</term>
|
|
115
|
+
<term name="retrieved" form="short">rtvd</term> <!-- ODA -->
|
|
116
|
+
<term name="review-of" form="short">rev. of</term>
|
|
117
|
+
<term name="scale" form="short">sc.</term> <!-- ODA -->
|
|
118
|
+
<term name="special-issue" form="short">spec. iss.</term> <!-- ODA -->
|
|
119
|
+
<term name="special-section" form="short">spec. sect.</term> <!-- ODA/CMOS -->
|
|
120
|
+
<term name="television-broadcast" form="short">TV bdcst</term> <!-- ODA -->
|
|
121
|
+
<term name="television-series" form="short">TV ser.</term> <!-- ODA -->
|
|
122
|
+
<term name="television-series-episode" form="short">TV ser. ep.</term> <!-- ODA -->
|
|
123
|
+
<term name="video" form="short">vid.</term> <!-- ODA -->
|
|
124
|
+
<term name="working-paper" form="short">wkg paper</term> <!-- ODA -->
|
|
125
|
+
|
|
126
|
+
<!-- SYMBOLIC GENERAL FORMS -->
|
|
127
|
+
<term name="and" form="symbol">&</term>
|
|
128
|
+
<term name="at" form="symbol">@</term>
|
|
129
|
+
|
|
130
|
+
<!-- LONG ITEM TYPE FORMS -->
|
|
131
|
+
<term name="article">preprint</term>
|
|
132
|
+
<term name="article-journal">journal article</term>
|
|
133
|
+
<term name="article-magazine">magazine article</term>
|
|
134
|
+
<term name="article-newspaper">newspaper article</term>
|
|
135
|
+
<term name="bill">bill</term>
|
|
136
|
+
<!-- book is in the list of locator terms -->
|
|
137
|
+
<term name="broadcast">broadcast</term>
|
|
138
|
+
<!-- chapter is in the list of locator terms -->
|
|
139
|
+
<term name="classic">classical work</term>
|
|
140
|
+
<term name="collection">archival collection</term>
|
|
141
|
+
<term name="dataset">data set</term>
|
|
142
|
+
<term name="document">document</term>
|
|
143
|
+
<term name="entry">entry</term>
|
|
144
|
+
<term name="entry-dictionary">dictionary entry</term>
|
|
145
|
+
<term name="entry-encyclopedia">encyclopaedia entry</term>
|
|
146
|
+
<term name="event">event</term>
|
|
147
|
+
<!-- figure is in the list of locator terms -->
|
|
148
|
+
<term name="graphic">graphic</term>
|
|
149
|
+
<term name="hearing">hearing</term>
|
|
150
|
+
<term name="interview">interview</term>
|
|
151
|
+
<term name="legal_case">legal case</term>
|
|
152
|
+
<term name="legislation">legislation</term>
|
|
153
|
+
<term name="manuscript">manuscript</term>
|
|
154
|
+
<term name="map">map</term>
|
|
155
|
+
<term name="motion_picture">video recording</term>
|
|
156
|
+
<term name="musical_score">musical score</term>
|
|
157
|
+
<term name="pamphlet">pamphlet</term>
|
|
158
|
+
<term name="paper-conference">conference paper</term>
|
|
159
|
+
<term name="patent">patent</term>
|
|
160
|
+
<term name="performance">performance</term>
|
|
161
|
+
<term name="periodical">periodical</term>
|
|
162
|
+
<term name="personal_communication">personal communication</term>
|
|
163
|
+
<term name="post">post</term>
|
|
164
|
+
<term name="post-weblog">blog post</term>
|
|
165
|
+
<term name="regulation">regulation</term>
|
|
166
|
+
<term name="report">report</term>
|
|
167
|
+
<term name="review">review</term>
|
|
168
|
+
<term name="review-book">book review</term>
|
|
169
|
+
<term name="software">software</term>
|
|
170
|
+
<term name="song">audio recording</term>
|
|
171
|
+
<term name="speech">presentation</term>
|
|
172
|
+
<term name="standard">standard</term>
|
|
173
|
+
<term name="thesis">thesis</term>
|
|
174
|
+
<term name="treaty">treaty</term>
|
|
175
|
+
<term name="webpage">web page</term>
|
|
176
|
+
|
|
177
|
+
<!-- SHORT ITEM TYPE FORMS -->
|
|
178
|
+
<!-- Omitted short forms: article, bill, entry, event, hearing, map, periodical, speech, treaty -->
|
|
179
|
+
<term name="article-journal" form="short">jour. art.</term> <!-- ODWE -->
|
|
180
|
+
<term name="article-magazine" form="short">mag. art.</term> <!-- ODWE -->
|
|
181
|
+
<term name="article-newspaper" form="short">newspaper art.</term>
|
|
182
|
+
<term name="broadcast" form="short">bdcst</term> <!-- ODA -->
|
|
183
|
+
<!-- book is in the list of locator terms -->
|
|
184
|
+
<!-- chapter is in the list of locator terms -->
|
|
185
|
+
<term name="classic" form="short">class. wk</term> <!-- ODWE -->
|
|
186
|
+
<term name="collection" form="short">arch. coll.</term> <!-- ODA -->
|
|
187
|
+
<term name="document" form="short">doc.</term>
|
|
188
|
+
<term name="entry-dictionary" form="short">dict. entry</term>
|
|
189
|
+
<term name="entry-encyclopedia" form="short">ency. entry</term>
|
|
190
|
+
<!-- figure is in the list of locator terms -->
|
|
191
|
+
<term name="graphic" form="short">gr.</term> <!-- ODA -->
|
|
192
|
+
<term name="interview" form="short">int.</term> <!-- ODA -->
|
|
193
|
+
<term name="legal_case" form="short">leg. case</term> <!-- ODA -->
|
|
194
|
+
<term name="legislation" form="short">legis.</term> <!-- ODA -->
|
|
195
|
+
<term name="manuscript" form="short">
|
|
196
|
+
<single>MS</single>
|
|
197
|
+
<multiple>MSS</multiple>
|
|
198
|
+
</term>
|
|
199
|
+
<term name="motion_picture" form="short">vid. rec.</term> <!-- ODA -->
|
|
200
|
+
<term name="musical_score" form="short">mus. score</term> <!-- ODWE -->
|
|
201
|
+
<term name="pamphlet" form="short">pam.</term> <!-- ODWE -->
|
|
202
|
+
<term name="paper-conference" form="short">conf. paper</term> <!-- ODA -->
|
|
203
|
+
<term name="patent" form="short">pat.</term> <!-- ODWE -->
|
|
204
|
+
<term name="performance" form="short">prfm.</term> <!-- ODA -->
|
|
205
|
+
<term name="personal_communication" form="short">pers. comm.</term>
|
|
206
|
+
<term name="regulation" form="short">reg.</term> <!-- ODA -->
|
|
207
|
+
<term name="report" form="short">rep.</term> <!-- ODWE -->
|
|
208
|
+
<term name="review" form="short">rev.</term>
|
|
209
|
+
<term name="review-book" form="short">bk rev.</term>
|
|
210
|
+
<term name="software" form="short">sftw.</term> <!-- ODA -->
|
|
211
|
+
<term name="song" form="short">au. rec.</term> <!-- ODA -->
|
|
212
|
+
<term name="standard" form="short">std</term> <!-- ODA -->
|
|
213
|
+
<term name="thesis" form="short">thes.</term> <!-- ODA -->
|
|
214
|
+
<term name="webpage" form="short">web pg.</term> <!-- ODA -->
|
|
215
|
+
|
|
216
|
+
<!-- LONG VERB ITEM TYPE FORMS -->
|
|
217
|
+
<!-- Only where applicable -->
|
|
218
|
+
<term name="hearing" form="verb">testimony of</term>
|
|
219
|
+
<term name="review" form="verb">review of</term>
|
|
220
|
+
<term name="review-book" form="verb">review of the book</term>
|
|
221
|
+
|
|
222
|
+
<!-- SHORT VERB ITEM TYPE FORMS -->
|
|
223
|
+
<!-- Only where applicable -->
|
|
224
|
+
<term name="hearing" form="verb-short">test. of</term> <!-- ODA -->
|
|
225
|
+
<term name="review" form="verb-short">rev. of</term>
|
|
226
|
+
<term name="review-book" form="verb-short">rev. of the bk</term>
|
|
227
|
+
|
|
228
|
+
<!-- HISTORICAL ERA TERMS -->
|
|
229
|
+
<term name="ad"> AD</term>
|
|
230
|
+
<term name="bc"> BC</term>
|
|
231
|
+
<term name="bce"> BCE</term>
|
|
232
|
+
<term name="ce"> CE</term>
|
|
233
|
+
|
|
234
|
+
<!-- PUNCTUATION -->
|
|
235
|
+
<term name="open-quote">‘</term>
|
|
236
|
+
<term name="close-quote">’</term>
|
|
237
|
+
<term name="open-inner-quote">“</term>
|
|
238
|
+
<term name="close-inner-quote">”</term>
|
|
239
|
+
<term name="page-range-delimiter">–</term>
|
|
240
|
+
<term name="colon">:</term>
|
|
241
|
+
<term name="comma">,</term>
|
|
242
|
+
<term name="semicolon">;</term>
|
|
243
|
+
|
|
244
|
+
<!-- ORDINALS -->
|
|
245
|
+
<term name="ordinal">th</term>
|
|
246
|
+
<term name="ordinal-01">st</term>
|
|
247
|
+
<term name="ordinal-02">nd</term>
|
|
248
|
+
<term name="ordinal-03">rd</term>
|
|
249
|
+
<term name="ordinal-11">th</term>
|
|
250
|
+
<term name="ordinal-12">th</term>
|
|
251
|
+
<term name="ordinal-13">th</term>
|
|
252
|
+
|
|
253
|
+
<!-- LONG ORDINALS -->
|
|
254
|
+
<term name="long-ordinal-01">first</term>
|
|
255
|
+
<term name="long-ordinal-02">second</term>
|
|
256
|
+
<term name="long-ordinal-03">third</term>
|
|
257
|
+
<term name="long-ordinal-04">fourth</term>
|
|
258
|
+
<term name="long-ordinal-05">fifth</term>
|
|
259
|
+
<term name="long-ordinal-06">sixth</term>
|
|
260
|
+
<term name="long-ordinal-07">seventh</term>
|
|
261
|
+
<term name="long-ordinal-08">eighth</term>
|
|
262
|
+
<term name="long-ordinal-09">ninth</term>
|
|
263
|
+
<term name="long-ordinal-10">tenth</term>
|
|
264
|
+
|
|
265
|
+
<!-- LONG LOCATOR FORMS -->
|
|
266
|
+
<term name="act">
|
|
267
|
+
<single>act</single>
|
|
268
|
+
<multiple>acts</multiple>
|
|
269
|
+
</term>
|
|
270
|
+
<term name="appendix">
|
|
271
|
+
<single>appendix</single>
|
|
272
|
+
<multiple>appendices</multiple>
|
|
273
|
+
</term>
|
|
274
|
+
<term name="article-locator">
|
|
275
|
+
<single>article</single>
|
|
276
|
+
<multiple>articles</multiple>
|
|
277
|
+
</term>
|
|
278
|
+
<term name="book">
|
|
279
|
+
<single>book</single>
|
|
280
|
+
<multiple>books</multiple>
|
|
281
|
+
</term>
|
|
282
|
+
<term name="canon">
|
|
283
|
+
<single>canon</single>
|
|
284
|
+
<multiple>canons</multiple>
|
|
285
|
+
</term>
|
|
286
|
+
<term name="chapter">
|
|
287
|
+
<single>chapter</single>
|
|
288
|
+
<multiple>chapters</multiple>
|
|
289
|
+
</term>
|
|
290
|
+
<term name="column">
|
|
291
|
+
<single>column</single>
|
|
292
|
+
<multiple>columns</multiple>
|
|
293
|
+
</term>
|
|
294
|
+
<term name="elocation">
|
|
295
|
+
<single>location</single>
|
|
296
|
+
<multiple>locations</multiple>
|
|
297
|
+
</term>
|
|
298
|
+
<term name="equation">
|
|
299
|
+
<single>equation</single>
|
|
300
|
+
<multiple>equations</multiple>
|
|
301
|
+
</term>
|
|
302
|
+
<term name="figure">
|
|
303
|
+
<single>figure</single>
|
|
304
|
+
<multiple>figures</multiple>
|
|
305
|
+
</term>
|
|
306
|
+
<term name="folio">
|
|
307
|
+
<single>folio</single>
|
|
308
|
+
<multiple>folios</multiple>
|
|
309
|
+
</term>
|
|
310
|
+
<term name="issue">
|
|
311
|
+
<single>issue</single>
|
|
312
|
+
<multiple>issues</multiple>
|
|
313
|
+
</term>
|
|
314
|
+
<term name="line">
|
|
315
|
+
<single>line</single>
|
|
316
|
+
<multiple>lines</multiple>
|
|
317
|
+
</term>
|
|
318
|
+
<term name="note">
|
|
319
|
+
<single>note</single>
|
|
320
|
+
<multiple>notes</multiple>
|
|
321
|
+
</term>
|
|
322
|
+
<term name="opus">
|
|
323
|
+
<single>opus</single>
|
|
324
|
+
<multiple>opera</multiple>
|
|
325
|
+
</term>
|
|
326
|
+
<term name="page">
|
|
327
|
+
<single>page</single>
|
|
328
|
+
<multiple>pages</multiple>
|
|
329
|
+
</term>
|
|
330
|
+
<term name="paragraph">
|
|
331
|
+
<single>paragraph</single>
|
|
332
|
+
<multiple>paragraphs</multiple>
|
|
333
|
+
</term>
|
|
334
|
+
<term name="part">
|
|
335
|
+
<single>part</single>
|
|
336
|
+
<multiple>parts</multiple>
|
|
337
|
+
</term>
|
|
338
|
+
<term name="rule">
|
|
339
|
+
<single>rule</single>
|
|
340
|
+
<multiple>rules</multiple>
|
|
341
|
+
</term>
|
|
342
|
+
<term name="scene">
|
|
343
|
+
<single>scene</single>
|
|
344
|
+
<multiple>scenes</multiple>
|
|
345
|
+
</term>
|
|
346
|
+
<term name="section">
|
|
347
|
+
<single>section</single>
|
|
348
|
+
<multiple>sections</multiple>
|
|
349
|
+
</term>
|
|
350
|
+
<term name="sub-verbo">
|
|
351
|
+
<single>sub verbo</single>
|
|
352
|
+
<multiple>sub verbis</multiple>
|
|
353
|
+
</term>
|
|
354
|
+
<term name="supplement">
|
|
355
|
+
<single>supplement</single>
|
|
356
|
+
<multiple>supplements</multiple>
|
|
357
|
+
</term>
|
|
358
|
+
<term name="table">
|
|
359
|
+
<single>table</single>
|
|
360
|
+
<multiple>tables</multiple>
|
|
361
|
+
</term>
|
|
362
|
+
<!-- A timestamp is a composite of hours, minutes, etc. and therefore has no default label. -->
|
|
363
|
+
<term name="timestamp"/>
|
|
364
|
+
<term name="title-locator">
|
|
365
|
+
<single>title</single>
|
|
366
|
+
<multiple>titles</multiple>
|
|
367
|
+
</term>
|
|
368
|
+
<term name="verse">
|
|
369
|
+
<single>verse</single>
|
|
370
|
+
<multiple>verses</multiple>
|
|
371
|
+
</term>
|
|
372
|
+
<term name="volume">
|
|
373
|
+
<single>volume</single>
|
|
374
|
+
<multiple>volumes</multiple>
|
|
375
|
+
</term>
|
|
376
|
+
|
|
377
|
+
<!-- SHORT LOCATOR FORMS -->
|
|
378
|
+
<!-- Omitted short forms: act, timestamp -->
|
|
379
|
+
<term name="appendix" form="short">
|
|
380
|
+
<single>app.</single>
|
|
381
|
+
<multiple>apps</multiple>
|
|
382
|
+
</term>
|
|
383
|
+
<term name="article-locator" form="short">
|
|
384
|
+
<single>art.</single>
|
|
385
|
+
<multiple>arts</multiple>
|
|
386
|
+
</term>
|
|
387
|
+
<term name="book" form="short">
|
|
388
|
+
<single>bk</single>
|
|
389
|
+
<multiple>bks</multiple>
|
|
390
|
+
</term>
|
|
391
|
+
<term name="canon" form="short">
|
|
392
|
+
<!-- Oxford Dictionary for Writers and Editors -->
|
|
393
|
+
<single>can.</single>
|
|
394
|
+
<multiple>cann.</multiple>
|
|
395
|
+
</term>
|
|
396
|
+
<term name="chapter" form="short">
|
|
397
|
+
<single>ch.</single>
|
|
398
|
+
<multiple>chs</multiple>
|
|
399
|
+
</term>
|
|
400
|
+
<term name="column" form="short">
|
|
401
|
+
<single>col.</single>
|
|
402
|
+
<multiple>cols</multiple>
|
|
403
|
+
</term>
|
|
404
|
+
<term name="elocation" form="short">
|
|
405
|
+
<single>loc.</single>
|
|
406
|
+
<multiple>locs</multiple>
|
|
407
|
+
</term>
|
|
408
|
+
<term name="equation" form="short">
|
|
409
|
+
<single>eq.</single>
|
|
410
|
+
<multiple>eqq.</multiple>
|
|
411
|
+
</term>
|
|
412
|
+
<term name="figure" form="short">
|
|
413
|
+
<single>fig.</single>
|
|
414
|
+
<multiple>figs</multiple>
|
|
415
|
+
</term>
|
|
416
|
+
<term name="folio" form="short">
|
|
417
|
+
<single>fol.</single>
|
|
418
|
+
<multiple>fols</multiple>
|
|
419
|
+
</term>
|
|
420
|
+
<term name="issue" form="short">
|
|
421
|
+
<single>no.</single>
|
|
422
|
+
<multiple>nos</multiple>
|
|
423
|
+
</term>
|
|
424
|
+
<term name="line" form="short">
|
|
425
|
+
<single>l.</single>
|
|
426
|
+
<multiple>ll.</multiple>
|
|
427
|
+
</term>
|
|
428
|
+
<term name="note" form="short">
|
|
429
|
+
<single>n.</single>
|
|
430
|
+
<multiple>nn.</multiple>
|
|
431
|
+
</term>
|
|
432
|
+
<term name="opus" form="short">
|
|
433
|
+
<single>op.</single>
|
|
434
|
+
<multiple>opp.</multiple>
|
|
435
|
+
</term>
|
|
436
|
+
<term name="page" form="short">
|
|
437
|
+
<single>p.</single>
|
|
438
|
+
<multiple>pp.</multiple>
|
|
439
|
+
</term>
|
|
440
|
+
<term name="paragraph" form="short">
|
|
441
|
+
<single>para.</single>
|
|
442
|
+
<multiple>paras</multiple>
|
|
443
|
+
</term>
|
|
444
|
+
<term name="part" form="short">
|
|
445
|
+
<single>pt</single>
|
|
446
|
+
<multiple>pts</multiple>
|
|
447
|
+
</term>
|
|
448
|
+
<term name="rule" form="short">
|
|
449
|
+
<!-- legal abbreviations in the Oxford Guide to Style, sect. 13.2.1 -->
|
|
450
|
+
<single>r.</single>
|
|
451
|
+
<multiple>rr.</multiple>
|
|
452
|
+
</term>
|
|
453
|
+
<term name="scene" form="short">
|
|
454
|
+
<single>sc.</single>
|
|
455
|
+
<multiple>scs</multiple>
|
|
456
|
+
</term>
|
|
457
|
+
<term name="section" form="short">
|
|
458
|
+
<single>sect.</single>
|
|
459
|
+
<multiple>sects</multiple>
|
|
460
|
+
</term>
|
|
461
|
+
<term name="sub-verbo" form="short">
|
|
462
|
+
<single>s.v.</single>
|
|
463
|
+
<multiple>s.vv.</multiple>
|
|
464
|
+
</term>
|
|
465
|
+
<term name="supplement" form="short">
|
|
466
|
+
<single>suppl.</single>
|
|
467
|
+
<multiple>suppls</multiple>
|
|
468
|
+
</term>
|
|
469
|
+
<term name="table" form="short">
|
|
470
|
+
<!-- Oxford Dictionary of Abbreviations -->
|
|
471
|
+
<single>tbl.</single>
|
|
472
|
+
<multiple>tbls</multiple>
|
|
473
|
+
</term>
|
|
474
|
+
<term name="title-locator" form="short">
|
|
475
|
+
<!-- Oxford Dictionary for Writers and Editors -->
|
|
476
|
+
<single>tit.</single>
|
|
477
|
+
<multiple>titt.</multiple>
|
|
478
|
+
</term>
|
|
479
|
+
<term name="verse" form="short">
|
|
480
|
+
<single>v.</single>
|
|
481
|
+
<multiple>vv.</multiple>
|
|
482
|
+
</term>
|
|
483
|
+
<term name="volume" form="short">
|
|
484
|
+
<single>vol.</single>
|
|
485
|
+
<multiple>vols</multiple>
|
|
486
|
+
</term>
|
|
487
|
+
|
|
488
|
+
<!-- SYMBOLIC LOCATOR FORMS -->
|
|
489
|
+
<term name="chapter" form="symbol">
|
|
490
|
+
<!-- caput/capita, esp. in legal works -->
|
|
491
|
+
<single>c.</single>
|
|
492
|
+
<multiple>cc.</multiple>
|
|
493
|
+
</term>
|
|
494
|
+
<term name="paragraph" form="symbol">
|
|
495
|
+
<single>¶</single>
|
|
496
|
+
<multiple>¶¶</multiple>
|
|
497
|
+
</term>
|
|
498
|
+
<term name="section" form="symbol">
|
|
499
|
+
<single>§</single>
|
|
500
|
+
<multiple>§§</multiple>
|
|
501
|
+
</term>
|
|
502
|
+
|
|
503
|
+
<!-- LONG NUMBER VARIABLE FORMS -->
|
|
504
|
+
<term name="chapter-number">
|
|
505
|
+
<single>chapter</single>
|
|
506
|
+
<multiple>chapters</multiple>
|
|
507
|
+
</term>
|
|
508
|
+
<term name="citation-number">
|
|
509
|
+
<single>citation</single>
|
|
510
|
+
<multiple>citations</multiple>
|
|
511
|
+
</term>
|
|
512
|
+
<term name="collection-number">
|
|
513
|
+
<single>number</single>
|
|
514
|
+
<multiple>numbers</multiple>
|
|
515
|
+
</term>
|
|
516
|
+
<term name="edition">
|
|
517
|
+
<single>edition</single>
|
|
518
|
+
<multiple>editions</multiple>
|
|
519
|
+
</term>
|
|
520
|
+
<term name="first-reference-note-number">
|
|
521
|
+
<single>note</single>
|
|
522
|
+
<multiple>notes</multiple>
|
|
523
|
+
</term>
|
|
524
|
+
<term name="number">
|
|
525
|
+
<single>number</single>
|
|
526
|
+
<multiple>numbers</multiple>
|
|
527
|
+
</term>
|
|
528
|
+
<term name="number-of-pages">
|
|
529
|
+
<single>page</single>
|
|
530
|
+
<multiple>pages</multiple>
|
|
531
|
+
</term>
|
|
532
|
+
<term name="number-of-volumes">
|
|
533
|
+
<single>volume</single>
|
|
534
|
+
<multiple>volumes</multiple>
|
|
535
|
+
</term>
|
|
536
|
+
<term name="page-first">
|
|
537
|
+
<single>page</single>
|
|
538
|
+
<multiple>pages</multiple>
|
|
539
|
+
</term>
|
|
540
|
+
<term name="printing">
|
|
541
|
+
<single>printing</single>
|
|
542
|
+
<multiple>printings</multiple>
|
|
543
|
+
</term>
|
|
544
|
+
<term name="version">
|
|
545
|
+
<single>version</single>
|
|
546
|
+
<multiple>versions</multiple>
|
|
547
|
+
</term>
|
|
548
|
+
|
|
549
|
+
<!-- SHORT NUMBER VARIABLE FORMS -->
|
|
550
|
+
<term name="chapter-number" form="short">
|
|
551
|
+
<single>ch.</single>
|
|
552
|
+
<multiple>chs</multiple>
|
|
553
|
+
</term>
|
|
554
|
+
<term name="citation-number" form="short">
|
|
555
|
+
<single>cit.</single>
|
|
556
|
+
<multiple>cits</multiple>
|
|
557
|
+
</term>
|
|
558
|
+
<term name="collection-number" form="short">
|
|
559
|
+
<single>no.</single>
|
|
560
|
+
<multiple>nos</multiple>
|
|
561
|
+
</term>
|
|
562
|
+
<term name="edition" form="short">
|
|
563
|
+
<single>edn</single>
|
|
564
|
+
<multiple>edns</multiple>
|
|
565
|
+
</term>
|
|
566
|
+
<term name="first-reference-note-number" form="short">
|
|
567
|
+
<single>n.</single>
|
|
568
|
+
<multiple>nn.</multiple>
|
|
569
|
+
</term>
|
|
570
|
+
<term name="number" form="short">
|
|
571
|
+
<single>no.</single>
|
|
572
|
+
<multiple>nos</multiple>
|
|
573
|
+
</term>
|
|
574
|
+
<term name="number-of-pages" form="short">
|
|
575
|
+
<single>p.</single>
|
|
576
|
+
<multiple>pp.</multiple>
|
|
577
|
+
</term>
|
|
578
|
+
<term name="number-of-volumes" form="short">
|
|
579
|
+
<single>vol.</single>
|
|
580
|
+
<multiple>vols</multiple>
|
|
581
|
+
</term>
|
|
582
|
+
<term name="page-first" form="short">
|
|
583
|
+
<single>p.</single>
|
|
584
|
+
<multiple>pp.</multiple>
|
|
585
|
+
</term>
|
|
586
|
+
<term name="printing" form="short">
|
|
587
|
+
<single>ptg</single>
|
|
588
|
+
<multiple>ptgs</multiple>
|
|
589
|
+
</term>
|
|
590
|
+
<term name="version" form="short">v.</term> <!-- no plural -->
|
|
591
|
+
|
|
592
|
+
<!-- LONG ROLE FORMS -->
|
|
593
|
+
<term name="author"/> <!-- generally blank -->
|
|
594
|
+
<term name="chair">
|
|
595
|
+
<single>chair</single>
|
|
596
|
+
<multiple>chairs</multiple>
|
|
597
|
+
</term>
|
|
598
|
+
<term name="collection-editor">
|
|
599
|
+
<single>editor</single>
|
|
600
|
+
<multiple>editors</multiple>
|
|
601
|
+
</term>
|
|
602
|
+
<term name="compiler">
|
|
603
|
+
<single>compiler</single>
|
|
604
|
+
<multiple>compilers</multiple>
|
|
605
|
+
</term>
|
|
606
|
+
<term name="composer"/> <!-- generally blank -->
|
|
607
|
+
<term name="container-author"/> <!-- generally blank -->
|
|
608
|
+
<term name="contributor">
|
|
609
|
+
<single>contributor</single>
|
|
610
|
+
<multiple>contributors</multiple>
|
|
611
|
+
</term>
|
|
612
|
+
<term name="curator">
|
|
613
|
+
<single>curator</single>
|
|
614
|
+
<multiple>curators</multiple>
|
|
615
|
+
</term>
|
|
616
|
+
<term name="director">
|
|
617
|
+
<single>director</single>
|
|
618
|
+
<multiple>directors</multiple>
|
|
619
|
+
</term>
|
|
620
|
+
<term name="editor">
|
|
621
|
+
<single>editor</single>
|
|
622
|
+
<multiple>editors</multiple>
|
|
623
|
+
</term>
|
|
624
|
+
<term name="editor-translator">
|
|
625
|
+
<single>editor & translator</single>
|
|
626
|
+
<multiple>editors & translators</multiple>
|
|
627
|
+
</term>
|
|
628
|
+
<term name="editortranslator">
|
|
629
|
+
<single>editor & translator</single>
|
|
630
|
+
<multiple>editors & translators</multiple>
|
|
631
|
+
</term>
|
|
632
|
+
<term name="editorial-director">
|
|
633
|
+
<single>editor</single>
|
|
634
|
+
<multiple>editors</multiple>
|
|
635
|
+
</term>
|
|
636
|
+
<term name="executive-producer">
|
|
637
|
+
<single>executive producer</single>
|
|
638
|
+
<multiple>executive producers</multiple>
|
|
639
|
+
</term>
|
|
640
|
+
<term name="guest">
|
|
641
|
+
<single>guest</single>
|
|
642
|
+
<multiple>guests</multiple>
|
|
643
|
+
</term>
|
|
644
|
+
<term name="host">
|
|
645
|
+
<single>host</single>
|
|
646
|
+
<multiple>hosts</multiple>
|
|
647
|
+
</term>
|
|
648
|
+
<term name="illustrator">
|
|
649
|
+
<single>illustrator</single>
|
|
650
|
+
<multiple>illustrators</multiple>
|
|
651
|
+
</term>
|
|
652
|
+
<term name="interviewer"/> <!-- generally blank -->
|
|
653
|
+
<term name="narrator">
|
|
654
|
+
<single>narrator</single>
|
|
655
|
+
<multiple>narrators</multiple>
|
|
656
|
+
</term>
|
|
657
|
+
<term name="organizer">
|
|
658
|
+
<single>organiser</single>
|
|
659
|
+
<multiple>organisers</multiple>
|
|
660
|
+
</term>
|
|
661
|
+
<term name="original-author"/> <!-- generally blank -->
|
|
662
|
+
<term name="performer">
|
|
663
|
+
<single>performer</single>
|
|
664
|
+
<multiple>performers</multiple>
|
|
665
|
+
</term>
|
|
666
|
+
<term name="producer">
|
|
667
|
+
<single>producer</single>
|
|
668
|
+
<multiple>producers</multiple>
|
|
669
|
+
</term>
|
|
670
|
+
<term name="recipient"/> <!-- generally blank -->
|
|
671
|
+
<term name="reviewed-author"/> <!-- generally blank -->
|
|
672
|
+
<term name="script-writer">
|
|
673
|
+
<single>writer</single>
|
|
674
|
+
<multiple>writers</multiple>
|
|
675
|
+
</term>
|
|
676
|
+
<term name="series-creator">
|
|
677
|
+
<single>series creator</single>
|
|
678
|
+
<multiple>series creators</multiple>
|
|
679
|
+
</term>
|
|
680
|
+
<term name="translator">
|
|
681
|
+
<single>translator</single>
|
|
682
|
+
<multiple>translators</multiple>
|
|
683
|
+
</term>
|
|
684
|
+
|
|
685
|
+
<!-- SHORT ROLE FORMS -->
|
|
686
|
+
<!-- Omitted roles:
|
|
687
|
+
author, chair, composer, container-author, guest, host, interviewer, original-author, recipient, reviewed-author
|
|
688
|
+
-->
|
|
689
|
+
<term name="collection-editor" form="short">
|
|
690
|
+
<single>ed.</single>
|
|
691
|
+
<multiple>eds</multiple>
|
|
692
|
+
</term>
|
|
693
|
+
<term name="compiler" form="short">
|
|
694
|
+
<single>comp.</single>
|
|
695
|
+
<multiple>comps</multiple>
|
|
696
|
+
</term>
|
|
697
|
+
<term name="contributor" form="short">
|
|
698
|
+
<!-- Oxford Dictionary of Abbreviations -->
|
|
699
|
+
<single>contrib.</single>
|
|
700
|
+
<multiple>contribs</multiple>
|
|
701
|
+
</term>
|
|
702
|
+
<term name="curator" form="short">
|
|
703
|
+
<!-- Oxford Art Online <https://www.oxfordartonline.com/page/1661> -->
|
|
704
|
+
<single>cur.</single>
|
|
705
|
+
<multiple>curs</multiple>
|
|
706
|
+
</term>
|
|
707
|
+
<term name="director" form="short">
|
|
708
|
+
<single>dir.</single>
|
|
709
|
+
<multiple>dirs</multiple>
|
|
710
|
+
</term>
|
|
711
|
+
<term name="editor" form="short">
|
|
712
|
+
<single>ed.</single>
|
|
713
|
+
<multiple>eds</multiple>
|
|
714
|
+
</term>
|
|
715
|
+
<term name="editor-translator" form="short">
|
|
716
|
+
<single>ed. & trans.</single>
|
|
717
|
+
<multiple>eds & trans.</multiple>
|
|
718
|
+
</term>
|
|
719
|
+
<term name="editortranslator" form="short">
|
|
720
|
+
<single>ed. & trans.</single>
|
|
721
|
+
<multiple>eds & trans.</multiple>
|
|
722
|
+
</term>
|
|
723
|
+
<term name="editorial-director" form="short">
|
|
724
|
+
<single>ed.</single>
|
|
725
|
+
<multiple>eds</multiple>
|
|
726
|
+
</term>
|
|
727
|
+
<term name="executive-producer" form="short">
|
|
728
|
+
<!-- Oxford Dictionary of Abbreviations -->
|
|
729
|
+
<single>exec. prod.</single>
|
|
730
|
+
<multiple>exec. prods</multiple>
|
|
731
|
+
</term>
|
|
732
|
+
<term name="illustrator" form="short">illus.</term> <!-- no plural -->
|
|
733
|
+
<term name="narrator" form="short">
|
|
734
|
+
<!-- Oxford Dictionary of Abbreviations -->
|
|
735
|
+
<single>narr.</single>
|
|
736
|
+
<multiple>narrs</multiple>
|
|
737
|
+
</term>
|
|
738
|
+
<term name="organizer" form="short">
|
|
739
|
+
<!-- possibly misleading: Oxford Dictionary of Abbreviations only defines this as organization or organized -->
|
|
740
|
+
<single>org.</single>
|
|
741
|
+
<multiple>orgs</multiple>
|
|
742
|
+
</term>
|
|
743
|
+
<term name="performer" form="short">
|
|
744
|
+
<!-- Oxford Dictionary of Abbreviations -->
|
|
745
|
+
<single>perf.</single>
|
|
746
|
+
<multiple>perfs</multiple>
|
|
747
|
+
</term>
|
|
748
|
+
<term name="producer" form="short">
|
|
749
|
+
<!-- Oxford Dictionary of Abbreviations -->
|
|
750
|
+
<single>prod.</single>
|
|
751
|
+
<multiple>prods</multiple>
|
|
752
|
+
</term>
|
|
753
|
+
<term name="script-writer" form="short">
|
|
754
|
+
<!-- Oxford Dictionary of Abbreviations -->
|
|
755
|
+
<single>wrtr</single>
|
|
756
|
+
<multiple>wrtrs</multiple>
|
|
757
|
+
</term>
|
|
758
|
+
<term name="series-creator" form="short">
|
|
759
|
+
<single>ser. creator</single>
|
|
760
|
+
<multiple>ser. creators</multiple>
|
|
761
|
+
</term>
|
|
762
|
+
<term name="translator" form="short">trans.</term> <!-- no plural -->
|
|
763
|
+
|
|
764
|
+
<!-- VERB ROLE FORMS -->
|
|
765
|
+
<term name="chair" form="verb">chaired by</term>
|
|
766
|
+
<term name="collection-editor" form="verb">edited by</term>
|
|
767
|
+
<term name="compiler" form="verb">compiled by</term>
|
|
768
|
+
<term name="composer" form="verb">composed by</term>
|
|
769
|
+
<term name="container-author" form="verb">by</term>
|
|
770
|
+
<term name="contributor" form="verb">with</term>
|
|
771
|
+
<term name="curator" form="verb">curated by</term>
|
|
772
|
+
<term name="director" form="verb">directed by</term>
|
|
773
|
+
<term name="editor" form="verb">edited by</term>
|
|
774
|
+
<term name="editor-translator" form="verb">edited & translated by</term>
|
|
775
|
+
<term name="editortranslator" form="verb">edited & translated by</term>
|
|
776
|
+
<term name="editorial-director" form="verb">edited by</term>
|
|
777
|
+
<term name="executive-producer" form="verb">executive produced by</term>
|
|
778
|
+
<term form="verb" name="guest">
|
|
779
|
+
<single>with guest</single>
|
|
780
|
+
<multiple>with guests</multiple>
|
|
781
|
+
</term>
|
|
782
|
+
<term name="host" form="verb">hosted by</term>
|
|
783
|
+
<term name="illustrator" form="verb">illustrated by</term>
|
|
784
|
+
<term name="interviewer" form="verb">interview by</term>
|
|
785
|
+
<term name="narrator" form="verb">read by</term> <!-- verb role form in Oxford Style Manual, MHRA -->
|
|
786
|
+
<term name="organizer" form="verb">organised by</term>
|
|
787
|
+
<term name="original-author" form="verb">by</term>
|
|
788
|
+
<term name="performer" form="verb">performed by</term>
|
|
789
|
+
<term name="producer" form="verb">produced by</term>
|
|
790
|
+
<term name="recipient" form="verb">to</term>
|
|
791
|
+
<term name="reviewed-author" form="verb">by</term>
|
|
792
|
+
<term name="script-writer" form="verb">written by</term>
|
|
793
|
+
<term name="series-creator" form="verb">created by</term>
|
|
794
|
+
<term name="translator" form="verb">translated by</term>
|
|
795
|
+
|
|
796
|
+
<!-- SHORT VERB ROLE FORMS -->
|
|
797
|
+
<!-- Omitted roles:
|
|
798
|
+
author, chair, container-author, contributor, guest, host, interviewer, original-author, recipient, reviewed-author, series-creator
|
|
799
|
+
-->
|
|
800
|
+
<term name="collection-editor" form="verb-short">ed. by</term>
|
|
801
|
+
<term name="compiler" form="verb-short">comp. by</term>
|
|
802
|
+
<term name="composer" form="verb-short">comp. by</term> <!-- ODWE -->
|
|
803
|
+
<term name="curator" form="verb-short">cur. by</term> <!-- Oxford Art Online -->
|
|
804
|
+
<term name="director" form="verb-short">dir. by</term>
|
|
805
|
+
<term name="editor" form="verb-short">ed. by</term>
|
|
806
|
+
<term name="editor-translator" form="verb-short">ed. & trans. by</term>
|
|
807
|
+
<term name="editortranslator" form="verb-short">ed. & trans. by</term>
|
|
808
|
+
<term name="editorial-director" form="verb-short">ed. by</term>
|
|
809
|
+
<term name="executive-producer" form="verb-short">exec. prod. by</term> <!-- ODA -->
|
|
810
|
+
<term name="illustrator" form="verb-short">illus. by</term>
|
|
811
|
+
<term name="narrator" form="verb-short">read by</term> <!-- repetition required to avoid fallback to en-US -->
|
|
812
|
+
<term name="organizer" form="verb-short">org. by</term> <!-- ODA -->
|
|
813
|
+
<term name="performer" form="verb-short">perfd by</term> <!-- ODA -->
|
|
814
|
+
<term name="producer" form="verb-short">prod. by</term> <!-- ODA -->
|
|
815
|
+
<term name="script-writer" form="verb-short">writ. by</term> <!-- ODA -->
|
|
816
|
+
<term name="translator" form="verb-short">trans. by</term>
|
|
817
|
+
|
|
818
|
+
<!-- LONG MONTH FORMS -->
|
|
819
|
+
<term name="month-01">January</term>
|
|
820
|
+
<term name="month-02">February</term>
|
|
821
|
+
<term name="month-03">March</term>
|
|
822
|
+
<term name="month-04">April</term>
|
|
823
|
+
<term name="month-05">May</term>
|
|
824
|
+
<term name="month-06">June</term>
|
|
825
|
+
<term name="month-07">July</term>
|
|
826
|
+
<term name="month-08">August</term>
|
|
827
|
+
<term name="month-09">September</term>
|
|
828
|
+
<term name="month-10">October</term>
|
|
829
|
+
<term name="month-11">November</term>
|
|
830
|
+
<term name="month-12">December</term>
|
|
831
|
+
|
|
832
|
+
<!-- SHORT MONTH FORMS -->
|
|
833
|
+
<!-- New Hart's Rules, 2nd edn, sect. 10.2.6 summarizes NODWE recommendations; identical to CMOS 10.44 -->
|
|
834
|
+
<term name="month-01" form="short">Jan.</term>
|
|
835
|
+
<term name="month-02" form="short">Feb.</term>
|
|
836
|
+
<term name="month-03" form="short">Mar.</term>
|
|
837
|
+
<term name="month-04" form="short">Apr.</term>
|
|
838
|
+
<term name="month-05" form="short">May</term>
|
|
839
|
+
<term name="month-06" form="short">June</term>
|
|
840
|
+
<term name="month-07" form="short">July</term>
|
|
841
|
+
<term name="month-08" form="short">Aug.</term>
|
|
842
|
+
<term name="month-09" form="short">Sept.</term>
|
|
843
|
+
<term name="month-10" form="short">Oct.</term>
|
|
844
|
+
<term name="month-11" form="short">Nov.</term>
|
|
845
|
+
<term name="month-12" form="short">Dec.</term>
|
|
846
|
+
|
|
847
|
+
<!-- SEASONS -->
|
|
848
|
+
<term name="season-01">Spring</term>
|
|
849
|
+
<term name="season-02">Summer</term>
|
|
850
|
+
<term name="season-03">Autumn</term>
|
|
851
|
+
<term name="season-04">Winter</term>
|
|
852
|
+
</terms>
|
|
853
|
+
</locale>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@citestyle/compiler",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"description": "Build-time compiler: CSL XML → JavaScript modules",
|
|
5
5
|
"author": "Uniweb",
|
|
6
6
|
"homepage": "https://github.com/uniweb/csl/tree/main/packages/compiler",
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"README.md"
|
|
35
35
|
],
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@citestyle/types": "1.0.
|
|
37
|
+
"@citestyle/types": "1.0.1",
|
|
38
38
|
"@xmldom/xmldom": "^0.8.11"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
package/src/cli.js
CHANGED
|
@@ -45,7 +45,8 @@ Commands:
|
|
|
45
45
|
|
|
46
46
|
Options (compile):
|
|
47
47
|
-o, --output <path> Output file (single input) or directory (batch mode)
|
|
48
|
-
--locale <lang> Target locale, comma-separated for multi-locale (default:
|
|
48
|
+
--locale <lang> Target locale, comma-separated for multi-locale (default: the style's
|
|
49
|
+
default-locale, else en-US)
|
|
49
50
|
--format <esm|cjs> Output format (default: esm)
|
|
50
51
|
|
|
51
52
|
Examples:
|
|
@@ -186,7 +187,8 @@ function parseArgs(args) {
|
|
|
186
187
|
}
|
|
187
188
|
}
|
|
188
189
|
|
|
189
|
-
|
|
190
|
+
// No --locale: one run in the style's own default-locale (en-US when it names none)
|
|
191
|
+
const locales = localeStr ? localeStr.split(',').map(s => s.trim()) : [null]
|
|
190
192
|
|
|
191
193
|
return { inputs, output, locales, format }
|
|
192
194
|
}
|
package/src/codegen.js
CHANGED
|
@@ -255,8 +255,8 @@ function _extractLinks(item) {
|
|
|
255
255
|
function _normalizePunctuation(str) {
|
|
256
256
|
if (!str) return ''
|
|
257
257
|
// F matches PUA tokens (formatting U+E000-E007 and semantic U+E020-E022) that may appear between dots
|
|
258
|
-
const F = '[\\uE000-\\uE007\\uE020-\\uE022]*'
|
|
259
|
-
return str
|
|
258
|
+
const F = '[\\uE000-\\uE007\\uE020-\\uE022]*'${quoteMove(ctx)}
|
|
259
|
+
return str${quoteMove(ctx) ? QUOTE_MOVE_REPLACES : ''}
|
|
260
260
|
.replace(new RegExp('([.!?])(' + F + ')\\\\. ', 'g'), '$1$2 ')
|
|
261
261
|
.replace(new RegExp('\\\\.(' + F + ')\\\\.', 'g'), '.$1')
|
|
262
262
|
.replace(/ +/g, ' ')
|
|
@@ -265,6 +265,34 @@ function _normalizePunctuation(str) {
|
|
|
265
265
|
${sortCode}`
|
|
266
266
|
}
|
|
267
267
|
|
|
268
|
+
// ── Punctuation inside a closing quote ───────────────────────────────────────
|
|
269
|
+
|
|
270
|
+
/**
|
|
271
|
+
* The declaration a bibliography's `_normalizePunctuation` needs to move a period or comma inside
|
|
272
|
+
* a closing quote, when the locale says so (CSL `punctuation-in-quote`, which en-US sets): `Q`,
|
|
273
|
+
* a character class of the locale's closing quotes. Empty when the locale keeps them outside.
|
|
274
|
+
* ⛔ The option was parsed and never applied, so MLA and Chicago in English printed
|
|
275
|
+
* `“A Title”.` where they write `“A Title.”`
|
|
276
|
+
*
|
|
277
|
+
* @param {object} ctx - the codegen context, holding the resolved locale
|
|
278
|
+
* @returns {string} generated code, or ''
|
|
279
|
+
*/
|
|
280
|
+
function quoteMove(ctx) {
|
|
281
|
+
if (!ctx.locale?.styleOptions?.punctuationInQuote) return ''
|
|
282
|
+
const text = (term) => (typeof term === 'string' ? term : term?.single || '')
|
|
283
|
+
const closing = [text(ctx.locale.terms?.['close-quote']) || '”', text(ctx.locale.terms?.['close-inner-quote']) || '’']
|
|
284
|
+
const charClass = '[' + [...new Set(closing.join(''))].map((c) => (/[\]\\^-]/.test(c) ? '\\' + c : c)).join('') + ']'
|
|
285
|
+
return `\n const Q = ${JSON.stringify(charClass)}`
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
/**
|
|
289
|
+
* Generated `.replace` calls: a period or comma after a closing quote moves inside it, and one that
|
|
290
|
+
* then follows the quote's own ending (`Why?.”`, `A study..”`) is dropped, as CSL renders it.
|
|
291
|
+
*/
|
|
292
|
+
const QUOTE_MOVE_REPLACES = `
|
|
293
|
+
.replace(new RegExp('(' + Q + ')(' + F + ')([.,])', 'g'), '$3$1$2')
|
|
294
|
+
.replace(new RegExp('([.!?])(' + F + ')([.,])(' + F + ')(' + Q + ')', 'g'), '$1$2$4$5')`
|
|
295
|
+
|
|
268
296
|
// ── Citation generation ──────────────────────────────────────────────────────
|
|
269
297
|
|
|
270
298
|
function generateCitation(citNode, ctx) {
|
|
@@ -844,7 +872,9 @@ function applyTextCase(expr, textCase) {
|
|
|
844
872
|
function applyFormatting(expr, node) {
|
|
845
873
|
// CSL rendering order: quotes → font formatting → display
|
|
846
874
|
if (node.quotes) {
|
|
847
|
-
|
|
875
|
+
// The locale's own quotation marks (de-DE \u201e\u2026\u201c, en-US \u201c\u2026\u201d), from the compiled terms. \u26d4 They
|
|
876
|
+
// were English curly quotes in every locale.
|
|
877
|
+
expr = `(${expr} ? (T['open-quote'] || '\u201c') + ${expr} + (T['close-quote'] || '\u201d') : '')`
|
|
848
878
|
}
|
|
849
879
|
// Formatting tokens — PUA characters converted to HTML tags by toHtml()
|
|
850
880
|
if (node.fontStyle === 'italic') {
|
package/src/compile.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*
|
|
6
6
|
* @param {string} cslXml - CSL XML source
|
|
7
7
|
* @param {object} [options]
|
|
8
|
-
* @param {string} [options.locale
|
|
8
|
+
* @param {string} [options.locale] - Target locale; the style's default-locale (else en-US) when absent
|
|
9
9
|
* @param {string} [options.format='esm'] - Output format ('esm' | 'cjs')
|
|
10
10
|
* @returns {{ code: string, meta: object }}
|
|
11
11
|
*/
|
|
@@ -14,13 +14,14 @@ import { resolveLocale } from './locale.js'
|
|
|
14
14
|
import { generate } from './codegen.js'
|
|
15
15
|
|
|
16
16
|
export function compile(cslXml, options = {}) {
|
|
17
|
-
const { locale = 'en-US' } = options
|
|
18
|
-
|
|
19
17
|
// 1. Parse CSL XML → AST
|
|
20
18
|
const ast = parse(cslXml)
|
|
21
19
|
|
|
22
|
-
// 2. Resolve locale: style overrides → locale file → en-US fallback
|
|
23
|
-
|
|
20
|
+
// 2. Resolve locale: style overrides → locale file → en-US fallback. A locale asked for wins; the
|
|
21
|
+
// style's default-locale is for when none is (the parser reads en-US where a style names none).
|
|
22
|
+
// ⛔ The style's default used to win always, so `--locale fr-FR` compiled English for every
|
|
23
|
+
// style, and a style naming no default could not be rendered in its own en-GB block.
|
|
24
|
+
const targetLocale = options.locale || ast.defaultLocale || 'en-US'
|
|
24
25
|
const resolvedLocale = resolveLocale(targetLocale, ast.localeOverrides)
|
|
25
26
|
|
|
26
27
|
// 3. Merge inheritable name options from the style root into the AST
|