texlive[61687] trunk: citation-style-language (21jan22)

commits+karl at tug.org commits+karl at tug.org
Fri Jan 21 23:58:36 CET 2022


Revision: 61687
          http://tug.org/svn/texlive?view=revision&revision=61687
Author:   karl
Date:     2022-01-21 23:58:35 +0100 (Fri, 21 Jan 2022)
Log Message:
-----------
citation-style-language (21jan22)

Modified Paths:
--------------
    trunk/Build/source/texk/texlive/linked_scripts/Makefile.am
    trunk/Build/source/texk/texlive/linked_scripts/Makefile.in
    trunk/Build/source/texk/texlive/linked_scripts/scripts.lst
    trunk/Master/tlpkg/bin/tlpkg-ctan-check
    trunk/Master/tlpkg/libexec/ctan2tds
    trunk/Master/tlpkg/tlpsrc/collection-bibtexextra.tlpsrc

Added Paths:
-----------
    trunk/Build/source/texk/texlive/linked_scripts/citation-style-language/
    trunk/Build/source/texk/texlive/linked_scripts/citation-style-language/citeproc.lua
    trunk/Master/bin/aarch64-linux/citeproc
    trunk/Master/bin/amd64-freebsd/citeproc
    trunk/Master/bin/amd64-netbsd/citeproc
    trunk/Master/bin/armhf-linux/citeproc
    trunk/Master/bin/i386-cygwin/citeproc
    trunk/Master/bin/i386-freebsd/citeproc
    trunk/Master/bin/i386-linux/citeproc
    trunk/Master/bin/i386-netbsd/citeproc
    trunk/Master/bin/i386-solaris/citeproc
    trunk/Master/bin/universal-darwin/citeproc
    trunk/Master/bin/win32/citeproc.exe
    trunk/Master/bin/x86_64-cygwin/citeproc
    trunk/Master/bin/x86_64-darwinlegacy/citeproc
    trunk/Master/bin/x86_64-linux/citeproc
    trunk/Master/bin/x86_64-linuxmusl/citeproc
    trunk/Master/bin/x86_64-solaris/citeproc
    trunk/Master/texmf-dist/doc/latex/citation-style-language/
    trunk/Master/texmf-dist/doc/latex/citation-style-language/CHANGELOG.md
    trunk/Master/texmf-dist/doc/latex/citation-style-language/README.md
    trunk/Master/texmf-dist/doc/latex/citation-style-language/citation-style-language-doc.pdf
    trunk/Master/texmf-dist/doc/latex/citation-style-language/citation-style-language-doc.tex
    trunk/Master/texmf-dist/doc/man/man1/citeproc.1
    trunk/Master/texmf-dist/scripts/citation-style-language/
    trunk/Master/texmf-dist/scripts/citation-style-language/citeproc
    trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-bib.lua
    trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-element.lua
    trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-engine.lua
    trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-formats.lua
    trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-node-choose.lua
    trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-node-date.lua
    trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-node-group.lua
    trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-node-label.lua
    trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-node-layout.lua
    trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-node-locale.lua
    trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-node-names.lua
    trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-node-number.lua
    trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-node-sort.lua
    trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-node-style.lua
    trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-node-text.lua
    trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-nodes.lua
    trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-richtext.lua
    trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-util.lua
    trunk/Master/texmf-dist/scripts/citation-style-language/citeproc.lua
    trunk/Master/texmf-dist/scripts/citation-style-language/csl-core.lua
    trunk/Master/texmf-dist/scripts/citation-style-language/csl.lua
    trunk/Master/texmf-dist/source/latex/citation-style-language/
    trunk/Master/texmf-dist/source/latex/citation-style-language/README.md
    trunk/Master/texmf-dist/tex/latex/citation-style-language/
    trunk/Master/texmf-dist/tex/latex/citation-style-language/citation-style-language.sty
    trunk/Master/texmf-dist/tex/latex/citation-style-language/citeproc-bib-data.json
    trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/
    trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-af-ZA.xml
    trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-ar.xml
    trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-bg-BG.xml
    trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-ca-AD.xml
    trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-cs-CZ.xml
    trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-cy-GB.xml
    trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-da-DK.xml
    trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-de-AT.xml
    trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-de-CH.xml
    trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-de-DE.xml
    trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-el-GR.xml
    trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-en-GB.xml
    trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-en-US.xml
    trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-es-CL.xml
    trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-es-ES.xml
    trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-es-MX.xml
    trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-et-EE.xml
    trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-eu.xml
    trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-fa-IR.xml
    trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-fi-FI.xml
    trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-fr-CA.xml
    trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-fr-FR.xml
    trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-he-IL.xml
    trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-hi-IN.xml
    trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-hr-HR.xml
    trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-hu-HU.xml
    trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-id-ID.xml
    trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-is-IS.xml
    trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-it-IT.xml
    trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-ja-JP.xml
    trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-km-KH.xml
    trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-ko-KR.xml
    trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-la.xml
    trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-lt-LT.xml
    trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-lv-LV.xml
    trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-mn-MN.xml
    trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-nb-NO.xml
    trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-nl-NL.xml
    trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-nn-NO.xml
    trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-pl-PL.xml
    trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-pt-BR.xml
    trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-pt-PT.xml
    trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-ro-RO.xml
    trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-ru-RU.xml
    trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-sk-SK.xml
    trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-sl-SI.xml
    trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-sr-RS.xml
    trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-sv-SE.xml
    trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-th-TH.xml
    trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-tr-TR.xml
    trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-uk-UA.xml
    trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-vi-VN.xml
    trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-zh-CN.xml
    trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-zh-TW.xml
    trunk/Master/texmf-dist/tex/latex/citation-style-language/styles/
    trunk/Master/texmf-dist/tex/latex/citation-style-language/styles/american-chemical-society.csl
    trunk/Master/texmf-dist/tex/latex/citation-style-language/styles/american-medical-association.csl
    trunk/Master/texmf-dist/tex/latex/citation-style-language/styles/american-political-science-association.csl
    trunk/Master/texmf-dist/tex/latex/citation-style-language/styles/american-sociological-association.csl
    trunk/Master/texmf-dist/tex/latex/citation-style-language/styles/apa.csl
    trunk/Master/texmf-dist/tex/latex/citation-style-language/styles/chicago-author-date.csl
    trunk/Master/texmf-dist/tex/latex/citation-style-language/styles/chicago-fullnote-bibliography.csl
    trunk/Master/texmf-dist/tex/latex/citation-style-language/styles/chicago-note-bibliography.csl
    trunk/Master/texmf-dist/tex/latex/citation-style-language/styles/elsevier-harvard.csl
    trunk/Master/texmf-dist/tex/latex/citation-style-language/styles/harvard-cite-them-right.csl
    trunk/Master/texmf-dist/tex/latex/citation-style-language/styles/ieee.csl
    trunk/Master/texmf-dist/tex/latex/citation-style-language/styles/modern-humanities-research-association.csl
    trunk/Master/texmf-dist/tex/latex/citation-style-language/styles/modern-language-association.csl
    trunk/Master/texmf-dist/tex/latex/citation-style-language/styles/nature.csl
    trunk/Master/texmf-dist/tex/latex/citation-style-language/styles/vancouver.csl
    trunk/Master/tlpkg/tlpsrc/citation-style-language.tlpsrc

Modified: trunk/Build/source/texk/texlive/linked_scripts/Makefile.am
===================================================================
--- trunk/Build/source/texk/texlive/linked_scripts/Makefile.am	2022-01-21 22:50:29 UTC (rev 61686)
+++ trunk/Build/source/texk/texlive/linked_scripts/Makefile.am	2022-01-21 22:58:35 UTC (rev 61687)
@@ -1,14 +1,13 @@
 ## $Id$
 ## Makefile.am for the TeX Live subdirectory texk/texlive/linked_scripts/
 ##
-## Copyright 2016-2021 Karl Berry <tex-live at tug.org>
+## Copyright 2016-2022 Karl Berry <tex-live at tug.org>
 ## Copyright 2009-2015 Peter Breitenlohner <tex-live at tug.org>
 ## You may freely use, modify and/or distribute this file.
 ##
 ## TeX Live's extra scripts.
 
-## Build lists of scripts.
-##
+# Build lists of scripts.
 scripts-list: Makefile
 	@echo "Create $@"
 	@echo "texmf_scripts='" >$@
@@ -16,6 +15,10 @@
 	@echo "'" >>$@
 	cmp -s $(srcdir)/scripts.lst $@ || cp -f $@ $(srcdir)/scripts.lst
 
+# Hard to remember the target name different from final file name.
+scripts-lst:
+	$(MAKE) scripts-list
+
 if MAINTAINER_MODE
 all-local: scripts-list
 else !MAINTAINER_MODE
@@ -111,6 +114,7 @@
 	bundledoc/bundledoc \
 	cachepic/cachepic.tlu \
 	checkcites/checkcites.lua \
+	citation-style-language/citeproc.lua \
 	chklref/chklref.pl \
 	cjk-gs-integrate/cjk-gs-integrate.pl \
 	clojure-pamphlet/pamphletangler \

Modified: trunk/Build/source/texk/texlive/linked_scripts/Makefile.in
===================================================================
--- trunk/Build/source/texk/texlive/linked_scripts/Makefile.in	2022-01-21 22:50:29 UTC (rev 61686)
+++ trunk/Build/source/texk/texlive/linked_scripts/Makefile.in	2022-01-21 22:58:35 UTC (rev 61687)
@@ -328,6 +328,7 @@
 	bundledoc/bundledoc \
 	cachepic/cachepic.tlu \
 	checkcites/checkcites.lua \
+	citation-style-language/citeproc.lua \
 	chklref/chklref.pl \
 	cjk-gs-integrate/cjk-gs-integrate.pl \
 	clojure-pamphlet/pamphletangler \
@@ -730,6 +731,7 @@
 .PRECIOUS: Makefile
 
 
+# Build lists of scripts.
 scripts-list: Makefile
 	@echo "Create $@"
 	@echo "texmf_scripts='" >$@
@@ -737,6 +739,10 @@
 	@echo "'" >>$@
 	cmp -s $(srcdir)/scripts.lst $@ || cp -f $@ $(srcdir)/scripts.lst
 
+# Hard to remember the target name different from final file name.
+scripts-lst:
+	$(MAKE) scripts-list
+
 @MAINTAINER_MODE_TRUE at all-local: scripts-list
 @MAINTAINER_MODE_FALSE at all-local:
 

Added: trunk/Build/source/texk/texlive/linked_scripts/citation-style-language/citeproc.lua
===================================================================
--- trunk/Build/source/texk/texlive/linked_scripts/citation-style-language/citeproc.lua	                        (rev 0)
+++ trunk/Build/source/texk/texlive/linked_scripts/citation-style-language/citeproc.lua	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,18 @@
+--[[
+  Copyright (C) 2021 Zeping Lee
+--]]
+
+
+local citeproc = {}
+
+local engine = require("citeproc-engine")
+local bib = require("citeproc-bib")
+local util = require("citeproc-util")
+
+citeproc.__VERSION__ = "0.1.0"
+
+citeproc.new = engine.CiteProc.new
+citeproc.parse_bib = bib.parse
+citeproc.util = util
+
+return citeproc


Property changes on: trunk/Build/source/texk/texlive/linked_scripts/citation-style-language/citeproc.lua
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Build/source/texk/texlive/linked_scripts/scripts.lst
===================================================================
--- trunk/Build/source/texk/texlive/linked_scripts/scripts.lst	2022-01-21 22:50:29 UTC (rev 61686)
+++ trunk/Build/source/texk/texlive/linked_scripts/scripts.lst	2022-01-21 22:58:35 UTC (rev 61687)
@@ -53,6 +53,7 @@
 bundledoc/bundledoc
 cachepic/cachepic.tlu
 checkcites/checkcites.lua
+citation-style-language/citeproc.lua
 chklref/chklref.pl
 cjk-gs-integrate/cjk-gs-integrate.pl
 clojure-pamphlet/pamphletangler

Added: trunk/Master/bin/aarch64-linux/citeproc
===================================================================
--- trunk/Master/bin/aarch64-linux/citeproc	                        (rev 0)
+++ trunk/Master/bin/aarch64-linux/citeproc	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1 @@
+link ../../texmf-dist/scripts/citation-style-language/citeproc.lua
\ No newline at end of file


Property changes on: trunk/Master/bin/aarch64-linux/citeproc
___________________________________________________________________
Added: svn:special
## -0,0 +1 ##
+*
\ No newline at end of property
Added: trunk/Master/bin/amd64-freebsd/citeproc
===================================================================
--- trunk/Master/bin/amd64-freebsd/citeproc	                        (rev 0)
+++ trunk/Master/bin/amd64-freebsd/citeproc	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1 @@
+link ../../texmf-dist/scripts/citation-style-language/citeproc.lua
\ No newline at end of file


Property changes on: trunk/Master/bin/amd64-freebsd/citeproc
___________________________________________________________________
Added: svn:special
## -0,0 +1 ##
+*
\ No newline at end of property
Added: trunk/Master/bin/amd64-netbsd/citeproc
===================================================================
--- trunk/Master/bin/amd64-netbsd/citeproc	                        (rev 0)
+++ trunk/Master/bin/amd64-netbsd/citeproc	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1 @@
+link ../../texmf-dist/scripts/citation-style-language/citeproc.lua
\ No newline at end of file


Property changes on: trunk/Master/bin/amd64-netbsd/citeproc
___________________________________________________________________
Added: svn:special
## -0,0 +1 ##
+*
\ No newline at end of property
Added: trunk/Master/bin/armhf-linux/citeproc
===================================================================
--- trunk/Master/bin/armhf-linux/citeproc	                        (rev 0)
+++ trunk/Master/bin/armhf-linux/citeproc	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1 @@
+link ../../texmf-dist/scripts/citation-style-language/citeproc.lua
\ No newline at end of file


Property changes on: trunk/Master/bin/armhf-linux/citeproc
___________________________________________________________________
Added: svn:special
## -0,0 +1 ##
+*
\ No newline at end of property
Added: trunk/Master/bin/i386-cygwin/citeproc
===================================================================
--- trunk/Master/bin/i386-cygwin/citeproc	                        (rev 0)
+++ trunk/Master/bin/i386-cygwin/citeproc	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1 @@
+link ../../texmf-dist/scripts/citation-style-language/citeproc.lua
\ No newline at end of file


Property changes on: trunk/Master/bin/i386-cygwin/citeproc
___________________________________________________________________
Added: svn:special
## -0,0 +1 ##
+*
\ No newline at end of property
Added: trunk/Master/bin/i386-freebsd/citeproc
===================================================================
--- trunk/Master/bin/i386-freebsd/citeproc	                        (rev 0)
+++ trunk/Master/bin/i386-freebsd/citeproc	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1 @@
+link ../../texmf-dist/scripts/citation-style-language/citeproc.lua
\ No newline at end of file


Property changes on: trunk/Master/bin/i386-freebsd/citeproc
___________________________________________________________________
Added: svn:special
## -0,0 +1 ##
+*
\ No newline at end of property
Added: trunk/Master/bin/i386-linux/citeproc
===================================================================
--- trunk/Master/bin/i386-linux/citeproc	                        (rev 0)
+++ trunk/Master/bin/i386-linux/citeproc	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1 @@
+link ../../texmf-dist/scripts/citation-style-language/citeproc.lua
\ No newline at end of file


Property changes on: trunk/Master/bin/i386-linux/citeproc
___________________________________________________________________
Added: svn:special
## -0,0 +1 ##
+*
\ No newline at end of property
Added: trunk/Master/bin/i386-netbsd/citeproc
===================================================================
--- trunk/Master/bin/i386-netbsd/citeproc	                        (rev 0)
+++ trunk/Master/bin/i386-netbsd/citeproc	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1 @@
+link ../../texmf-dist/scripts/citation-style-language/citeproc.lua
\ No newline at end of file


Property changes on: trunk/Master/bin/i386-netbsd/citeproc
___________________________________________________________________
Added: svn:special
## -0,0 +1 ##
+*
\ No newline at end of property
Added: trunk/Master/bin/i386-solaris/citeproc
===================================================================
--- trunk/Master/bin/i386-solaris/citeproc	                        (rev 0)
+++ trunk/Master/bin/i386-solaris/citeproc	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1 @@
+link ../../texmf-dist/scripts/citation-style-language/citeproc.lua
\ No newline at end of file


Property changes on: trunk/Master/bin/i386-solaris/citeproc
___________________________________________________________________
Added: svn:special
## -0,0 +1 ##
+*
\ No newline at end of property
Added: trunk/Master/bin/universal-darwin/citeproc
===================================================================
--- trunk/Master/bin/universal-darwin/citeproc	                        (rev 0)
+++ trunk/Master/bin/universal-darwin/citeproc	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1 @@
+link ../../texmf-dist/scripts/citation-style-language/citeproc.lua
\ No newline at end of file


Property changes on: trunk/Master/bin/universal-darwin/citeproc
___________________________________________________________________
Added: svn:special
## -0,0 +1 ##
+*
\ No newline at end of property
Added: trunk/Master/bin/win32/citeproc.exe
===================================================================
(Binary files differ)

Index: trunk/Master/bin/win32/citeproc.exe
===================================================================
--- trunk/Master/bin/win32/citeproc.exe	2022-01-21 22:50:29 UTC (rev 61686)
+++ trunk/Master/bin/win32/citeproc.exe	2022-01-21 22:58:35 UTC (rev 61687)

Property changes on: trunk/Master/bin/win32/citeproc.exe
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/bin/x86_64-cygwin/citeproc
===================================================================
--- trunk/Master/bin/x86_64-cygwin/citeproc	                        (rev 0)
+++ trunk/Master/bin/x86_64-cygwin/citeproc	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1 @@
+link ../../texmf-dist/scripts/citation-style-language/citeproc.lua
\ No newline at end of file


Property changes on: trunk/Master/bin/x86_64-cygwin/citeproc
___________________________________________________________________
Added: svn:special
## -0,0 +1 ##
+*
\ No newline at end of property
Added: trunk/Master/bin/x86_64-darwinlegacy/citeproc
===================================================================
--- trunk/Master/bin/x86_64-darwinlegacy/citeproc	                        (rev 0)
+++ trunk/Master/bin/x86_64-darwinlegacy/citeproc	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1 @@
+link ../../texmf-dist/scripts/citation-style-language/citeproc.lua
\ No newline at end of file


Property changes on: trunk/Master/bin/x86_64-darwinlegacy/citeproc
___________________________________________________________________
Added: svn:special
## -0,0 +1 ##
+*
\ No newline at end of property
Added: trunk/Master/bin/x86_64-linux/citeproc
===================================================================
--- trunk/Master/bin/x86_64-linux/citeproc	                        (rev 0)
+++ trunk/Master/bin/x86_64-linux/citeproc	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1 @@
+link ../../texmf-dist/scripts/citation-style-language/citeproc.lua
\ No newline at end of file


Property changes on: trunk/Master/bin/x86_64-linux/citeproc
___________________________________________________________________
Added: svn:special
## -0,0 +1 ##
+*
\ No newline at end of property
Added: trunk/Master/bin/x86_64-linuxmusl/citeproc
===================================================================
--- trunk/Master/bin/x86_64-linuxmusl/citeproc	                        (rev 0)
+++ trunk/Master/bin/x86_64-linuxmusl/citeproc	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1 @@
+link ../../texmf-dist/scripts/citation-style-language/citeproc.lua
\ No newline at end of file


Property changes on: trunk/Master/bin/x86_64-linuxmusl/citeproc
___________________________________________________________________
Added: svn:special
## -0,0 +1 ##
+*
\ No newline at end of property
Added: trunk/Master/bin/x86_64-solaris/citeproc
===================================================================
--- trunk/Master/bin/x86_64-solaris/citeproc	                        (rev 0)
+++ trunk/Master/bin/x86_64-solaris/citeproc	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1 @@
+link ../../texmf-dist/scripts/citation-style-language/citeproc.lua
\ No newline at end of file


Property changes on: trunk/Master/bin/x86_64-solaris/citeproc
___________________________________________________________________
Added: svn:special
## -0,0 +1 ##
+*
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/citation-style-language/CHANGELOG.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/citation-style-language/CHANGELOG.md	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/citation-style-language/CHANGELOG.md	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,17 @@
+# Changelog
+
+All notable changes to this project will be documented in this file.
+
+The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
+and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
+
+## [Unreleased]
+
+## [v0.1.0] - 2022-01-22
+
+### Added
+
+- Initial CTAN release.
+
+[Unreleased]: https://github.com/zepinglee/citeproc-lua/compare/v0.1.0...HEAD
+[v0.1.0]: https://github.com/zepinglee/citeproc-lua/releases/tag/v0.1.0


Property changes on: trunk/Master/texmf-dist/doc/latex/citation-style-language/CHANGELOG.md
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/citation-style-language/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/citation-style-language/README.md	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/citation-style-language/README.md	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,59 @@
+# citation-style-language
+
+The [Citation Style Language](https://citationstyles.org/) (CSL) is an
+XML-based language that defines the formats of citations and bibliography.
+There are currently thousands of styles in CSL including the most widely used
+APA, Chicago, Vancouver, etc.
+The `citation-style-language` package is aimed to provide another reference
+formatting method for LaTeX that utilizes the CSL styles.
+It contains a citation processor implemented in pure Lua (`citeproc-lua`)
+which reads bibliographic metadata and performs sorting and formatting on both
+citations and bibliography according to the selected CSL style.
+A LaTeX package (`citation-style-language.sty`) is provided to communicate
+with the processor.
+
+This project is in early development stage and some features of CSL (especially
+collapsing and disambiguation) are not implemented yet. Comments, suggestions
+and bug reports are welcome.
+
+## LaTeX example
+
+A full LaTeX example is in the [`example/`](example) directory.
+
+- LaTeX document example.tex
+
+```latex
+\documentclass{article}
+
+\usepackage{citation-style-language}
+\cslsetup{style = apa}
+\addbibresource{example.bib}
+
+\begin{document}
+
+\cite{ITEM-1}
+\printbibliography
+
+\end{document}
+```
+
+- Compiling with LuaTeX
+
+```bash
+lualatex example.tex
+lualatex example.tex
+```
+
+- Compiling with other TeX engines
+
+```bash
+pdflatex example.tex
+citeproc example.aux
+pdflatex example.tex
+```
+
+
+## License
+
+The LaTeX package and Lua library are released under MIT license.
+The CSL locale files and styles are redistributed under the [Creative Commons Attribution-ShareAlike 3.0 Unported license](https://creativecommons.org/licenses/by-sa/3.0/).


Property changes on: trunk/Master/texmf-dist/doc/latex/citation-style-language/README.md
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/citation-style-language/citation-style-language-doc.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/citation-style-language/citation-style-language-doc.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/citation-style-language/citation-style-language-doc.pdf	2022-01-21 22:50:29 UTC (rev 61686)
+++ trunk/Master/texmf-dist/doc/latex/citation-style-language/citation-style-language-doc.pdf	2022-01-21 22:58:35 UTC (rev 61687)

Property changes on: trunk/Master/texmf-dist/doc/latex/citation-style-language/citation-style-language-doc.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/citation-style-language/citation-style-language-doc.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/citation-style-language/citation-style-language-doc.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/citation-style-language/citation-style-language-doc.tex	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,357 @@
+\documentclass{l3doc}
+
+\usepackage{mathpazo}
+\usepackage{helvet}
+\usepackage{listings}
+
+\NewDocumentCommand\opt{m}{\texttt{#1}}
+
+\lstnewenvironment{LaTeXdemo}{
+  \lstset{
+    basicstyle = \ttfamily\small,
+    basewidth  = 0.51em,
+    frame      = single,
+    gobble     = 2,
+    language   = [LaTeX]TeX,
+  }
+}{}
+
+\lstnewenvironment{bash}{
+  \lstset{
+    basicstyle = \ttfamily\small,
+    basewidth  = 0.51em,
+    gobble     = 2,
+    language   = bash,
+  }
+}{}
+
+% \hypersetup{hidelinks}
+% \urlstyle{same}
+
+\begin{document}
+
+\title{%
+  Bibliography formatting with \pkg{citation-style-language}
+}
+
+\author{%
+  Zeping Lee%
+  \thanks{%
+    E-mail:
+    \href{mailto:zepinglee at gmail.com}
+      {zepinglee at gmail.com}%
+  }%
+}
+
+\date{2022-01-22 v0.1.0}
+
+\maketitle
+
+% \begin{abstract}
+%   Foo
+% \end{abstract}
+
+\begin{documentation}
+
+\section{Introduction}
+
+The Citation Style Language\footnote{\url{https://citationstyles.org/}} (CSL)
+is an XML-based language that defines the formats of citations and bibliography.
+There are currently thousands of styles in CSL including the most widely used
+APA, Chicago, Vancouver, etc.
+The \pkg{citation-style-language} package is aimed to provide another reference formatting method
+for LaTeX that utilizes the CSL styles.
+It contains a citation processor implemented in pure Lua (\pkg{citeproc-lua})
+which reads bibliographic metadata and performs sorting and formatting on both
+citations and bibliography according to the selected CSL style.
+A LaTeX package (\file{citation-style-language.sty}) is provided to communicate with the processor.
+
+Note that this project is in early development stage and some features of CSL
+are not implemented yet (especially collapsing and disambiguation).
+Comments, suggestions, and bug reports are welcome.
+
+
+\section{Getting started}
+
+An example of using \pkg{citation-style-language} package is as follows.
+
+\begin{LaTeXdemo}
+  \documentclass{...}
+  \usepackage{citation-style-language}
+  \cslsetup{
+    style = ...,
+    ...
+  }
+  \addbibresource{bibfile.json}
+  \begin{document}
+  \cite{...}
+  ...
+  \printbibliography
+  \end{document}
+\end{LaTeXdemo}
+
+The procedure to compile the document is different across engines.
+
+\paragraph{LuaTeX}
+
+The CSL processor is written in Lua and it can be run directly in LuaTeX
+without the need of running external programs.
+For LuaTeX, the compiling procedure is simply running \file{latex} twice,
+which is the same as documents with cross references.
+
+\paragraph{Other engines}
+
+For engines other than LuaTeX, the \file{citeproc} executable is required
+to run on the \file{.aux} file to generate the citations and bibliography.
+The general procedure is similar to the traditional BibTeX workflow.
+\begin{enumerate}
+  \item Run \file{latex} on \file{example.tex}.
+  \item Run \file{citeproc} on \file{example.aux}.
+    The engine reads the \file{.csl} style, CSL locale files, and
+    \file{.bib} database and then writes the processed citations and
+      bibliography to \file{example.bbl}.
+  \item Run \file{latex} on \file{example.tex}.
+    The \file{.bbl} file is loaded and all the citations and bibliography
+    are printed.
+\end{enumerate}
+
+
+
+\section{Package commands}
+
+\begin{function}{\cslsetup}
+  \begin{syntax}
+    \cs{cslsetup}\marg{options}
+  \end{syntax}
+\end{function}
+
+The behavior of the \pkg{citation-style-language} package is controlled by several key-value
+options which can be set with the \cs{cslsetup} command.
+For example,
+\begin{LaTeXdemo}
+  \cslsetup{
+    style  = apa,
+    locale = zh-CN,
+  }
+\end{LaTeXdemo}
+
+\DescribeOption{style}
+The \opt{style=}\meta{style-id} option selects the style file
+\meta{style-id}\file{.csl} for both citations and bibliography.
+The implemented CSL style files are available in the official GitHub
+repository\footnote{\url{https://github.com/citation-style-language/styles}}
+as well as the Zotero style
+repository\footnote{\url{https://www.zotero.org/styles}}.
+The user may search and download the \file{.csl} file to the working directory.
+The following styles are distributed within the package and
+each of them can be directly loaded without downloading.
+
+\begin{description}
+  \item[\opt{american-chemical-society}] American Chemical Society
+  \item[\opt{american-medical-association}] American Medical Association 11th edition
+  \item[\opt{american-political-science-association}] American Political Science Association
+  \item[\opt{american-sociological-association}] American Sociological Association 6th edition
+  \item[\opt{apa}] American Psychological Association 7th edition
+  \item[\opt{chicago-author-date}] Chicago Manual of Style 17th edition (author-date)
+  \item[\opt{chicago-fullnote-bibliography}] Chicago Manual of Style 17th edition (full note)
+  \item[\opt{chicago-note-bibliography}] Chicago Manual of Style 17th edition (note)
+  \item[\opt{elsevier-harvard}] Elsevier - Harvard (with titles)
+  \item[\opt{harvard-cite-them-right}] Cite Them Right 11th edition - Harvard
+  \item[\opt{ieee}] IEEE
+  \item[\opt{modern-humanities-research-association}] Modern Humanities Research Association 3rd edition (note with bibliography)
+  \item[\opt{modern-language-association}] Modern Language Association 9th edition
+  \item[\opt{nature}] Nature
+  \item[\opt{vancouver}] Vancouver
+\end{description}
+
+\DescribeOption{locale}
+The \opt{locale} option receives an ISO 639-1 two-letter language code
+(e.g.,  ``\opt{en}'', ``\opt{zh}''), optionally with a two-letter locale code
+(e.g., ``\opt{de-DE}'', ``\opt{de-AT}'').
+This option affects sorting of the entries and the output of dates, numbers,
+and terms (e.g., ``et al.'').
+It may also be set \opt{auto} (default) and the \opt{default-locale} attribute in
+the CSL style file will be used.
+The locale falls back to ``\opt{en}'' (English) if the attribute is not set.
+When \pkg{babel} package is loaded, the selected main language is implicitly set
+as the \opt{locale} for \pkg{citation-style-language}.
+
+\DescribeOption{bib-font}
+Usually, the list of references is printed in the same font style and size as
+the main text.
+The \opt{bib-font} option is used to set different formats in the
+\env{thebibliography} environment.
+It may override the \opt{line-spacing} attribute configured in the CSL style.
+For example, to force double-spacing in the bibliography:
+\begin{LaTeXdemo}
+  \cslsetup{bib-font = \linespread{2}\selectfont}
+\end{LaTeXdemo}
+
+\DescribeOption{bib-item-sep}
+The vertical space between entries in the bibliography is configured in the
+CSL style.
+It can be overridden by this \opt{bib-item-sep} option.
+It is recommended to set \opt{bib-item-sep} to a stretchable glue rather than
+a fixed length to help reducing page breaks in the middle of an entry.
+\begin{LaTeXdemo}
+  \cslsetup{bib-item-sep = 8 pt plus 4 pt minus 2 pt}
+\end{LaTeXdemo}
+
+\DescribeOption{bib-hang}
+The \opt{bib-hang} option sets the hanging indentation length which is
+usually used for author-date style references.
+By default, it is 1 em (with respect to the \opt{bib-font} size if set).
+
+
+\begin{function}{\addbibresource}
+  \begin{syntax}
+    \cs{addbibresource}\oarg{options}\marg{resouce}
+  \end{syntax}
+\end{function}
+
+The \cs{addbibresource} command adds the contents of \meta{resource} into the
+bibliographic metadata.
+Currently, only Bib(La)TeX \file{.bib} format is supported.
+
+and Bib(La)TeX \file{.bib} are supported.
+It is internally converted to CSL-JSON\footnote{\url{https://github.com/citation-style-language/schema\#csl-json-schema}}, the data model defined with CSL
+and the mapping of entry-types and fields from \file{.bib} to CSL-JSON is detailed
+in GitHub wiki
+page\footnote{\url{https://github.com/zepinglee/citeproc-lua/wiki/Bib-CSL-mapping}}.
+Note that only UTF-8 encoding is supported for the \meta{resource} file.
+\begin{LaTeXdemo}
+  \addbibresource{bibfile.bib}
+\end{LaTeXdemo}
+
+
+\begin{function}{\cite}
+  \begin{syntax}
+    \cs{cite}\oarg{options}\marg{keys}
+  \end{syntax}
+\end{function}
+
+The citation command is similar to the one in standard LaTeX except that the
+\meta{options} is in key-value style.
+The \meta{options} can be \opt{prefix}, \opt{suffix} or one of the locators:
+\opt{book},
+\opt{chapter},
+\opt{column},
+\opt{figure},
+\opt{folio},
+\opt{issue},
+\opt{line},
+\opt{note},
+\opt{opus},
+\opt{page},
+\opt{paragraph},
+\opt{part},
+\opt{section},
+\opt{sub-verbo},
+\opt{verse},
+and \opt{volume}.
+An example is as follows.
+\begin{LaTeXdemo}
+  \cite[prefix = {See }, page = 42]{ITEM-1}
+\end{LaTeXdemo}
+
+The traditional form \cs{cite}\oarg{prenote}\oarg{postnote}\marg{keys}
+introduced in \pkg{natbib} and \pkg{biblatex} is also supported but not
+recommended.
+If only one optional argument is provided, it is treated as \meta{postnote}.
+The \meta{postnote} is used as a page locator if it consists of only digits.
+
+In other packages, several commands are provided for producing citations in
+different styles such as \cs{citet}, \cs{citep}, \cs{parencite}, and
+\cs{footnotecite}.
+In \pkg{citation-style-language} package, however, the format of citations is fixed as formatted
+in CSL style and it is impossible to select another format without modifying
+the \file{.csl} style file.
+Note that narrative citation (like ``Doe (2018)'') will be supported in CSL 1.1.
+
+
+
+\begin{function}{\printbibliography}
+  \begin{syntax}
+    \cs{printbibliography}\oarg{options}
+  \end{syntax}
+\end{function}
+
+This command prints the reference list.
+Currently no options are available.
+
+
+% \begin{function}{\cites}
+%   \begin{syntax}
+%     \cs{cite}\oarg{options}\marg{keys}
+%   \end{syntax}
+% \end{function}
+
+
+
+
+% \markdownInput{bib-csl-mapping.md}
+
+
+\section{Compatibility with other packages}
+
+\paragraph{\pkg{babel}}
+
+The main language set by \pkg{babel} is used as the locale for \pkg{citation-style-language}.
+
+\paragraph{\pkg{hyperref}}
+
+When \pkg{hyperref} is loaded, the DOIs, PMIDs, and PMCIDs are correctly
+rendered as hyperlinks.
+But the citations are not linked to the entries in bibliography.
+
+\paragraph{Incompatible packages}
+
+The following packages are not compatible with \pkg{citation-style-language}.
+An error will be triggered if any of them is loaded together with \pkg{citation-style-language}.
+\begin{itemize}
+  \item \pkg{babelbib}
+  \item \pkg{backref}
+  \item \pkg{biblatex}
+  \item \pkg{bibtopic}
+  \item \pkg{bibunits}
+  \item \pkg{chapterbib}
+  \item \pkg{cite}
+  \item \pkg{citeref}
+  \item \pkg{inlinebib}
+  \item \pkg{jurabib}
+  \item \pkg{mcite}
+  \item \pkg{mciteplus}
+  \item \pkg{multibib}
+  \item \pkg{natbib}
+  \item \pkg{splitbib}
+\end{itemize}
+
+
+
+\section{Known issues}
+
+The \pkg{citation-style-language} package is in early development stage and there are some issues with it.
+
+\begin{itemize}
+  \item The \pkg{citeproc-lua} has not implemented all the features of CSL,
+    especially disambiguation and collapsing.
+    For detailed information of the coverage on the CSL standard test
+    suite\footnote{\url{https://github.com/citation-style-language/test-suite}},
+    see \href{https://github.com/zepinglee/citeproc-lua/blob/main/test/citeproc-test.log}{citeproc-test.log}
+    in the GitHub repository.
+  \item The processor is much slower than expected compared to other
+    reference engines.
+    This is because little care has been taken in the development so far.
+    Optimization is needed in the future.
+  \item When used with \pkg{hyperref}, the citations are not correctly rendered
+    as hyperlinks.
+  \item The Unicode sorting method is provided by \pkg{lua-uca} package and
+    CJK scripts are not supported so far.
+\end{itemize}
+
+
+
+
+\end{documentation}
+
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/citation-style-language/citation-style-language-doc.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/man/man1/citeproc.1
===================================================================
--- trunk/Master/texmf-dist/doc/man/man1/citeproc.1	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/man/man1/citeproc.1	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,26 @@
+.TH citeproc 1 "0.1.0"
+.SH NAME
+citeproc \- make CSL citations and bibliography for LaTeX
+.SH SYNOPSIS
+.B citeproc
+.RB [<options>]
+.IR auxname [ \fB.aux\fP ]
+.SH DESCRIPTION
+The citeproc engine is a Citation Style Lanugage processor for LaTeX.
+It reads the auxiliary
+.RB ( .aux )
+file
+.I auxname
+and creates a bibliography
+.RB ( .bbl )
+file
+.SH OPTIONS
+.IP \-h ", " \-\-help
+Prints the usage and exits.
+.IP \-V ", " \-\-version
+Prints the version number and exits.
+.SH AUTHOR
+Zeping Lee <zepinglee at gmail.com>
+.PP
+Please log issues on the GitHub homepage:
+https://github.com/zepinglee/citeproc-lua/issues.


Property changes on: trunk/Master/texmf-dist/doc/man/man1/citeproc.1
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/scripts/citation-style-language/citeproc
===================================================================
--- trunk/Master/texmf-dist/scripts/citation-style-language/citeproc	                        (rev 0)
+++ trunk/Master/texmf-dist/scripts/citation-style-language/citeproc	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,188 @@
+#!/usr/bin/env texlua
+
+kpse.set_program_name("luatex")
+
+require("lualibs")
+local citeproc = require("citeproc")
+local util = require("citeproc-util")
+local core = require("csl-core")
+
+local function getopt( arg, options )
+  local tab = {}
+  for k, v in ipairs(arg) do
+    if string.sub( v, 1, 2) == "--" then
+      local x = string.find( v, "=", 1, true )
+      if x then tab[ string.sub( v, 3, x-1 ) ] = string.sub( v, x+1 )
+      else      tab[ string.sub( v, 3 ) ] = true
+      end
+    elseif string.sub( v, 1, 1 ) == "-" then
+      local y = 2
+      local l = string.len(v)
+      local jopt
+      while ( y <= l ) do
+        jopt = string.sub( v, y, y )
+        if string.find( options, jopt, 1, true ) then
+          if y < l then
+            tab[ jopt ] = string.sub( v, y+1 )
+            y = l
+          else
+            tab[ jopt ] = arg[ k + 1 ]
+          end
+        else
+          tab[ jopt ] = true
+        end
+        y = y + 1
+      end
+    else
+      if tab.file then
+        error(string.format('Invalid argument "%s"', v))
+      end
+      tab.file = v
+    end
+
+  end
+  return tab
+end
+
+
+local function print_version()
+  io.write(string.format("CiteProc-Lua %s\n", citeproc.__VERSION__))
+end
+
+
+local function print_help()
+  io.write("Usage: citeproc [options] auxname[.aux]\n")
+  io.write("Options:\n")
+  io.write("  -h, --help          Print this message and exit.\n")
+  io.write("  -V, --version       Print the version number and exit.\n")
+end
+
+
+local function convert_bib(path, output_path)
+  local contents = util.read_file(path)
+  local bib = citeproc.parse_bib(contents)
+  if not output_path then
+    output_path = string.gsub(path, "%.bib$", ".json")
+  end
+  local file = io.open(output_path, "w")
+  file:write(utilities.json.tojson(bib))
+  file:write('\n')
+  file:close()
+end
+
+
+
+local function read_aux_file(aux_file)
+  local bib_style = nil
+  local bib_files = {}
+  local citations = {}
+  local csl_options = {}
+
+  local file = io.open(aux_file, "r")
+  if not file then
+    error(string.format('Failed to open "%s"', aux_file))
+    return
+  end
+  for line in file:lines() do
+    local match
+    match = string.match(line, "^\\bibstyle%s*(%b{})")
+    if match then
+      bib_style = string.sub(match, 2, -2)
+    else
+      match = string.match(line, "^\\bibdata%s*(%b{})")
+      if match then
+        for _, bib in ipairs(util.split(string.sub(match, 2, -2), "%s*,%s*")) do
+          table.insert(bib_files, bib)
+        end
+      else
+        match = string.match(line, "^\\citation%s*(%b{})")
+        if match then
+          local citation = core.make_citation(string.sub(match, 2, -2))
+          table.insert(citations, citation)
+        else
+          match = string.match(line, "^\\csloptions%s*(%b{})")
+          if match then
+            for key, value in string.gmatch(match, "([%w-]+)=(%w+)") do
+              csl_options[key] = value
+            end
+          end
+        end
+      end
+    end
+  end
+  file:close()
+
+  return bib_style, bib_files, citations, csl_options
+end
+
+
+local function process_aux_file(aux_file)
+  if not util.endswith(aux_file, ".aux") then
+    aux_file = aux_file .. ".aux"
+  end
+
+  local style_name, bib_files, citations, csl_options = read_aux_file(aux_file)
+
+  local lang = csl_options.locale
+
+  local engine = core.init(style_name, bib_files, lang)
+  if csl_options.linking == "true" then
+    engine:enable_linking()
+  end
+  local style_class = engine:get_style_class()
+
+  local citation_strings = core.process_citations(engine, citations)
+
+  local output_string = ""
+
+  for _, citation in ipairs(citations) do
+    local citation_id = citation.citationID
+    if citation_id ~= "nocite" then
+      local citation_str = citation_strings[citation_id]
+      output_string = output_string .. string.format("\\cslcite{%s}{{%s}{%s}}\n", citation_id, style_class, citation_str)
+    end
+  end
+
+  output_string = output_string .. "\n"
+
+  local result = core.make_bibliography(engine)
+  output_string = output_string .. result
+
+  local output_path = string.gsub(aux_file, "%.aux$", ".bbl")
+  local bbl_file = io.open(output_path, "w")
+  bbl_file:write(output_string)
+  bbl_file:close()
+end
+
+
+local function main()
+  local args = getopt(arg, "o")
+
+  -- for k, v in pairs(args) do
+  --   print( k, v )
+  -- end
+
+  if args.V or args.version then
+    print_version()
+    return
+  elseif args.h or args.help then
+    print_help()
+    return
+  end
+
+  if not args.file then
+    error("citeproc: Need exactly one file argument.\n")
+  end
+
+  local path = args.file
+
+  local output_path = args.o or args.output
+  if util.endswith(path, ".bib") then
+    convert_bib(path, output_path)
+  else
+    process_aux_file(path)
+  end
+
+end
+
+main()


Property changes on: trunk/Master/texmf-dist/scripts/citation-style-language/citeproc
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-bib.lua
===================================================================
--- trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-bib.lua	                        (rev 0)
+++ trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-bib.lua	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,395 @@
+--[[
+  A naive implementation of a Bib(La)TeX dateabase (.bib) parser
+  References:
+  - http://mirrors.ctan.org/biblio/bibtex/base/btxdoc.pdf
+  - http://mirrors.ctan.org/info/bibtex/tamethebeast/ttb_en.pdf
+  - https://github.com/brechtm/citeproc-py/blob/master/citeproc/source/bibtex/bibparse.py
+  - http://maverick.inria.fr/~Xavier.Decoret/resources/xdkbibtex/bibtex_summary.html
+  - https://github.com/pcooksey/bibtex-js/blob/master/src/bibtex_js.js
+--]]
+
+local bib = {}
+
+require("lualibs")
+local unicode = require("unicode")
+
+local util = require("citeproc-util")
+
+
+local path = "citeproc-bib-data.json"
+if kpse then
+  path = kpse.find_file(path)
+end
+if path then
+  local contents = util.read_file(path)
+  if not contents then
+    error(string.format('Failed to find "%s"', path))
+  end
+  bib.bib_data = utilities.json.tolua(contents)
+end
+
+function bib.parse(contents)
+  local items = {}
+  for item_contents in string.gmatch(contents, "(@%w+%b{})") do
+    local item = bib.parse_item(item_contents)
+    table.insert(items, item)
+  end
+  return items
+end
+
+function bib.parse_item(contents)
+  contents = string.gsub(contents, "%s*\r?\n%s*", " ")
+  local bib_type, id
+  bib_type, id, contents = string.match(contents, "^@(%w+){([^%s,]+),%s*(.*)}$")
+  if not id then
+    return nil
+  end
+
+  local item = {id = id}
+
+  bib_type = string.lower(bib_type)
+  local type_data = bib.bib_data.types[bib_type]
+  if type_data then
+    if type_data.csl then
+      item.type = type_data.csl
+    else
+      item.type = "document"
+    end
+  else
+    item.type = "document"
+  end
+
+  local bib_fields = bib.parse_fields(contents)
+  -- util.debug(bib_fields)
+
+  for bib_field, value in pairs(bib_fields) do
+    local csl_field, csl_value = bib.convert_field(bib_field, value)
+
+    if csl_field and not item[csl_field] then
+      item[csl_field] = csl_value
+    end
+  end
+
+  bib.process_special_fields(item, bib_fields)
+
+  return item
+end
+
+function bib.parse_fields(contents)
+  local fields = {}
+  local field_patterns = {
+    "^(%w+)%s*=%s*(%b{}),?%s*(.-)$",
+    '^(%w+)%s*=%s*"([^"]*)",?%s*(.-)$',
+    "^(%w+)%s*=%s*(%w+),?%s*(.-)$",
+  }
+
+  while #contents > 0 do
+    local field, value, rest
+    -- This pattern may fail in the case of `title = {foo\}bar}`.
+    for pattern_index, pattern in ipairs(field_patterns) do
+      field, value, rest = string.match(contents, pattern)
+      if value then
+        if pattern_index == 1 then
+          -- Strip braces "{}"
+          value = string.sub(value, 2, -2)
+        elseif pattern_index == 3 then
+          if not string.match(value, "^%d+$") then
+            local string_name = value
+            local macro = bib.bib_data.macros[string_name]
+            if macro then
+              value = macro.value
+            else
+              util.warning(string.format('String name "%s" is undefined', string_name))
+            end
+          end
+        end
+        fields[field] = value
+        contents = rest
+        break
+      end
+    end
+  end
+  return fields
+end
+
+function bib.convert_field(bib_field, value)
+  local field_data = bib.bib_data.fields[bib_field]
+  if not field_data then
+    return nil, nil
+  end
+  local csl_field = field_data.csl
+  if not csl_field then
+    return nil, nil
+  end
+
+  value = bib.unescape(bib_field, value)
+
+  local field_type = field_data.type
+  if field_type == "name" then
+    value = bib.parse_names(value)
+  elseif field_type == "date" then
+    value = bib.parse_date(value)
+  end
+
+  if bib_field == "title" or bib_field == "booktitle" then
+    -- TODO: check if the original title is in sentence case
+    value = bib.convert_sentence_case(value)
+  end
+
+  if bib_field == "volume" or bib_field == "pages" then
+    value = string.gsub(value, util.unicode["en dash"], "-")
+  end
+
+  return csl_field, value
+end
+
+function bib.unescape(field, str)
+  str = string.gsub(str, "%-%-%-", util.unicode["em dash"])
+  str = string.gsub(str, "%-%-", util.unicode["en dash"])
+  str = string.gsub(str, "``", util.unicode["left double quotation mark"])
+  str = string.gsub(str, "''", util.unicode["right double quotation mark"])
+  str = string.gsub(str, "`", util.unicode["left single quotation mark"])
+  str = string.gsub(str, "'", util.unicode["right single quotation mark"])
+  -- TODO: unicode chars like \"{o}
+  str = string.gsub(str, "\\#", "#")
+  str = string.gsub(str, "\\%$", "$")
+  str = string.gsub(str, "\\%%", "%")
+  str = string.gsub(str, "\\&", "&")
+  str = string.gsub(str, "\\{", "{")
+  str = string.gsub(str, "\\}", "}")
+  str = string.gsub(str, "\\_", "_")
+  if field ~= "url" then
+    str = string.gsub(str, "~", util.unicode["no-break space"])
+  end
+  str = string.gsub(str, "\\quad%s+", util.unicode["em space"])
+  return str
+end
+
+function bib.convert_sentence_case(str)
+  local res = ""
+  local to_lower = false
+  local brace_level = 0
+  for _, code_point in utf8.codes(str) do
+    local char = utf8.char(code_point)
+    if to_lower and brace_level == 0 then
+      char = unicode.utf8.lower(char)
+    end
+    if string.match(char, "%S") then
+      to_lower = true
+    end
+    if char == "{" then
+      brace_level = brace_level + 1
+      char = ""
+    elseif char == "}" then
+      brace_level = brace_level - 1
+      char = ""
+    elseif char == ":" then
+      to_lower = false
+    end
+    res = res .. char
+  end
+  return res
+end
+
+function bib.parse_names(str)
+   -- "{International Federation of Library Association and Institutions}"
+  local names = {}
+  local brace_level = 0
+  local name = ""
+  local last_word = ""
+  for i = 1, #str do
+    local char = string.sub(str, i, i)
+    if char == " " then
+      if brace_level == 0 and last_word == "and" then
+        table.insert(names, name)
+        name = ""
+      else
+        if name ~= "" then
+          name = name .. " "
+        end
+        name = name .. last_word
+      end
+      last_word = ""
+    else
+      last_word = last_word .. char
+      if char == "{" then
+        brace_level = brace_level + 1
+      elseif char == "}" then
+        brace_level = brace_level - 1
+      end
+    end
+  end
+
+  if name ~= "" then
+    name = name .. " "
+  end
+  name = name .. last_word
+  table.insert(names, name)
+
+  for i, name in ipairs(names) do
+    names[i] = bib.parse_single_name(name)
+  end
+  return names
+end
+
+function bib.parse_single_name(str)
+  local literal = string.match(str, "^{(.*)}$")
+  if literal then
+    return {
+      literal = literal,
+    }
+  end
+
+  local name_parts = util.split(str, ",%s*")
+  if #name_parts > 1 then
+    return bib.parse_revesed_name(name_parts)
+  else
+    return bib.parse_non_revesed_name(str)
+  end
+end
+
+function bib.parse_revesed_name(name_parts)
+  local name = {}
+  local von, last, jr, first
+  if #name_parts == 2 then
+    first = name_parts[2]
+  elseif #name_parts >= 3 then
+    jr = name_parts[2]
+    first = name_parts[3]
+  end
+  if first and first ~= "" then
+    name.given = first
+  end
+  if jr and jr ~= "" then
+    name.suffix = jr
+  end
+
+  last = name_parts[1]
+  local words = util.split(last)
+  local index = #words - 1
+  while index > 0 and string.match(words[index], "^%L") do
+    index = index - 1
+  end
+  name.family = util.concat(util.slice(words, index + 1), " ")
+  if index >= 1 then
+    von = util.concat(util.slice(words, 1, index), " ")
+    name["non-dropping-particle"] = von
+  end
+  return name
+end
+
+function bib.parse_non_revesed_name(str)
+  local name = {}
+  local words = util.split(str)
+
+  local index = 1
+  -- TODO: case determination for pseudo-characters (e.g., "\bb{BB}")
+  while index < #words and string.match(words[index], "^%L") do
+    index = index + 1
+  end
+  if index > 1 then
+    name.given = util.concat(util.slice(words, 1, index - 1), " ")
+  end
+
+  local particle_start_index = index
+  index = #words - 1
+  while index >= particle_start_index and string.match(words[index], "^%L") do
+    index = index - 1
+  end
+  if index >= particle_start_index then
+    local particles = util.slice(words, particle_start_index, index)
+    -- TODO: distiguish dropping and non-dropping particles
+    name["non-dropping-particle"] = util.concat(particles, " ")
+  end
+  name.family = util.concat(util.slice(words, index + 1), " ")
+
+  return name
+end
+
+function bib.parse_date(str)
+  local date_range = util.split(str, "/")
+  if #date_range == 1 then
+    date_range = util.split(str, util.unicode["en dash"])
+  end
+
+  local literal = { literal = str }
+
+  if #date_range > 2 then
+    return literal
+  end
+
+  local date = {}
+  date["date-parts"] = {}
+  for _, date_part in ipairs(date_range) do
+    local date_ = bib.parse_single_date(date_part)
+    if not date_ then
+      return literal
+    end
+    table.insert(date["date-parts"], date_)
+  end
+  return date
+end
+
+function bib.parse_single_date(str)
+  local date = {}
+  for _, date_part in ipairs(util.split(str, "%-")) do
+    if not string.match(date_part, "^%d+$") then
+      return nil
+    end
+    table.insert(date, tonumber(date_part))
+  end
+  return date
+end
+
+function bib.process_special_fields(item, bib_fields)
+  if item.type == "document" then
+    if item.URL then
+      item.type = "webpage"
+    else
+      item.type = "article"
+    end
+  end
+
+  if item.type == "article-journal" then
+    if not item["container-title"] then
+      item.type = "article"
+    end
+  end
+
+  if bib_fields.year and not item.issued then
+    item.issued = bib.parse_date(bib_fields.year)
+  end
+  local month = bib_fields.month
+  if month and string.match(month, "^%d+$") then
+    if item.issued and item.issued["date-parts"] and
+        item.issued["date-parts"][1] and
+        item.issued["date-parts"][1][2] == nil then
+      item.issued["date-parts"][1][2] = tonumber(month)
+    end
+  end
+
+  if item.number then
+    if not item.issue and item.type == "article-journal" or item.type == "article-magazine" or item.type == "article-newspaper" or item.type == "periodical" then
+      item.issue = item.number
+      item.number = nil
+    elseif item.type == "patent" or item.type == "report" or item.type == "standard" then
+    else
+      item["collection-number"] = item.number
+      item.number = nil
+    end
+  end
+
+  if not item.PMID and bib_fields.eprint and string.lower(bib_fields.eprinttype) == "pubmed" then
+    item.PMID = bib_fields.eprint
+  end
+
+  -- if not item.language then
+  --   if util.has_cjk_char(item.title) then
+  --     item.language = "zh"
+  --   else
+  --     item.language = "en"
+  --   end
+  -- end
+end
+
+return bib


Property changes on: trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-bib.lua
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-element.lua
===================================================================
--- trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-element.lua	                        (rev 0)
+++ trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-element.lua	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,410 @@
+local element = {}
+
+local unicode = require("unicode")
+
+local richtext = require("citeproc-richtext")
+local util = require("citeproc-util")
+
+
+local Element = {
+  default_options = {},
+}
+
+function Element:new ()
+  local o = {}
+  setmetatable(o, self)
+  self.__index = self
+  return o
+end
+
+Element.option_type = {
+  ["et-al-min"] = "integer",
+  ["et-al-use-first"] = "integer",
+  ["et-al-subsequent-min"] = "integer",
+  ["et-al-subsequent-use-first"] = "integer",
+  ["near-note-distance"] = "integer",
+  ["line-spacing"] = "integer",
+  ["entry-spacing"] = "integer",
+  ["names-min"] = "integer",
+  ["names-use-first"] = "integer",
+  ["limit-day-ordinals-to-day-1"] = "boolean",
+  ["punctuation-in-quote"] = "boolean",
+  ["et-al-use-last"] = "boolean",
+  ["initialize"] = "boolean",
+  ["initialize-with-hyphen"] = "boolean",
+  ["disambiguate-add-names"] = "boolean",
+  ["disambiguate-add-givenname"] = "boolean",
+  ["disambiguate-add-year-suffix"] = "boolean",
+  ["hanging-indent"] = "boolean",
+  ["names-use-last"] = "boolean",
+  ["quotes"] = "boolean",
+  ["strip-periods"] = "boolean",
+}
+
+Element.inheritable_options = {
+  -- Style
+  ["initialize-with-hyphen"] = true,
+  ["page-range-format"] = true,
+  ["demote-non-dropping-particle"] = true,
+  -- Citation
+  ["disambiguate-add-givenname"] = true,
+  ["givenname-disambiguation-rule"] = true,
+  ["disambiguate-add-names"] = true,
+  ["disambiguate-add-year-suffix"] = true,
+  ["cite-group-delimiter"] = true,
+  ["collapse"] = true,
+  ["year-suffix-delimiter"] = true,
+  ["after-collapse-delimiter"] = true,
+  ["near-note-distance"] = true,
+  -- Bibliography
+  ["second-field-align"] = true,  -- for use in layout
+  ["subsequent-author-substitute"] = true,
+  ["subsequent-author-substitute-rule"] = true,
+  -- Date
+  ["date-parts"] = true,
+  -- Names
+  ["and"] = true,
+  ["delimiter-precedes-et-al"] = true,
+  ["delimiter-precedes-last"] = true,
+  ["et-al-min"] = true,
+  ["et-al-use-first"] = true,
+  ["et-al-use-last"] = true,
+  ["et-al-subsequent-min"] = true,
+  ["et-al-subsequent-use-first"] = true,
+  ["names-min"] = true,
+  ["names-use-first"] = true,
+  ["names-use-last"] = true,
+  ["initialize-with"] = true,
+  ["name-as-sort-order"] = true,
+  ["sort-separator"] = true,
+  ["name-form"] = true,
+  ["name-delimiter"] = true,
+  ["names-delimiter"] = true,
+}
+
+function Element:render (item, context)
+  self:debug_info(context)
+  context = self:process_context(context)
+  return self:render_children(item, context)
+end
+
+function Element:render_children (item, context)
+  local output = {}
+  for i, child in ipairs(self:get_children()) do
+    if child:is_element() then
+      if child.render == nil then
+        local element_name = child:get_element_name()
+        util.warning("Unkown type \"" .. element_name .. "\"")
+      end
+      local str = child:render(item, context)
+      table.insert(output, str)
+    end
+  end
+  return self:concat(output, context)
+end
+
+function Element:set_base_class (node)
+  if node:is_element() then
+    local org_meta_table = getmetatable(node)
+    setmetatable(node, {__index = function (_, key)
+      if self[key] then
+        return self[key]
+      else
+        return org_meta_table[key]
+      end
+    end})
+  end
+end
+
+function Element:debug_info (context, debug)
+  -- debug = true
+  if debug then
+    local text = ""
+    local level = 0
+    if context and context.level then
+      level = context.level + 1
+    end
+    text = text .. string.rep(" ", 2 * level)
+    text = text .. self:get_element_name()
+    local attrs = {}
+    if self._attr then
+      for attr, value in pairs(self._attr) do
+        table.insert(attrs, attr .. "=\"" .. value .. "\"")
+      end
+      text = text .. "[" .. table.concat(attrs, " ") .. "]"
+    end
+    io.stderr:write(text .. "\n")
+  end
+end
+
+function Element:get_child (type)
+  for _, child in ipairs(self:get_children()) do
+    if child:get_element_name() == type then
+      return child
+    end
+  end
+  return nil
+end
+
+function Element:get_style ()
+  local style = self:root_node().style
+  assert(style ~= nil)
+  return style
+end
+
+function Element:get_engine ()
+  local engine = self:root_node().engine
+  assert(engine ~= nil)
+  return engine
+end
+
+function Element:process_context (context)
+  local state = {
+    -- The `build` table is directly passed to new context.
+    build = context.build or {},
+    -- The `option` table is copied.
+    options = {},
+    -- Other items in `context` is copied.
+  }
+  for key, value in pairs(self.default_options) do
+    state.options[key] = value
+  end
+  if context then
+    local element_name = self:get_element_name()
+    for key, value in pairs(context) do
+      if key == "options" then
+        for k, v in pairs(context.options) do
+          if self.inheritable_options[k] then
+            state.options[k] = v
+            if element_name == "name" then
+              if k == "name-form" then
+                state.options["form"] = v
+              end
+              if k == "name-delimiter" then
+                state.options["delimiter"] = v
+              end
+            elseif element_name == "names" then
+              if k == "names-delimiter" then
+                state.options["delimiter"] = v
+              end
+            end
+          end
+        end
+      else
+        state[key] = value
+      end
+    end
+    if state.level then
+      state.level = state.level + 1
+    else
+      state.level = 0
+    end
+  end
+  if self._attr then
+    for key, value in pairs(self._attr) do
+      if self.option_type[key] == "integer" then
+        value = tonumber(value)
+      elseif self.option_type[key] == "boolean" then
+        value = (value == "true")
+      end
+      state.options[key] = value
+    end
+  end
+  return state
+end
+
+function Element:get_option (key, context)
+  assert(context ~= nil)
+  return context.options[key]
+end
+
+function Element:get_locale_option (key)
+  local locales = self:get_style():get_locales()
+  for i, locale in ipairs(locales) do
+    local option = locale:get_option(key)
+    if option ~= nil then
+      return option
+    end
+  end
+  return nil
+end
+
+function Element:get_variable (item, name, context)
+  if context.suppressed_variables and context.suppressed_variables[name] then
+    return nil
+  else
+    local res = item[name]
+    if type(res) == "table" and res._type == "RichText" then
+      -- TODO: should be deep copy
+      res = res:shallow_copy()
+    end
+
+    if res and res ~= "" then
+      if context.suppress_subsequent_variables then
+        context.suppressed_variables[name] = true
+      end
+    end
+    return res
+  end
+end
+
+function Element:get_macro (name)
+  local query = string.format("macro[name=\"%s\"]", name)
+  local macro = self:root_node():query_selector(query)[1]
+  if not macro then
+    error(string.format("Failed to find %s.", query))
+  end
+  return macro
+end
+
+function Element:get_term (name, form, number, gender)
+  return self:get_style():get_term(name, form, number, gender)
+end
+
+-- Formatting
+function Element:escape (str, context)
+  return str
+  -- return self:get_engine().formatter.text_escape(str)
+end
+
+function Element:format(text, context)
+  if not text or text == "" then
+    return nil
+  end
+  if text._type ~= "RichText" then
+    text = richtext.new(text)
+  end
+  local attributes = {
+    "font-style",
+    "font-variant",
+    "font-weight",
+    "text-decoration",
+    "vertical-align",
+  }
+  for _, attribute in ipairs(attributes) do
+    local value = context.options[attribute]
+    if value then
+      if text.formats[attribute] then
+        local new = richtext.new()
+        new.contents = {text}
+        text = new
+      end
+      text:add_format(attribute, value)
+    end
+  end
+  return text
+end
+
+-- Affixes
+function Element:wrap (str, context)
+  if not str or str == "" then
+    return nil
+  end
+  local prefix = context.options["prefix"]
+  local suffix = context.options["suffix"]
+  local res = str
+  if prefix and prefix ~= "" then
+    local linkable = false
+    local variable_name = context.options["variable"]
+    if variable_name == "DOI" or variable_name == "PMID" or variable_name == "PMCID" then
+      linkable = true
+    end
+    if variable_name == "URL" or (linkable and not string.match(prefix, "^https?://")) then
+      res:add_format(variable_name, "true")
+    end
+    res = richtext.concat(prefix, res)
+    if linkable and string.match(prefix, "^https?://") then
+      res:add_format("URL", "true")
+    end
+  end
+  if suffix and suffix ~= "" then
+    res = richtext.concat(res, suffix)
+  end
+  return res
+end
+
+-- Delimiters
+function Element:concat (strings, context)
+  local delimiter = context.options["delimiter"]
+  return richtext.concat_list(strings, delimiter)
+end
+
+-- Display
+function Element:display(text, context)
+  if not text then
+    return text
+  end
+  local value = context.options["display"]
+  if not value then
+    return text
+  end
+  if type(text) == "string" then
+    text = richtext.new(text)
+  end
+  text:add_format("display", value)
+  return text
+end
+
+-- Quotes
+function Element:quote (str, context)
+  if not str then
+    return nil
+  end
+  if context.sorting then
+    return str
+  end
+  if not str._type == "RichText" then
+    str = richtext.new(str)
+  end
+  local quotes = context.options["quotes"] or false
+  if quotes then
+    str:add_format("quotes", "true")
+  end
+  return str
+end
+
+-- Strip periods
+function Element:strip_periods (str, context)
+  if not str then
+    return nil
+  end
+  if str._type ~= "RichText" then
+    str = richtext.new(str)
+  end
+  local strip_periods = context.options["strip-periods"]
+  if strip_periods then
+    str:strip_periods()
+  end
+  return str
+end
+
+-- Text-case
+function Element:case (text, context)
+  if not text or text == "" then
+    return nil
+  end
+  if text._type ~= "RichText" then
+    text = richtext.new(text)
+  end
+  local text_case = context.options["text-case"]
+  if not text_case then
+    return text
+  end
+  if text_case == "title" then
+    -- title case conversion only affects English-language items
+    local language = context.item["language"]
+    if not language then
+      language = self:get_style():get_attribute("default-locale") or "en-US"
+    end
+    if not util.startswith(language, "en") then
+      return text
+    end
+  end
+  text:add_format("text-case", text_case)
+  return text
+end
+
+
+element.Element = Element
+
+return element


Property changes on: trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-element.lua
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-engine.lua
===================================================================
--- trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-engine.lua	                        (rev 0)
+++ trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-engine.lua	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,419 @@
+--[[
+  Copyright (C) 2021 Zeping Lee
+--]]
+
+local engine = {}
+
+local dom = require("luaxml-domobject")
+
+local richtext = require("citeproc-richtext")
+local element = require("citeproc-element")
+local nodes = require("citeproc-nodes")
+local formats = require("citeproc-formats")
+local util = require("citeproc-util")
+
+
+local CiteProc = {}
+
+function CiteProc.new (sys, style, lang, force_lang)
+  if sys == nil then
+    error("\"citeprocSys\" required")
+  end
+  if sys.retrieveLocale == nil then
+    error("\"citeprocSys.retrieveLocale\" required")
+  end
+  if sys.retrieveItem == nil then
+    error("\"citeprocSys.retrieveItem\" required")
+  end
+  local o = {}
+  o.registry = {
+    citations = {},  -- A map
+    citation_strings = {},  -- A list
+    registry = {},  -- A map
+    reflist = {},  -- A list
+    previous_citation = nil,
+    requires_sorting = false,
+  }
+
+  o.sys = sys
+  o.system_locales = {}
+
+  if type(style) == "string" then
+    o.csl = dom.parse(style)
+  else
+    o.csl = style
+  end
+  o.csl:traverse_elements(CiteProc.set_base_class)
+  o.csl:root_node().engine = o
+  o.style = o.csl:get_path("style")[1]
+  o.style.lang = lang
+  o.csl:root_node().style = o.style
+
+  o.style:set_lang(lang, force_lang)
+
+  o.formatter = formats.latex
+  o.linking_enabled = false
+
+  setmetatable(o, { __index = CiteProc })
+  return o
+end
+
+function CiteProc:updateItems (ids)
+  self.registry.reflist = {}
+  self.registry.registry = {}
+  for _, id in ipairs(ids) do
+    self:get_item(id)
+  end
+end
+
+function CiteProc:updateUncitedItems(ids)
+  for _, id in ipairs(ids) do
+    if not self.registry.registry[id] then
+      self:get_item(id)
+    end
+  end
+  -- TODO: disambiguation
+end
+
+function CiteProc:processCitationCluster(citation, citationsPre, citationsPost)
+  -- citation = {
+  --   citationID = "CITATION-3",
+  --   citationItems = {
+  --     { id = "ITEM-1" },
+  --     { id = "ITEM-2" },
+  --   },
+  --   properties = {
+  --     noteIndex = 3,
+  --   },
+  -- }
+  -- citationsPre = {
+  --   {"CITATION-1", 1},
+  --   {"CITATION-2", 2},
+  -- }
+  -- citationsPost = {
+  --   {"CITATION-4", 4},
+  -- }
+  -- returns = {
+  --   {
+  --     bibchange = true,
+  --     citation_errors = {},
+  --   },
+  --   {
+  --     { 2, "[1,2]", "CITATION-3" }
+  --   }
+  -- }
+  self.registry.citations[citation.citationID] = citation
+
+  local items = {}
+
+  for _, cite_item in ipairs(citation.citationItems) do
+    cite_item.id = tostring(cite_item.id)
+    local position_first = (self.registry.registry[cite_item.id] == nil)
+    local item_data = self:get_item(cite_item.id)
+
+    if item_data then
+      -- Create a wrapper of the orignal item from registry so that
+      -- it may hold different `locator` or `position` values for cites.
+      local item = setmetatable({}, {__index = function (_, key)
+        if cite_item[key] then
+          return cite_item[key]
+        else
+          return item_data[key]
+        end
+      end})
+
+      if not item.position and position_first then
+        item.position = util.position_map["first"]
+      end
+
+      local first_reference_note_number = nil
+      for _, pre_citation in ipairs(citationsPre) do
+        pre_citation = self.registry.citations[pre_citation[1]]
+        for _, pre_cite_item in ipairs(pre_citation.citationItems) do
+          if pre_cite_item.id == cite_item.id then
+            first_reference_note_number = pre_citation.properties.noteIndex
+          end
+          break
+        end
+        if first_reference_note_number then
+          break
+        end
+      end
+      item["first-reference-note-number"] = first_reference_note_number
+
+      table.insert(items, item)
+    end
+  end
+
+  if #citationsPre > 0 then
+    local previous_citation_id = citationsPre[#citationsPre][1]
+    local previous_citation = self.registry.citations[previous_citation_id]
+    self.registry.previous_citation = previous_citation
+  end
+
+  if self.registry.requires_sorting then
+    self:sort_bibliography()
+  end
+
+  local params = {
+    bibchange = false,
+    citation_errors = {},
+  }
+
+  local citation_id_note_list = {}
+  for _, citation_id_note in ipairs(citationsPre) do
+    table.insert(citation_id_note_list, citation_id_note)
+  end
+  local note_index = 0
+  if citation.properties and citation.properties.noteIndex then
+    note_index = citation.properties.noteIndex
+  end
+  table.insert(citation_id_note_list, {citation.citationID, note_index})
+  for _, citation_id_note in ipairs(citationsPost) do
+    table.insert(citation_id_note_list, citation_id_note)
+  end
+
+  local citation_id_cited = {}
+  for _, citation_id_note in ipairs(citation_id_note_list) do
+    citation_id_cited[citation_id_note[1]] = true
+  end
+  for citation_id, _ in pairs(self.registry.citations) do
+    if not citation_id_cited[citation_id] then
+      self.registry.citations[citation_id] = nil
+      self.registry.citation_strings[citation_id] = nil
+    end
+  end
+
+  local output = {}
+
+  for i, citation_id_note in ipairs(citation_id_note_list) do
+    local citation_id = citation_id_note[1]
+    -- local note_index = citation_id_note[2]
+    if citation_id == citation.citationID then
+      local context = {
+        build = {},
+        engine = self,
+      }
+      local citation_str = self.style:render_citation(items, context)
+
+      self.registry.citation_strings[citation_id] = citation_str
+      table.insert(output, {i - 1, citation_str, citation_id})
+    else
+      -- TODO: correct note_index
+      -- TODO: update other citations after disambiguation
+      local citation_str = self.registry.citation_strings[citation_id]
+      if self.registry.citation_strings[citation_id] ~= citation_str then
+        params.bibchange = true
+        self.registry.citation_strings[citation_id] = citation_str
+        table.insert(output, {i - 1, citation_str, citation_id})
+      end
+    end
+  end
+
+  return {params, output}
+end
+
+function CiteProc:makeCitationCluster (citation_items)
+  local items = {}
+  for _, cite_item in ipairs(citation_items) do
+    cite_item.id = tostring(cite_item.id)
+    local position_first = (self.registry.registry[cite_item.id] == nil)
+    local item_data = self:get_item(cite_item.id)
+
+    -- Create a wrapper of the orignal item from registry so that
+    -- it may hold different `locator` or `position` values for cites.
+    local item = setmetatable({}, {__index = function (_, key)
+      if cite_item[key] then
+        return cite_item[key]
+      else
+        return item_data[key]
+      end
+    end})
+
+    if not item.position and position_first then
+      item.position = util.position_map["first"]
+    end
+    table.insert(items, item)
+  end
+
+  if self.registry.requires_sorting then
+    self:sort_bibliography()
+  end
+
+  local context = {
+    build = {},
+    engine=self,
+  }
+  local res = self.style:render_citation(items, context)
+  self.registry.previous_citation = {
+    citationID = "pseudo-citation",
+    citationItems = items,
+    properties = {
+      noteIndex = 1,
+    }
+  }
+  return res
+end
+
+function CiteProc:makeBibliography()
+  local items = {}
+
+  if self.registry.requires_sorting then
+    self:sort_bibliography()
+  end
+
+  for _, id in ipairs(self.registry.reflist) do
+    local item = self.registry.registry[id]
+    table.insert(items, item)
+  end
+
+  local context = {
+    build = {},
+    engine=self,
+  }
+  local res = self.style:render_biblography(items, context)
+  return res
+end
+
+function CiteProc:set_formatter(format)
+  self.formatter = formats[format]
+end
+
+function CiteProc:enable_linking()
+  self.linking_enabled = true
+end
+
+function CiteProc:disable_linking()
+  self.linking_enabled = false
+end
+
+function CiteProc.set_base_class (node)
+  if node:is_element() then
+    local name = node:get_element_name()
+    local element_class = nodes[name]
+    if element_class then
+      element_class:set_base_class(node)
+    else
+      element.Element:set_base_class(node)
+    end
+  end
+end
+
+function CiteProc:get_style_class()
+  return self.style:get_attribute("class") or "in-text"
+end
+
+function CiteProc:get_item (id)
+  local item = self.registry.registry[id]
+  if not item then
+    item = self:_retrieve_item(id)
+    if not item then
+      return nil
+    end
+    table.insert(self.registry.reflist, id)
+    item["citation-number"] = #self.registry.reflist
+    self.registry.registry[id] = item
+    self.registry.requires_sorting = true
+  end
+  local res = {}
+  setmetatable(res, {__index = item})
+  return res
+end
+
+function CiteProc:_retrieve_item (id)
+  -- Retrieve, copy, and normalize
+  local res = {}
+  local item = self.sys.retrieveItem(id)
+  if not item then
+    util.warning(string.format('Failed to retrieve item "%s"', id))
+    return nil
+  end
+
+  item.id = tostring(item.id)
+
+  for key, value in pairs(item) do
+    if key == "title" then
+      value = self.normalize_string(value)
+    end
+    res[key] = value
+  end
+
+  if res["page"] and not res["page-first"] then
+    local page_first = util.split(res["page"], "%s*[&,-]%s*")[1]
+    page_first = util.split(page_first, util.unicode["en dash"])[1]
+    res["page-first"] = page_first
+  end
+
+  return res
+end
+
+function CiteProc.normalize_string (str)
+  if not str or str == "" then
+    return str
+  end
+  -- French punctuation spacing
+  if type(str) == "string" then
+    str = string.gsub(str, " ;", util.unicode["narrow no-break space"] .. ";")
+    str = string.gsub(str, " %?", util.unicode["narrow no-break space"] .. "?")
+    str = string.gsub(str, " !", util.unicode["narrow no-break space"] .. "!")
+    str = string.gsub(str, " »", util.unicode["narrow no-break space"] .. "»")
+    str = string.gsub(str, "« ", "«" .. util.unicode["narrow no-break space"])
+  end
+  -- local text = str
+  local text = richtext.new(str)
+  return text
+end
+
+function CiteProc:sort_bibliography()
+  -- Sort the items in registry according to the `sort` in `bibliography.`
+  -- This will update the `citation-number` of each item.
+  local bibliography_sort = self.style:get_path("style bibliography sort")[1]
+  if not bibliography_sort then
+    return
+  end
+  local items = {}
+  for _, id in ipairs(self.registry.reflist) do
+    table.insert(items, self.registry.registry[id])
+  end
+
+  local context = {
+    engine = self,
+    style = self.style,
+    mode = "bibliography",
+  }
+  context = self.style:process_context(context)
+  context = self.style:get_path("style bibliography")[1]:process_context(context)
+
+  bibliography_sort:sort(items, context)
+  self.registry.reflist = {}
+  for i, item in ipairs(items) do
+    item["citation-number"] = i
+    table.insert(self.registry.reflist, item.id)
+  end
+  self.registry.requires_sorting = false
+end
+
+function CiteProc:get_system_locale (lang)
+  local locale = self.system_locales[lang]
+  if not locale then
+    locale = self.sys.retrieveLocale(lang)
+    if not locale then
+      util.warning(string.format("Failed to retrieve locale \"%s\"", lang))
+      return nil
+    end
+    if type(locale) == "string" then
+      locale = dom.parse(locale)
+    end
+    locale:traverse_elements(self.set_base_class)
+    locale = locale:get_path("locale")[1]
+    locale:root_node().engine = self
+    locale:root_node().style = self.style
+    self.system_locales[lang] = locale
+  end
+  return locale
+end
+
+
+engine.CiteProc = CiteProc
+
+return engine


Property changes on: trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-engine.lua
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-formats.lua
===================================================================
--- trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-formats.lua	                        (rev 0)
+++ trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-formats.lua	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,209 @@
+--[[
+  Copyright (C) 2021 Zeping Lee
+--]]
+
+local util = require("citeproc-util")
+
+
+local formats = {}
+
+formats.html = {
+  ["text_escape"] = function (str)
+    str = string.gsub(str, "%&", "&")
+    str = string.gsub(str, "<", "<")
+    str = string.gsub(str, ">", ">")
+    for char, sub in pairs(util.superscripts) do
+      str = string.gsub(str, char, "<sup>" .. sub .. "</sup>")
+    end
+    return str
+  end,
+  ["bibstart"] = "<div class=\"csl-bib-body\">\n",
+  ["bibend"] = "</div>",
+  ["@font-style/italic"] = "<i>%s</i>",
+  ["@font-style/oblique"] = "<em>%s</em>",
+  ["@font-style/normal"] = '<span style="font-style:normal;">%s</span>',
+  ["@font-variant/small-caps"] = '<span style="font-variant:small-caps;">%s</span>',
+  ["@font-variant/normal"] = '<span style="font-variant:normal;">%s</span>',
+  ["@font-weight/bold"] = "<b>%s</b>",
+  ["@font-weight/normal"] = '<span style="font-weight:normal;">%s</span>',
+  ["@font-weight/light"] = false,
+  ["@text-decoration/none"] = '<span style="text-decoration:none;">%s</span>',
+  ["@text-decoration/underline"] = '<span style="text-decoration:underline;">%s</span>',
+  ["@vertical-align/sup"] = "<sup>%s</sup>",
+  ["@vertical-align/sub"] = "<sub>%s</sub>",
+  ["@vertical-align/baseline"] = '<span style="baseline">%s</span>',
+  ["@quotes/true"] = function (str, context)
+    local open_quote = context.style:get_term("open-quote"):render(context)
+    local close_quote = context.style:get_term("close-quote"):render(context)
+    return open_quote .. str .. close_quote
+  end,
+  ["@quotes/inner"] = function (str, context)
+    local open_quote = context.style:get_term("open-inner-quote"):render(context)
+    local close_quote = context.style:get_term("close-inner-quote"):render(context)
+    return open_quote .. str .. close_quote
+  end,
+  ["@bibliography/entry"] = function (str, context)
+    return '<div class="csl-entry">' .. str .. "</div>\n"
+  end,
+  ["@display/block"] = function (str, state)
+    return '\n\n    <div class="csl-block">' .. str .. "</div>\n"
+  end,
+  ["@display/left-margin"] = function (str, state)
+    return '\n    <div class="csl-left-margin">' .. str .. "</div>"
+  end,
+  ["@display/right-inline"] = function (str, state)
+    str = util.rstrip(str)
+    return '<div class="csl-right-inline">' .. str .. "</div>\n  "
+  end,
+  ["@display/indent"] = function (str, state)
+    return '<div class="csl-indent">' .. str .. "</div>\n  "
+  end,
+  ["@URL/true"] = function (str, state)
+    if state.engine.linking_enabled then
+      return string.format('<a href="%s">%s</a>', str, str)
+    else
+      return str
+    end
+  end,
+  ["@DOI/true"] = function (str, state)
+    if state.engine.linking_enabled then
+      local href = str
+      if not string.match(href, "^https?://") then
+        href = "https://doi.org/" .. str;
+      end
+      return string.format('<a href="%s">%s</a>', href, str)
+    else
+      return str
+    end
+  end,
+  ["@PMID/true"] = function (str, state)
+    if state.engine.linking_enabled then
+      local href = str
+      if not string.match(href, "^https?://") then
+        href = "https://www.ncbi.nlm.nih.gov/pubmed/" .. str;
+      end
+      return string.format('<a href="%s">%s</a>', href, str)
+    else
+      return str
+    end
+  end,
+  ["@PMCID/true"] = function (str, state)
+    if state.engine.linking_enabled then
+      local href = str
+      if not string.match(href, "^https?://") then
+        href = "https://www.ncbi.nlm.nih.gov/pmc/articles/" .. str;
+      end
+      return string.format('<a href="%s">%s</a>', href, str)
+    else
+      return str
+    end
+  end,
+}
+
+formats.latex = {
+  ["text_escape"] = function (str)
+    str = str:gsub("\\", "\\textbackslash")
+    str = str:gsub("#", "\\#")
+    str = str:gsub("%$", "\\$")
+    str = str:gsub("%%", "\\%%")
+    str = str:gsub("&", "\\&")
+    str = str:gsub("{", "\\{")
+    str = str:gsub("}", "\\}")
+    str = str:gsub("_", "\\_")
+    str = str:gsub(util.unicode["no-break space"], "~")
+    for char, sub in pairs(util.superscripts) do
+      str = string.gsub(str, char, "\\textsuperscript{" .. sub .. "}")
+    end
+    return str
+  end,
+  ["bibstart"] = function (context)
+    return string.format("\\begin{thebibliography}{%s}\n", context.build.longest_label)
+  end,
+  ["bibend"] = "\\end{thebibliography}",
+  ["@font-style/normal"] = "{\\normalshape %s}",
+  ["@font-style/italic"] = "\\emph{%s}",
+  ["@font-style/oblique"] = "\\textsl{%s}",
+  ["@font-variant/normal"] = "{\\normalshape %s}",
+  ["@font-variant/small-caps"] = "\\textsc{%s}",
+  ["@font-weight/normal"] = "\\fontseries{m}\\selectfont %s",
+  ["@font-weight/bold"] = "\\textbf{%s}",
+  ["@font-weight/light"] = "\\fontseries{l}\\selectfont %s",
+  ["@text-decoration/none"] = false,
+  ["@text-decoration/underline"] = "\\underline{%s}",
+  ["@vertical-align/sup"] = "\\textsuperscript{%s}",
+  ["@vertical-align/sub"] = "\\textsubscript{%s}",
+  ["@vertical-align/baseline"] = false,
+  ["@quotes/true"] = function (str, context)
+    local open_quote = context.style:get_term("open-quote"):render(context)
+    local close_quote = context.style:get_term("close-quote"):render(context)
+    return open_quote .. str .. close_quote
+  end,
+  ["@quotes/inner"] = function (str, context)
+    local open_quote = context.style:get_term("open-inner-quote"):render(context)
+    local close_quote = context.style:get_term("close-inner-quote"):render(context)
+    return open_quote .. str .. close_quote
+  end,
+  ["@bibliography/entry"] = function (str, context)
+    if not string.match(str, "\\bibitem") then
+      str =  "\\bibitem{".. context.item.id .. "}\n" .. str
+    end
+    return str .. "\n"
+  end,
+  ["@display/block"] = function (str, state)
+    return str
+  end,
+  ["@display/left-margin"] = function (str, state)
+    if #str > #state.build.longest_label then
+      state.build.longest_label = str
+    end
+    if string.match(str, "%]") then
+      str = "{" .. str .. "}"
+    end
+    return string.format("\\bibitem[%s]{%s}\n", str, state.item.id)
+  end,
+  ["@display/right-inline"] = function (str, state)
+    return str
+  end,
+  ["@display/indent"] = function (str, state)
+    return str
+  end,
+  ["@URL/true"] = function (str, state)
+    return "\\url{" .. str .. "}"
+  end,
+  ["@DOI/true"] = function (str, state)
+    if state.engine.linking_enabled then
+      local href = str
+      if not string.match(href, "^https?://") then
+        href = "https://doi.org/" .. str;
+      end
+      return string.format("\\href{%s}{%s}", href, str)
+    else
+      return str
+    end
+  end,
+  ["@PMID/true"] = function (str, state)
+    if state.engine.linking_enabled then
+      local href = str
+      if not string.match(href, "^https?://") then
+        href = "https://www.ncbi.nlm.nih.gov/pubmed/" .. str;
+      end
+      return string.format("\\href{%s}{%s}", href, str)
+    else
+      return str
+    end
+  end,
+  ["@PMCID/true"] = function (str, state)
+    if state.engine.linking_enabled then
+      local href = str
+      if not string.match(href, "^https?://") then
+        href = "https://www.ncbi.nlm.nih.gov/pmc/articles/" .. str;
+      end
+      return string.format("\\href{%s}{%s}", href, str)
+    else
+      return str
+    end
+  end,
+}
+
+
+return formats


Property changes on: trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-formats.lua
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-node-choose.lua
===================================================================
--- trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-node-choose.lua	                        (rev 0)
+++ trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-node-choose.lua	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,126 @@
+local choose = {}
+
+local element = require("citeproc-element")
+local util = require("citeproc-util")
+
+
+local Choose = element.Element:new()
+
+function Choose:render (item, context)
+  self:debug_info(context)
+  context = self:process_context(context)
+  for i, child in ipairs(self:get_children()) do
+    if child:is_element() then
+      local result, status = child:render(item, context)
+      if status then
+        return result
+      end
+    end
+  end
+  return nil
+end
+
+
+local If = element.Element:new()
+
+If.render = function (self, item, context)
+  self:debug_info(context)
+  context = self:process_context(context)
+  local results = {}
+
+  local variable_names = context.options["is-numeric"]
+  if variable_names then
+    for _, variable_name in ipairs(util.split(variable_names)) do
+      local variable = self:get_variable(item, variable_name, context)
+      table.insert(results, util.is_numeric(variable))
+    end
+  end
+
+  variable_names = context.options["is-uncertain-date"]
+  if variable_names then
+    for _, variable_name in ipairs(util.split(variable_names)) do
+      local variable = self:get_variable(item, variable_name, context)
+      table.insert(results, util.is_uncertain_date(variable))
+    end
+  end
+
+  local locator_types = context.options["locator"]
+  if locator_types then
+    for _, locator_type in ipairs(util.split(locator_types)) do
+      local locator_label = item.label or "page"
+      local res = locator_label == locator_type
+      if locator_type == "sub-verbo" then
+        res = locator_label == "sub verbo"
+      end
+      table.insert(results, res)
+    end
+  end
+
+  local positions = context.options["position"]
+  if positions then
+    for _, position in ipairs(util.split(positions)) do
+      local res = false
+      if context.mode == "citation" then
+        if position == "first" then
+          res = (item.position == util.position_map["first"])
+        elseif position == "near-note" then
+          res = item["near-note"] ~= nil and item["near-note"] ~= false
+        else
+          res = (item.position >= util.position_map[position])
+        end
+      end
+      table.insert(results, res)
+    end
+  end
+
+  local type_names = context.options["type"]
+  if type_names then
+    for _, type_name in ipairs(util.split(type_names)) do
+      table.insert(results, item["type"] == type_name)
+    end
+  end
+
+  variable_names = context.options["variable"]
+  if variable_names then
+    for _, variable_name in ipairs(util.split(variable_names)) do
+      local variable = self:get_variable(item, variable_name, context)
+      local res = (variable ~= nil and variable ~= "")
+      table.insert(results, res)
+    end
+  end
+
+  local match = context.options["match"] or "all"
+  local status = false
+  if match == "any" then
+    status = util.any(results)
+  elseif match == "none" then
+    status = not util.any(results)
+  else
+    status = util.all(results)
+  end
+  if status then
+    return self:render_children(item, context), status
+  else
+    return nil, false
+  end
+end
+
+
+local ElseIf = If:new()
+
+
+local Else = element.Element:new()
+
+Else.render = function (self, item, context)
+  self:debug_info(context)
+  context = self:process_context(context)
+  return self:render_children(item, context), true
+end
+
+
+choose.Choose = Choose
+choose.If = If
+choose.ElseIf = ElseIf
+choose.Else = Else
+
+return choose


Property changes on: trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-node-choose.lua
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-node-date.lua
===================================================================
--- trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-node-date.lua	                        (rev 0)
+++ trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-node-date.lua	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,379 @@
+local date_module = {}
+
+local element = require("citeproc-element")
+local util = require("citeproc-util")
+
+
+local Date = element.Element:new()
+
+function Date:render (item, context)
+  self:debug_info(context)
+  context = self:process_context(context)
+
+  if context.sorting then
+    return self:render_sort_key(item, context)
+  end
+
+  local variable_name = context.options["variable"]
+
+  local is_locale_date
+  if variable_name then
+    context.variable = variable_name
+    is_locale_date = false
+  else
+    variable_name = context.variable
+    is_locale_date = true
+  end
+
+  local date = self:get_variable(item, variable_name, context)
+  if not date then
+    return nil
+  end
+
+  local res = nil
+  local form = context.options["form"]
+  if form and not is_locale_date then
+    for _, date_part in ipairs(self:query_selector("date-part")) do
+      local name = date_part:get_attribute("name")
+      if not context.date_part_attributes then
+        context.date_part_attributes = {}
+      end
+      if not context.date_part_attributes[name] then
+        context.date_part_attributes[name] = {}
+      end
+
+      for attr, value in pairs(date_part._attr) do
+        if attr ~= name then
+          context.date_part_attributes[name][attr] = value
+        end
+      end
+    end
+    res = self:get_locale_date(context, form):render(item, context)
+  else
+    if not date["date-parts"] or #date["date-parts"] == 0 then
+      local literal = date["literal"]
+      if literal then
+        res = literal
+      else
+        local raw = date["raw"]
+        if raw then
+          res = raw
+        end
+      end
+
+    else
+      if #date["date-parts"] == 1 then
+        res = self:_render_single_date(date, context)
+      elseif #date["date-parts"] == 2 then
+        res = self:_render_date_range(date, context)
+      end
+    end
+  end
+
+  table.insert(context.variable_attempt, res ~= nil)
+
+  res = self:format(res, context)
+  res = self:wrap(res, context)
+  return res
+end
+
+function Date:get_locale_date(context, form)
+  local date = nil
+  local style = context.style
+  local query = string.format("date[form=\"%s\"]", form)
+  for _, locale in ipairs(style:get_locales()) do
+    date = locale:query_selector(query)[1]
+    if date then
+      break
+    end
+  end
+  if not date then
+    error(string.format("Failed to find '%s'", query))
+  end
+  return date
+end
+
+function Date:render_sort_key (item, context)
+  local variable_name = context.options["variable"]
+  local date = self:get_variable(item, variable_name, context)
+  if not date or not date["date-parts"] then
+    return nil
+  end
+  local show_parts = {
+    year = false,
+    month = false,
+    day = false,
+  }
+  if self:get_attribute("form") then
+    local date_parts = self:get_attribute("date-parts") or "year-month-day"
+    for _, dp_name in ipairs(util.split(date_parts, "%-")) do
+      show_parts[dp_name] = true
+    end
+  else
+    for _, child in ipairs(self:query_selector("date-part")) do
+      show_parts[child:get_attribute("name")] = true
+    end
+  end
+  local res = ""
+  for _, date_parts in ipairs(date["date-parts"]) do
+    for i, dp_name in ipairs({"year", "month", "day"}) do
+      local value = date_parts[i]
+      if not value or not show_parts[dp_name] then
+        value = 0
+      end
+      if i == 1 then
+        res = res .. string.format("%05d", value + 10000)
+      else
+        res = res .. string.format("%02d", value)
+      end
+    end
+  end
+  return res
+end
+
+function Date:_render_single_date (date, context)
+  local show_parts = self:_get_show_parts(context)
+
+  local output = {}
+  for _, child in ipairs(self:query_selector("date-part")) do
+    if show_parts[child:get_attribute("name")] then
+      table.insert(output, child:render(date, context))
+    end
+  end
+  return self:concat(output, context)
+end
+
+function Date:_render_date_range (date, context)
+  local show_parts = self:_get_show_parts(context)
+  local part_index = {}
+
+  local largest_diff_part = nil
+  for i, name in ipairs({"year", "month", "day"}) do
+    part_index[name] = i
+    local part_value1 = date["date-parts"][1][i]
+    if show_parts[name] and part_value1 then
+      if not largest_diff_part then
+        largest_diff_part = name
+      end
+    end
+  end
+
+  local date_parts = {}
+  for _, date_part in ipairs(self:query_selector("date-part")) do
+    if show_parts[date_part:get_attribute("name")] then
+      table.insert(date_parts, date_part)
+    end
+  end
+
+  local diff_begin = 0
+  local diff_end = #date_parts
+  local range_delimiter = nil
+
+  for i, date_part in ipairs(date_parts) do
+    local name = date_part:get_attribute("name")
+    if name == largest_diff_part then
+      range_delimiter = date_part:get_attribute("range-delimiter")
+      if not range_delimiter then
+        range_delimiter = util.unicode["en dash"]
+      end
+    end
+
+    local index = part_index[name]
+    local part_value1 = date["date-parts"][1][index]
+    local part_value2 = date["date-parts"][2][index]
+    if part_value1 and part_value1 ~= part_value2 then
+      if diff_begin == 0 then
+        diff_begin = i
+      end
+      diff_end = i
+    end
+  end
+
+  local same_prefix = {}
+  local range_begin = {}
+  local range_end = {}
+  local same_suffix = {}
+
+  local no_suffix_context = self:process_context(context)
+  no_suffix_context.options["suffix"] = nil
+
+  for i, date_part in ipairs(date_parts) do
+    local res = nil
+    if i == diff_end then
+      res = date_part:render(date, no_suffix_context, true)
+    else
+      res = date_part:render(date, context)
+    end
+    if i < diff_begin then
+      table.insert(same_prefix, res)
+    elseif i <= diff_end then
+      table.insert(range_begin, res)
+      table.insert(range_end, date_part:render(date, context, false, true))
+    else
+      table.insert(same_suffix, res)
+    end
+  end
+
+  local prefix_output = self:concat(same_prefix, context) or ""
+  local range_begin_output = self:concat(range_begin, context) or ""
+  local range_end_output = self:concat(range_end, context) or ""
+  local suffix_output = self:concat(same_suffix, context)
+  local range_output = range_begin_output .. range_delimiter .. range_end_output
+
+  local res = self:concat({prefix_output, range_output, suffix_output}, context)
+
+  return res
+end
+
+function Date:_get_show_parts (context)
+  local show_parts = {}
+  local date_parts = context.options["date-parts"] or "year-month-day"
+  for _, date_part in ipairs(util.split(date_parts, "%-")) do
+    show_parts[date_part] = true
+  end
+  return show_parts
+end
+
+
+local DatePart = element.Element:new()
+
+DatePart.render = function (self, date, context, last_range_begin, range_end)
+  self:debug_info(context)
+  context = self:process_context(context)
+  local name = context.options["name"]
+  local range_delimiter = context.options["range-delimiter"] or false
+
+  -- The attributes set on cs:date-part elements of a cs:date with form
+  -- attribute override those specified for the localized date formats
+  if context.date_part_attributes then
+    local context_attributes = context.date_part_attributes[name]
+    if context_attributes then
+      for attr, value in pairs(context_attributes) do
+        context.options[attr] = value
+      end
+    end
+  end
+
+  if last_range_begin then
+    context.options["suffix"] = ""
+  end
+
+  local date_parts_index = 1
+  if range_end then
+    date_parts_index = 2
+  end
+
+  local res = nil
+  if name == "day" then
+    local day = date["date-parts"][date_parts_index][3]
+    if not day then
+      return nil
+    end
+    day = tonumber(day)
+    -- range open
+    if day == 0 then
+      return nil
+    end
+    local form = context.options["form"] or "numeric"
+
+    if form == "ordinal" then
+      local option = self:get_locale_option("limit-day-ordinals-to-day-1")
+      if option and option ~= "false" and day > 1 then
+        form = "numeric"
+      end
+    end
+    if form == "numeric" then
+      res = tostring(day)
+    elseif form == "numeric-leading-zeros" then
+      -- TODO: day == nil?
+      if not day then
+        return nil
+      end
+      res = string.format("%02d", day)
+    elseif form == "ordinal" then
+      res = util.to_ordinal(day)
+    end
+
+  elseif name == "month" then
+    local form = context.options["form"] or "long"
+
+    local month = date["date-parts"][date_parts_index][2]
+    if month then
+      month = tonumber(month)
+      -- range open
+      if month == 0 then
+        return nil
+      end
+    end
+
+    if form == "long" or form == "short" then
+      local term_name = nil
+      if month then
+        if month >= 1 and month <= 12 then
+          term_name = string.format("month-%02d", month)
+        elseif month >= 13 and month <= 24 then
+          local season = month % 4
+          if season == 0 then
+            season = 4
+          end
+          term_name = string.format("season-%02d", season)
+        else
+          util.warning("Invalid month value")
+          return nil
+        end
+      else
+        local season = date["season"]
+        if season then
+          season = tonumber(season)
+          term_name = string.format("season-%02d", season)
+        else
+          return nil
+        end
+      end
+      res = self:get_term(term_name, form):render(context)
+    elseif form == "numeric" then
+      res = tostring(month)
+    elseif form == "numeric-leading-zeros" then
+      -- TODO: month == nil?
+      if not month then
+        return nil
+      end
+      res = string.format("%02d", month)
+    end
+    res = self:strip_periods(res, context)
+
+  elseif name == "year" then
+    local year = date["date-parts"][date_parts_index][1]
+    if year then
+      year = tonumber(year)
+      -- range open
+      if year == 0 then
+        return nil
+      end
+      local form = context.options["form"] or "long"
+      if form == "long" then
+        year = tonumber(year)
+        if year < 0 then
+          res = tostring(-year) .. self:get_term("bc"):render(context)
+        elseif year < 1000 then
+          res = tostring(year) .. self:get_term("ad"):render(context)
+        else
+          res = tostring(year)
+        end
+      elseif form == "short" then
+        res = string.sub(tostring(year), -2)
+      end
+    end
+  end
+  res = self:case(res, context)
+  res = self:format(res, context)
+  res = self:wrap(res, context)
+  res = self:display(res, context)
+  return res
+end
+
+
+date_module.Date = Date
+date_module.DatePart = DatePart
+
+return date_module


Property changes on: trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-node-date.lua
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-node-group.lua
===================================================================
--- trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-node-group.lua	                        (rev 0)
+++ trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-node-group.lua	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,32 @@
+local group = {}
+
+local element = require("citeproc-element")
+local util = require("citeproc-util")
+
+
+local Group = element.Element:new()
+
+function Group:render (item, context)
+  self:debug_info(context)
+  context = self:process_context(context)
+
+  local num_variable_attempt = #context.variable_attempt
+
+  local res = self:render_children(item, context)
+
+  if #context.variable_attempt > num_variable_attempt then
+    if not util.any(util.slice(context.variable_attempt, num_variable_attempt + 1)) then
+      res = nil
+    end
+  end
+
+  res = self:format(res, context)
+  res = self:wrap(res, context)
+  res = self:display(res, context)
+  return res
+end
+
+
+group.Group = Group
+
+return group


Property changes on: trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-node-group.lua
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-node-label.lua
===================================================================
--- trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-node-label.lua	                        (rev 0)
+++ trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-node-label.lua	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,106 @@
+local label = {}
+
+local element = require("citeproc-element")
+local util = require("citeproc-util")
+
+
+local Label = element.Element:new()
+
+function Label:render (item, context)
+  self:debug_info(context)
+  context = self:process_context(context)
+
+  local variable_name
+  if context.names_element then
+    -- The `variable` attribute of names may hold multiple roles.
+    -- Each of them may call `Label:render()` to render the term.
+    -- When used in `names` element, the role name is the first argument
+    -- and the item is accessed via `context.item`.
+    -- Bad design
+    -- TODO: Redesign the arguments of render()
+    variable_name = item
+  else
+    variable_name = context.options["variable"]
+  end
+
+  local form = context.options["form"]
+  local plural = context.options["plural"] or "contextual"
+
+  if not context.names_element then
+    local variable_type = util.variable_types[variable_name]
+    -- variable must be or one of the number variables.
+    if variable_type ~= "number" then
+      return nil
+    end
+    -- The term is only rendered if the selected variable is non-empty
+    local variable = item[variable_name]
+    if not variable then
+      return nil
+    end
+    if type(variable) == "string" then
+      if not (string.match(variable, "^%d") or util.is_numeric(variable)) then
+        return nil
+      end
+    end
+  end
+
+  local term
+  if variable_name == "locator" then
+    local locator_type = item.label or "page"
+    term = self:get_term(locator_type, form)
+  else
+    term = self:get_term(variable_name, form)
+  end
+
+  local res = nil
+  if term then
+    if plural == "contextual" and self:_is_plural(variable_name, context) or plural == "always" then
+      res = term:render(context, true)
+    else
+      res = term:render(context, false)
+    end
+
+    res = self:strip_periods(res, context)
+    res = self:case(res, context)
+    res = self:format(res, context)
+    res = self:wrap(res, context)
+  end
+  return res
+end
+
+function Label:_is_plural (variable_name, context)
+  local variable_type = util.variable_types[variable_name]
+  -- Don't use self:get_variable here
+  local variable = context.item[variable_name]
+  local res = false
+  if variable_type == "name" then
+    -- Label inside `names`
+    res = #variable > 1
+
+  elseif variable_type == "number" then
+    if util.startswith(variable_name, "number-of-") then
+      res = tonumber(variable) > 1
+    else
+      variable = tostring(variable)
+      variable = string.gsub(variable, "\\%-", "")
+      if #util.split(variable, "%s*[,&-]%s*") > 1 then
+        -- check if contains multiple numbers
+        -- "i–ix": true
+        -- res = string.match(tostring(variable), "%d+%D+%d+") ~= nil
+        res = true
+      elseif string.match(variable, "%Aand%A") or string.match(variable, "%Aet%A") then
+        res = true
+      else
+        res = false
+      end
+    end
+  else
+    util.warning("Invalid attribute \"variable\".")
+  end
+  return res
+end
+
+
+label.Label = Label
+
+return label


Property changes on: trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-node-label.lua
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-node-layout.lua
===================================================================
--- trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-node-layout.lua	                        (rev 0)
+++ trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-node-layout.lua	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,231 @@
+local layout = {}
+
+local richtext = require("citeproc-richtext")
+local element = require("citeproc-element")
+local util = require("citeproc-util")
+
+
+local Layout = element.Element:new()
+
+function Layout:render (items, context)
+  self:debug_info(context)
+
+  context.items = items
+
+  -- When used within cs:citation, the delimiter attribute may be used to specify a delimiter for cites within a citation.
+  -- Thus the processing of context is put after render_children().
+  if context.mode == "citation" then
+    if context.options["collapse"] == "citation-number" then
+      context.build.item_citation_numbers = {}
+      context.build.item_citation_number_text = {}
+    end
+  elseif context.mode == "bibliography" then
+    context.build.longest_label = ""
+    context.build.preceding_first_rendered_names = nil
+    context = self:process_context(context)
+  end
+
+  local output = {}
+  local previous_cite = nil
+  for _, item in ipairs(items) do
+
+    context.item = item
+    context.variable_attempt = {}
+    context.suppressed_variables = {}
+    context.suppress_subsequent_variables = false
+    if context.mode == "bibliography" then
+      context.build.first_rendered_names = {}
+    end
+
+    if not item.position then
+      item.position = self:_get_position(item, previous_cite, context)
+    end
+
+    local first = nil
+    local second = {}
+    local element_index = 0
+    for _, child in ipairs(self:get_children()) do
+      if child:is_element() then
+        element_index = element_index + 1
+        local text = child:render(item, context)
+        if element_index == 1 then
+          first = text
+        else
+          table.insert(second, text)
+        end
+      end
+    end
+    second = self:concat(second, context)
+
+    if context.mode == "bibliography" then
+      if first and context.options["prefix"] then
+        first = richtext.new(context.options["prefix"]) .. first
+      end
+      if second and context.options["suffix"] then
+        second = second .. richtext.new(context.options["suffix"])
+      end
+    end
+
+    local res = nil
+    if context.options["second-field-align"] == "flush" then
+      if first then
+        first:add_format("display", "left-margin")
+        res = first
+      end
+      if second then
+        second:add_format("display", "right-inline")
+        if res then
+          res = richtext.concat(res, second)
+        else
+          res = second
+        end
+      end
+    else
+      res = self:concat({first, second}, context)
+    end
+
+    if context.mode == "citation" then
+      if res and item["prefix"] then
+        res = richtext.new(item["prefix"]) .. res
+      end
+      if res and item["suffix"] then
+        res = res .. richtext.new(item["suffix"])
+      end
+    elseif context.mode == "bibliography" then
+      if not res then
+        res = richtext.new("[CSL STYLE ERROR: reference with no printed form.]")
+      end
+      res = self:wrap(res, context)
+      -- util.debug(text)
+      res = res:render(context.engine.formatter, context)
+      res = context.engine.formatter["@bibliography/entry"](res, context)
+    end
+    table.insert(output, res)
+    previous_cite = item
+  end
+
+  if context.mode == "citation" then
+    if next(output) == nil then
+      return "[CSL STYLE ERROR: reference with no printed form.]"
+    end
+
+    context = self:process_context(context)
+    local res
+    if context.options["collapse"] then
+      res = self:_collapse_citations(output, context)
+    else
+      res = self:concat(output, context)
+    end
+    res = self:wrap(res, context)
+    res = self:format(res, context)
+    if res then
+      -- util.debug(res)
+      res = res:render(context.engine.formatter, context)
+    end
+    return res
+
+  else
+    local params = {
+      maxoffset = #context.build.longest_label,
+    }
+
+    return {params, output}
+  end
+end
+
+function Layout:_get_position (item, previous_cite, context)
+  local engine = context.engine
+  if not engine.registry.registry[item.id] then
+    return util.position_map["first"]
+  end
+
+  local position = util.position_map["subsequent"]
+  -- Find the preceding cite referencing the same item
+  local preceding_cite = nil
+  if previous_cite then
+    -- a. the current cite immediately follows on another cite
+    if item.id == previous_cite.id then
+      preceding_cite = previous_cite
+    end
+  elseif engine.registry.previous_citation then
+    -- b. first cite in the citation and previous citation exists
+    for _, cite in ipairs(engine.registry.previous_citation.citationItems) do
+      if item.id == cite.id then
+        preceding_cite = cite
+        break
+      end
+    end
+  end
+
+  if preceding_cite then
+    if preceding_cite.locator then
+      -- Preceding cite does have a locator
+      if item.locator then
+        if item.locator == preceding_cite.locator then
+          position = util.position_map["ibid"]
+        else
+          position = util.position_map["ibid-with-locator"]
+        end
+      else
+        -- the current cite lacks a locator
+        position = util.position_map["subsequent"]
+      end
+    else
+      -- Preceding cite does not have a locator
+      if item.locator then
+        position = util.position_map["ibid-with-locator"]
+      else
+        position = util.position_map["ibid"]
+      end
+    end
+  end
+  return position
+end
+
+
+function Layout:_collapse_citations(output, context)
+  if context.options["collapse"] == "citation-number" then
+    assert(#output == #context.items)
+    local citation_numbers = {}
+    for i, item in ipairs(context.items) do
+      citation_numbers[i] = context.build.item_citation_numbers[item.id] or 0
+    end
+
+    local collapsed_output = {}
+    local citation_number_range_delimiter = util.unicode["en dash"]
+    local index = 1
+    while index <= #citation_numbers do
+      local stop_index = index + 1
+      if output[index] == context.build.item_citation_number_text[index] then
+        while stop_index <= #citation_numbers  do
+          if output[stop_index] ~= context.build.item_citation_number_text[stop_index] then
+            break
+          end
+          if citation_numbers[stop_index - 1] + 1 ~= citation_numbers[stop_index] then
+            break
+          end
+          stop_index = stop_index + 1
+        end
+      end
+
+      if stop_index >= index + 3 then
+        local range_text = output[index] .. citation_number_range_delimiter .. output[stop_index - 1]
+        table.insert(collapsed_output, range_text)
+      else
+        for i = index, stop_index - 1 do
+          table.insert(collapsed_output, output[i])
+        end
+      end
+
+      index = stop_index
+    end
+
+    return self:concat(collapsed_output, context)
+  end
+  return self:concat(output, context)
+end
+
+
+layout.Layout = Layout
+
+return layout


Property changes on: trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-node-layout.lua
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-node-locale.lua
===================================================================
--- trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-node-locale.lua	                        (rev 0)
+++ trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-node-locale.lua	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,130 @@
+local locale = {}
+
+local element = require("citeproc-element")
+
+
+local Locale = element.Element:new()
+
+function Locale:get_option (key)
+  local query = string.format("style-options[%s]", key)
+  local option = self:query_selector(query)[1]
+  if option then
+    local value = option:get_attribute(key)
+      if self.option_type[key] == "integer" then
+        value = tonumber(value)
+      elseif self.option_type[key] == "boolean" then
+        value = (value == "true")
+      end
+    return value
+  else
+    return nil
+  end
+end
+
+function Locale:get_term (name, form, number, gender)
+
+  if form == "long" then
+    form = nil
+  end
+
+  local match_last
+  local match_last_two
+  local match_whole
+  if number then
+    assert(type(number) == "number")
+    match_last = string.format("%s-%02d", name, number % 10)
+    match_last_two = string.format("%s-%02d", name, number % 100)
+    match_whole = string.format("%s-%02s", name, number)
+  end
+
+  local res = nil
+  for _, term in ipairs(self:query_selector("term")) do
+    -- Use get_path?
+    local match_name = name
+
+    if number then
+      local term_match = term:get_attribute("last-two-digits")
+      if term_match == "whole-number" then
+        match_name = match_whole
+      elseif term_match == "last-two-digits" then
+        match_name = match_last_two
+      elseif number < 10 then
+        -- "13" can match only "ordinal-13" not "ordinal-03"
+        -- It is sliced to "3" in a later checking pass.
+        match_name = match_last_two
+      else
+        match_name = match_last
+      end
+    end
+
+    local term_name = term:get_attribute("name")
+    local term_form = term:get_attribute("form")
+    if term_form == "long" then
+      term_form = nil
+    end
+    local term_gender = term:get_attribute("gender-form")
+
+    if term_name == match_name and term_form == form and term_gender == gender then
+      return term
+    end
+
+  end
+
+  -- Fallback
+  if form == "verb-sort" then
+    return self:get_term(name, "verb")
+  elseif form == "symbol" then
+    return self:get_term(name, "short")
+  elseif form == "verb" then
+    return self:get_term(name, "long")
+  elseif form == "short" then
+    return self:get_term(name, "long")
+  end
+
+  if number and number > 10 then
+    return self:get_term(name, nil, number % 10, gender)
+  end
+
+  if gender then
+    return self:get_term(name, nil, number, nil)
+  end
+
+  if number then
+    return self:get_term(name, nil, nil, nil)
+  end
+
+  return nil
+end
+
+
+local Term = element.Element:new()
+
+function Term:render (context, is_plural)
+  self:debug_info(context)
+  context = self:process_context(context)
+
+  local output = {
+    single = self:get_text(),
+  }
+  for _, child in ipairs(self:get_children()) do
+    if child:is_element() then
+      output[child:get_element_name()] = self:escape(child:get_text())
+    end
+  end
+  local res = output.single
+  if is_plural then
+    if output.multiple then
+      res = output.multiple
+    end
+  end
+  if res == "" then
+    return nil
+  end
+  return res
+end
+
+
+locale.Locale = Locale
+locale.Term = Term
+
+return locale


Property changes on: trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-node-locale.lua
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-node-names.lua
===================================================================
--- trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-node-names.lua	                        (rev 0)
+++ trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-node-names.lua	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,696 @@
+local names_module = {}
+
+local unicode = require("unicode")
+
+local richtext = require("citeproc-richtext")
+local element = require("citeproc-element")
+local util = require("citeproc-util")
+
+
+local Name = element.Element:new()
+
+Name.default_options = {
+  ["delimiter"] = ", ",
+  ["delimiter-precedes-et-al"] = "contextual",
+  ["delimiter-precedes-last"] = "contextual",
+  ["et-al-min"] = nil,
+  ["et-al-use-first"] = nil,
+  ["et-al-subsequent-min"] = nil,
+  ["et-al-subsequent-use-first "] = nil,
+  ["et-al-use-last"] = false,
+  ["form"] = "long",
+  ["initialize"] = true,
+  ["initialize-with"] = false,
+  ["name-as-sort-order"] = false,
+  ["sort-separator"] = ", ",
+  ["prefix"] = "",
+  ["suffix"] = "",
+}
+
+function Name:render (names, context)
+  self:debug_info(context)
+  context = self:process_context(context)
+
+  local and_ = context.options["and"]
+  local delimiter = context.options["delimiter"]
+  local delimiter_precedes_et_al = context.options["delimiter-precedes-et-al"]
+  local delimiter_precedes_last = context.options["delimiter-precedes-last"]
+  local et_al_min = context.options["et-al-min"]
+  local et_al_use_first = context.options["et-al-use-first"]
+  local et_al_subsequent_min = context.options["et-al-subsequent-min"]
+  local et_al_subsequent_use_first = context.options["et-al-subsequent-use-first "]
+  local et_al_use_last = context.options["et-al-use-last"]
+
+  -- sorting
+  if context.options["names-min"] then
+    et_al_min = context.options["names-min"]
+  end
+  if context.options["names-use-first"] then
+    et_al_use_first = context.options["names-use-first"]
+  end
+  if context.options["names-use-last"] ~= nil then
+    et_al_use_last = context.options["names-use-last"]
+  end
+
+  local form = context.options["form"]
+
+  local et_al_truncate = et_al_min and et_al_use_first and #names >= et_al_min
+  local et_al_last = et_al_use_last and et_al_use_first <= et_al_min - 2
+
+  if form == "count" then
+    if et_al_truncate then
+      return et_al_use_first
+    else
+      return #names
+    end
+  end
+
+  local output = nil
+
+  local res = nil
+  local inverted = false
+
+  for i, name in ipairs(names) do
+    if et_al_truncate and i > et_al_use_first then
+      if et_al_last then
+        if i == #names then
+          output = richtext.concat(output, delimiter)
+          output = output .. util.unicode["horizontal ellipsis"]
+          output = output .. " "
+          res = self:render_single_name(name, i, context)
+          output = output .. res
+        end
+      else
+        if not self:_check_delimiter(delimiter_precedes_et_al, i, inverted) then
+          delimiter = " "
+        end
+        if output then
+          output = richtext.concat_list({output, context.et_al:render(context)}, delimiter)
+        end
+        break
+      end
+    else
+      if i > 1 then
+        if i == #names and context.options["and"] then
+          if self:_check_delimiter(delimiter_precedes_last, i, inverted) then
+            output = richtext.concat(output, delimiter)
+          else
+            output = output .. " "
+          end
+          local and_term = ""
+          if context.options["and"] == "text" then
+            and_term = self:get_term("and"):render(context)
+          elseif context.options["and"] == "symbol" then
+            and_term = self:escape("&")
+          end
+          output = output .. and_term .. " "
+        else
+          output = richtext.concat(output, delimiter)
+        end
+      end
+      res, inverted = self:render_single_name(name, i, context)
+
+      if res and res ~= "" then
+        res = richtext.new(res)
+        if context.build.first_rendered_names then
+          table.insert(context.build.first_rendered_names, res)
+        end
+
+        if output then
+          output = richtext.concat(output, res)
+        else
+          output = res
+        end
+      end
+    end
+  end
+
+  local ret = self:format(output, context)
+  ret = self:wrap(ret, context)
+  return ret
+end
+
+function Name:_check_delimiter (delimiter_attribute, index, inverted)
+  -- `delimiter-precedes-et-al` and `delimiter-precedes-last`
+  if delimiter_attribute == "always" then
+    return true
+  elseif delimiter_attribute == "never" then
+    return false
+  elseif delimiter_attribute == "contextual" then
+    if index > 2 then
+      return true
+    else
+      return false
+    end
+  elseif delimiter_attribute == "after-inverted-name" then
+    if inverted then
+      return true
+    else
+      return false
+    end
+  end
+  return false
+end
+
+function Name:render_single_name (name, index, context)
+  local form = context.options["form"]
+  local initialize = context.options["initialize"]
+  local initialize_with = context.options["initialize-with"]
+  local name_as_sort_order = context.options["name-as-sort-order"]
+  if context.sorting then
+    name_as_sort_order = "all"
+  end
+  local sort_separator = context.options["sort-separator"]
+
+  local demote_non_dropping_particle = context.options["demote-non-dropping-particle"]
+
+  -- TODO: make it a module
+  local function _strip_quotes(str)
+    if str then
+      str = string.gsub(str, '"', "")
+      str = string.gsub(str, "'", util.unicode["apostrophe"])
+    end
+    return str
+  end
+
+  local family = _strip_quotes(name["family"]) or ""
+  local given = _strip_quotes(name["given"]) or ""
+  local dp = _strip_quotes(name["dropping-particle"]) or ""
+  local ndp = _strip_quotes(name["non-dropping-particle"]) or ""
+  local suffix = _strip_quotes(name["suffix"]) or ""
+  local literal = _strip_quotes(name["literal"]) or ""
+
+  if family == "" then
+    family = literal
+    if family == "" then
+      family = given
+      given = ""
+    end
+    if family ~= "" then
+      return family
+    else
+      error("Name not avaliable")
+    end
+  end
+
+  if initialize_with then
+    given = self:initialize(given, initialize_with, context)
+  end
+
+  local demote_ndp = false  -- only active when form == "long"
+  if demote_non_dropping_particle == "display-and-sort" or
+  demote_non_dropping_particle == "sort-only" and context.sorting then
+    demote_ndp = true
+  else  -- demote_non_dropping_particle == "never"
+    demote_ndp = false
+  end
+
+  local family_name_part = nil
+  local given_name_part = nil
+  for _, child in ipairs(self:get_children()) do
+    if child:is_element() and child:get_element_name() == "name-part" then
+      local name_part = child:get_attribute("name")
+      if name_part == "family" then
+        family_name_part = child
+      elseif name_part == "given" then
+        given_name_part = child
+      end
+    end
+  end
+
+  local res = nil
+  local inverted = false
+  if form == "long" then
+    local order
+    local suffix_separator = sort_separator
+    if not util.has_romanesque_char(name["family"]) then
+      order = {family, given}
+      inverted = true
+      sort_separator = ""
+    elseif name_as_sort_order == "all" or (name_as_sort_order == "first" and index == 1) then
+
+      -- "Alan al-One"
+      local hyphen_parts = util.split(family, "%-", 1)
+      if #hyphen_parts > 1 then
+        local particle
+        particle, family = table.unpack(hyphen_parts)
+        particle = particle .. "-"
+        ndp = richtext.concat(ndp, particle)
+      end
+
+      if family_name_part then
+        family = family_name_part:format_name_part(family, context)
+        ndp = family_name_part:format_name_part(ndp, context)
+      end
+      if given_name_part then
+        given = given_name_part:format_name_part(given, context)
+        dp = family_name_part:format_name_part(dp, context)
+      end
+
+      if demote_ndp then
+        given = richtext.concat_list({given, dp, ndp}, " ")
+      else
+        family = richtext.concat_list({ndp, family}, " ")
+        given = richtext.concat_list({given, dp}, " ")
+      end
+
+      if family_name_part then
+        family = family_name_part:wrap_name_part(family, context)
+      end
+      if given_name_part then
+        given = given_name_part:wrap_name_part(given, context)
+      end
+
+      order = {family, given, suffix}
+      inverted = true
+    else
+      if family_name_part then
+        family = family_name_part:format_name_part(family, context)
+        ndp = family_name_part:format_name_part(ndp, context)
+      end
+      if given_name_part then
+        given = given_name_part:format_name_part(given, context)
+        dp = family_name_part:format_name_part(dp, context)
+      end
+
+      family = richtext.concat_list({dp, ndp, family}, " ")
+      if name["comma-suffix"] then
+        suffix_separator = ", "
+      else
+        suffix_separator = " "
+      end
+      family = richtext.concat_list({family, suffix}, suffix_separator)
+
+      if family_name_part then
+        family = family_name_part:wrap_name_part(family, context)
+      end
+      if given_name_part then
+        given = given_name_part:wrap_name_part(given, context)
+      end
+
+      order = {given, family}
+      sort_separator = " "
+    end
+    res = richtext.concat_list(order, sort_separator)
+
+  elseif form == "short" then
+    if family_name_part then
+      family = family_name_part:format_name_part(family, context)
+      ndp = family_name_part:format_name_part(ndp, context)
+    end
+    family = util.concat({ndp, family}, " ")
+      if family_name_part then
+        family = family_name_part:wrap_name_part(family, context)
+      end
+    res = family
+  else
+    error(string.format('Invalid attribute form="%s" of "name".', form))
+  end
+  return res, inverted
+end
+
+function Name:initialize (given, terminator, context)
+  if not given or given == "" then
+    return ""
+  end
+
+  local initialize = context.options["initialize"]
+  if context.options["initialize-with-hyphen"] == false then
+    given = string.gsub(given, "-", " ")
+  end
+
+  -- Split the given name to name_list (e.g., {"John", "M." "E"})
+  -- Compound names are splitted too but are marked in punc_list.
+  local name_list = {}
+  local punct_list = {}
+  local last_position = 1
+  for name, pos in string.gmatch(given, "([^-.%s]+[-.%s]+)()") do
+    table.insert(name_list, string.match(name, "^[^-%s]+"))
+    if string.match(name, "%-") then
+      table.insert(punct_list, "-")
+    else
+      table.insert(punct_list, "")
+    end
+    last_position = pos
+  end
+  if last_position <= #given then
+    table.insert(name_list, util.strip(string.sub(given, last_position)))
+    table.insert(punct_list, "")
+  end
+
+  for i, name in ipairs(name_list) do
+    local is_particle = false
+    local is_abbreviation = false
+
+    local first_letter = utf8.char(utf8.codepoint(name))
+    if util.is_lower(first_letter) then
+        is_particle = true
+    elseif #name == 1 then
+      is_abbreviation = true
+    else
+      local abbreviation = string.match(name, "^([^.]+)%.$")
+      if abbreviation then
+        is_abbreviation = true
+        name = abbreviation
+      end
+    end
+
+    if is_particle then
+      name_list[i] = name .. " "
+      if i > 1 and not string.match(name_list[i-1], "%s$") then
+        name_list[i-1] = name_list[i-1] .. " "
+      end
+    elseif is_abbreviation then
+      name_list[i] = name .. terminator
+    else
+      if initialize then
+        if util.is_upper(name) then
+          name = first_letter
+        else
+          -- Long abbreviation: "TSerendorjiin" -> "Ts."
+          local abbreviation = ""
+          for _, c in utf8.codes(name) do
+            local char = utf8.char(c)
+            local lower = unicode.utf8.lower(char)
+            if lower == char then
+              break
+            end
+            if abbreviation == "" then
+              abbreviation = char
+            else
+              abbreviation = abbreviation .. lower
+            end
+          end
+          name = abbreviation
+        end
+        name_list[i] = name .. terminator
+      else
+        name_list[i] = name .. " "
+      end
+    end
+
+    -- Handle the compound names
+    if i > 1 and punct_list[i-1] == "-" then
+      if is_particle then  -- special case "Guo-ping"
+        name_list[i] = ""
+      else
+        name_list[i-1] = util.rstrip(name_list[i-1])
+        name_list[i] = "-" .. name_list[i]
+      end
+    end
+  end
+
+  local res = util.concat(name_list, "")
+  res = util.strip(res)
+  return res
+
+end
+
+local NamePart = element.Element:new()
+
+function NamePart:format_name_part(name_part, context)
+  context = self:process_context(context)
+  local res = self:case(name_part, context)
+  res = self:format(res, context)
+  return res
+end
+
+function NamePart:wrap_name_part(name_part, context)
+  context = self:process_context(context)
+  local res = self:wrap(name_part, context)
+  return res
+end
+
+
+local EtAl = element.Element:new()
+
+EtAl.default_options = {
+  term = "et-al",
+}
+
+EtAl.render = function (self, context)
+  self:debug_info(context)
+  context = self:process_context(context)
+  local res = self:get_term(context.options["term"]):render(context)
+  res = self:format(res, context)
+  return res
+end
+
+
+local Substitute = element.Element:new()
+
+function Substitute:render (item, context)
+  self:debug_info(context)
+
+  if context.suppressed_variables then
+    -- true in layout, not in sort
+    context.suppress_subsequent_variables = true
+  end
+
+  for i, child in ipairs(self:get_children()) do
+    if child:is_element() then
+      local result = child:render(item, context)
+      if result and result ~= "" then
+        return result
+      end
+    end
+  end
+  return nil
+end
+
+
+local Names = element.Element:new()
+
+function Names:render (item, context)
+  self:debug_info(context)
+  context = self:process_context(context)
+
+  local names_delimiter = context.options["names-delimiter"]
+  if names_delimiter then
+    context.options["delimiter"] = names_delimiter
+  end
+
+  -- Inherit attributes of parent `names` element
+  local names_element = context.names_element
+  if names_element then
+    for key, value in pairs(names_element._attr) do
+      context.options[key] = value
+    end
+    for key, value in pairs(self._attr) do
+      context.options[key] = value
+    end
+  else
+    context.names_element = self
+    context.variable = context.options["variable"]
+  end
+
+  local name, et_al, label
+  -- The position of cs:label relative to cs:name determines the order of
+  -- the name and label in the rendered text.
+  local label_position = nil
+  for _, child in ipairs(self:get_children()) do
+    if child:is_element() then
+      local element_name = child:get_element_name()
+      if element_name == "name" then
+        name = child
+        if label then
+          label_position = "before"
+        end
+      elseif element_name == "et-al" then
+        et_al = child
+      elseif element_name == "label" then
+        label = child
+        if name then
+          label_position = "after"
+        end
+      end
+    end
+  end
+  if label_position then
+    context.label_position = label_position
+  else
+    label_position = context.label_position or "after"
+  end
+
+  -- local name = self:get_child("name")
+  if not name then
+    name = context.name_element
+  end
+  if not name then
+    name = self:create_element("name", {}, self)
+    Name:set_base_class(name)
+  end
+  context.name_element = name
+
+  -- local et_al = self:get_child("et-al")
+  if not et_al then
+    et_al = context.et_al
+  end
+  if not et_al then
+    et_al = self:create_element("et-al", {}, self)
+    EtAl:set_base_class(et_al)
+  end
+  context.et_al = et_al
+
+  -- local label = self:get_child("label")
+  if label then
+    context.label = label
+  else
+    label = context.label
+  end
+
+  local sub_str = nil
+  if context.mode == "bibliography" and not context.sorting then
+    sub_str = context.options["subsequent-author-substitute"]
+  --   if sub_str and #context.build.preceding_first_rendered_names == 0 then
+  --     context.rendered_names = {}
+  --   else
+  --     sub_str = nil
+  --     context.rendered_names = nil
+  --   end
+  end
+
+  local variable_names = context.options["variable"] or context.variable
+  local ret = nil
+
+  if variable_names then
+    local output = {}
+    local num_names = 0
+    for _, role in ipairs(util.split(variable_names)) do
+      local names = self:get_variable(item, role, context)
+
+      table.insert(context.variable_attempt, names ~= nil)
+
+      if names then
+        local res = name:render(names, context)
+        if res then
+          if type(res) == "number" then  -- name[form="count"]
+            num_names = num_names + res
+          elseif label and not context.sorting then
+            -- drop name label in sorting
+            local label_result = label:render(role, context)
+            if label_result then
+              if label_position == "before" then
+                res = richtext.concat(label_result, res)
+              else
+                res = richtext.concat(res, label_result)
+              end
+            end
+          end
+        end
+        table.insert(output, res)
+      end
+    end
+
+    if num_names > 0 then
+      ret = tostring(num_names)
+    else
+      ret = self:concat(output, context)
+      if ret and sub_str and context.build.first_rendered_names then
+        ret = self:substitute_names(ret, context)
+      end
+    end
+  end
+
+  if ret then
+    ret = self:format(ret, context)
+    ret = self:wrap(ret, context)
+    ret = self:display(ret, context)
+    return ret
+  else
+    local substitute = self:get_child("substitute")
+    if substitute then
+      ret = substitute:render(item, context)
+    end
+    if ret and sub_str then
+      ret = self:substitute_single_field(ret, context)
+    end
+    return ret
+  end
+end
+
+function Names:substitute_single_field(result, context)
+  if not result then
+    return nil
+  end
+  if context.build.first_rendered_names and #context.build.first_rendered_names == 0 then
+    context.build.first_rendered_names[1] = result
+  end
+  result = self:substitute_names(result, context)
+  return result
+end
+
+function Names:substitute_names(result, context)
+  if not context.build.first_rendered_names then
+     return result
+  end
+  local name_strings = {}
+  local match_all
+
+  if #context.build.first_rendered_names > 0 then
+    match_all = true
+  else
+    match_all = false
+  end
+  for i, text in ipairs(context.build.first_rendered_names) do
+    local str = text:render(context.engine.formatter, context)
+    name_strings[i] = str
+    if context.build.preceding_first_rendered_names and str ~= context.build.preceding_first_rendered_names[i] then
+      match_all = false
+    end
+  end
+
+  if context.build.preceding_first_rendered_names then
+    local sub_str = context.options["subsequent-author-substitute"]
+    local sub_rule = context.options["subsequent-author-substitute-rule"]
+
+    if sub_rule == "complete-all" then
+      if match_all then
+        if sub_str == "" then
+          result = nil
+        else
+          result.contents = {sub_str}
+        end
+      end
+
+    elseif sub_rule == "complete-each" then
+      -- In-place substitution
+      if match_all then
+        for _, text in ipairs(context.build.first_rendered_names) do
+          text.contents = {sub_str}
+        end
+        result = self:concat(context.build.first_rendered_names, context)
+      end
+
+    elseif sub_rule == "partial-each" then
+      for i, text in ipairs(context.build.first_rendered_names) do
+        if name_strings[i] == context.build.preceding_first_rendered_names[i] then
+          text.contents = {sub_str}
+        else
+          break
+        end
+      end
+      result = self:concat(context.build.first_rendered_names, context)
+
+    elseif sub_rule == "partial-first" then
+      if name_strings[1] == context.build.preceding_first_rendered_names[1] then
+        context.build.first_rendered_names[1].contents = {sub_str}
+      end
+      result = self:concat(context.build.first_rendered_names, context)
+    end
+  end
+
+  if #context.build.first_rendered_names > 0 then
+    context.build.first_rendered_names = nil
+  end
+  context.build.preceding_first_rendered_names = name_strings
+  return result
+end
+
+names_module.Names = Names
+names_module.Name = Name
+names_module.NamePart = NamePart
+names_module.EtAl = EtAl
+names_module.Substitute = Substitute
+
+return names_module


Property changes on: trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-node-names.lua
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-node-number.lua
===================================================================
--- trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-node-number.lua	                        (rev 0)
+++ trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-node-number.lua	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,99 @@
+local number_module = {}
+
+local element = require("citeproc-element")
+local util = require("citeproc-util")
+
+
+local Number = element.Element:new()
+
+function Number:render (item, context)
+  self:debug_info(context)
+  context = self:process_context(context)
+  local variable = context.options["variable"]
+  local content = self:get_variable(item, variable, context)
+
+  table.insert(context.variable_attempt, content ~= nil)
+
+  if not content then
+    return nil
+  end
+
+  local numbers = {}
+  local punct_list = {}
+  local last_position = 1
+  for number, punct, pos in string.gmatch(content, "(.-)%s*([-,&])%s*()") do
+    table.insert(numbers, number)
+    table.insert(punct_list, punct)
+    last_position = pos
+  end
+  table.insert(numbers, string.sub(content, last_position))
+
+  local res = ""
+  for i, number in ipairs(numbers) do
+    local punct = punct_list[i]
+    number = self:_format_single_number(number, context)
+    res = res .. number
+
+    if punct == "-" then
+      res = res .. punct
+    elseif punct == "," then
+      res = res .. punct .. " "
+    elseif punct == "&" then
+      res = res .. " " .. punct .. " "
+    end
+  end
+
+  res = self:case(res, context)
+  res = self:wrap(res, context)
+  res = self:display(res, context)
+
+  return res
+end
+
+function Number:_format_single_number(number, context)
+  local form = context.options["form"] or "numeric"
+  if form  == "numeric" or not string.match(number, "^%d+$") then
+    return number
+  end
+  number = tonumber(number)
+  if form == "ordinal" or form == "long-ordinal" then
+    return self:_format_oridinal(number, form, context)
+  elseif form == "roman" then
+    return util.convert_roman(number)
+  end
+end
+
+function Number:_format_oridinal(number, form, context)
+  assert(type(number) == "number")
+  local variable = context.options["variable"]
+
+  if form == "long-ordinal" then
+    if number < 1 or number > 10 then
+      form = "ordinal"
+    end
+  end
+
+  local gender = nil
+  local term = self:get_term(variable)
+  if term then
+    gender = term:get_attribute("gender")
+  end
+
+  term = self:get_term(form, nil, number, gender)
+  local res = term:render(context)
+  if form == "ordinal" then
+    if res then
+      return tostring(number) .. res
+    else
+      res = tostring(number)
+    end
+  else
+    return res
+  end
+  return res
+end
+
+
+number_module.Number = Number
+
+return number_module


Property changes on: trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-node-number.lua
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-node-sort.lua
===================================================================
--- trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-node-sort.lua	                        (rev 0)
+++ trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-node-sort.lua	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,183 @@
+local sort = {}
+
+local unicode = require("unicode")
+
+local element = require("citeproc-element")
+local names = require("citeproc-node-names")
+local date = require("citeproc-node-date")
+local util = require("citeproc-util")
+
+
+local Sort = element.Element:new()
+
+function Sort:sort (items, context)
+  -- key_map = {
+  --   id1 = {key1, key2, ...},
+  --   id2 = {key1, key2, ...},
+  --   ...
+  -- }
+  context.variable_attempt = {}
+
+  local key_map = {}
+  local sort_directions = {}
+  -- true: ascending
+  -- false: descending
+
+  if not Sort.collator_obj then
+    local lang = context.style.lang
+    local language = string.sub(lang, 1, 2)
+    -- It's 6 seconds slower to run the whole test-suite if these package
+    -- loading statements are put in the header.
+    local ducet = require("lua-uca.lua-uca-ducet")
+    local collator = require("lua-uca.lua-uca-collator")
+    local languages = require("lua-uca.lua-uca-languages")
+    local collator_obj = collator.new(ducet)
+    if languages[language] then
+      Sort.collator_obj = languages[language](collator_obj)
+    else
+      util.warning(string.format('Lcoale "%s" is not supported.', lang))
+    end
+  end
+
+  for _, item in ipairs(items) do
+    if not key_map[item.id] then
+      key_map[item.id] = {}
+
+      context.item = item
+      for i, key in ipairs(self:query_selector("key")) do
+        if sort_directions[i] == nil then
+          local direction = (key:get_attribute("sort") ~= "descending")
+          sort_directions[i] = direction
+        end
+        local value = key:render(item, context)
+        table.insert(key_map[item.id], value)
+      end
+    end
+  end
+
+  -- util.debug(key_map)
+
+  local function compare_entry(item1, item2)
+    return self.compare_entry(key_map, sort_directions, item1, item2)
+  end
+  table.sort(items, compare_entry)
+
+  return items
+end
+
+function Sort.compare(value1, value2)
+  if type(value1) == "string" then
+    return Sort.compare_strings(value1, value2)
+  else
+    return value1 < value2
+  end
+end
+
+function Sort.compare_strings(str1, str2)
+  if Sort.collator_obj then
+    return Sort.collator_obj:compare_strings(str1, str2)
+  else
+    return str1 < str2
+  end
+end
+
+function Sort.compare_entry(key_map, sort_directions, item1, item2)
+  for i, value1 in ipairs(key_map[item1.id]) do
+    local ascending = sort_directions[i]
+    local value2 = key_map[item2.id][i]
+    if value1 and value2 then
+      local res
+      if ascending then
+        res = Sort.compare(value1, value2)
+      else
+        res = Sort.compare(value2, value1)
+      end
+      if res or value1 ~= value2 then
+        return res
+      end
+    elseif value1 then
+      return true
+    elseif value2 then
+      return false
+    end
+  end
+end
+
+local Key = element.Element:new()
+
+function Key:render (item, context)
+  context = self:process_context(context)
+  context.options["name-as-sort-order"] = "all"
+  context.sorting = true
+  local variable = self:get_attribute("variable")
+  local res = nil
+  if variable then
+    context.variable = variable
+    local variable_type = util.variable_types[variable]
+    if variable_type == "name" then
+      res = self:_render_name(item, context)
+    elseif variable_type == "date" then
+      res = self:_render_date(item, context)
+    elseif variable_type == "number" then
+      res = item[variable]
+    else
+      res = item[variable]
+    end
+  else
+    local macro = self:get_attribute("macro")
+    if macro then
+      res = self:get_macro(macro):render(item, context)
+    end
+  end
+  if res == nil then
+    res = false
+  elseif type(res) == "table" and res._type == "RichText" then
+    res = res:render(nil, context)
+  end
+  if type(res) == "string" then
+    res = self._normalize_string(res)
+  end
+  return res
+end
+
+function Key:_render_name (item, context)
+  if not self.names then
+    self.names = self:create_element("names", {}, self)
+    names.Names:set_base_class(self.names)
+    self.names:set_attribute("variable", context.options["variable"])
+    self.names:set_attribute("form", "long")
+  end
+  local res = self.names:render(item, context)
+  return res
+end
+
+function Key:_render_date (item, context)
+  if not self.date then
+    self.date = self:create_element("date", {}, self)
+    date.Date:set_base_class(self.date)
+    self.date:set_attribute("variable", context.options["variable"])
+    self.date:set_attribute("form", "numeric")
+  end
+  local res = self.date:render(item, context)
+  return res
+end
+function Key._normalize_string(str)
+  str = unicode.utf8.lower(str)
+  str = string.gsub(str, "[%[%]]", "")
+  local words = {}
+  for _, word in ipairs(util.split(str, " ")) do
+    -- TODO: strip leading prepositions
+    -- remove leading apostrophe on name particle
+    word = string.gsub(word, "^" .. util.unicode["apostrophe"], "")
+    table.insert(words, word)
+  end
+  str = table.concat(words, " ")
+  str = string.gsub(str, util.unicode["apostrophe"], "'")
+  return str
+end
+
+
+sort.Sort = Sort
+sort.Key = Key
+
+return sort


Property changes on: trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-node-sort.lua
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-node-style.lua
===================================================================
--- trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-node-style.lua	                        (rev 0)
+++ trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-node-style.lua	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,193 @@
+local style = {}
+
+local element = require("citeproc-element")
+local util = require("citeproc-util")
+
+
+local Style = element.Element:new()
+
+Style.default_options = {
+  ["initialize-with-hyphen"] = true,
+  ["page-range-format"] = nil,
+  ["demote-non-dropping-particle"] = "display-and-sort",
+}
+
+function Style:set_lang(lang, force_lang)
+  local default_locale = self:get_attribute("default-locale")
+  if lang then
+    if default_locale and not force_lang then
+      self.lang = default_locale
+    end
+  else
+    self.lang = default_locale or "en-US"
+  end
+end
+
+function Style:render_citation (items, context)
+  self:debug_info(context)
+  context = self:process_context(context)
+  context.style = self
+  local citation = self:get_child("citation")
+  return citation:render(items, context)
+end
+
+function Style:render_biblography (items, context)
+  self:debug_info(context)
+  context = self:process_context(context)
+  context.style = self
+  local bibliography = self:get_child("bibliography")
+  return bibliography:render(items, context)
+end
+
+function Style:get_version ()
+  return self:get_attribute("version")
+end
+
+function Style:get_locales()
+  if not self.locale_dict then
+    self.locale_dict = {}
+  end
+  local locales = self.locale_dict[self.lang]
+  if not locales then
+    locales = self:get_locale_list(self.lang)
+    self.locale_dict[self.lang] = locales
+  end
+  return locales
+end
+
+function Style:get_locale_list (lang)
+  assert(lang ~= nil)
+  local language = string.sub(lang, 1, 2)
+  local primary_dialect = util.primary_dialects[language]
+  if not primary_dialect then
+    -- util.warning(string.format("Failed to find primary dialect of \"%s\"", language))
+  end
+  local locale_list = {}
+
+  -- 1. In-style cs:locale elements
+  --    i. `xml:lang` set to chosen dialect, “de-AT”
+  if lang == language then
+    lang = primary_dialect
+  end
+  table.insert(locale_list, self:get_in_style_locale(lang))
+
+  --    ii. `xml:lang` set to matching language, “de” (German)
+  if language and language ~= lang then
+    table.insert(locale_list, self:get_in_style_locale(language))
+  end
+
+  --    iii. `xml:lang` not set
+  table.insert(locale_list, self:get_in_style_locale(nil))
+
+  -- 2. Locale files
+  --    iv. `xml:lang` set to chosen dialect, “de-AT”
+  if lang then
+    table.insert(locale_list, self:get_engine():get_system_locale(lang))
+  end
+
+  --    v. `xml:lang` set to matching primary dialect, “de-DE” (Standard German)
+  --       (only applicable when the chosen locale is a secondary dialect)
+  if primary_dialect and primary_dialect ~= lang then
+    table.insert(locale_list, self:get_engine():get_system_locale(primary_dialect))
+  end
+
+  --    vi. `xml:lang` set to “en-US” (American English)
+  if lang ~= "en-US" and primary_dialect ~= "en-US" then
+    table.insert(locale_list, self:get_engine():get_system_locale("en-US"))
+  end
+
+  return locale_list
+end
+
+function Style:get_in_style_locale (lang)
+  for _, locale in ipairs(self:query_selector("locale")) do
+    if locale:get_attribute("xml:lang") == lang then
+      return locale
+    end
+  end
+  return nil
+end
+
+function Style:get_term (...)
+  for _, locale in ipairs(self:get_locales()) do
+    local res = locale:get_term(...)
+    if res then
+      return res
+    end
+  end
+  return nil
+end
+
+
+local Citation = element.Element:new()
+
+function Citation:render (items, context)
+  self:debug_info(context)
+  context = self:process_context(context)
+
+  context.mode = "citation"
+  context.citation = self
+
+  local sort = self:get_child("sort")
+  if sort then
+    sort:sort(items, context)
+  end
+
+  local layout = self:get_child("layout")
+  return layout:render(items, context)
+end
+
+
+local Bibliography = element.Element:new()
+
+Bibliography.default_options = {
+  ["hanging-indent"] = false,
+  ["second-field-align"] = nil,
+  ["line-spacing"] = 1,
+  ["entry-spacing"] = 1,
+  ["subsequent-author-substitute"] = nil,
+  ["subsequent-author-substitute-rule"] = "complete-all",
+}
+
+function Bibliography:render (items, context)
+  self:debug_info(context)
+  context = self:process_context(context)
+  -- util.debug(context)
+
+  context.mode = "bibliography"
+  context.bibliography = self
+
+  -- Already sorted in CiteProc:sort_bibliography()
+
+  local layout = self:get_child("layout")
+  local res = layout:render(items, context)
+
+  local params = res[1]
+
+  params.entryspacing = context.options["entry-spacing"]
+  params.linespacing = context.options["line-spacing"]
+  params.hangingindent = context.options["hanging-indent"]
+  params["second-field-align"] = context.options["second-field-align"]
+  for _, key in ipairs({"bibstart", "bibend"}) do
+    local value = context.engine.formatter[key]
+    if type(value) == "function" then
+      value = value(context)
+    end
+    params[key] = value
+  end
+
+  params.bibliography_errors = {}
+  params.entry_ids = {}
+  for _, item in ipairs(items) do
+    table.insert(params.entry_ids, item.id)
+  end
+
+  return res
+end
+
+style.Style = Style
+style.Citation = Citation
+style.Bibliography = Bibliography
+
+
+return style


Property changes on: trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-node-style.lua
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-node-text.lua
===================================================================
--- trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-node-text.lua	                        (rev 0)
+++ trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-node-text.lua	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,217 @@
+local text = {}
+
+local element = require("citeproc-element")
+local richtext = require("citeproc-richtext")
+local util = require("citeproc-util")
+
+
+local Text = element.Element:new()
+
+function Text:render (item, context)
+  self:debug_info(context)
+  context = self:process_context(context)
+
+  local res = nil
+
+  local variable = nil
+  local variable_name = self:get_attribute("variable")
+  if variable_name then
+    local form = self:get_attribute("form")
+    if form == "short" then
+      variable = self:get_variable(item, variable_name  .. "-" .. form, context)
+    end
+    if not variable then
+      variable = self:get_variable(item, variable_name, context)
+    end
+    if variable then
+      res = variable
+      if type(res) == "number" then
+        res = tostring(res)
+      end
+      if variable_name == "page" or variable_name == "locator" then
+        res = util.lstrip(res)
+        res = self:_format_page(res, context)
+      end
+    end
+
+    table.insert(context.variable_attempt, res ~= nil)
+  end
+
+  local macro_name = self:get_attribute("macro")
+  if macro_name then
+    local macro = self:get_macro(macro_name)
+    res = macro:render(item, context)
+  end
+
+  local term_name = self:get_attribute("term")
+  if term_name then
+    local form = self:get_attribute("form")
+
+    local term = self:get_term(term_name, form)
+    if term then
+      res = term:render(context)
+    end
+  end
+
+  local value = self:get_attribute("value")
+  if value then
+    res = value
+    res = self:escape(res)
+  end
+
+  if type(res) == "string" and res ~= "" then
+    res = richtext.new(res)
+  end
+
+  res = self:strip_periods(res, context)
+  res = self:case(res, context)
+  res = self:format(res, context)
+  res = self:quote(res, context)
+  res = self:wrap(res, context)
+  res = self:display(res, context)
+
+  if variable_name == "citation-number" then
+    res = self:_process_citation_number(variable, res, context)
+  end
+
+  return res
+end
+
+
+function Text:_process_citation_number(citation_number, res, context)
+  if context.mode == "citation" and not context.sorting and context.options["collapse"] == "citation-number" then
+    context.build.item_citation_numbers[context.item.id] = citation_number
+    if type(res) == "string" then
+      res = richtext.new(res)
+    end
+    table.insert(context.build.item_citation_number_text, res)
+  end
+  return res
+end
+
+
+function Text:_format_page (page, context)
+  local res = nil
+
+  local page_range_delimiter = self:get_term("page-range-delimiter"):render(context) or util.unicode["en dash"]
+  local page_range_format = context.options["page-range-format"]
+  if page_range_format == "chicago" then
+    if self:get_style():get_version() >= "1.1" then
+      page_range_format = "chicago-16"
+    else
+      page_range_format = "chicago-15"
+    end
+  end
+
+  local last_position = 1
+  local page_parts = {}
+  local punct_list = {}
+  for part, punct, pos in string.gmatch(page, "(.-)%s*([,&])%s*()") do
+    table.insert(page_parts, part)
+    table.insert(punct_list, punct)
+    last_position = pos
+  end
+  table.insert(page_parts, string.sub(page, last_position))
+
+  res = ""
+  for i, part in ipairs(page_parts) do
+    res = res .. self:_format_range(part, page_range_format, page_range_delimiter)
+    local punct = punct_list[i]
+    if punct then
+      if punct == "&" then
+        res = res .. " " .. punct .. " "
+      else
+        res = res .. punct .. " "
+      end
+    end
+  end
+  res = self:escape(res)
+  return res
+end
+
+function Text:_format_range (str, format, range_delimiter)
+  local start, delimiter, stop = string.match(str, "(%w+)%s*(%-+)%s*(%S*)")
+  if not stop or stop == "" then
+    return string.gsub(str, "\\%-", "-")
+  end
+
+
+  local start_prefix, start_num  = string.match(start, "(.-)(%d*)$")
+  local stop_prefix, stop_num = string.match(stop, "(.-)(%d*)$")
+
+  if start_prefix ~= stop_prefix then
+    -- Not valid range: "n11564-1568" -> "n11564-1568"
+    -- 110-N6
+    -- N110-P5
+    return start .. delimiter .. stop
+  end
+
+  if format == "chicago-16" then
+    stop = self:_format_range_chicago_16(start_num, stop_num)
+  elseif format == "chicago-15" then
+    stop = self:_format_range_chicago_15(start_num, stop_num)
+  elseif format == "expanded" then
+    stop = stop_prefix .. self:_format_range_expanded(start_num, stop_num)
+  elseif format == "minimal" then
+    stop = self:_format_range_minimal(start_num, stop_num)
+  elseif format == "minimal-two" then
+    stop = self:_format_range_minimal(start_num, stop_num, 2)
+  end
+
+  return start .. range_delimiter .. stop
+end
+
+function Text:_format_range_chicago_16(start, stop)
+  if #start < 3 or string.sub(start, -2) == "00" then
+    return self:_format_range_expanded(start, stop)
+  elseif string.sub(start, -2, -2) == "0" then
+    return self:_format_range_minimal(start, stop)
+  else
+    return self:_format_range_minimal(start, stop, 2)
+  end
+  return stop
+end
+
+function Text:_format_range_chicago_15(start, stop)
+  if #start < 3 or string.sub(start, -2) == "00" then
+    return self:_format_range_expanded(start, stop)
+  else
+    local changed_digits = self:_format_range_minimal(start, stop)
+    if string.sub(start, -2, -2) == "0" then
+      return changed_digits
+    elseif #start == 4 and #changed_digits == 3 then
+      return self:_format_range_expanded(start, stop)
+    else
+      return self:_format_range_minimal(start, stop, 2)
+    end
+  end
+  return stop
+end
+
+function Text:_format_range_expanded(start, stop)
+  -- Expand  "1234–56" -> "1234–1256"
+  if #start <= #stop then
+    return stop
+  end
+  return string.sub(start, 1, #start - #stop) .. stop
+end
+
+function Text:_format_range_minimal(start, stop, threshold)
+  threshold = threshold or 1
+  if #start < #stop then
+    return stop
+  end
+  local offset = #start - #stop
+  for i = 1, #stop - threshold do
+    local j = i + offset
+    if string.sub(stop, i, i) ~= string.sub(start, j, j) then
+      return string.sub(stop, i)
+    end
+  end
+  return string.sub(stop, -threshold)
+end
+
+
+text.Text = Text
+
+return text


Property changes on: trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-node-text.lua
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-nodes.lua
===================================================================
--- trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-nodes.lua	                        (rev 0)
+++ trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-nodes.lua	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,44 @@
+--[[
+  Copyright (C) 2021 Zeping Lee
+--]]
+
+
+local style  = require("citeproc-node-style")
+local locale = require("citeproc-node-locale")
+local layout = require("citeproc-node-layout")
+local text   = require("citeproc-node-text")
+local date   = require("citeproc-node-date")
+local number = require("citeproc-node-number")
+local names  = require("citeproc-node-names")
+local label  = require("citeproc-node-label")
+local group  = require("citeproc-node-group")
+local choose = require("citeproc-node-choose")
+local sort   = require("citeproc-node-sort")
+
+local nodes = {
+  ["style"]        = style.Style,
+  ["citation"]     = style.Citation,
+  ["bibliography"] = style.Bibliography,
+  ["locale"]       = locale.Locale,
+  ["term"]         = locale.Term,
+  ["layout"]       = layout.Layout,
+  ["text"]         = text.Text,
+  ["date"]         = date.Date,
+  ["date-part"]    = date.DatePart,
+  ["number"]       = number.Number,
+  ["names"]        = names.Names,
+  ["name"]         = names.Name,
+  ["name-part"]    = names.NamePart,
+  ["et-al"]        = names.EtAl,
+  ["substitute"]   = names.Substitute,
+  ["label"]        = label.Label,
+  ["group"]        = group.Group,
+  ["choose"]       = choose.Choose,
+  ["if"]           = choose.If,
+  ["else"]         = choose.Else,
+  ["else-if"]      = choose.ElseIf,
+  ["sort"]         = sort.Sort,
+  ["key"]          = sort.Key,
+}
+
+return nodes


Property changes on: trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-nodes.lua
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-richtext.lua
===================================================================
--- trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-richtext.lua	                        (rev 0)
+++ trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-richtext.lua	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,777 @@
+--[[
+  Copyright (C) 2021 Zeping Lee
+--]]
+
+local richtext = {}
+
+local unicode = require("unicode")
+
+local util = require("citeproc-util")
+
+
+local RichText = {
+  contents = nil,
+  formats = nil,
+  _type = "RichText",
+}
+
+function RichText:shallow_copy()
+  local res = richtext.new()
+  for _, text in ipairs(self.contents) do
+    table.insert(res.contents, text)
+  end
+  for key, value in pairs(self.formats) do
+    res.formats[key] = value
+  end
+  return res
+end
+
+function RichText:render(formatter, context, punctuation_in_quote)
+  self:merge_punctuations()
+
+  if punctuation_in_quote == nil and context then
+    punctuation_in_quote = context.style:get_locale_option("punctuation-in-quote")
+  end
+  if punctuation_in_quote then
+    self:move_punctuation_in_quote()
+  end
+
+  self:change_case()
+
+  self:flip_flop()
+
+  self:clean_formats()
+
+  return self:_render(formatter, context)
+end
+
+function RichText:_render(formatter, context)
+  local res = ""
+  for _, text in ipairs(self.contents) do
+    local str
+    if type(text) == "string" then
+      if formatter and formatter.text_escape then
+        str = formatter.text_escape(text)
+      else
+        str = text
+      end
+    else  -- RichText
+      str = text:_render(formatter, context)
+    end
+    -- Remove leading spaces
+    if string.sub(res, -1) == " " and string.sub(str, 1, 1) == " " then
+      str = string.gsub(str, "^%s+", "")
+    end
+    res = res .. str
+  end
+  for _, attr in ipairs(richtext.format_sequence) do
+    local value = self.formats[attr]
+    if value then
+      local key = string.format("@%s/%s", attr, value)
+      if formatter then
+        local format = formatter[key]
+        if type(format) == "string" then
+          res = string.format(format, res)
+        elseif type(format) == "function" then
+          res = format(res, context)
+        end
+      end
+    end
+  end
+  return res
+end
+
+function RichText:merge_punctuations(contents, index)
+  for i, text in ipairs(self.contents) do
+    if text._type == "RichText" then
+      contents, index = text:merge_punctuations(contents, index)
+    elseif type(text) == "string" then
+      if contents and index then
+        local previous_string = contents[index]
+        local last_char = string.sub(previous_string, -1)
+        local right_punct_map = richtext.punctuation_map[last_char]
+        if right_punct_map then
+          local first_char = string.sub(text, 1, 1)
+          local new_punctuations = nil
+          if first_char == last_char then
+            new_punctuations = last_char
+          elseif contents == self.contents then
+            new_punctuations = right_punct_map[first_char]
+          end
+          if new_punctuations then
+            if #text == 1 then
+              table.remove(self.contents, i)
+            else
+              self.contents[i] = string.sub(text, 2)
+            end
+            contents[index] = string.sub(previous_string, 1, -2) .. new_punctuations
+          end
+        end
+      end
+      contents = self.contents
+      index = i
+    end
+  end
+  return contents, index
+end
+
+function RichText:move_punctuation_in_quote()
+  local i = 1
+  while i <= #self.contents do
+    local text = self.contents[i]
+    if type(text) == "table" and text._type == "RichText" then
+      text:move_punctuation_in_quote()
+
+      if text.formats["quotes"] then
+        local contents = self.contents
+        local last_string = text
+        while type(last_string) == "table" and last_string._type == "RichText" do
+          contents = last_string.contents
+          last_string = contents[#contents]
+        end
+
+        local done = false
+        while not done do
+          done = true
+          last_string = contents[#contents]
+          local last_char = string.sub(last_string, -1)
+          if i < #self.contents then
+            local next_text = self.contents[i + 1]
+            if type(next_text) == "string" then
+              local first_char = string.sub(next_text, 1, 1)
+              if richtext.in_quote_punctuations[first_char] then
+                done = false
+                local right_punct_map = richtext.punctuation_map[last_char]
+                if right_punct_map then
+                  first_char  = right_punct_map[first_char]
+                  last_string = string.sub(last_string, 1, -2)
+                end
+                contents[#contents] = last_string .. first_char
+                if #next_text == 1 then
+                  table.remove(self.contents, i + 1)
+                else
+                  self.contents[i + 1] = string.sub(next_text, 2)
+                end
+              end
+            end
+          end
+        end
+      end
+    end
+    i = i + 1
+  end
+end
+
+function RichText:change_case()
+  for _, text in ipairs(self.contents) do
+    if type(text) == "table" and text._type == "RichText" then
+      text:change_case()
+    end
+  end
+  local text_case = self.formats["text-case"]
+  if text_case then
+    if text_case == "lowercase" then
+      self:lowercase()
+    elseif text_case == "uppercase" then
+      self:uppercase()
+    elseif text_case == "capitalize-first" then
+      self:capitalize_first()
+    elseif text_case == "capitalize-all" then
+      self:capitalize_all()
+    elseif text_case == "sentence" then
+      self:sentence()
+    elseif text_case == "title" then
+      self:title()
+    end
+  end
+end
+
+function RichText:_change_word_case(state, word_transform, first_tranform, is_phrase)
+  if self.formats["text-case"] == "nocase" then
+    return
+  end
+  if is_phrase and (self.formats["vertical-align"] == "sup" or
+      self.formats["vertical-align"] == "sub" or
+      self.formats["font-variant"] == "small-caps") then
+    return
+  end
+  state = state or "after-sentence"
+  word_transform = word_transform or function (x) return x end
+  first_tranform = first_tranform or word_transform
+  for i, text in ipairs(self.contents) do
+    if type(text) == "string" then
+
+      local res = ""
+      local word_seps = {
+        " ",
+        "%-",
+        "/",
+        util.unicode["no-break space"],
+        util.unicode["en dash"],
+        util.unicode["em dash"],
+      }
+      for _, tuple in ipairs(util.split(text, word_seps, nil, true)) do
+        local word, punctuation = table.unpack(tuple)
+        if state == "after-sentence" then
+          res = res .. first_tranform(word)
+          if string.match(word, "%w") then
+            state = "after-word"
+          end
+        else
+          res = res .. word_transform(word, punctuation)
+        end
+        res = res .. punctuation
+        if string.match(word, "[.!?:]%s*$") then
+          state = "after-sentence"
+        end
+      end
+
+      -- local word_index = 0
+      -- local res = string.gsub(text, "%w+", function (word)
+      --   word_index = word_index + 1
+      --   if word_index == 1 then
+      --     return first_tranform(word)
+      --   else
+      --     return word_transform(word)
+      --   end
+      -- end)
+      -- if string.match(res, "[.!?:]%s*$") then
+      --   state = "after-sentence"
+      -- end
+
+      self.contents[i] = res
+    else
+      state = text:_change_word_case(state, word_transform, first_tranform, true)
+    end
+  end
+  return state
+end
+
+function RichText:lowercase()
+  local word_transform = unicode.utf8.lower
+  self:_change_word_case("after-sentence", word_transform)
+end
+
+function RichText:uppercase()
+  local word_transform = unicode.utf8.upper
+  self:_change_word_case("after-sentence", word_transform)
+end
+
+local function capitalize(str)
+  local res = string.gsub(str, utf8.charpattern, unicode.utf8.upper, 1)
+  return res
+end
+
+local function capitalize_if_lower(word)
+  if util.is_lower(word) then
+    return capitalize(word)
+  else
+    return word
+  end
+end
+
+function RichText:capitalize_first(state)
+  local first_tranform = capitalize_if_lower
+  self:_change_word_case("after-sentence", nil, first_tranform)
+end
+
+function RichText:capitalize_all()
+  local word_transform = capitalize_if_lower
+  self:_change_word_case("after-sentence", word_transform)
+end
+
+function RichText:is_upper()
+  for _, text in ipairs(self.contents) do
+    if type(text) == "string" then
+      if not util.is_upper(text) then
+        return false
+      end
+    else
+      local res = text:is_upper()
+      if not res then
+        return false
+      end
+    end
+  end
+  return true
+end
+
+function RichText:sentence()
+  if self:is_upper() then
+    local first_tranform = function(word)
+      return capitalize(unicode.utf8.lower(word))
+    end
+    local word_transform = unicode.utf8.lower
+    self:_change_word_case("after-sentence", word_transform, first_tranform)
+  else
+    local first_tranform = capitalize_if_lower
+    self:_change_word_case("after-sentence", nil, first_tranform)
+  end
+end
+
+function RichText:title()
+  if self:is_upper() then
+    local first_tranform = function(word)
+      return capitalize(unicode.utf8.lower(word))
+    end
+    local word_transform = function(word, sep)
+      local res = unicode.utf8.lower(word)
+      if not util.stop_words[res] then
+        res = capitalize(res)
+      end
+      return res
+    end
+    self:_change_word_case("after-sentence", word_transform, first_tranform)
+  else
+    local first_tranform = capitalize_if_lower
+    local word_transform = function(word, sep)
+      local lower = unicode.utf8.lower(word)
+      -- Stop word before hyphen is treated as a normal word.
+      if util.stop_words[lower] and sep ~= "-" then
+        return lower
+      elseif word == lower then
+        return capitalize(word)
+      else
+        return word
+      end
+    end
+    self:_change_word_case("after-sentence", word_transform, first_tranform)
+  end
+end
+
+function richtext.concat(str1, str2)
+  assert(str1 and str2)
+
+  if type(str1) == "string" then
+    str1 = richtext.new(str1)
+  end
+
+  local res
+  if next(str1.formats) == nil or str2 == "" then
+    -- shallow copy
+    res = str1
+  else
+    res = richtext.new()
+    res.contents = {str1}
+  end
+
+  if str2._type == "RichText" then
+    if next(str2.formats) == nil then
+      for _, text in ipairs(str2.contents) do
+        table.insert(res.contents, text)
+      end
+    else
+      table.insert(res.contents, str2)
+    end
+  elseif str2 ~= "" then
+    table.insert(res.contents, str2)
+  end
+  return res
+end
+
+function richtext.concat_list(list, delimiter)
+  -- Strings in the list may be nil thus ipairs() should be avoided.
+  -- The delimiter may be nil.
+  local res = nil
+  for i = 1, #list do
+    local text = list[i]
+    if text and text ~= "" then
+      if res then
+        if delimiter and delimiter ~= "" then
+          res = richtext.concat(res, delimiter)
+        end
+        res = richtext.concat(res, text)
+      else
+        if type(text) == "string" then
+          text = richtext.new(text)
+        end
+        res = text
+      end
+    end
+  end
+  return res
+end
+
+function RichText:strip_periods()
+  local last_string = self
+  local contents = self.contents
+  while last_string._type == "RichText" do
+    contents = last_string.contents
+    last_string = contents[#contents]
+  end
+  if string.sub(last_string, -1) == "." then
+    contents[#contents] = string.sub(last_string, 1, -2)
+  end
+end
+
+function RichText:add_format(attr, value)
+  self.formats[attr] = value
+end
+
+function RichText:flip_flop(attr, value)
+  if not attr then
+    for attr, _ in pairs(richtext.flip_flop_formats) do
+      self:flip_flop(attr)
+    end
+    return
+  end
+
+  local default_value = richtext.default_formats[attr]
+
+  if value and value ~= default_value and self.formats[attr] == value then
+    self.formats[attr] = richtext.flip_flop_values[attr][value]
+  end
+  if self.formats[attr] then
+    value = self.formats[attr]
+  end
+
+  for _, text in ipairs(self.contents) do
+    if type(text) == "table" and text._type == "RichText" then
+      text:flip_flop(attr, value)
+    end
+  end
+end
+
+function RichText:clean_formats(format)
+  -- Remove the formats that are default values
+  if not format then
+    for format, _ in pairs(richtext.default_formats) do
+      self:clean_formats(format)
+    end
+    return
+  end
+  if self.formats[format] then
+    if self.formats[format] == richtext.default_formats[format] then
+      self.formats[format] = nil
+    else
+      return
+    end
+  end
+  for _, text in ipairs(self.contents) do
+    if type(text) == "table" and text._type == "RichText" then
+      text:clean_formats(format)
+    end
+  end
+end
+
+local RichText_mt = {
+  __index = RichText,
+  __concat = richtext.concat,
+}
+
+local function table_update(t, new_t)
+  for key, value in pairs(new_t) do
+    t[key] = value
+  end
+  return t
+end
+
+function RichText._split_tags(str)
+  -- Normalize markup
+  str = string.gsub(str, '<span%s+style="font%-variant:%s*small%-caps;?">', '<span style="font-variant:small-caps;">')
+  str = string.gsub(str, '<span%s+class="nocase">', '<span class="nocase">')
+  str = string.gsub(str, '<span%s+class="nodecor">', '<span class="nodecor">')
+
+  local strings = {}
+
+  local start_index = 1
+  local i = 1
+
+  while i <= #str do
+    local substr = string.sub(str, i)
+    local starts_with_tag = false
+    for tag, _ in pairs(richtext.tags) do
+      if util.startswith(substr, tag) then
+        if start_index <= i - 1 then
+          table.insert(strings, string.sub(str, start_index, i-1))
+        end
+        table.insert(strings, tag)
+        i = i + #tag
+        start_index = i
+        starts_with_tag = true
+        break
+      end
+    end
+    if not starts_with_tag then
+      i = i + 1
+    end
+  end
+  if start_index <= #str then
+    table.insert(strings, string.sub(str, start_index))
+  end
+
+  for i = 1, #strings do
+    str = strings[i]
+    if str == "'" or str == util.unicode["apostrophe"] then
+      local previous_str = strings[i - 1]
+      local next_str = strings[i + 1]
+      if previous_str and next_str then
+        local previous_code_point = nil
+        for _, code_point in utf8.codes(previous_str) do
+          previous_code_point = code_point
+        end
+        local next_code_point = utf8.codepoint(next_str)
+        if util.is_romanesque(previous_code_point) and util.is_romanesque(next_code_point) then
+          -- An apostrophe
+          strings[i-1] = strings[i-1] .. util.unicode["apostrophe"] .. strings[i+1]
+          table.remove(strings, i+1)
+          table.remove(strings, i)
+        end
+      end
+    end
+  end
+
+  return strings
+end
+
+function richtext.new(text, formats)
+  local res = {
+    contents = {},
+    formats = formats or {},
+  }
+
+  setmetatable(res, RichText_mt)
+
+  if not text then
+    return res
+  end
+
+  if type(text) == "string" then
+
+    local strings = RichText._split_tags(text)
+    local contents = {}
+    for _, str in ipairs(strings) do
+      table.insert(contents, str)
+
+      local end_tag = nil
+      if str == '"' then
+        local last_text = contents[#contents - 1]
+        if last_text and type(last_text) == "string" and string.match(last_text, "%s$") then
+          end_tag = nil
+        else
+          end_tag = str
+        end
+      elseif richtext.end_tags[str] then
+        end_tag = str
+      end
+
+      if end_tag then
+        for i = #contents - 1, 1, -1 do
+          local start_tag = contents[i]
+          if type(start_tag) == "string" and richtext.tag_pairs[start_tag] == end_tag then
+            local subtext = richtext.new()
+            -- subtext.contents = util.slice(contents, i + 1, #contents - 1)
+            if start_tag == "'" and end_tag == "'" and i == #contents - 1 then
+              contents[i] = util.unicode["apostrophe"]
+              contents[#contents] = util.unicode["apostrophe"]
+              break
+            end
+
+            for j = i + 1, #contents - 1 do
+              local substr = contents[j]
+              if substr == "'" then
+                substr = util.unicode["apostrophe"]
+              end
+              local last_text = subtext.contents[#subtext.contents]
+              if type(substr) == "string" and type(last_text) == "string" then
+                subtext.contents[#subtext.contents] = last_text .. substr
+              else
+                table.insert(subtext.contents, substr)
+              end
+            end
+
+            if start_tag == '<span class="nodecor">' then
+              for attr, value in pairs(richtext.default_formats) do
+                subtext.formats[attr] = value
+              end
+              subtext.formats["text-case"] = "nocase"
+            else
+              for attr, value in pairs(richtext.tag_formats[start_tag]) do
+                subtext.formats[attr] = value
+              end
+            end
+
+            for j = #contents, i, -1 do
+              table.remove(contents, j)
+            end
+            table.insert(contents, subtext)
+            break
+          end
+        end
+      end
+    end
+
+    for i = #contents, 1, -1 do
+      if contents[i] == "'" then
+        contents[i] = util.unicode["apostrophe"]
+      end
+      if type(contents[i]) == "string" and type(contents[i+1]) == "string" then
+        contents[i] = contents[i] .. contents[i+1]
+        table.remove(contents, i+1)
+      end
+    end
+
+    if #contents == 1 and type(contents[1]) == "table" then
+      res = contents[1]
+    else
+      res.contents = contents
+    end
+
+    return res
+
+  elseif type(text) == "table" and text._type == "RichText" then
+    return text
+
+  elseif type(text) == "table" then
+    return text
+  end
+  return nil
+end
+
+richtext.tag_formats = {
+  ["<i>"] = {["font-style"] = "italic"},
+  ["<b>"] = {["font-weight"] = "bold"},
+  ["<sup>"] = {["vertical-align"] = "sup"},
+  ["<sub>"] = {["vertical-align"] = "sub"},
+  ["<sc>"] = {["font-variant"] = "small-caps"},
+  ['<span style="font-variant:small-caps;">'] = {["font-variant"] = "small-caps"},
+  ['<span class="nocase">'] = {["text-case"] = "nocase"},
+  ['"'] = {["quotes"] = "true"},
+  [util.unicode['left double quotation mark']] = {["quotes"] = "true"},
+  ["'"] = {["quotes"] = "true"},
+  [util.unicode['left single quotation mark']] = {["quotes"] = "true"},
+}
+
+richtext.default_formats = {
+  ["URL"] = "false",
+  ["DOI"] = "false",
+  ["PMID"] = "false",
+  ["PMCID"] = "false",
+  ["font-style"] = "normal",
+  ["font-variant"] = "normal",
+  ["font-weight"] = "normal",
+  ["text-decoration"] = "none",
+  ["vertical-align"] = "baseline",
+  ["quotes"] = "false",
+}
+
+richtext.format_sequence = {
+  "URL",
+  "DOI",
+  "PMID",
+  "PMCID",
+  "font-style",
+  "font-variant",
+  "font-weight",
+  "text-decoration",
+  "vertical-align",
+  "quotes",
+  "display",
+}
+
+richtext.flip_flop_formats = {
+  ["font-style"] = true,
+  ["font-weight"] = true,
+  ["font-variant"] = true,
+  ["quotes"] = true,
+}
+
+richtext.flip_flop_values = {
+  ["font-style"] = {
+    italic = "normal",
+    normal = "italic",
+  },
+  ["font-weight"] = {
+    bold = "normal",
+    normal = "bold",
+  },
+  ["font-variant"] = {
+    ["small-caps"] = "normal",
+    normal = "small-caps",
+  },
+  ["quotes"] = {
+    ["true"] = "inner",
+    inner = "true",
+  },
+}
+
+-- https://github.com/Juris-M/citeproc-js/blob/aa2683f48fe23be459f4ed3be3960e2bb56203f0/src/queue.js#L724
+-- Also merge duplicate punctuations.
+richtext.punctuation_map = {
+  ["!"] = {
+    ["."] = "!",
+    ["?"] = "!?",
+    [":"] = "!",
+    [","] = "!,",
+    [";"] = "!;",
+  },
+  ["?"] = {
+    ["!"] = "?!",
+    ["."] = "?",
+    [":"] = "?",
+    [","] = "?,",
+    [";"] = "?;",
+  },
+  ["."] = {
+    ["!"] = ".!",
+    ["?"] = ".?",
+    [":"] = ".:",
+    [","] = ".,",
+    [";"] = ".;",
+  },
+  [":"] = {
+    ["!"] = "!",
+    ["?"] = "?",
+    ["."] = ":",
+    [","] = ":,",
+    [";"] = ":;",
+  },
+  [","] = {
+    ["!"] = ",!",
+    ["?"] = ",?",
+    [":"] = ",:",
+    ["."] = ",.",
+    [";"] = ",;",
+  },
+  [";"] = {
+    ["!"] = "!",
+    ["?"] = "?",
+    [":"] = ";",
+    [","] = ";,",
+    ["."] = ";",
+  }
+}
+
+richtext.in_quote_punctuations = {
+  [","] = true,
+  ["."] = true,
+  ["?"] = true,
+  ["!"] = true,
+}
+
+richtext.tag_pairs = {
+  ["<i>"] = "</i>",
+  ["<b>"] = "</b>",
+  ["<sup>"] = "</sup>",
+  ["<sub>"] = "</sub>",
+  ["<sc>"] = "</sc>",
+  ['<span style="font-variant:small-caps;">'] = "</span>",
+  ['<span class="nocase">'] = "</span>",
+  ['<span class="nodecor">'] = "</span>",
+  ['"'] = '"',
+  [util.unicode['left double quotation mark']] = util.unicode['right double quotation mark'],
+  ["'"] = "'",
+  [util.unicode['left single quotation mark']] = util.unicode['right single quotation mark'],
+}
+
+richtext.tags = {}
+
+richtext.end_tags = {}
+
+for start_tag, end_tag in pairs(richtext.tag_pairs) do
+  richtext.tags[start_tag] = true
+  richtext.tags[end_tag] = true
+  richtext.end_tags[end_tag] = true
+end
+
+return richtext


Property changes on: trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-richtext.lua
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-util.lua
===================================================================
--- trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-util.lua	                        (rev 0)
+++ trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-util.lua	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,794 @@
+--[[
+  Copyright (C) 2021 Zeping Lee
+--]]
+
+-- load `slnunicode` from LuaTeX
+local unicode = require("unicode")
+local inspect = require("inspect")
+
+
+local util = {}
+
+function util.to_ordinal (n)
+  assert(type(n) == "number")
+  local last_digit = n % 10
+  if last_digit == 1 and n ~= 11
+    then return tostring(n) .. "st"
+  elseif last_digit == 2 and n ~= 12
+    then return tostring(n) .. "nd"
+  elseif last_digit == 3 and n ~= 13
+    then return tostring(n) .. "rd"
+  else
+    return tostring(n) .. "th"
+  end
+end
+
+
+function util.error(message)
+  if luatexbase then
+    luatexbase.module_error("citeproc", message)
+  else
+    error(message, 2)
+  end
+end
+
+util.warning_enabled = true
+
+function util.warning(message)
+  if luatexbase then
+    luatexbase.module_warning("citeproc", message)
+  elseif util.warning_enabled then
+    io.stderr:write(message, "\n")
+  end
+end
+
+local function remove_all_metatables(item, path)
+  if path[#path] ~= inspect.METATABLE then return item end
+end
+
+function util.debug(...)
+  -- io.stderr:write(inspect(..., {process = remove_all_metatables}))
+  io.stderr:write(inspect(...))
+  io.stderr:write("\n")
+end
+
+-- Similar to re.split() in Python
+function util.split(str, seps, maxsplit, include_sep)
+  if not str then
+    error("Invalid string.")
+  end
+  seps = seps or "%s+"
+  if seps == "" then
+    error("Empty separator")
+  end
+  if type(seps) == "string" then
+    seps = {seps}
+  end
+
+  local splits = {}
+  for _, sep_pattern in ipairs(seps) do
+    for start, sep, stop in string.gmatch(str, "()(" .. sep_pattern .. ")()") do
+      table.insert(splits, {start, sep, stop})
+    end
+  end
+
+  if #seps > 1 then
+    table.sort(splits, function(a, b) return a[1] < b[1] end)
+  end
+
+  local res = {}
+  local previous = 1
+  for _, sep_tuple in ipairs(splits) do
+    local start, sep, stop = table.unpack(sep_tuple)
+    local item = string.sub(str, previous, start - 1)
+    if include_sep then
+      item = {item, sep}
+    end
+    table.insert(res, item)
+    previous = stop
+  end
+  local item = string.sub(str, previous, #str)
+  if include_sep then
+    item = {item, ""}
+  end
+  table.insert(res, item)
+  return res
+end
+
+function util.slice (t, start, stop)
+  start = start or 1
+  stop = stop or #t
+  if start < 0 then
+    start = start + #t + 1
+  end
+  if stop < 0 then
+    stop = stop + #t + 1
+  end
+  local new = {}
+  for i, item in ipairs(t) do
+    if i >= start and i <= stop then
+      table.insert(new, item)
+    end
+  end
+  return new
+end
+
+function util.concat (list, sep)
+  -- This helper function omits empty strings in list, which is different from table.concat
+  -- This function always returns a string, even empty.
+  local res = ""
+  for i = 1, #list do
+    local s = list[i]
+    if s and s~= "" then
+      if res == "" then
+        res = s
+      else
+        res = res .. sep .. s
+      end
+    end
+  end
+  return res
+end
+
+function util.lstrip (str)
+  if not str then
+    return nil
+  end
+  local res = string.gsub(str, "^%s+", "")
+  return res
+end
+
+function util.rstrip (str)
+  if not str then
+    return nil
+  end
+  local res = string.gsub(str, "%s+$", "")
+  return res
+end
+
+function util.strip (str)
+  return util.lstrip(util.rstrip(str))
+end
+
+function util.startswith (str, prefix)
+  return string.sub(str, 1, #prefix) == prefix
+end
+
+function util.endswith (str, suffix)
+  return string.sub(str, -#suffix) == suffix
+end
+
+function util.is_numeric (str)
+  if str == nil or str == "" then
+    return false
+  end
+  local res = true
+  for w in string.gmatch(str, "%w+") do
+    if string.match(w, "^[a-zA-Z]*%d+[a-zA-Z]*$") == nil then
+      res = false
+      break
+    end
+  end
+  for w in string.gmatch(str, "%W+") do
+    if string.match(w, "^%s*[,&-]+%s*$") == nil then
+      res = false
+      break
+    end
+  end
+  return res
+end
+
+function util.is_uncertain_date (variable)
+  if variable == nil then
+    return false
+  end
+  local value = variable["circa"]
+  return value ~= nil and value ~= ""
+end
+
+util.variable_types = {}
+
+-- schema/schemas/styles/csl-variables.rnc
+util.variables = {}
+
+-- Date variables
+util.variables.date = {
+  "accessed",
+  "available-date",
+  "event-date",
+  "issued",
+  "original-date",
+  "submitted",
+}
+
+-- Name variables
+util.variables.name = {
+  "author",
+  "chair",
+  "collection-editor",
+  "compiler",
+  "composer",
+  "container-author",
+  "contributor",
+  "curator",
+  "director",
+  "editor",
+  "editor-translator",
+  "editorial-director",
+  "executive-producer",
+  "guest",
+  "host",
+  "illustrator",
+  "interviewer",
+  "narrator",
+  "organizer",
+  "original-author",
+  "performer",
+  "producer",
+  "recipient",
+  "reviewed-author",
+  "script-writer",
+  "series-creator",
+  "translator",
+}
+
+-- Number variables
+util.variables.number = {
+  "chapter-number",
+  "citation-number",
+  "collection-number",
+  "edition",
+  "first-reference-note-number",
+  "issue",
+  "locator",
+  "number",
+  "number-of-pages",
+  "number-of-volumes",
+  "page",
+  "page-first",
+  "part-number",
+  "printing-number",
+  "section",
+  "supplement-number",
+  "version",
+  "volume",
+}
+
+util.variable_types = {}
+
+for type, variables in pairs(util.variables) do
+  for _, variable in ipairs(variables) do
+    util.variable_types[variable] = type
+  end
+end
+
+util.primary_dialects = {
+  af= "af-ZA",
+  ar= "ar",
+  bg= "bg-BG",
+  ca= "ca-AD",
+  cs= "cs-CZ",
+  cy= "cy-GB",
+  da= "da-DK",
+  de= "de-DE",
+  el= "el-GR",
+  en= "en-US",
+  es= "es-ES",
+  et= "et-EE",
+  eu= "eu",
+  fa= "fa-IR",
+  fi= "fi-FI",
+  fr= "fr-FR",
+  he= "he-IL",
+  hi= "hi-IN",
+  hr= "hr-HR",
+  hu= "hu-HU",
+  id= "id-ID",
+  is= "is-IS",
+  it= "it-IT",
+  ja= "ja-JP",
+  km= "km-KH",
+  ko= "ko-KR",
+  la= "la",
+  lt= "lt-LT",
+  lv= "lv-LV",
+  mn= "mn-MN",
+  nb= "nb-NO",
+  nl= "nl-NL",
+  nn= "nn-NO",
+  pl= "pl-PL",
+  pt= "pt-PT",
+  ro= "ro-RO",
+  ru= "ru-RU",
+  sk= "sk-SK",
+  sl= "sl-SI",
+  sr= "sr-RS",
+  sv= "sv-SE",
+  th= "th-TH",
+  tr= "tr-TR",
+  uk= "uk-UA",
+  vi= "vi-VN",
+  zh= "zh-CN"
+}
+
+
+
+-- Range delimiter
+
+util.unicode = {
+  ["no-break space"] = "\u{00A0}",
+  ["em space"] = "\u{2003}",
+  ["en dash"] = "\u{2013}",
+  ["em dash"] = "\u{2014}",
+  ["left single quotation mark"] = "\u{2018}",
+  ["right single quotation mark"] = "\u{2019}",
+  ["apostrophe"] = "\u{2019}",
+  ["left double quotation mark"] = "\u{201C}",
+  ["right double quotation mark"] = "\u{201D}",
+  ["horizontal ellipsis"] = "\u{2026}",
+  ["narrow no-break space"] = "\u{202F}",
+}
+
+
+-- Text-case
+
+function util.is_lower (str)
+  return unicode.utf8.lower(str) == str
+end
+
+function util.is_upper (str)
+  return unicode.utf8.upper(str) == str
+end
+
+function util.capitalize (str)
+  str = unicode.utf8.lower(str)
+  local res = string.gsub(str, "%w", unicode.utf8.upper, 1)
+  return res
+end
+
+function util.sentence (str)
+  if util.is_upper(str) then
+    return util.capitalize(str)
+  else
+    local output = {}
+    for i, word in ipairs(util.split(str)) do
+      if i == 1 and util.is_lower(word) then
+        table.insert(output, util.capitalize(word))
+      else
+        table.insert(output, word)
+      end
+    end
+    return table.concat(output, " ")
+  end
+end
+
+-- TODO: process multiple words
+util.stop_words = {
+  ["a"] = true,
+  ["according to"] = true,
+  ["across"] = true,
+  ["afore"] = true,
+  ["after"] = true,
+  ["against"] = true,
+  ["ahead of"] = true,
+  ["along"] = true,
+  ["alongside"] = true,
+  ["amid"] = true,
+  ["amidst"] = true,
+  ["among"] = true,
+  ["amongst"] = true,
+  ["an"] = true,
+  ["and"] = true,
+  ["anenst"] = true,
+  ["apart from"] = true,
+  ["apropos"] = true,
+  ["apud"] = true,
+  ["around"] = true,
+  ["as"] = true,
+  ["as regards"] = true,
+  ["aside"] = true,
+  ["astride"] = true,
+  ["at"] = true,
+  ["athwart"] = true,
+  ["atop"] = true,
+  ["back to"] = true,
+  ["barring"] = true,
+  ["because of"] = true,
+  ["before"] = true,
+  ["behind"] = true,
+  ["below"] = true,
+  ["beneath"] = true,
+  ["beside"] = true,
+  ["besides"] = true,
+  ["between"] = true,
+  ["beyond"] = true,
+  ["but"] = true,
+  ["by"] = true,
+  ["c"] = true,
+  ["ca"] = true,
+  ["circa"] = true,
+  ["close to"] = true,
+  ["d'"] = true,
+  ["de"] = true,
+  ["despite"] = true,
+  ["down"] = true,
+  ["due to"] = true,
+  ["during"] = true,
+  ["et"] = true,
+  ["except"] = true,
+  ["far from"] = true,
+  ["for"] = true,
+  ["forenenst"] = true,
+  ["from"] = true,
+  ["given"] = true,
+  ["in"] = true,
+  ["inside"] = true,
+  ["instead of"] = true,
+  ["into"] = true,
+  ["lest"] = true,
+  ["like"] = true,
+  ["modulo"] = true,
+  ["near"] = true,
+  ["next"] = true,
+  ["nor"] = true,
+  ["notwithstanding"] = true,
+  ["of"] = true,
+  ["off"] = true,
+  ["on"] = true,
+  ["onto"] = true,
+  ["or"] = true,
+  ["out"] = true,
+  ["outside of"] = true,
+  ["over"] = true,
+  ["per"] = true,
+  ["plus"] = true,
+  ["prior to"] = true,
+  ["pro"] = true,
+  ["pursuant to"] = true,
+  ["qua"] = true,
+  ["rather than"] = true,
+  ["regardless of"] = true,
+  ["sans"] = true,
+  ["since"] = true,
+  ["so"] = true,
+  ["such as"] = true,
+  ["than"] = true,
+  ["that of"] = true,
+  ["the"] = true,
+  ["through"] = true,
+  ["throughout"] = true,
+  ["thru"] = true,
+  ["thruout"] = true,
+  ["till"] = true,
+  ["to"] = true,
+  ["toward"] = true,
+  ["towards"] = true,
+  ["under"] = true,
+  ["underneath"] = true,
+  ["until"] = true,
+  ["unto"] = true,
+  ["up"] = true,
+  ["upon"] = true,
+  ["v."] = true,
+  ["van"] = true,
+  ["versus"] = true,
+  ["via"] = true,
+  ["vis-à-vis"] = true,
+  ["von"] = true,
+  ["vs."] = true,
+  ["where as"] = true,
+  ["with"] = true,
+  ["within"] = true,
+  ["without"] = true,
+  ["yet"] = true,
+}
+
+function util.title (str)
+  local output = {}
+  local previous = ":"
+  for i, word in ipairs(util.split(str)) do
+    local lower = unicode.utf8.lower(word)
+    if previous ~= ":" and util.stop_words[string.match(lower, "%w+")] then
+      table.insert(output, lower)
+    elseif util.is_lower(word) or util.is_upper(word) then
+      table.insert(output, util.capitalize(word))
+    else
+      table.insert(output, word)
+    end
+  end
+  local res = table.concat(output, " ")
+  return res
+end
+
+function util.all (t)
+  for _, item in ipairs(t) do
+    if not item then
+      return false
+    end
+  end
+  return true
+end
+
+function util.any (t)
+  for _, item in ipairs(t) do
+    if item then
+      return true
+    end
+  end
+  return false
+end
+
+-- ROMANESQUE_REGEXP = "-0-9a-zA-Z\u0e01-\u0e5b\u00c0-\u017f\u0370-\u03ff\u0400-\u052f\u0590-\u05d4\u05d6-\u05ff\u1f00-\u1fff\u0600-\u06ff\u200c\u200d\u200e\u0218\u0219\u021a\u021b\u202a-\u202e"
+
+util.romanesque_ranges = {
+  {0x0030, 0x0039},  -- 0-9
+  {0x0041, 0x005A},  -- A-Z
+  {0x0061, 0x007A},  -- a-z
+  {0x0E01, 0x0E5B},  -- Thai
+  {0x0E01, 0x0E5B},  -- Thai
+  {0x00C0, 0x017F},  -- Latin-1 Supplement
+  {0x0370, 0x03FF},  -- Greek and Coptic
+  {0x0400, 0x052F},  -- Cyrillic
+  {0x0590, 0x05D4},  -- Hebrew
+  {0x05D6, 0x05FF},  -- Hebrew
+  {0x1F00, 0x1FFF},  -- Greek Extended
+  {0x0600, 0x06FF},  -- Arabic
+  {0x202A, 0x202E},  -- Writing directions in General Punctuation
+}
+
+util.romanesque_chars = {
+  0x200c,
+  0x200d,
+  0x200e,
+  0x0218,
+  0x0219,
+  0x021a,
+  0x021b,
+}
+
+util.CJK_ranges = {
+  {0x4E00, 0x9FFF},  -- CJK Unified Ideographs
+  {0x3400, 0x4DBF},  -- CJK Unified Ideographs Extension A
+  {0x3040, 0x309F},  -- Hiragana
+  {0x30A0, 0x30FF},  -- Katakana
+  {0xF900, 0xFAFF},  -- CJK Compatibility Ideographs
+  {0x20000, 0x2A6DF},  -- CJK Unified Ideographs Extension B
+  {0x2A700, 0x2B73F},  -- CJK Unified Ideographs Extension C
+  {0x2B740, 0x2B81F},  -- CJK Unified Ideographs Extension D
+  {0x2B820, 0x2CEAF},  -- CJK Unified Ideographs Extension E
+  {0x2CEB0, 0x2EBEF},  -- CJK Unified Ideographs Extension F
+  {0x30000, 0x3134F},  -- CJK Unified Ideographs Extension G
+  {0x2F800, 0x2FA1F},  -- CJK Compatibility Ideographs Supplement
+}
+
+function util.in_list (value, list)
+  for _, v in ipairs(list) do
+    if value == v then
+      return true
+    end
+  end
+  return false
+end
+
+function util.in_ranges (value, ranges)
+  for _, range in ipairs(ranges) do
+    if value >= range[1] and value <= range[2] then
+      return true
+    end
+  end
+  return false
+end
+
+function util.is_romanesque(code_point)
+  if not code_point then
+    return false
+  end
+  if util.in_ranges(code_point, util.romanesque_ranges) then
+    return true
+  end
+  if util.in_list(code_point, util.romanesque_chars) then
+    return true
+  end
+  return false
+end
+
+function util.has_romanesque_char(s)
+  -- has romanesque char but not necessarily pure romanesque
+  if not s then
+    return false
+  end
+  for _, code_point in utf8.codes(s) do
+    if util.is_romanesque(code_point) then
+      return true
+    end
+  end
+  return false
+end
+
+function util.is_cjk_char(code_point)
+  if not code_point then
+    return false
+  end
+  if util.in_ranges(code_point, util.CJK_ranges) then
+    return true
+  end
+  return false
+end
+
+function util.has_cjk_char(s)
+  -- has romanesque char but not necessarily pure romanesque
+  if not s then
+    return false
+  end
+  for _, code_point in utf8.codes(s) do
+    if util.is_cjk_char(code_point) then
+      return true
+    end
+  end
+  return false
+end
+
+function util.convert_roman (number)
+  assert(type(number) == "number")
+  local output = {}
+  for _, tuple in ipairs(util.roman_numerals) do
+    local letter, value = table.unpack(tuple)
+    table.insert(output, string.rep(letter, number // value))
+    number = number % value
+  end
+  return table.concat(output, "")
+end
+
+util.roman_numerals = {
+  {"m",  1000},
+  {"cm", 900},
+  {"d",  500},
+  {"cd", 400},
+  {"c",  100},
+  {"xc", 90},
+  {"l",  50},
+  {"xl", 40},
+  {"x",  10},
+  {"ix", 9},
+  {"v",  5},
+  {"iv", 4},
+  {"i",  1},
+};
+
+
+-- Choose
+
+util.position_map = {
+  ["first"] = 0,
+  ["subsequent"] = 1,
+  ["ibid"] = 2,
+  ["ibid-with-locator"] = 3,
+  ["container-subsequent"] = 4,
+}
+
+
+-- Output
+
+util.superscripts = {
+  ["\u{00AA}"] = "\u{0061}",
+  ["\u{00B2}"] = "\u{0032}",
+  ["\u{00B3}"] = "\u{0033}",
+  ["\u{00B9}"] = "\u{0031}",
+  ["\u{00BA}"] = "\u{006F}",
+  ["\u{02B0}"] = "\u{0068}",
+  ["\u{02B1}"] = "\u{0266}",
+  ["\u{02B2}"] = "\u{006A}",
+  ["\u{02B3}"] = "\u{0072}",
+  ["\u{02B4}"] = "\u{0279}",
+  ["\u{02B5}"] = "\u{027B}",
+  ["\u{02B6}"] = "\u{0281}",
+  ["\u{02B7}"] = "\u{0077}",
+  ["\u{02B8}"] = "\u{0079}",
+  ["\u{02E0}"] = "\u{0263}",
+  ["\u{02E1}"] = "\u{006C}",
+  ["\u{02E2}"] = "\u{0073}",
+  ["\u{02E3}"] = "\u{0078}",
+  ["\u{02E4}"] = "\u{0295}",
+  ["\u{1D2C}"] = "\u{0041}",
+  ["\u{1D2D}"] = "\u{00C6}",
+  ["\u{1D2E}"] = "\u{0042}",
+  ["\u{1D30}"] = "\u{0044}",
+  ["\u{1D31}"] = "\u{0045}",
+  ["\u{1D32}"] = "\u{018E}",
+  ["\u{1D33}"] = "\u{0047}",
+  ["\u{1D34}"] = "\u{0048}",
+  ["\u{1D35}"] = "\u{0049}",
+  ["\u{1D36}"] = "\u{004A}",
+  ["\u{1D37}"] = "\u{004B}",
+  ["\u{1D38}"] = "\u{004C}",
+  ["\u{1D39}"] = "\u{004D}",
+  ["\u{1D3A}"] = "\u{004E}",
+  ["\u{1D3C}"] = "\u{004F}",
+  ["\u{1D3D}"] = "\u{0222}",
+  ["\u{1D3E}"] = "\u{0050}",
+  ["\u{1D3F}"] = "\u{0052}",
+  ["\u{1D40}"] = "\u{0054}",
+  ["\u{1D41}"] = "\u{0055}",
+  ["\u{1D42}"] = "\u{0057}",
+  ["\u{1D43}"] = "\u{0061}",
+  ["\u{1D44}"] = "\u{0250}",
+  ["\u{1D45}"] = "\u{0251}",
+  ["\u{1D46}"] = "\u{1D02}",
+  ["\u{1D47}"] = "\u{0062}",
+  ["\u{1D48}"] = "\u{0064}",
+  ["\u{1D49}"] = "\u{0065}",
+  ["\u{1D4A}"] = "\u{0259}",
+  ["\u{1D4B}"] = "\u{025B}",
+  ["\u{1D4C}"] = "\u{025C}",
+  ["\u{1D4D}"] = "\u{0067}",
+  ["\u{1D4F}"] = "\u{006B}",
+  ["\u{1D50}"] = "\u{006D}",
+  ["\u{1D51}"] = "\u{014B}",
+  ["\u{1D52}"] = "\u{006F}",
+  ["\u{1D53}"] = "\u{0254}",
+  ["\u{1D54}"] = "\u{1D16}",
+  ["\u{1D55}"] = "\u{1D17}",
+  ["\u{1D56}"] = "\u{0070}",
+  ["\u{1D57}"] = "\u{0074}",
+  ["\u{1D58}"] = "\u{0075}",
+  ["\u{1D59}"] = "\u{1D1D}",
+  ["\u{1D5A}"] = "\u{026F}",
+  ["\u{1D5B}"] = "\u{0076}",
+  ["\u{1D5C}"] = "\u{1D25}",
+  ["\u{1D5D}"] = "\u{03B2}",
+  ["\u{1D5E}"] = "\u{03B3}",
+  ["\u{1D5F}"] = "\u{03B4}",
+  ["\u{1D60}"] = "\u{03C6}",
+  ["\u{1D61}"] = "\u{03C7}",
+  ["\u{2070}"] = "\u{0030}",
+  ["\u{2071}"] = "\u{0069}",
+  ["\u{2074}"] = "\u{0034}",
+  ["\u{2075}"] = "\u{0035}",
+  ["\u{2076}"] = "\u{0036}",
+  ["\u{2077}"] = "\u{0037}",
+  ["\u{2078}"] = "\u{0038}",
+  ["\u{2079}"] = "\u{0039}",
+  ["\u{207A}"] = "\u{002B}",
+  ["\u{207B}"] = "\u{2212}",
+  ["\u{207C}"] = "\u{003D}",
+  ["\u{207D}"] = "\u{0028}",
+  ["\u{207E}"] = "\u{0029}",
+  ["\u{207F}"] = "\u{006E}",
+  ["\u{2120}"] = "\u{0053}\u{004D}",
+  ["\u{2122}"] = "\u{0054}\u{004D}",
+  ["\u{3192}"] = "\u{4E00}",
+  ["\u{3193}"] = "\u{4E8C}",
+  ["\u{3194}"] = "\u{4E09}",
+  ["\u{3195}"] = "\u{56DB}",
+  ["\u{3196}"] = "\u{4E0A}",
+  ["\u{3197}"] = "\u{4E2D}",
+  ["\u{3198}"] = "\u{4E0B}",
+  ["\u{3199}"] = "\u{7532}",
+  ["\u{319A}"] = "\u{4E59}",
+  ["\u{319B}"] = "\u{4E19}",
+  ["\u{319C}"] = "\u{4E01}",
+  ["\u{319D}"] = "\u{5929}",
+  ["\u{319E}"] = "\u{5730}",
+  ["\u{319F}"] = "\u{4EBA}",
+  ["\u{02C0}"] = "\u{0294}",
+  ["\u{02C1}"] = "\u{0295}",
+  ["\u{06E5}"] = "\u{0648}",
+  ["\u{06E6}"] = "\u{064A}",
+}
+
+
+-- File IO
+
+function util.read_file(path)
+  if not path then
+    print(debug.traceback())
+  end
+  local file = io.open(path, "r")
+  if not file then return nil end
+  local content = file:read("*a")
+  file:close()
+  return content
+end
+
+
+return util


Property changes on: trunk/Master/texmf-dist/scripts/citation-style-language/citeproc-util.lua
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/scripts/citation-style-language/citeproc.lua
===================================================================
--- trunk/Master/texmf-dist/scripts/citation-style-language/citeproc.lua	                        (rev 0)
+++ trunk/Master/texmf-dist/scripts/citation-style-language/citeproc.lua	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,18 @@
+--[[
+  Copyright (C) 2021 Zeping Lee
+--]]
+
+
+local citeproc = {}
+
+local engine = require("citeproc-engine")
+local bib = require("citeproc-bib")
+local util = require("citeproc-util")
+
+citeproc.__VERSION__ = "0.1.0"
+
+citeproc.new = engine.CiteProc.new
+citeproc.parse_bib = bib.parse
+citeproc.util = util
+
+return citeproc


Property changes on: trunk/Master/texmf-dist/scripts/citation-style-language/citeproc.lua
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/scripts/citation-style-language/csl-core.lua
===================================================================
--- trunk/Master/texmf-dist/scripts/citation-style-language/csl-core.lua	                        (rev 0)
+++ trunk/Master/texmf-dist/scripts/citation-style-language/csl-core.lua	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,264 @@
+local core = {}
+
+local citeproc = require("citeproc")
+local util = citeproc.util
+require("lualibs")
+
+
+core.locale_file_format = "csl-locales-%s.xml"
+core.ids = {}
+core.loaded_ids = {}
+core.uncite_all_items = false
+
+function core.error(message)
+  if luatexbase then
+    luatexbase.module_error("csl", message)
+  else
+    util.error(message)
+  end
+end
+
+function core.warning(message)
+  if luatexbase then
+    luatexbase.module_warning("csl", message)
+  else
+    util.warning(message)
+  end
+end
+
+function core.info(message)
+  if luatexbase then
+    luatexbase.module_info("csl", message)
+  else
+    util.info(message)
+  end
+end
+
+
+function core.read_file(file_name, ftype, file_info)
+  file_info = file_info or "file"
+  local path = kpse.find_file(file_name, ftype)
+  if not path then
+    if ftype and not util.endswith(file_name, ftype) then
+      file_name = file_name .. ftype
+    end
+    core.error(string.format('Failed to find %s "%s"', file_info, file_name))
+    return nil
+  end
+  local file = io.open(path, "r")
+  if not file then
+    core.error(string.format('Failed to open %s "%s"', file_info, path))
+    return nil
+  end
+  local contents = file:read("*a")
+  file:close()
+  return contents
+end
+
+local function load_bib(bib_files)
+  local bib = {}
+  for _, bib_file in ipairs(bib_files) do
+    -- TODO: try to load `<bibname>.json` first?
+    local bib_contents = core.read_file(bib_file, "bib", "database file")
+    local file_name = bib_file
+    if not util.endswith(file_name, ".bib") then
+      file_name = file_name .. ".bib"
+    end
+    -- TODO: parse bib entries on demand
+    local csl_items = citeproc.parse_bib(bib_contents)
+    for _, item in ipairs(csl_items) do
+      local id = item.id
+      if bib[id] then
+        core.error(string.format('Duplicate entry key "%s" in "%s".', id, file_name))
+      end
+      bib[id] = item
+    end
+  end
+  return bib
+end
+
+function core.make_citeproc_sys(bib_files)
+  core.bib = load_bib(bib_files)
+  local citeproc_sys = {
+    retrieveLocale = function (lang)
+      local locale_file_format = core.locale_file_format or "locales-%s.xml"
+      local filename = string.format(locale_file_format, lang)
+      return core.read_file(filename)
+    end,
+    retrieveItem = function (id)
+      local res = core.bib[id]
+      -- if not res then
+      --   core.warning(string.format('Failed to find entry "%s".', id))
+      -- end
+      return res
+    end
+  }
+
+  return citeproc_sys
+end
+
+function core.init(style_name, bib_files, lang)
+  if style_name == "" or #bib_files == 0 then
+    return nil
+  end
+  local style = core.read_file(style_name .. ".csl", nil, "style file")
+  if not style then
+    core.error(string.format('Failed to load style "%s.csl"', style_name))
+    return nil
+  end
+
+  local force_lang = nil
+  if lang and lang ~= "" then
+    force_lang = true
+  else
+    lang = nil
+  end
+
+  local citeproc_sys = core.make_citeproc_sys(bib_files)
+  local engine = citeproc.new(citeproc_sys, style, lang, force_lang)
+  return engine
+end
+
+
+function core.make_citation(citation_info)
+  -- `citation_info`: "{ITEM-1 at 2}{{id={ITEM-1},label={page},locator={6}}}{3}"
+  local arguments = {}
+  for argument in string.gmatch(citation_info, "(%b{})") do
+    table.insert(arguments, string.sub(argument, 2, -2))
+  end
+  if #arguments ~= 3 then
+    error(string.format('Invalid citation "%s"', citation_info))
+    return nil
+  end
+  local citation_id, cite_items_str, note_index = table.unpack(arguments)
+
+  local cite_items = {}
+  if citation_id == "nocite" then
+    for _, cite_id in ipairs(util.split(cite_items_str, "%s*,%s*")) do
+      table.insert(cite_items, {id = cite_id})
+    end
+
+  else
+    for item_str in string.gmatch(cite_items_str, "(%b{})") do
+      item_str = string.sub(item_str, 2, -2)
+      local cite_item = {}
+      for key, value in string.gmatch(item_str, "([%w%-]+)=(%b{})") do
+        if key == "sub-verbo" then
+          key = "sub verbo"
+        end
+        value = string.sub(value, 2, -2)
+        cite_item[key] = value
+      end
+      table.insert(cite_items, cite_item)
+    end
+  end
+
+  local citation = {
+    citationID = citation_id,
+    citationItems = cite_items,
+    properties = {
+      noteIndex = tonumber(note_index),
+    },
+  }
+
+  return citation
+end
+
+
+function core.process_citations(engine, citations)
+  local citations_pre = {}
+
+  -- Save the time of bibliography sorting by update all ids at one time.
+  core.update_item_ids(engine, citations)
+  local citation_strings = {}
+
+  for _, citation in ipairs(citations) do
+    if citation.citationID ~= "nocite" then
+      local res = engine:processCitationCluster(citation, citations_pre, {})
+
+      for _, citation_res in ipairs(res[2]) do
+        local citation_str = citation_res[2]
+        local citation_id = citation_res[3]
+        citation_strings[citation_id] = citation_str
+      end
+
+      table.insert(citations_pre, {citation.citationID, citation.properties.noteIndex})
+    end
+  end
+
+  return citation_strings
+end
+
+
+function core.update_item_ids(engine, citations)
+  if core.uncite_all_items then
+    for item_id, _ in pairs(core.bib) do
+      if not core.loaded_ids[item_id] then
+        table.insert(core.ids, item_id)
+        core.loaded_ids[item_id] = true
+      end
+    end
+  end
+  for _, citation in ipairs(citations) do
+    for _, cite_item in ipairs(citation.citationItems) do
+      local id = cite_item.id
+      if id == "*" then
+        for item_id, _ in pairs(core.bib) do
+          if not core.loaded_ids[item_id] then
+            table.insert(core.ids, item_id)
+            core.loaded_ids[item_id] = true
+          end
+        end
+      else
+        if not core.loaded_ids[id] then
+          table.insert(core.ids, id)
+          core.loaded_ids[id] = true
+        end
+      end
+    end
+  end
+  engine:updateItems(core.ids)
+  -- TODO: engine:updateUncitedItems(ids)
+end
+
+
+function core.make_bibliography(engine)
+  local result = engine:makeBibliography()
+
+  local params = result[1]
+  local bib_items = result[2]
+
+  local res = ""
+
+  local bib_options = ""
+  if params["hangingindent"] then
+    bib_options = bib_options .. "\n  hanging-indent = true,"
+  end
+  if params["linespacing"] then
+    bib_options = bib_options .. string.format("\n  line-spacing = %d,", params["linespacing"])
+  end
+  if params["entryspacing"] then
+    bib_options = bib_options .. string.format("\n  entry-spacing = %d,", params["entryspacing"])
+  end
+
+  if bib_options ~= "" then
+    bib_options = "\\cslsetup{" .. bib_options .. "\n}\n\n"
+    res = res .. bib_options
+  end
+
+  if params.bibstart then
+    res = res .. params.bibstart
+  end
+
+  for _, bib_item in ipairs(bib_items) do
+    res = res .. "\n" .. bib_item
+  end
+
+  if params.bibend then
+    res = res .. "\n" .. params.bibend
+  end
+  return res
+end
+
+
+return core


Property changes on: trunk/Master/texmf-dist/scripts/citation-style-language/csl-core.lua
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/scripts/citation-style-language/csl.lua
===================================================================
--- trunk/Master/texmf-dist/scripts/citation-style-language/csl.lua	                        (rev 0)
+++ trunk/Master/texmf-dist/scripts/citation-style-language/csl.lua	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,141 @@
+--[[
+  Copyright (C) 2021 Zeping Lee
+--]]
+
+local csl = {}
+
+local citeproc = require("citeproc")
+local util = citeproc.util
+require("lualibs")
+local core = require("csl-core")
+
+
+csl.initialized = "false"
+csl.citations = {}
+csl.citations_pre = {}
+
+
+function csl.error(str)
+  luatexbase.module_error("csl", str)
+end
+function csl.warning(str)
+  luatexbase.module_warning("csl", str)
+end
+function csl.info(str)
+  luatexbase.module_info("csl", str)
+end
+
+
+function csl.init(style_name, bib_files, lang)
+  bib_files = util.split(util.strip(bib_files), "%s*,%s*")
+
+  csl.engine = core.init(style_name, bib_files, lang)
+
+  if csl.engine then
+    csl.initialized = "true"
+  else
+    return
+  end
+
+  -- csl.init is called via \AtBeginDocument and it's executed after
+  -- loading .aux file.  The csl.ids are already registered.
+  csl.citation_strings = core.process_citations(csl.engine, csl.citations)
+  csl.style_class = csl.engine:get_style_class()
+
+  for _, citation in ipairs(csl.citations) do
+    local citation_id = citation.citationID
+    local citation_str = csl.citation_strings[citation_id]
+    local bibcite_command = string.format("\\bibcite{%s}{{%s}{%s}}", citation.citationID, csl.style_class, citation_str)
+    tex.sprint(bibcite_command)
+  end
+
+end
+
+
+function csl.register_citation_info(citation_info)
+  local citation = core.make_citation(citation_info)
+  table.insert(csl.citations, citation)
+end
+
+
+function csl.enable_linking()
+  csl.engine:enable_linking()
+end
+
+
+function csl.cite(citation_info)
+  if not csl.engine then
+    csl.error("CSL engine is not initialized.")
+  end
+
+  local citation = core.make_citation(citation_info)
+
+  local res = csl.engine:processCitationCluster(citation, csl.citations_pre, {})
+
+  local citation_str
+  for _, citation_res in ipairs(res[2]) do
+    local citation_id = citation_res[3]
+    -- csl.citation_strings[citation_id] = citation_res[2]
+    if citation_id == citation.citationID then
+      citation_str = citation_res[2]
+    end
+  end
+  tex.sprint(citation_str)
+
+  table.insert(csl.citations_pre, {citation.citationID, citation.properties.noteIndex})
+end
+
+
+function csl.nocite(ids_string)
+  local cite_ids = util.split(ids_string, "%s*,%s*")
+  if csl.engine then
+    local ids = {}
+    for _, cite_id in ipairs(cite_ids) do
+      if cite_id == "*" then
+        for item_id, _ in pairs(core.bib) do
+          table.insert(ids, item_id)
+        end
+      else
+        table.insert(ids, cite_id)
+      end
+    end
+    csl.engine:updateUncitedItems(ids)
+  else
+    -- `\nocite` in preamble, where csl.engine is not initialized yet
+    for _, cite_id in ipairs(cite_ids) do
+      if cite_id == "*" then
+        core.uncite_all_items = true
+      else
+        if not core.loaded_ids[cite_id] then
+          table.insert(core.ids, cite_id)
+          core.loaded_ids[cite_id] = true
+        end
+      end
+    end
+  end
+end
+
+
+function csl.bibliography()
+  if not csl.engine then
+    csl.error("CSL engine is not initialized.")
+    return
+  end
+
+  -- if csl.include_all_items then
+  --   for id, _ in pairs(csl.bib) do
+  --     if not csl.loaded_ids[id] then
+  --       table.insert(csl.ids, id)
+  --       csl.loaded_ids[id] = true
+  --     end
+  --   end
+  -- end
+  -- csl.engine:updateItems(csl.ids)
+
+  local result = core.make_bibliography(csl.engine)
+
+  tex.print(util.split(result, "\n"))
+end
+
+
+return csl


Property changes on: trunk/Master/texmf-dist/scripts/citation-style-language/csl.lua
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/source/latex/citation-style-language/README.md
===================================================================
--- trunk/Master/texmf-dist/source/latex/citation-style-language/README.md	                        (rev 0)
+++ trunk/Master/texmf-dist/source/latex/citation-style-language/README.md	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,68 @@
+# `citeproc-lua`
+
+## Create an engine instance
+```lua
+local citeproc = require("citeproc")
+local engine = citeproc.new(sys, style)
+```
+
+The `sys` is a table which must contain `retrieveLocale()` and `retrieveItem()` functions. Thet are called to feed the engine with inputs.
+
+
+
+## `updateItems()`
+
+The `updateItems()` method refreshes the registry of the engine.
+```lua
+params, result = engine:updateItems(ids)
+```
+The `ids` is just a list of `id`s.
+```lua
+ids = {"ITEM-1", "ITEM-2"}
+```
+
+
+## `makeCitationCluster()`
+
+The `makeCitationCluster()` method is called to generate a citation of (possibly) multiple items.
+
+```lua
+params, result = engine:makeCitationCluster(cite_items)
+```
+
+The `cite_items` is a list of tables which contain the `id` and other options (not implemented).
+
+```lua
+cite_items = {
+  { id = "ITEM-1" },
+  { id = "ITEM-2" }
+}
+```
+
+Returns:
+```lua
+"(D’Arcus, 2005; Bennett, 2009)"
+```
+
+The more complicated method `processCitationCluster()` is not implemented yet.
+
+## `makeBibliography()`
+
+The `makeBibliography()` method produces the bibliography and parameters required for formatting.
+```lua
+result = engine:makeBibliography()
+```
+
+Returns:
+```lua
+result = {
+  {
+    hangingindent = false,
+    ["second-field-align"] = false,
+  },
+  {
+    '<div class="csl-entry">B. D’Arcus, <i>Boundaries of Dissent: Protest and State Power in the Media Age</i>, Routledge, 2005.</div>',
+    '<div class="csl-entry">F.G. Bennett Jr., “Getting Property Right: ‘Informal’ Mortgages in the Japanese Courts,” <i>Pac. Rim L. & Pol’y J.</i>, vol. 18, Aug. 2009, pp. 463–509.</div>'
+  }
+}
+```


Property changes on: trunk/Master/texmf-dist/source/latex/citation-style-language/README.md
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/citation-style-language/citation-style-language.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/citation-style-language/citation-style-language.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/citation-style-language/citation-style-language.sty	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,807 @@
+%
+% Copyright (C) 2021 Zeping Lee
+%
+
+\NeedsTeXFormat{LaTeX2e}
+\RequirePackage{expl3}
+\RequirePackage{xparse}
+\ProvidesExplPackage {citation-style-language} {2022-01-22} {v0.1.0}
+  {Citation Style Language for LaTeX}
+
+% \msg_new:nnn { citation-style-language } { require-luatex }
+%   { LuaTeX~ is~ required~ for~ `citation-style-language'~ package. }
+% \sys_if_engine_luatex:F { \msg_fatal:nn { citation-style-language } { require-luatex } }
+
+\sys_if_engine_luatex:T
+  { \lua_now:n { csl = require("csl") } }
+
+\RequirePackage { filehook }
+\RequirePackage { url }
+
+\cs_new:Npn \csl_incompatible_package:n #1
+  {
+    \AtBeginOfPackageFile* { #1 }
+      { \msg_error:nnn { citation-style-language } { incompatible-package } { #1 } }
+  }
+\msg_new:nnn { citation-style-language } { incompatible-package }
+  { The~ `#1'~ package~ is~ incompatible~ with~ `citeproc'. }
+
+\csl_incompatible_package:n { babelbib }
+\csl_incompatible_package:n { backref }
+\csl_incompatible_package:n { biblatex }
+\csl_incompatible_package:n { bibtopic }
+\csl_incompatible_package:n { bibunits }
+\csl_incompatible_package:n { chapterbib }
+\csl_incompatible_package:n { cite }
+\csl_incompatible_package:n { citeref }
+\csl_incompatible_package:n { inlinebib }
+\csl_incompatible_package:n { jurabib }
+\csl_incompatible_package:n { mcite }
+\csl_incompatible_package:n { mciteplus }
+\csl_incompatible_package:n { multibib }
+\csl_incompatible_package:n { natbib }
+\csl_incompatible_package:n { splitbib }
+
+
+\NewDocumentCommand \cslsetup { m }
+  { \keys_set:nn { csl } {#1} }
+
+\cs_new:Npn \csloptions #1 { }
+
+
+\DeclareDocumentCommand \cite { o o m }
+  {
+    \IfValueTF { #2 }
+      { \csl_cite:nnn { #1 } { #2 } { #3 } }
+      {
+        \IfValueTF { #1 }
+          { \csl_cite:nnn { } { #1 } { #3 } }
+          { \csl_cite:nnn { } { } { #3 } }
+      }
+  }
+
+
+% % multicite command
+% \DeclareDocumentCommand \cites { o o m }
+
+
+\DeclareDocumentCommand \nocite { m }
+  {
+    \ifx \@begindocumenthook \@undefined \else
+      \exp_after:wN \AtBeginDocument
+    \fi
+      {
+        \if at filesw
+          \iow_now:Nn \@auxout
+            { \citation { { nocite } { #1 } { } } }
+        \fi
+      }
+    \sys_if_engine_luatex:T
+      { \lua_now:n { csl.nocite("#1") } }
+}
+
+
+\tl_new:N \l__csl_citation_tl
+\tl_new:N \l__csl_citation_id_tl
+\tl_new:N \l__csl_cite_items_tl
+\tl_new:N \l__csl_note_index_tl
+\tl_new:N \l__csl_citation_info_tl
+
+\cs_new:Npn \csl_cite:nnn #1#2#3
+  {
+    \csl_process_citation_id:n { #3 }
+    \csl_process_cite_items:nnn { #1 } { #2 } { #3 }
+    \exp_args:NV \csl_process_note_index:n \l__csl_citation_id_tl
+    \tl_set:Nx \l__csl_citation_info_tl
+      {
+        { \l__csl_citation_id_tl }
+        { \l__csl_cite_items_tl }
+        { \l__csl_note_index_tl }
+      }
+    \if at filesw
+      {
+        \iow_now:Nx \@auxout
+          { \exp_not:N \citation { \l__csl_citation_info_tl } }
+      }
+    \fi
+    \tl_clear:N \l__csl_citation_tl
+    \tl_if_exist:cTF { g__csl_citation_ \l__csl_citation_id_tl _tl }
+      {
+        \exp_args:Nv \csl_print_defined_citation:n
+          { g__csl_citation_ \l__csl_citation_id_tl _tl }
+      }
+      {
+        \bool_if:NTF \l__csl_engine_initialized_bool
+          {
+            \tl_set:Nx \l__csl_citation_tl
+              { \lua_now:e { csl.cite("\l__csl_citation_info_tl") } }
+          }
+          {
+            \exp_args:Nx \csl_print_undefined_citation:n
+              { \clist_use:Nn \l__csl_keys_clist { ,~ } }
+          }
+      }
+  }
+
+\cs_new:Npn \csl_print_undefined_citation:n #1
+  {
+    \tl_set:Nn \l__csl_citation_tl { [ \textbf { #1 } ] }
+    \G at refundefinedtrue
+    \exp_args:Nnnx \msg_warning:nnn { citation-style-language } { citation / undefined } { #1 }
+    \group_begin:
+      \reset at font [ \textbf { #1 } ]
+    \group_end:
+  }
+
+\cs_new:Npn \csl_print_defined_citation:n #1
+  {
+    \csl_print_defined_citation_aux:nn #1
+  }
+
+\cs_new:Npn \csl_print_defined_citation_aux:nn #1#2
+  {
+    \tl_set:Nn \l__csl_citation_tl { #2 }
+    \tl_if_eq:nnTF { #1 } { note }
+      { \footnote { #2 } }
+      { #2 }
+  }
+
+
+\msg_new:nnn { citation-style-language } { citation / undefined }
+  {
+    Citation~ `#1'~ on~ page~ \thepage \space undefined~ \msg_line_context: .
+  }
+
+
+\clist_new:N \l__csl_keys_clist
+\tl_new:N \l__csl_normalized_keys_tl
+
+% \csl_process_citation_id:n { <cite item ids> }
+% It sets the `\l__csl_citation_id_tl` `ITEM-1,ITEM-2 at 4`.
+\cs_new:Npn \csl_process_citation_id:n #1
+  {
+    \clist_set:Nn \l__csl_keys_clist { #1 }
+    \tl_set:Nx \l__csl_normalized_keys_tl
+      { \clist_use:Nn \l__csl_keys_clist { , } }
+    \int_if_exist:cF { g__csl_citation_count_ \l__csl_normalized_keys_tl _int }
+      {
+        \int_gzero_new:c
+          { g__csl_citation_count_ \l__csl_normalized_keys_tl _int }
+      }
+    \int_gincr:c { g__csl_citation_count_ \l__csl_normalized_keys_tl _int }
+    \tl_set:Nx \l__csl_citation_id_tl
+      {
+        \l__csl_normalized_keys_tl @
+        \int_use:c { g__csl_citation_count_ \l__csl_normalized_keys_tl _int }
+      }
+  }
+
+
+\tl_new:N \l__csl_cite_item_tl
+
+% `{citationID}{{id={id1},{}},{}}{<noteIndex>}`
+\cs_new:Npn \csl_process_cite_items:nnn #1#2#3
+  {
+    \tl_clear:N \l__csl_cite_items_tl
+    \clist_map_inline:nn { #3 }
+      {
+        \tl_if_empty:NTF \l__csl_cite_items_tl
+          {
+            \csl_process_cite_item:nnn { #1 } { #2 } { ##1 }
+            \tl_put_right:Nx \l__csl_cite_items_tl { { \l__csl_cite_item_tl } }
+          }
+          {
+            \csl_process_cite_item:nnn { } { } { ##1 }
+            \tl_put_right:Nx \l__csl_cite_items_tl { , { \l__csl_cite_item_tl } }
+          }
+      }
+  }
+
+
+\prop_new:N \l__csl_cite_item_prop
+
+\keys_define:nn { csl / cite-item }
+  {
+    prefix .prop_put:N = \l__csl_cite_item_prop,
+    suffix .prop_put:N = \l__csl_cite_item_prop,
+    locator .prop_put:N = \l__csl_cite_item_prop,
+    label .prop_put:N = \l__csl_cite_item_prop,
+    suppress-author .prop_put:N = \l__csl_cite_item_prop,
+    author-only .prop_put:N = \l__csl_cite_item_prop,
+    uris .prop_put:N = \l__csl_cite_item_prop,
+    book .code:n = { \csl_set_locator:nn { book } { #1 } } ,
+    chapter .code:n = { \csl_set_locator:nn { chapter } { #1 } } ,
+    column .code:n = { \csl_set_locator:nn { column } { #1 } } ,
+    figure .code:n = { \csl_set_locator:nn { figure } { #1 } } ,
+    folio .code:n = { \csl_set_locator:nn { folio } { #1 } } ,
+    issue .code:n = { \csl_set_locator:nn { issue } { #1 } } ,
+    line .code:n = { \csl_set_locator:nn { line } { #1 } } ,
+    note .code:n = { \csl_set_locator:nn { note } { #1 } } ,
+    opus .code:n = { \csl_set_locator:nn { opus } { #1 } } ,
+    page .code:n = { \csl_set_locator:nn { page } { #1 } } ,
+    paragraph .code:n = { \csl_set_locator:nn { paragraph } { #1 } } ,
+    part .code:n = { \csl_set_locator:nn { part } { #1 } } ,
+    section .code:n = { \csl_set_locator:nn { section } { #1 } } ,
+    sub-verbo .code:n = { \csl_set_locator:nn { sub-verbo } { #1 } } ,
+    verse .code:n = { \csl_set_locator:nn { verse } { #1 } } ,
+    volume .code:n = { \csl_set_locator:nn { volume } { #1 } } ,
+  }
+
+\cs_new:Npn \csl_set_locator:nn #1#2
+  {
+    \prop_put:Nnn \l__csl_cite_item_prop { label } { #1 }
+    \prop_put:Nnn \l__csl_cite_item_prop { locator } { #2 }
+  }
+
+\tl_new:N \l__csl_prefix_tl
+\tl_new:N \l__csl_suffix_tl
+
+% \csl_process_cite_item:nnn { <prenote> } { <postnote> } { <item ID> }
+% return: `id={ITEM},locator={42},label={page}`
+\cs_new:Npn \csl_process_cite_item:nnn #1#2#3
+  {
+    \prop_clear:N \l__csl_cite_item_prop
+    \prop_put:Nnn \l__csl_cite_item_prop { id } { #3 }
+    \tl_if_empty:nF { #1 }
+      {
+        \tl_set:Nn \l__csl_prefix_tl { #1 }
+        \tl_put_right:NV \l__csl_prefix_tl \l__csl_prefix_separator_tl
+        \prop_put:NnV \l__csl_cite_item_prop { prefix } { \l__csl_prefix_tl }
+      }
+    \tl_if_in:nnTF { #2 } { = }
+      {
+        \keys_set:nn { csl / cite-item } { #2 }
+      }
+      {
+        \tl_if_empty:nF { #2 }
+          {
+            \regex_match:nnTF { \d+ } { #2 }
+              { \csl_set_locator:nn { page } { #2 } }
+              {
+                \tl_set:Nn \l__csl_suffix_tl { #2 }
+                \tl_put_left:NV \l__csl_suffix_tl \l__csl_suffix_separator_tl
+                \prop_put:NnV \l__csl_cite_item_prop { suffix } { \l__csl_suffix_tl }
+              }
+          }
+      }
+    \tl_clear:N \l__csl_cite_item_tl
+    \prop_map_inline:Nn \l__csl_cite_item_prop
+      {
+        \tl_if_empty:NF \l__csl_cite_item_tl
+          { \tl_put_right:Nn \l__csl_cite_item_tl { , } }
+        \tl_put_right:Nn \l__csl_cite_item_tl { ##1 = { ##2 } }
+      }
+  }
+
+\int_new:N \l__csl_note_index_int
+\int_gzero_new:N \g__csl_last_note_index_int
+\int_gzero_new:N \g__csl_citation_note_count_int
+
+% \csl_process_note_index:nnn { <citation ID> }
+\cs_new:Npn \csl_process_note_index:n #1
+  {
+    \int_set_eq:Nc \l__csl_note_index_int { c@ \@mpfn }
+    \tl_if_exist:cTF { g__csl_citation_ #1 _tl }
+      { \int_incr:N \l__csl_note_index_int }
+      { \int_gincr:N \g__csl_citation_note_count_int }
+    \int_add:Nn \l__csl_note_index_int { \g__csl_citation_note_count_int }
+    \tl_set:Nx \l__csl_note_index_tl
+      { \int_use:N \l__csl_note_index_int }
+    \int_gset_eq:NN \g__csl_last_note_index_int \l__csl_note_index_int
+    \int_compare:nT { \l__csl_note_index_int < \g__csl_last_note_index_int }
+      {
+        \int_gzero:N \g__csl_last_note_index_int
+        \int_gzero:N \g__csl_citation_note_count_int
+      }
+  }
+
+
+% Used in aux files to register cite items.
+\cs_set:Npn \citation #1
+  {
+    \sys_if_engine_luatex:T
+      { \lua_now:n { csl.register_citation_info("#1") } }
+  }
+
+
+\cs_new:Npn \cslcite #1#2
+  {
+    \bibcite { #1 } { #2 }
+    \if at filesw
+      \iow_now:Nn \@auxout { \bibcite { #1 } { #2 } }
+    \fi
+  }
+
+
+\cs_set:Npn \bibcite #1#2
+  {
+    \tl_gset:cn { g__csl_citation_ #1  _tl } { #2 }
+  }
+
+% The `babel` package redefines \bibcite in the \@begindocumenthook.
+% This should be disabled.
+\AtEndOfPackageFile* { babel }
+  {
+    \cs_set_eq:NN \bbl at cite@choice \relax
+  }
+
+\AtEndOfPackageFile* { hyperref }
+  {
+    \cs_set:Npn \bibcite #1#2
+      {
+        \tl_gset:cn { g__csl_citation_ #1  _tl } { #2 }
+      }
+  }
+
+\NewDocumentCommand \printbibliography { }
+  {
+    \sys_if_engine_luatex:TF
+      {
+        \bool_if:NTF \l__csl_engine_initialized_bool
+          { \lua_now:n { csl.bibliography() } }
+          { \msg_warning:nnn { citation-style-language } { bibliography / empty } }
+      }
+      {
+        \tl_if_empty:NTF \l__csl_bibliography_tl
+          {
+            \file_if_exist_input:nF { \jobname .bbl }
+              {
+                \msg_warning:nnx { citation-style-language } { file / non-exist} { \jobname .bbl }
+              }
+          }
+          { \exp_args:NV \csl_print_bibiliography_tl \l__csl_bibliography_tl }
+      }
+  }
+
+\cs_new:Npn \csl_print_bibliography_tl #1
+  {
+    \begin { thebibliography }
+      #1
+    \end { thebibliography }
+  }
+
+\msg_new:nnn { citation-style-language } { bibliography / empty }
+  { The~ bibliography~ is~ empty.  }
+
+\msg_new:nnn { citation-style-language } { file / non-exist }
+  { No~ file~ #1. }
+
+
+\tl_new:N \l__csl_style_tl
+\clist_new:N \l__csl_bib_resources_clist
+\tl_new:N \l__csl_prefix_separator_tl
+\tl_new:N \l__csl_suffix_separator_tl
+\tl_new:N \l__csl_locale_tl
+\tl_new:N \l__csl_bib_font_tl
+\tl_new:N \l__csl_bib_item_sep_tl
+\tl_new:N \l__csl_bib_hang_tl
+\bool_new:N \l__csl_hanging_indent_bool
+\tl_new:N \l__csl_line_spacing_tl
+\tl_new:N \l__csl_entry_spacing_tl
+
+
+\keys_define:nn { csl }
+  {
+    style .tl_set:N = \l__csl_style_tl ,
+    prefix-separator .tl_set:N = \l__csl_prefix_separator_tl ,
+    suffix-separator .tl_set:N = \l__csl_suffix_separator_tl ,
+    locale .tl_set:N = \l__csl_locale_tl ,
+    bib-font .tl_set:N = \l__csl_bib_font_tl ,
+    bib-item-sep .tl_set:N = \l__csl_bib_item_sep_tl ,
+    bib-hang .tl_set:N = \l__csl_bib_hang_tl ,
+    hanging-indent .bool_set:N = \l__csl_hanging_indent_bool ,
+    line-spacing .tl_set:N = \l__csl_line_spacing_tl ,
+    entry-spacing .tl_set:N = \l__csl_entry_spacing_tl ,
+  }
+
+\keys_set:nn { csl }
+  {
+    prefix-separator = { ~ } ,
+    suffix-separator = { , ~ } ,
+    bib-hang = { 1 em } ,
+    line-spacing = { 1 } ,
+    entry-spacing = { 1 } ,
+  }
+
+\bool_new:N \l__csl_engine_initialized_bool
+
+\prop_set_from_keyval:Nn \l__csl_babel_locale_mapping_prop
+  {
+    acadian         = fr-CA,
+    american        = en-US,
+    australian      = en-AU,
+    afrikaans       = af-ZA,
+    albanian        = sq-AL,
+    amharic         = am-ET,
+    arabic          = ar,
+    armenian        = hy-AM,
+    asturian        = ast-ES,
+    austrian        = de-AT,
+    bahasa          = id-ID,
+    bahasai         = id-ID,
+    bahasam         = id-ID,
+    basque          = eu-ES,
+    bengali         = bn-BD,
+    bgreek          = el-GR,
+    brazil          = pt-BR,
+    brazilian       = pt-BR,
+    breton          = br-FR,
+    british         = en-GB,
+    bulgarian       = bg-BG,
+    canadian        = en-CA,
+    canadien        = fr-CA,
+    catalan         = ca-AD,
+    coptic          = cop,
+    croatian        = hr-HR,
+    czech           = cs-CZ,
+    danish          = da-DK,
+    divehi          = dv-MV,
+    dutch           = nl-NL,
+    english         = en-US,
+    esperanto       = eo-001,
+    estonian        = et-EE,
+    ethiopia        = am-ET,
+    farsi           = fa-IR,
+    finnish         = fi-FI,
+    francais        = fr-FR,
+    french          = fr-FR,
+    frenchle        = fr-FR,
+    friulan         = fur-IT,
+    galician        = gl-ES,
+    german          = de-DE,
+    germanb         = de-DE,
+    greek           = el-GR,
+    hebrew          = he-IL,
+    hindi           = hi-IN,
+    ibygreek        = el-CY,
+    icelandic       = is-IS,
+    indon           = id-ID,
+    indonesia       = id-ID,
+    interlingua     = ia-FR,
+    irish           = ga-IE,
+    italian         = it-IT,
+    japanese        = ja-JP,
+    kannada         = kn-IN,
+    lao             = lo-LA,
+    latin           = la-Latn,
+    latvian         = lv-LV,
+    lithuanian      = lt-LT,
+    lowersorbian    = dsb-DE,
+    lsorbian        = dsb-DE,
+    magyar          = hu-HU,
+    malay           = id-ID,
+    malayalam       = ml-IN,
+    marathi         = mr-IN,
+    meyalu          = id-ID,
+    mongolian       = mn-Cyrl,
+    naustrian       = de-AT,
+    newzealand      = en-NZ,
+    ngerman         = de-DE,
+    nko             = ha-NG,
+    norsk           = nb-NO,
+    norwegian       = nn-NO,
+    nynorsk         = nn-NO,
+    occitan         = oc-FR,
+    piedmontese     = pms-IT,
+    pinyin          = pny,
+    polish          = pl-PL,
+    polutonikogreek = el-GR,
+    portuges        = pt-PT,
+    portuguese      = pt-PT,
+    romanian        = ro-RO,
+    romansh         = rm-CH,
+    russian         = ru-RU,
+    samin           = se-NO,
+    sanskrit        = sa-IN,
+    scottish        = gd-GB,
+    serbian         = sr-Latn,
+    serbianc        = sr-Cyrl,
+    slovak          = sk-SK,
+    slovene         = sl-SI,
+    slovenian       = sl-SI,
+    spanish         = es-ES,
+    swedish         = sv-SE,
+    swiss           = de-CH,
+    swissgerman     = de-CH,
+    nswissgerman    = de-CH,
+    syriac          = syc,
+    tamil           = ta-IN,
+    telugu          = te-IN,
+    thai            = th-TH,
+    thaicjk         = th-TH,
+    tibetan         = bo-CN,
+    turkish         = tr-TR,
+    turkmen         = tk-TM,
+    ukrainian       = uk-UA,
+    urdu            = ur-IN,
+    UKenglish       = en-UK,
+    uppersorbian    = hsb-DE,
+    USenglish       = en-US,
+    usorbian        = hsb-DE,
+    vietnamese      = vi-VN,
+    welsh           = cy-GB,
+  }
+
+\tl_new:N \l__csl_bibliography_tl
+\tl_new:N \l__csl_bibliography_setup_tl
+
+\AtBeginDocument
+  {
+    \tl_if_empty:NTF \l__csl_style_tl
+      { \tl_set_eq:NN \l__csl_style_tl \g__csl_aux_bibstyle_tl }
+      { \exp_args:Nx \csl_write_aux_bibstyle:n { \l__csl_style_tl } }
+    \clist_if_empty:NTF \l__csl_bib_resources_clist
+      { \clist_set_eq:NN \l__csl_bib_resources_clist \g__csl_aux_bib_files_clist }
+      {
+        \exp_args:Nx \csl_write_aux_bibdata:n
+          { \clist_use:Nn \l__csl_bib_resources_clist { , } }
+      }
+    \csl_write_aux_csl_options:
+    \sys_if_engine_luatex:T
+      {
+        \lua_now:e
+          {
+            csl.init(
+              "\l__csl_style_tl",
+              "\l__csl_bib_resources_clist",
+              "\l__csl_locale_tl"
+            )
+          }
+        \str_if_eq:eeT { \lua_now:n { tex.print(csl.initialized) } } { true }
+          { \bool_set_true:N \l__csl_engine_initialized_bool }
+        \@ifpackageloaded { hyperref }
+          { \lua_now:n { csl.enable_linking() } }
+          { }
+      }
+    % Load .bbl at the beginning of document to save one pass of latex.
+    % In this procedure, the \cslcite command is processed and the contents
+    % of `thebibliography` is stored into \l__csl_bibliography_tl.
+    \group_begin:
+      \RenewDocumentCommand \cslsetup { m }
+        { \tl_set:Nn \l__csl_bibliography_setup_tl { #1 } }
+      \RenewDocumentEnvironment { thebibliography } { m +b }
+        { \tl_set:Nn \l__csl_bibliography_tl { { #1 } #2 } }
+        { }
+      \file_if_exist_input:n { \jobname .bbl }
+    \group_end:
+  }
+
+\cs_new:Npn \csl_write_aux_bibstyle:n #1
+  {
+    \if at filesw
+      \iow_now:Nn \@auxout { \bibstyle { #1 } }
+    \fi
+  }
+
+\clist_new:N \l__csl_options_clist
+
+\cs_new:Nn \csl_write_aux_csl_options:
+  {
+    \clist_clear:N \l__csl_options_clist
+    % locale
+    \tl_if_empty:NT \l__csl_locale_tl
+      {
+        \tl_if_exist:NT \bbl at main@language
+          {
+            \prop_get:NVN \l__csl_babel_locale_mapping_prop \bbl at main@language
+              \l__csl_locale_tl
+          }
+      }
+    \tl_if_empty:NF \l__csl_locale_tl
+      {
+        \clist_put_right:Nx \l__csl_options_clist
+          { locale = \l__csl_locale_tl }
+      }
+    % linking
+    \@ifpackageloaded { hyperref }
+      { \clist_put_right:Nn \l__csl_options_clist { linking = true } }
+      { }
+    % write to aux file
+    \prop_if_empty:NF \l__csl_options_clist
+      {
+        \if at filesw
+          \iow_now:Nx \@auxout
+            {
+              \exp_not:N \csloptions
+                { \clist_use:Nn \l__csl_options_clist { , } }
+            }
+        \fi
+      }
+  }
+
+
+\DeclareDocumentCommand \bibliographystyle { m }
+  {
+    \ifx \@begindocumenthook \@undefined
+      \csl_write_aux_bibstyle:n { #1 }
+    \fi
+    \tl_set:Nn \l__csl_style_tl { #1 }
+  }
+
+\tl_new:N \g__csl_aux_bibstyle_tl
+\cs_set:Npn \bibstyle #1
+  { \tl_gset:Nn \g__csl_aux_bibstyle_tl { #1 } }
+
+
+\NewDocumentCommand \addbibresource { o m }
+  { \clist_put_right:Nn \l__csl_bib_resources_clist { #2 } }
+
+
+\clist_new:N \g__csl_aux_bib_files_clist
+\cs_set:Npn \bibdata #1
+  { \clist_gput_right:Nn \g__csl_aux_bib_files_clist { #1 } }
+
+
+\DeclareDocumentCommand \bibliography { m }
+  {
+    \csl_write_aux_bibdata:n { #1 }
+    \printbibliography
+  }
+
+\cs_new:Npn \csl_write_aux_bibdata:n #1
+  {
+    \if at filesw
+      \iow_now:Nn \@auxout { \bibdata { #1 } }
+    \fi
+  }
+
+
+\clist_new:N \g__csl_bib_items_clist
+
+% For numeric or label-style bibliography
+% \def\@lbibitem[#1]#2{\item[\@biblabel{#1}\hfill]\if at filesw
+%       {\let\protect\noexpand
+%        \immediate
+%        \write\@auxout{\string\bibcite{#2}{#1}}}\fi\ignorespaces}
+\cs_new:Npn \csl_lbibitem:nn [#1]#2
+  {
+    \clist_gput_right:Nn \g__csl_bib_items_clist { #2 }
+    \item [ \@biblabel { #1 } \hfill ] \ignorespaces
+  }
+\cs_set_eq:NN \@lbibitem \csl_lbibitem:nn
+
+% For author-date bibliography
+% \def\@bibitem#1{\item\if at filesw \immediate\write\@auxout
+%        {\string\bibcite{#1}{\the\value{\@listctr}}}\fi\ignorespaces}
+\cs_new:Npn \csl_bibitem:n #1
+  {
+    \clist_gput_right:Nn \g__csl_bib_items_clist { #1 }
+    \item [ ] \ignorespaces
+  }
+\cs_set_eq:NN \@bibitem \csl_bibitem:n
+
+\AtEndOfPackageFile* { hyperref }
+  {
+    \cs_gset_eq:NN \@lbibitem \csl_lbibitem:nn
+    \cs_gset_eq:NN \@bibitem \csl_bibitem:n
+  }
+
+% CSL outputs the whole label thus the brackets are removed from \@biblabel
+% \def\@biblabel#1{[#1]}
+\cs_set:Npn \@biblabel #1 { #1 }
+
+
+\cs_if_exist:cTF { chapter }
+  {
+    \cs_set:Nn \csl_bib_section:
+      {
+        \chapter *
+          {
+            \bibname
+            \@mkboth
+              { \MakeUppercase { \bibname } }
+              { \MakeUppercase { \bibname } }
+          }
+      }
+  }
+  {
+    \cs_set:Nn \csl_bib_section:
+      {
+        \section *
+          {
+            \refname
+            \@mkboth
+              { \MakeUppercase { \refname } }
+              { \MakeUppercase { \refname } }
+          }
+      }
+  }
+
+\tl_new:N \l__csl_bib_preamble_tl
+
+\tl_new:N \l__csl_bib_postamble_tl
+
+\dim_new:N \l__csl_bib_hang_dim
+\skip_new:N \l__csl_bib_item_sep_skip
+
+\cs_new:Npn \csl_set_bib_label_spacing:n #1
+  {
+    \bool_if:NTF \l__csl_hanging_indent_bool
+      {
+        \dim_set:Nn \l__csl_bib_hang_dim { \l__csl_bib_hang_tl }
+        \dim_set_eq:NN \leftmargin \l__csl_bib_hang_dim
+        \dim_set:Nn \itemindent { - \leftmargin }
+      }
+      {
+        \settowidth \labelwidth { \@biblabel { #1 } }
+        \dim_set_eq:NN \leftmargin \labelwidth
+        \dim_add:Nn \leftmargin { \labelsep }
+      }
+  }
+
+\cs_new:Nn \csl_set_bib_item_sep:
+  {
+    \skip_zero:N \parsep
+    \tl_if_empty:NTF \l__csl_bib_item_sep_tl
+      {
+        \skip_set:Nn \l__csl_bib_item_sep_skip
+          {
+            8 pt plus 4 pt minus 2 pt * \dim_ratio:nn { 1 em } { 8 pt }
+            * \l__csl_entry_spacing_tl
+          }
+      }
+      { \skip_set:Nn \l__csl_bib_item_sep_skip { \l__csl_bib_item_sep_tl } }
+  }
+
+\cs_new:Nn \csl_set_bib_allow_break:
+  {
+    \sloppy
+    \int_set:Nn \clubpenalty { 4000 }
+    \int_set_eq:NN \@clubpenalty \clubpenalty
+    \int_set:Nn \widowpenalty { 4000 }
+    % \sfcode`\.\@m
+    \frenchspacing
+  }
+% TODO: \biburlsetup
+
+\cs_new_eq:NN \csl_set_bib_page_break: \csl_set_bib_allow_break:
+
+\cs_new:Nn \csl_set_bib_no_break:
+  {
+    \sloppy
+    \int_set:Nn \interlinepenalty { 5000 }
+    \int_set:Nn \widowpenalty { 10000 }
+    \int_set:Nn \clubpenalty { 10000 }
+    \int_set_eq:NN \@clubpenalty \clubpenalty
+    \raggedbottom
+    \frenchspacing
+  }
+
+% It will be used for multi-bibliography.
+\cs_new:Nn \csl_reset_bib_format:
+  {
+    \keys_set:nn { csl } {
+      hanging-indent = false ,
+      line-spacing = 1 ,
+      entry-spacing = 1 ,
+    }
+  }
+
+% \newenvironment{thebibliography}[1]
+\RenewDocumentEnvironment { thebibliography } { m }
+  {
+    \csl_bib_section:
+    \dim_zero:N \parindent
+    \l__csl_bib_preamble_tl
+    \tl_if_eq:NnF \l__csl_line_spacing_tl { 1 }
+      { \linespread { \l__csl_line_spacing_tl } \selectfont }
+    \l__csl_bib_font_tl
+    \list { }
+      {
+        \csl_set_bib_label_spacing:n { #1 }
+        \csl_set_bib_item_sep:
+      }
+    \sloppy
+    \csl_set_bib_page_break:
+    \frenchspacing
+    \clist_gclear:N \g__csl_bib_items_clist
+  }
+  {
+    \l__csl_bib_postamble_tl
+    \tl_set:Nn \@noitemerr
+      { \msg_warning:nnn { citation-style-language } { bibliography / empty } }
+    \endlist
+    \csl_reset_bib_format:
+  }
+
+\endinput


Property changes on: trunk/Master/texmf-dist/tex/latex/citation-style-language/citation-style-language.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/citation-style-language/citeproc-bib-data.json
===================================================================
--- trunk/Master/texmf-dist/tex/latex/citation-style-language/citeproc-bib-data.json	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/citation-style-language/citeproc-bib-data.json	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,2342 @@
+{
+    "description": "Bib CSL mapping",
+    "types": {
+        "archival": {
+            "csl": null,
+            "source": "jurabib.bst"
+        },
+        "archive": {
+            "csl": "book",
+            "notes": "Will be mapped to `collection` in CSL v1.0.2.",
+            "source": "gbt7714-numerical.bst"
+        },
+        "article": {
+            "csl": "article-journal",
+            "notes": "May also be `article-magazine` or `article-newspaper` depending upon the field `entrysubtype`.",
+            "source": "bibtex"
+        },
+        "artifactdataset": {
+            "csl": null,
+            "source": "ACM-Reference-Format.bst"
+        },
+        "artifactsoftware": {
+            "csl": null,
+            "source": "ACM-Reference-Format.bst"
+        },
+        "artwork": {
+            "csl": "graphic",
+            "source": "biblatex"
+        },
+        "atlas": {
+            "csl": null,
+            "source": "ametsoc2014.bst"
+        },
+        "audio": {
+            "csl": "song",
+            "notes": "CSL's `song` can be used for any audio recording (not only music).",
+            "source": "biblatex"
+        },
+        "bachelor": {
+            "csl": null,
+            "source": "dlfltxbbibtex.bst"
+        },
+        "bibnote": {
+            "csl": null,
+            "notes": "Not supported.",
+            "source": "biblatex"
+        },
+        "book": {
+            "csl": "book",
+            "source": "bibtex"
+        },
+        "bookinbook": {
+            "csl": "chapter",
+            "source": "biblatex"
+        },
+        "booklet": {
+            "csl": "pamphlet",
+            "source": "bibtex"
+        },
+        "brochure": {
+            "csl": null,
+            "source": "thesnumb.bst"
+        },
+        "cconference": {
+            "csl": null,
+            "source": "seuthesis.bst"
+        },
+        "collection": {
+            "csl": "book",
+            "source": "biblatex"
+        },
+        "comment": {
+            "csl": null,
+            "notes": "Special entry type for Scribe compatibility",
+            "source": "bibtex"
+        },
+        "commentary": {
+            "csl": null,
+            "notes": "Not supported.",
+            "source": "biblatex"
+        },
+        "commented": {
+            "csl": null,
+            "source": "jurabib.bst"
+        },
+        "conference": {
+            "alias": "inproceedings",
+            "csl": "paper-conference",
+            "source": "bibtex"
+        },
+        "ctan": {
+            "csl": null,
+            "source": "tugboat.bst"
+        },
+        "customa": {
+            "csl": null,
+            "source": "biblatex"
+        },
+        "customb": {
+            "csl": null,
+            "source": "biblatex"
+        },
+        "customc": {
+            "csl": null,
+            "source": "biblatex"
+        },
+        "customd": {
+            "csl": null,
+            "source": "biblatex"
+        },
+        "custome": {
+            "csl": null,
+            "source": "biblatex"
+        },
+        "customf": {
+            "csl": null,
+            "source": "biblatex"
+        },
+        "database": {
+            "csl": "dataset",
+            "source": "gbt7714-numerical.bst"
+        },
+        "dataset": {
+            "csl": "dataset",
+            "source": "biblatex"
+        },
+        "dictionary": {
+            "csl": null,
+            "source": "vancouver.bst"
+        },
+        "docthesis": {
+            "csl": null,
+            "source": "gost2003.bst"
+        },
+        "electronic": {
+            "alias": "online",
+            "csl": "webpage",
+            "source": "biblatex"
+        },
+        "eulegislation": {
+            "csl": null,
+            "source": "bath.bst"
+        },
+        "footnote": {
+            "csl": null,
+            "source": "apsrev4-2.bst"
+        },
+        "game": {
+            "csl": null,
+            "source": "ACM-Reference-Format.bst"
+        },
+        "govpub": {
+            "csl": null,
+            "source": "thesnumb.bst"
+        },
+        "habthesis": {
+            "csl": null,
+            "source": "bestpapers-export.bst"
+        },
+        "heading": {
+            "csl": null,
+            "source": "bookdb.bst"
+        },
+        "hidden": {
+            "csl": null,
+            "source": "abntex2-alf.bst"
+        },
+        "image": {
+            "csl": "graphic",
+            "source": "biblatex"
+        },
+        "inbook": {
+            "csl": "chapter",
+            "source": "bibtex"
+        },
+        "incollection": {
+            "csl": "chapter",
+            "source": "bibtex"
+        },
+        "inloosecollection": {
+            "csl": null,
+            "source": "resphilosophica.bst"
+        },
+        "inpress": {
+            "csl": null,
+            "source": "bjnano.bst"
+        },
+        "inproceedings": {
+            "csl": "paper-conference",
+            "source": "bibtex"
+        },
+        "inreference": {
+            "csl": "entry",
+            "notes": "May also be `entry`, `entry-dictionary` or `entry-encyclopedia`.",
+            "source": "biblatex"
+        },
+        "inserialcollection": {
+            "csl": null,
+            "source": "asmejour.bst"
+        },
+        "internet": {
+            "csl": null,
+            "source": "IEEEtran.bst"
+        },
+        "journalpart": {
+            "csl": null,
+            "source": "abntex2-alf.bst"
+        },
+        "journals": {
+            "csl": null,
+            "source": "bestpapers-export.bst"
+        },
+        "jurisdiction": {
+            "csl": null,
+            "notes": "\"Court decisions, court recordings, and similar things.\"",
+            "source": "biblatex"
+        },
+        "jurthesis": {
+            "csl": null,
+            "source": "jurabib.bst"
+        },
+        "legal": {
+            "csl": "treaty",
+            "notes": "\"Legal documents such as treaties.\"",
+            "source": "biblatex"
+        },
+        "legislation": {
+            "csl": "legislation",
+            "notes": "\"Laws, bills, legislative proposals, and similar things.\" May also be `bill`",
+            "source": "biblatex"
+        },
+        "letter": {
+            "csl": "personal_communication",
+            "source": "biblatex"
+        },
+        "lexicon": {
+            "csl": null,
+            "source": "jurabib.bst"
+        },
+        "majorthesis": {
+            "csl": null,
+            "source": "achicago.bst"
+        },
+        "manual": {
+            "csl": "report",
+            "nots": "CSL's `report` is also used for manuals and similar technical documentation (e.g. a software, instrument, or test manual).",
+            "source": "bibtex"
+        },
+        "map": {
+            "csl": "map",
+            "source": "vancouver.bst"
+        },
+        "mastersthesis": {
+            "alias": "thesis",
+            "csl": "thesis",
+            "source": "bibtex"
+        },
+        "masterthesis": {
+            "csl": null,
+            "source": "asaetr.bst"
+        },
+        "minorthesis": {
+            "csl": null,
+            "source": "achicago.bst"
+        },
+        "misc": {
+            "csl": null,
+            "notes": "Will be mapped to `document` in CSL v1.0.2.",
+            "source": "bibtex"
+        },
+        "monograph": {
+            "csl": null,
+            "source": "gbt7714-numerical.bst"
+        },
+        "monography": {
+            "csl": null,
+            "source": "abntex2-alf.bst"
+        },
+        "movie": {
+            "csl": "motion_picture",
+            "source": "biblatex"
+        },
+        "music": {
+            "csl": "song",
+            "source": "biblatex"
+        },
+        "mvbook": {
+            "csl": "book",
+            "source": "biblatex"
+        },
+        "mvcollection": {
+            "csl": "book",
+            "source": "biblatex"
+        },
+        "mvproceedings": {
+            "csl": "book",
+            "source": "biblatex"
+        },
+        "mvreference": {
+            "csl": "book",
+            "source": "biblatex"
+        },
+        "news": {
+            "csl": "article-newspaper",
+            "source": "seuthesix.bst"
+        },
+        "newspaper": {
+            "csl": "article-newspaper",
+            "source": "gbt7714-numerical.bst"
+        },
+        "online": {
+            "csl": "webpage",
+            "source": "biblatex"
+        },
+        "other": {
+            "csl": null,
+            "source": "bjnano.bst"
+        },
+        "patent": {
+            "csl": "patent",
+            "source": "biblatex"
+        },
+        "performance": {
+            "csl": null,
+            "notes": "Will be mapped to `performance` in CSL v1.0.2.",
+            "source": "biblatex"
+        },
+        "periodical": {
+            "csl": "book",
+            "notes": "Will be mapped to `periodical` in CSL v1.0.2.",
+            "source": "biblatex"
+        },
+        "phdthesis": {
+            "alias": "thesis",
+            "csl": "thesis",
+            "source": "bibtex"
+        },
+        "preamble": {
+            "csl": null,
+            "notes": "Special entry type for inserting commands or text in the bbl",
+            "source": "bibtex"
+        },
+        "preprint": {
+            "csl": "article",
+            "source": "gbt7714-numerical.bst"
+        },
+        "presentation": {
+            "csl": null,
+            "source": "apsrev4-2.bst"
+        },
+        "proceedings": {
+            "csl": "book",
+            "source": "bibtex"
+        },
+        "program": {
+            "csl": null,
+            "source": "ChemCommun.bst"
+        },
+        "reference": {
+            "csl": "book",
+            "source": "biblatex"
+        },
+        "report": {
+            "csl": "report",
+            "source": "biblatex"
+        },
+        "review": {
+            "csl": "review",
+            "notes": "\"A more specific variant of the `@article` type\"",
+            "source": "biblatex"
+        },
+        "set": {
+            "csl": null,
+            "notes": "Not supported.",
+            "source": "biblatex"
+        },
+        "setup": {
+            "csl": null,
+            "source": "bestpapers-export.bst"
+        },
+        "software": {
+            "csl": "article",
+            "notes": "Will be mapped to `software` in CSL v1.0.2.",
+            "source": "biblatex"
+        },
+        "standard": {
+            "csl": "book",
+            "notes": "Will be mapped to `standard` in CSL v1.0.2.",
+            "source": "biblatex"
+        },
+        "string": {
+            "csl": null,
+            "notes": "Special entry type for defining abbreviations",
+            "source": "bibtex"
+        },
+        "suppbook": {
+            "csl": "chapter",
+            "notes": "lossy mapping; \"Supplemental material in a `@book`. This type is closely related to the @inbook entry type. While `@inbook` is primarily intended for a part of a book with its own title (e. g., a single essay in a collection of essays by the same author), this type is provided for elements such as prefaces, introductions, forewords, afterwords, etc. which often have a generic title only. Style guides may require such items to be formatted differently from other `@inbook` items.\"",
+            "source": "biblatex"
+        },
+        "suppcollection": {
+            "csl": "chapter",
+            "notes": "lossy mapping; see `suppbook`",
+            "source": "biblatex"
+        },
+        "suppperiodical": {
+            "csl": "article",
+            "notes": "see `article`",
+            "source": "biblatex"
+        },
+        "techreport": {
+            "alias": "report",
+            "csl": "report",
+            "source": "bibtex"
+        },
+        "techstandard": {
+            "csl": "book",
+            "notes": "Will be mapped to `standard` in CSL v1.0.2.",
+            "source": "udesoftec.bst"
+        },
+        "thesis": {
+            "csl": "thesis",
+            "source": "biblatex"
+        },
+        "uklegislation": {
+            "csl": null,
+            "source": "bath.bst"
+        },
+        "unpublished": {
+            "csl": "manuscript",
+            "source": "bibtex"
+        },
+        "video": {
+            "csl": "motion_picture",
+            "source": "biblatex"
+        },
+        "webpage": {
+            "csl": "webpage",
+            "source": "IEEEtran.bst"
+        },
+        "www": {
+            "alias": "online",
+            "csl": "webpage",
+            "source": "biblatex"
+        },
+        "xdata": {
+            "csl": null,
+            "notes": "special item type: \"`@xdata` entries hold data which may be inherited by other entries using the xdata field. Entries of this type only serve as data containers; they may not be cited or added to the bibliography.\"",
+            "source": "biblatex"
+        }
+    },
+    "fields": {
+        "abstract": {
+            "csl": "abstract",
+            "source": "biblatex",
+            "type": "literal"
+        },
+        "account": {
+            "csl": null,
+            "source": "address-html.bst"
+        },
+        "acronym": {
+            "csl": null,
+            "source": "export.bst"
+        },
+        "add": {
+            "csl": null,
+            "source": "figbib.bst"
+        },
+        "add1": {
+            "csl": null,
+            "source": "figbib1.bst"
+        },
+        "addendum": {
+            "csl": null,
+            "notes": "Not supported.",
+            "source": "biblatex",
+            "type": "literal"
+        },
+        "address": {
+            "alias": "location",
+            "csl": "publisher-place",
+            "source": "bibtex",
+            "type": "literal"
+        },
+        "adsurl": {
+            "csl": null,
+            "source": "mnras.bst"
+        },
+        "advisor": {
+            "csl": null,
+            "source": "ACM-Reference-Format.bst"
+        },
+        "afterword": {
+            "csl": null,
+            "notes": "Not supported.",
+            "source": "biblatex",
+            "type": "name"
+        },
+        "annotate": {
+            "csl": null,
+            "source": "apacite.bst"
+        },
+        "annotation": {
+            "csl": null,
+            "source": "biblatex",
+            "type": "literal"
+        },
+        "annotator": {
+            "csl": null,
+            "source": "biblatex",
+            "type": "name"
+        },
+        "annote": {
+            "alias": "annotation",
+            "csl": null,
+            "source": "biblatex",
+            "type": "literal"
+        },
+        "annotelanguage": {
+            "csl": null,
+            "source": "bababbr3-fl.bst"
+        },
+        "applicant": {
+            "csl": null,
+            "source": "seuthesix.bst"
+        },
+        "archive": {
+            "csl": null,
+            "source": "apsrev4-2.bst"
+        },
+        "archiveprefix": {
+            "alias": "eprinttype",
+            "csl": "archive",
+            "source": "biblatex",
+            "type": "literal"
+        },
+        "archname": {
+            "csl": null,
+            "source": "jurabib.bst"
+        },
+        "articleno": {
+            "csl": null,
+            "source": "ACM-Reference-Format.bst"
+        },
+        "arxiv": {
+            "csl": null,
+            "source": "aomalpha.bst"
+        },
+        "assignee": {
+            "csl": null,
+            "source": "vancouver.bst"
+        },
+        "author": {
+            "csl": "author",
+            "source": "bibtex",
+            "type": "name"
+        },
+        "authorcountry": {
+            "csl": null,
+            "source": "gost2003.bst"
+        },
+        "authorfa": {
+            "csl": null,
+            "source": "asa-fa.bst"
+        },
+        "authortype": {
+            "csl": null,
+            "source": "biblatex",
+            "type": "key"
+        },
+        "bibsource": {
+            "csl": null,
+            "source": "export.bst"
+        },
+        "biburl": {
+            "csl": null,
+            "source": "export.bst"
+        },
+        "binding": {
+            "csl": null,
+            "source": "bookdb.bst"
+        },
+        "birthday": {
+            "csl": null,
+            "source": "adrbirthday.bst"
+        },
+        "birthyear": {
+            "csl": null,
+            "source": "address-html.bst"
+        },
+        "bookaddress": {
+            "csl": null,
+            "source": "apsrev4-2.bst"
+        },
+        "bookauthor": {
+            "csl": "container-author",
+            "source": "biblatex",
+            "type": "name"
+        },
+        "booklanguage": {
+            "csl": null,
+            "source": "gost2003.bst"
+        },
+        "bookpages": {
+            "csl": null,
+            "source": "ACM-Reference-Format.bst"
+        },
+        "bookpagination": {
+            "csl": null,
+            "source": "biblatex",
+            "type": "key"
+        },
+        "booksubtitle": {
+            "csl": null,
+            "source": "biblatex",
+            "type": "literal"
+        },
+        "booktitle": {
+            "csl": "container-title",
+            "source": "bibtex",
+            "type": "literal"
+        },
+        "booktitleaddon": {
+            "csl": null,
+            "source": "biblatex",
+            "type": "literal"
+        },
+        "caption": {
+            "csl": null,
+            "source": "figbib.bst"
+        },
+        "caption1": {
+            "csl": null,
+            "source": "figbib1.bst"
+        },
+        "cartographer": {
+            "csl": null,
+            "source": "vancouver.bst"
+        },
+        "casenumber": {
+            "csl": null,
+            "source": "bath.bst"
+        },
+        "category": {
+            "csl": null,
+            "source": "bookdb.bst"
+        },
+        "cellular": {
+            "csl": null,
+            "source": "address-html.bst"
+        },
+        "chair": {
+            "csl": null,
+            "source": "apacite.bst"
+        },
+        "chapter": {
+            "csl": "chapter-number",
+            "source": "bibtex",
+            "type": "literal"
+        },
+        "citedate": {
+            "csl": null,
+            "source": "seuthesis.bst"
+        },
+        "city": {
+            "csl": null,
+            "source": "ACM-Reference-Format.bst"
+        },
+        "coden": {
+            "csl": null,
+            "source": "is-abbrv.bst"
+        },
+        "collaboration": {
+            "csl": null,
+            "source": "apsrev4-2.bst"
+        },
+        "collator": {
+            "csl": null,
+            "source": "bookdb.bst"
+        },
+        "commentator": {
+            "csl": null,
+            "source": "biblatex",
+            "type": "name"
+        },
+        "compiler": {
+            "csl": null,
+            "source": "gost2003.bst"
+        },
+        "condition": {
+            "csl": null,
+            "source": "bookdb.bst"
+        },
+        "conference-location": {
+            "csl": null,
+            "source": "abntex2-alf.bst"
+        },
+        "conference-number": {
+            "csl": null,
+            "source": "abntex2-alf.bst"
+        },
+        "conference-year": {
+            "csl": null,
+            "source": "abntex2-alf.bst"
+        },
+        "copy": {
+            "csl": null,
+            "source": "bookdb.bst"
+        },
+        "country": {
+            "csl": null,
+            "source": "adrbirthday.bst"
+        },
+        "credits": {
+            "csl": null,
+            "source": "gost2003.bst"
+        },
+        "crossref": {
+            "csl": null,
+            "notes": "Inherits data from a parent entry.",
+            "source": "biblatex",
+            "type": "entrykey"
+        },
+        "ctrl-article-title": {
+            "csl": null,
+            "source": "achemso.bst"
+        },
+        "ctrl-chapter-title": {
+            "csl": null,
+            "source": "achemso.bst"
+        },
+        "ctrl-doi": {
+            "csl": null,
+            "source": "achemso.bst"
+        },
+        "ctrl-etal-firstonly": {
+            "csl": null,
+            "source": "achemso.bst"
+        },
+        "ctrl-etal-number": {
+            "csl": null,
+            "source": "achemso.bst"
+        },
+        "ctrl-link-doi": {
+            "csl": null,
+            "source": "angew.bst"
+        },
+        "ctrl-use-doi-all": {
+            "csl": null,
+            "source": "angew.bst"
+        },
+        "ctrl-use-title": {
+            "csl": null,
+            "source": "achemso.bst"
+        },
+        "dataset": {
+            "csl": null,
+            "source": "apalike-ejor.bst"
+        },
+        "date": {
+            "csl": "issued",
+            "source": "biblatex",
+            "type": "date"
+        },
+        "day": {
+            "csl": null,
+            "source": "apacite.bst"
+        },
+        "dayfiled": {
+            "csl": null,
+            "source": "IEEEtran.bst"
+        },
+        "definition": {
+            "csl": null,
+            "source": "glsplain.bst"
+        },
+        "department": {
+            "csl": null,
+            "source": "ametsoc2014.bst"
+        },
+        "description": {
+            "csl": null,
+            "source": "ChemCommun.bst"
+        },
+        "designator": {
+            "csl": null,
+            "source": "thesnumb.bst"
+        },
+        "dimensions": {
+            "csl": null,
+            "source": "abntex2-alf.bst"
+        },
+        "dissyear": {
+            "csl": null,
+            "source": "jurabib.bst"
+        },
+        "doi": {
+            "csl": "DOI",
+            "source": "biblatex",
+            "type": "verbatim"
+        },
+        "dticnumber": {
+            "csl": null,
+            "source": "thesnumb.bst"
+        },
+        "dummy": {
+            "csl": null,
+            "source": "expcites.bst"
+        },
+        "edition": {
+            "csl": "edition",
+            "source": "bibtex",
+            "type": "literal"
+        },
+        "editor": {
+            "csl": "editor",
+            "source": "bibtex",
+            "type": "name"
+        },
+        "editora": {
+            "csl": null,
+            "source": "biblatex",
+            "type": "name"
+        },
+        "editoratype": {
+            "csl": null,
+            "source": "biblatex",
+            "type": "key"
+        },
+        "editorb": {
+            "csl": null,
+            "source": "biblatex",
+            "type": "name"
+        },
+        "editorbtype": {
+            "csl": null,
+            "source": "biblatex",
+            "type": "key"
+        },
+        "editorc": {
+            "csl": null,
+            "source": "biblatex",
+            "type": "name"
+        },
+        "editorctype": {
+            "csl": null,
+            "source": "biblatex",
+            "type": "key"
+        },
+        "editortype": {
+            "csl": null,
+            "source": "biblatex",
+            "type": "key"
+        },
+        "eid": {
+            "csl": null,
+            "source": "biblatex",
+            "type": "literal"
+        },
+        "email": {
+            "csl": null,
+            "source": "adrbirthday.bst"
+        },
+        "endnumber": {
+            "csl": null,
+            "source": "seuthesis.bst"
+        },
+        "endvolume": {
+            "csl": null,
+            "source": "seuthesis.bst"
+        },
+        "endyear": {
+            "csl": null,
+            "source": "seuthesis.bst"
+        },
+        "englishtitle": {
+            "csl": null,
+            "source": "apacite.bst"
+        },
+        "entryset": {
+            "csl": null,
+            "notes": "Not supported.",
+            "source": "biblatex",
+            "type": "entrykey"
+        },
+        "entrysubtype": {
+            "csl": null,
+            "notes": "Not supported.",
+            "source": "biblatex",
+            "type": "literal"
+        },
+        "epilog": {
+            "csl": null,
+            "source": "iopart-num.bst"
+        },
+        "eprint": {
+            "csl": null,
+            "notes": "Mapped to `PMID` if `eprinttype` is \"PubMed\".",
+            "source": "biblatex",
+            "type": "verbatim"
+        },
+        "eprintclass": {
+            "csl": null,
+            "source": "biblatex",
+            "type": "literal"
+        },
+        "eprints": {
+            "csl": null,
+            "source": "databib.bst"
+        },
+        "eprinttype": {
+            "csl": "archive",
+            "source": "biblatex",
+            "type": "literal"
+        },
+        "erratumeid": {
+            "csl": null,
+            "source": "ChemCommun.bst"
+        },
+        "erratumgermanpages": {
+            "csl": null,
+            "source": "ChemCommun.bst"
+        },
+        "erratumnumpages": {
+            "csl": null,
+            "source": "ChemCommun.bst"
+        },
+        "erratumpages": {
+            "csl": null,
+            "source": "ChemCommun.bst"
+        },
+        "erratumvolume": {
+            "csl": null,
+            "source": "ChemCommun.bst"
+        },
+        "erratumyear": {
+            "csl": null,
+            "source": "ChemCommun.bst"
+        },
+        "eventdate": {
+            "csl": "event-date",
+            "source": "biblatex",
+            "type": "date"
+        },
+        "eventtitle": {
+            "csl": "event",
+            "notes": "Will be mapped to `event-title` in CSL v1.0.2.",
+            "source": "biblatex",
+            "type": "literal"
+        },
+        "eventtitleaddon": {
+            "csl": null,
+            "source": "biblatex",
+            "type": "literal"
+        },
+        "eventyear": {
+            "csl": null,
+            "source": "bath.bst"
+        },
+        "execute": {
+            "csl": null,
+            "notes": "Not supported.",
+            "source": "biblatex",
+            "type": "code"
+        },
+        "faddress": {
+            "csl": null,
+            "source": "achicago.bst"
+        },
+        "fakeset": {
+            "csl": null,
+            "source": "biblatex.bst"
+        },
+        "fax": {
+            "csl": null,
+            "source": "adrbirthday.bst"
+        },
+        "file": {
+            "csl": null,
+            "source": "biblatex",
+            "type": "verbatim"
+        },
+        "firstkey": {
+            "csl": null,
+            "source": "apacite.bst"
+        },
+        "fjournal": {
+            "csl": null,
+            "source": "ijmart.bst"
+        },
+        "flanguage": {
+            "csl": null,
+            "source": "achicago.bst"
+        },
+        "font": {
+            "csl": null,
+            "source": "nederlands.bst"
+        },
+        "foreword": {
+            "csl": null,
+            "source": "biblatex",
+            "type": "name"
+        },
+        "founder": {
+            "csl": null,
+            "source": "jurabib.bst"
+        },
+        "fpublisher": {
+            "csl": null,
+            "source": "achicago.bst"
+        },
+        "ftitle": {
+            "csl": null,
+            "source": "achicago.bst"
+        },
+        "furtherresp": {
+            "csl": null,
+            "source": "abntex2-alf.bst"
+        },
+        "fyear": {
+            "csl": null,
+            "source": "achicago.bst"
+        },
+        "gender": {
+            "csl": null,
+            "notes": "Not supported.",
+            "source": "biblatex",
+            "type": "literal"
+        },
+        "germanpages": {
+            "csl": null,
+            "source": "ChemCommun.bst"
+        },
+        "group": {
+            "csl": null,
+            "source": "glsplain.bst"
+        },
+        "heading": {
+            "csl": null,
+            "source": "glsplain.bst"
+        },
+        "hereafter": {
+            "csl": null,
+            "source": "opcit.bst"
+        },
+        "holder": {
+            "csl": null,
+            "source": "biblatex",
+            "type": "name"
+        },
+        "howcited": {
+            "csl": null,
+            "source": "jox.bst"
+        },
+        "howpublished": {
+            "csl": null,
+            "notes": "Check if a URL is contained.",
+            "source": "bibtex",
+            "type": "literal"
+        },
+        "hyphenation": {
+            "alias": "langid",
+            "csl": null,
+            "source": "biblatex",
+            "type": "literal"
+        },
+        "ids": {
+            "csl": null,
+            "source": "biblatex",
+            "type": "entrykey"
+        },
+        "illustrated": {
+            "csl": null,
+            "source": "abntex2-alf.bst"
+        },
+        "illustrations": {
+            "csl": null,
+            "source": "bookdb.bst"
+        },
+        "illustrator": {
+            "csl": null,
+            "source": "achicago.bst"
+        },
+        "indexsorttitle": {
+            "csl": null,
+            "notes": "Not supported.",
+            "source": "biblatex",
+            "type": "literal"
+        },
+        "indextitle": {
+            "csl": null,
+            "source": "biblatex",
+            "type": "literal"
+        },
+        "institution": {
+            "csl": "publisher",
+            "source": "bibtex",
+            "type": "literal"
+        },
+        "introduction": {
+            "csl": null,
+            "source": "biblatex",
+            "type": "name"
+        },
+        "intype": {
+            "csl": null,
+            "source": "IEEEtran.bst"
+        },
+        "inventor": {
+            "csl": null,
+            "source": "vancouver.bst"
+        },
+        "ipc": {
+            "csl": null,
+            "source": "gost2003.bst"
+        },
+        "isan": {
+            "csl": null,
+            "source": "biblatex",
+            "type": "literal"
+        },
+        "isbn": {
+            "csl": "ISBN",
+            "source": "biblatex",
+            "type": "literal"
+        },
+        "ismn": {
+            "csl": null,
+            "source": "biblatex",
+            "type": "literal"
+        },
+        "iso-abbreviation": {
+            "csl": null,
+            "source": "abntex2-alf.bst"
+        },
+        "iso-author-punctuation": {
+            "csl": null,
+            "source": "abntex2-alf.bst"
+        },
+        "iso-date-place": {
+            "csl": null,
+            "source": "abntex2-alf.bst"
+        },
+        "isrn": {
+            "csl": null,
+            "source": "biblatex",
+            "type": "literal"
+        },
+        "issn": {
+            "csl": "ISSN",
+            "source": "biblatex",
+            "type": "literal"
+        },
+        "issue": {
+            "csl": "issue",
+            "source": "biblatex",
+            "type": "literal"
+        },
+        "issuesubtitle": {
+            "csl": null,
+            "source": "biblatex",
+            "type": "literal"
+        },
+        "issuetitle": {
+            "csl": null,
+            "source": "biblatex",
+            "type": "literal"
+        },
+        "issuetitleaddon": {
+            "csl": null,
+            "source": "biblatex",
+            "type": "literal"
+        },
+        "iswc": {
+            "csl": null,
+            "source": "biblatex",
+            "type": "literal"
+        },
+        "jfmnumber": {
+            "csl": null,
+            "source": "aomalpha.bst"
+        },
+        "journal": {
+            "alias": "journaltitle",
+            "csl": "container-title",
+            "source": "bibtex",
+            "type": "literal"
+        },
+        "journalsubtitle": {
+            "csl": null,
+            "notes": "It should be concatenated to the `container-title`.",
+            "source": "biblatex",
+            "type": "literal"
+        },
+        "journaltie": {
+            "csl": null,
+            "source": "tugboat.bst"
+        },
+        "journaltitle": {
+            "csl": "container-title",
+            "source": "biblatex",
+            "type": "literal"
+        },
+        "journaltitleaddon": {
+            "csl": null,
+            "source": "biblatex",
+            "type": "literal"
+        },
+        "juraauthor": {
+            "csl": null,
+            "source": "jox.bst"
+        },
+        "juratitle": {
+            "csl": null,
+            "source": "jox.bst"
+        },
+        "key": {
+            "alias": "sortkey",
+            "csl": null,
+            "notes": "Not supported.",
+            "source": "bibtex",
+            "type": "literal"
+        },
+        "keywords": {
+            "csl": null,
+            "source": "biblatex",
+            "type": "keyword"
+        },
+        "label": {
+            "csl": null,
+            "source": "biblatex",
+            "type": "literal"
+        },
+        "lang": {
+            "csl": null,
+            "source": "hustthesis.bst"
+        },
+        "langid": {
+            "csl": null,
+            "source": "biblatex",
+            "type": "literal"
+        },
+        "langidopts": {
+            "csl": null,
+            "source": "biblatex",
+            "type": "literal"
+        },
+        "language": {
+            "csl": "language",
+            "source": "biblatex",
+            "type": "key"
+        },
+        "lastaccessed": {
+            "csl": "accessed",
+            "source": "ACM-Reference-Format.bst"
+        },
+        "lastchecked": {
+            "csl": "accessed",
+            "source": "apacite.bst"
+        },
+        "lccn": {
+            "csl": null,
+            "source": "is-abbrv.bst"
+        },
+        "library": {
+            "csl": null,
+            "source": "biblatex",
+            "type": "literal"
+        },
+        "lista": {
+            "csl": null,
+            "source": "biblatex",
+            "type": "literal"
+        },
+        "listb": {
+            "csl": null,
+            "source": "biblatex",
+            "type": "literal"
+        },
+        "listc": {
+            "csl": null,
+            "source": "biblatex",
+            "type": "literal"
+        },
+        "listd": {
+            "csl": null,
+            "source": "biblatex",
+            "type": "literal"
+        },
+        "liste": {
+            "csl": null,
+            "source": "biblatex",
+            "type": "literal"
+        },
+        "listf": {
+            "csl": null,
+            "source": "biblatex",
+            "type": "literal"
+        },
+        "littype": {
+            "csl": null,
+            "source": "seuthesix.bst"
+        },
+        "location": {
+            "csl": "publisher-place",
+            "source": "biblatex",
+            "type": "literal"
+        },
+        "madadurltest": {
+            "csl": null,
+            "source": "alpha-persian.bst"
+        },
+        "main": {
+            "csl": null,
+            "source": "figbib.bst"
+        },
+        "main1": {
+            "csl": null,
+            "source": "figbib1.bst"
+        },
+        "mainsubtitle": {
+            "csl": null,
+            "source": "biblatex",
+            "type": "literal"
+        },
+        "maintitle": {
+            "csl": null,
+            "source": "biblatex",
+            "type": "literal"
+        },
+        "maintitleaddon": {
+            "csl": null,
+            "source": "biblatex",
+            "type": "literal"
+        },
+        "majorcode": {
+            "csl": null,
+            "source": "gost2003.bst"
+        },
+        "marginnote": {
+            "csl": null,
+            "source": "abntex2-alf.bst"
+        },
+        "mark": {
+            "csl": null,
+            "source": "gbt7714-numerical.bst"
+        },
+        "max.best.papers": {
+            "csl": null,
+            "source": "bestpapers-export.bst"
+        },
+        "mcitetail": {
+            "csl": null,
+            "source": "apsrmpM.bst"
+        },
+        "media": {
+            "csl": "medium",
+            "source": "gost2003.bst"
+        },
+        "medium": {
+            "csl": "medium",
+            "source": "gbt7714-numerical.bst"
+        },
+        "meeting": {
+            "csl": null,
+            "source": "amsra.bst"
+        },
+        "misctitle": {
+            "csl": null,
+            "source": "aasjournal.bst"
+        },
+        "miscyear": {
+            "csl": null,
+            "source": "seuthesis.bst"
+        },
+        "mobile": {
+            "csl": null,
+            "source": "adrbirthday.bst"
+        },
+        "modifydate": {
+            "csl": null,
+            "source": "seuthesis.bst"
+        },
+        "month": {
+            "csl": null,
+            "notes": "Used only when `date` is empty.",
+            "source": "bibtex",
+            "type": "literal"
+        },
+        "monthfiled": {
+            "csl": null,
+            "source": "IEEEtran.bst"
+        },
+        "mrnumber": {
+            "csl": null,
+            "source": "amsplain.bst"
+        },
+        "name": {
+            "csl": null,
+            "source": "adrbirthday.bst"
+        },
+        "namea": {
+            "csl": null,
+            "source": "biblatex",
+            "type": "name"
+        },
+        "nameaddon": {
+            "csl": null,
+            "source": "biblatex",
+            "type": "literal"
+        },
+        "nameatype": {
+            "csl": null,
+            "source": "biblatex",
+            "type": "key"
+        },
+        "nameb": {
+            "csl": null,
+            "source": "biblatex",
+            "type": "name"
+        },
+        "namebtype": {
+            "csl": null,
+            "source": "biblatex",
+            "type": "key"
+        },
+        "namec": {
+            "csl": null,
+            "source": "biblatex",
+            "type": "name"
+        },
+        "namectype": {
+            "csl": null,
+            "source": "biblatex",
+            "type": "key"
+        },
+        "nationality": {
+            "csl": null,
+            "source": "IEEEtran.bst"
+        },
+        "nbirthday": {
+            "csl": null,
+            "source": "adrbirthday.bst"
+        },
+        "newpage": {
+            "csl": null,
+            "source": "tugboat.bst"
+        },
+        "newspaper": {
+            "csl": "container-title",
+            "source": "seuthesix.bst"
+        },
+        "nickname": {
+            "csl": null,
+            "source": "address-html.bst"
+        },
+        "nihms": {
+            "csl": null,
+            "source": "apacite.bst"
+        },
+        "noed": {
+            "csl": null,
+            "source": "jox.bst"
+        },
+        "normal": {
+            "csl": null,
+            "source": "bookdb.bst"
+        },
+        "normalauthor": {
+            "csl": null,
+            "source": "seuthesis.bst"
+        },
+        "normaleditor": {
+            "csl": null,
+            "source": "seuthesis.bst"
+        },
+        "note": {
+            "csl": "note",
+            "source": "bibtex",
+            "type": "literal"
+        },
+        "nowarning": {
+            "csl": null,
+            "source": "tugboat.bst"
+        },
+        "number": {
+            "csl": "number",
+            "notes": "It is mapped to `issue` in `@ariticle` but to `number` in `@patent` or `@report`.",
+            "source": "bibtex",
+            "type": "literal"
+        },
+        "numpages": {
+            "csl": null,
+            "source": "ACM-Reference-Format.bst"
+        },
+        "oaddress": {
+            "csl": null,
+            "source": "achicago.bst"
+        },
+        "options": {
+            "csl": null,
+            "notes": "Not supported.",
+            "source": "biblatex",
+            "type": "option"
+        },
+        "opublisher": {
+            "csl": null,
+            "source": "achicago.bst"
+        },
+        "org-short": {
+            "csl": null,
+            "source": "abntex2-alf.bst"
+        },
+        "organization": {
+            "csl": "publisher",
+            "notes": "It is mapped to `author` (in `institution` property) if possible.",
+            "source": "bibtex",
+            "type": "literal"
+        },
+        "origdate": {
+            "csl": "original-date",
+            "source": "biblatex",
+            "type": "date"
+        },
+        "originaladdress": {
+            "csl": "original-publisher-place",
+            "source": "apacite.bst"
+        },
+        "originalbooktitle": {
+            "csl": null,
+            "source": "apacite.bst"
+        },
+        "originaledition": {
+            "csl": null,
+            "source": "apacite.bst"
+        },
+        "originaleditor": {
+            "csl": null,
+            "source": "apacite.bst"
+        },
+        "originaljournal": {
+            "csl": null,
+            "source": "apacite.bst"
+        },
+        "originalnumber": {
+            "csl": null,
+            "source": "apacite.bst"
+        },
+        "originalpages": {
+            "csl": null,
+            "source": "apacite.bst"
+        },
+        "originalpublisher": {
+            "csl": "original-publisher",
+            "source": "apacite.bst"
+        },
+        "originalvolume": {
+            "csl": null,
+            "source": "apacite.bst"
+        },
+        "originalyear": {
+            "csl": "original-date",
+            "source": "apacite.bst"
+        },
+        "origlanguage": {
+            "csl": null,
+            "source": "biblatex",
+            "type": "key"
+        },
+        "origlocation": {
+            "csl": "original-publisher-place",
+            "source": "biblatex",
+            "type": "literal"
+        },
+        "origpublisher": {
+            "csl": "original-publisher",
+            "source": "biblatex",
+            "type": "literal"
+        },
+        "origtitle": {
+            "csl": "original-title",
+            "source": "biblatex",
+            "type": "literal"
+        },
+        "oyear": {
+            "csl": null,
+            "source": "achicago.bst"
+        },
+        "pagename": {
+            "csl": null,
+            "source": "abntex2-alf.bst"
+        },
+        "pages": {
+            "csl": "page",
+            "source": "bibtex",
+            "type": "range"
+        },
+        "pagetotal": {
+            "csl": "number-of-pages",
+            "source": "biblatex",
+            "type": "literal"
+        },
+        "pagination": {
+            "csl": null,
+            "source": "biblatex",
+            "type": "key"
+        },
+        "paper": {
+            "csl": null,
+            "source": "IEEEtran.bst"
+        },
+        "part": {
+            "csl": "part",
+            "source": "biblatex",
+            "type": "literal"
+        },
+        "patentid": {
+            "csl": null,
+            "source": "seuthesis.bst"
+        },
+        "pdf": {
+            "alias": "file",
+            "csl": null,
+            "source": "biblatex",
+            "type": "verbatim"
+        },
+        "phone": {
+            "csl": null,
+            "source": "adrbirthday.bst"
+        },
+        "pid": {
+            "csl": null,
+            "source": "seuthesix.bst"
+        },
+        "pii": {
+            "csl": null,
+            "source": "amsra.bst"
+        },
+        "pmcid": {
+            "csl": "PMCID",
+            "source": "apacite.bst"
+        },
+        "prebibitem": {
+            "csl": null,
+            "source": "tugboat.bst"
+        },
+        "preface": {
+            "csl": null,
+            "source": "bookdb.bst"
+        },
+        "preprint": {
+            "csl": null,
+            "source": "amsra.bst"
+        },
+        "presort": {
+            "csl": null,
+            "notes": "Not supported.",
+            "source": "biblatex",
+            "type": "literal"
+        },
+        "price": {
+            "csl": null,
+            "source": "is-abbrv.bst"
+        },
+        "primaryclass": {
+            "alias": "eprintclass",
+            "csl": null,
+            "source": "biblatex",
+            "type": "literal"
+        },
+        "printing": {
+            "csl": null,
+            "source": "dk-abbrv.bst"
+        },
+        "prioritycountry": {
+            "csl": null,
+            "source": "gost2003.bst"
+        },
+        "prioritydate": {
+            "csl": null,
+            "source": "gost2003.bst"
+        },
+        "prioritynumber": {
+            "csl": null,
+            "source": "gost2003.bst"
+        },
+        "pseudonym": {
+            "csl": null,
+            "source": "jox.bst"
+        },
+        "publication": {
+            "csl": null,
+            "source": "gost2003.bst"
+        },
+        "publicationdate": {
+            "csl": null,
+            "source": "gost2003.bst"
+        },
+        "publisher": {
+            "csl": "publisher",
+            "source": "bibtex",
+            "type": "literal"
+        },
+        "pubmed": {
+            "csl": "PMID",
+            "source": "urlbst"
+        },
+        "pubstate": {
+            "csl": null,
+            "source": "biblatex",
+            "type": "key"
+        },
+        "related": {
+            "csl": null,
+            "notes": "Not supported.",
+            "source": "biblatex",
+            "type": "entrykey"
+        },
+        "relatedoptions": {
+            "csl": null,
+            "notes": "Not supported.",
+            "source": "biblatex",
+            "type": "option"
+        },
+        "relatedstring": {
+            "csl": null,
+            "notes": "Not supported.",
+            "source": "biblatex",
+            "type": "literal"
+        },
+        "relatedtype": {
+            "csl": null,
+            "notes": "Not supported.",
+            "source": "biblatex",
+            "type": "literal"
+        },
+        "reprinted-from": {
+            "csl": null,
+            "source": "abntex2-alf.bst"
+        },
+        "reprinted-text": {
+            "csl": null,
+            "source": "abntex2-alf.bst"
+        },
+        "reprinttitle": {
+            "csl": null,
+            "source": "biblatex",
+            "type": "literal"
+        },
+        "requestdate": {
+            "csl": null,
+            "source": "gost2003.bst"
+        },
+        "requestnumber": {
+            "csl": null,
+            "source": "gost2003.bst"
+        },
+        "responsible": {
+            "csl": null,
+            "source": "rusnat.bst"
+        },
+        "review": {
+            "csl": null,
+            "source": "amsra.bst"
+        },
+        "revision": {
+            "csl": null,
+            "source": "IEEEtran.bst"
+        },
+        "school": {
+            "alias": "institution",
+            "csl": "publisher",
+            "source": "bibtex",
+            "type": "literal"
+        },
+        "score": {
+            "csl": null,
+            "source": "bestpapers-export.bst"
+        },
+        "section": {
+            "csl": null,
+            "source": "abntex2-alf.bst"
+        },
+        "series": {
+            "csl": "collection-title",
+            "source": "bibtex",
+            "type": "literal"
+        },
+        "seriesedition": {
+            "csl": null,
+            "source": "achicago.bst"
+        },
+        "short": {
+            "csl": null,
+            "source": "glsplain.bst"
+        },
+        "shortarchive": {
+            "csl": null,
+            "source": "jurabib.bst"
+        },
+        "shortauthor": {
+            "csl": null,
+            "source": "biblatex",
+            "type": "name"
+        },
+        "shorteditor": {
+            "csl": null,
+            "source": "biblatex",
+            "type": "name"
+        },
+        "shorthand": {
+            "csl": null,
+            "notes": "Not supported.",
+            "source": "biblatex",
+            "type": "literal"
+        },
+        "shorthandintro": {
+            "csl": null,
+            "notes": "Not supported.",
+            "source": "biblatex",
+            "type": "literal"
+        },
+        "shortjournal": {
+            "csl": "container-title-short",
+            "source": "biblatex",
+            "type": "literal"
+        },
+        "shortseries": {
+            "csl": null,
+            "source": "biblatex",
+            "type": "literal"
+        },
+        "shortsubarchive": {
+            "csl": null,
+            "source": "jurabib.bst"
+        },
+        "shorttitle": {
+            "csl": "title-short",
+            "source": "biblatex",
+            "type": "literal"
+        },
+        "sig1": {
+            "csl": null,
+            "source": "jurabib.bst"
+        },
+        "sig2": {
+            "csl": null,
+            "source": "jurabib.bst"
+        },
+        "sig3": {
+            "csl": null,
+            "source": "jurabib.bst"
+        },
+        "sig4": {
+            "csl": null,
+            "source": "jurabib.bst"
+        },
+        "size": {
+            "csl": null,
+            "source": "bookdb.bst"
+        },
+        "slaccitation": {
+            "csl": null,
+            "source": "apsrev4-2.bst"
+        },
+        "sort-short": {
+            "csl": null,
+            "source": "glsplain.bst"
+        },
+        "sort-word": {
+            "csl": null,
+            "source": "glsplain.bst"
+        },
+        "sortas": {
+            "csl": null,
+            "source": "adrbirthday.bst"
+        },
+        "sortkey": {
+            "csl": null,
+            "notes": "Not supported.",
+            "source": "biblatex",
+            "type": "literal"
+        },
+        "sortname": {
+            "csl": null,
+            "notes": "Not supported.",
+            "source": "biblatex",
+            "type": "name"
+        },
+        "sortshorthand": {
+            "csl": null,
+            "notes": "Not supported.",
+            "source": "biblatex",
+            "type": "literal"
+        },
+        "sorttitle": {
+            "csl": null,
+            "notes": "Not supported.",
+            "source": "biblatex",
+            "type": "literal"
+        },
+        "sortyear": {
+            "csl": null,
+            "source": "biblatex",
+            "type": "integer"
+        },
+        "source": {
+            "csl": null,
+            "source": "figbib.bst"
+        },
+        "source1": {
+            "csl": null,
+            "source": "figbib1.bst"
+        },
+        "specialitycode": {
+            "csl": null,
+            "source": "gost2003.bst"
+        },
+        "ssedition": {
+            "csl": null,
+            "source": "jox.bst"
+        },
+        "standard": {
+            "csl": null,
+            "source": "udesoftec.bst"
+        },
+        "startnumber": {
+            "csl": null,
+            "source": "seuthesis.bst"
+        },
+        "startvolume": {
+            "csl": null,
+            "source": "seuthesis.bst"
+        },
+        "startyear": {
+            "csl": null,
+            "source": "seuthesis.bst"
+        },
+        "state": {
+            "csl": null,
+            "source": "address-html.bst"
+        },
+        "status": {
+            "csl": null,
+            "source": "amsra.bst"
+        },
+        "stdcode": {
+            "csl": null,
+            "source": "seuthesix.bst"
+        },
+        "stitle": {
+            "csl": null,
+            "source": "jox.bst"
+        },
+        "street": {
+            "csl": null,
+            "source": "adrbirthday.bst"
+        },
+        "subarchive": {
+            "csl": null,
+            "source": "jurabib.bst"
+        },
+        "subtitle": {
+            "csl": null,
+            "source": "biblatex",
+            "type": "literal"
+        },
+        "symposium": {
+            "csl": null,
+            "source": "apacite.bst"
+        },
+        "text": {
+            "csl": null,
+            "source": "apacite.bst"
+        },
+        "timestamp": {
+            "csl": null,
+            "source": "export.bst"
+        },
+        "title": {
+            "csl": "title",
+            "source": "bibtex",
+            "type": "literal"
+        },
+        "titleaddon": {
+            "csl": null,
+            "source": "biblatex",
+            "type": "literal"
+        },
+        "titlenote": {
+            "csl": null,
+            "source": "aomalpha.bst"
+        },
+        "totalpages": {
+            "csl": null,
+            "source": "aomalpha.bst"
+        },
+        "transissue": {
+            "csl": null,
+            "source": "iopart-num.bst"
+        },
+        "transjournal": {
+            "csl": null,
+            "source": "iopart-num.bst"
+        },
+        "translation": {
+            "csl": null,
+            "source": "apsrev4-2.bst"
+        },
+        "translator": {
+            "csl": "translator",
+            "source": "biblatex",
+            "type": "name"
+        },
+        "transnumber": {
+            "csl": null,
+            "source": "iopart-num.bst"
+        },
+        "transpages": {
+            "csl": null,
+            "source": "iopart-num.bst"
+        },
+        "transsection": {
+            "csl": null,
+            "source": "iopart-num.bst"
+        },
+        "transvolume": {
+            "csl": null,
+            "source": "iopart-num.bst"
+        },
+        "transyear": {
+            "csl": null,
+            "source": "iopart-num.bst"
+        },
+        "type": {
+            "csl": "genre",
+            "source": "bibtex",
+            "type": "key"
+        },
+        "typeoflit": {
+            "csl": null,
+            "source": "seuthesis.bst"
+        },
+        "umfnumber": {
+            "csl": null,
+            "source": "thesnumb.bst"
+        },
+        "updated": {
+            "csl": null,
+            "source": "vancouver.bst"
+        },
+        "url": {
+            "csl": "URL",
+            "source": "biblatex",
+            "type": "uri"
+        },
+        "urlaccessdate": {
+            "csl": "accessed",
+            "source": "abntex2-alf.bst"
+        },
+        "urldate": {
+            "csl": "accessed",
+            "source": "biblatex",
+            "type": "date"
+        },
+        "urlnewline": {
+            "csl": null,
+            "source": "tugboat.bst"
+        },
+        "urltype": {
+            "csl": null,
+            "source": "asmeconf.bst"
+        },
+        "urlyear": {
+            "csl": null,
+            "source": "bath.bst"
+        },
+        "urn": {
+            "csl": null,
+            "source": "export.bst"
+        },
+        "usera": {
+            "csl": null,
+            "source": "biblatex",
+            "type": "literal"
+        },
+        "userb": {
+            "csl": null,
+            "source": "biblatex",
+            "type": "literal"
+        },
+        "userc": {
+            "csl": null,
+            "source": "biblatex",
+            "type": "literal"
+        },
+        "userd": {
+            "csl": null,
+            "source": "biblatex",
+            "type": "literal"
+        },
+        "usere": {
+            "csl": null,
+            "source": "biblatex",
+            "type": "literal"
+        },
+        "userf": {
+            "csl": null,
+            "source": "biblatex",
+            "type": "literal"
+        },
+        "value": {
+            "csl": null,
+            "source": "bookdb.bst"
+        },
+        "venue": {
+            "csl": "event-place",
+            "source": "biblatex",
+            "type": "literal"
+        },
+        "verba": {
+            "csl": null,
+            "source": "biblatex",
+            "type": "verbatim"
+        },
+        "verbb": {
+            "csl": null,
+            "source": "biblatex",
+            "type": "verbatim"
+        },
+        "verbc": {
+            "csl": null,
+            "source": "biblatex",
+            "type": "verbatim"
+        },
+        "version": {
+            "csl": "version",
+            "source": "biblatex",
+            "type": "literal"
+        },
+        "versiontype": {
+            "csl": null,
+            "source": "asmeconf.bst"
+        },
+        "volformat": {
+            "csl": null,
+            "source": "jox.bst"
+        },
+        "volume": {
+            "csl": "volume",
+            "source": "bibtex",
+            "type": "integer"
+        },
+        "volumes": {
+            "csl": "number-of-volumes",
+            "source": "biblatex",
+            "type": "integer"
+        },
+        "volumetitle": {
+            "csl": null,
+            "source": "iopart-num.bst"
+        },
+        "word": {
+            "csl": null,
+            "source": "vancouver.bst"
+        },
+        "xdata": {
+            "csl": null,
+            "notes": "inherits fields from other items.",
+            "source": "biblatex",
+            "type": "entrykey"
+        },
+        "xid": {
+            "csl": null,
+            "source": "amsra.bst"
+        },
+        "xref": {
+            "csl": null,
+            "notes": "Establishes a parent-child relationship in biblatex, but without inheriting data => no need to parse this.",
+            "source": "biblatex",
+            "type": "entrykey"
+        },
+        "year": {
+            "csl": null,
+            "notes": "Used only when `date` is empty.",
+            "source": "bibtex",
+            "type": "date"
+        },
+        "year-presented": {
+            "csl": null,
+            "source": "abntex2-alf.bst"
+        },
+        "yearcomp": {
+            "csl": null,
+            "source": "achicago.bst"
+        },
+        "yearfiled": {
+            "csl": null,
+            "source": "IEEEtran.bst"
+        },
+        "zblnumber": {
+            "csl": null,
+            "source": "aomalpha.bst"
+        },
+        "zip": {
+            "csl": null,
+            "source": "adrbirthday.bst"
+        }
+    },
+    "macros": {
+        "jan": {
+            "value": "1",
+            "notes": "Use numeric form for easy conversion.",
+            "source": "bibtex"
+        },
+        "feb": {
+            "value": "2",
+            "source": "bibtex"
+        },
+        "mar": {
+            "value": "3",
+            "source": "bibtex"
+        },
+        "apr": {
+            "value": "4",
+            "source": "bibtex"
+        },
+        "may": {
+            "value": "5",
+            "source": "bibtex"
+        },
+        "jun": {
+            "value": "6",
+            "source": "bibtex"
+        },
+        "jul": {
+            "value": "7",
+            "source": "bibtex"
+        },
+        "aug": {
+            "value": "8",
+            "source": "bibtex"
+        },
+        "sep": {
+            "value": "9",
+            "source": "bibtex"
+        },
+        "oct": {
+            "value": "10",
+            "source": "bibtex"
+        },
+        "nov": {
+            "value": "11",
+            "source": "bibtex"
+        },
+        "dec": {
+            "value": "12",
+            "source": "bibtex"
+        },
+        "acmcs": {
+            "value": "ACM Computing Surveys",
+            "source": "bibtex"
+        },
+        "acta": {
+            "value": "Acta Informatica",
+            "source": "bibtex"
+        },
+        "cacm": {
+            "value": "Communications of the ACM",
+            "source": "bibtex"
+        },
+        "ibmjrd": {
+            "value": "IBM Journal of Research and Development",
+            "source": "bibtex"
+        },
+        "ibmsj": {
+            "value": "IBM Systems Journal",
+            "source": "bibtex"
+        },
+        "ieeese": {
+            "value": "IEEE Transactions on Software Engineering",
+            "source": "bibtex"
+        },
+        "ieeetc": {
+            "value": "IEEE Transactions on Computers",
+            "source": "bibtex"
+        },
+        "ieeetcad": {
+            "value": "IEEE Transactions on Computer-Aided Design of Integrated Circuits",
+            "source": "bibtex"
+        },
+        "ipl": {
+            "value": "Information Processing Letters",
+            "source": "bibtex"
+        },
+        "jacm": {
+            "value": "Journal of the ACM",
+            "source": "bibtex"
+        },
+        "jcss": {
+            "value": "Journal of Computer and System Sciences",
+            "source": "bibtex"
+        },
+        "scp": {
+            "value": "Science of Computer Programming",
+            "source": "bibtex"
+        },
+        "sicomp": {
+            "value": "SIAM Journal on Computing",
+            "source": "bibtex"
+        },
+        "tocs": {
+            "value": "ACM Transactions on Computer Systems",
+            "source": "bibtex"
+        },
+        "tods": {
+            "value": "ACM Transactions on Database Systems",
+            "source": "bibtex"
+        },
+        "tog": {
+            "value": "ACM Transactions on Graphics",
+            "source": "bibtex"
+        },
+        "toms": {
+            "value": "ACM Transactions on Mathematical Software",
+            "source": "bibtex"
+        },
+        "toois": {
+            "value": "ACM Transactions on Office Information Systems",
+            "source": "bibtex"
+        },
+        "toplas": {
+            "value": "ACM Transactions on Programming Languages and Systems",
+            "source": "bibtex"
+        },
+        "tcs": {
+            "value": "Theoretical Computer Science",
+            "source": "bibtex"
+        }
+    }
+}

Added: trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-af-ZA.xml
===================================================================
--- trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-af-ZA.xml	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-af-ZA.xml	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,312 @@
+<?xml version="1.0" encoding="utf-8"?>
+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="af-ZA">
+  <info>
+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
+    <updated>2015-10-15T14:41:06-04:00</updated>
+  </info>
+  <style-options punctuation-in-quote="false"/>
+  <date form="text">
+    <date-part name="day" form="numeric-leading-zeros" suffix=" "/>
+    <date-part name="month" suffix=" "/>
+    <date-part name="year"/>
+  </date>
+  <date form="numeric">
+    <date-part name="year"/>
+    <date-part name="month" form="numeric-leading-zeros" prefix="/"/>
+    <date-part name="day" form="numeric-leading-zeros" prefix="/"/>
+  </date>
+  <terms>
+    <term name="accessed">toegang verkry</term>
+    <term name="and">en</term>
+    <term name="and others">and others</term>
+    <term name="anonymous">anonymous</term>
+    <term name="anonymous" form="short">anon</term>
+    <term name="at">at</term>
+    <term name="available at">available at</term>
+    <term name="by">by</term>
+    <term name="circa">circa</term>
+    <term name="circa" form="short">c.</term>
+    <term name="cited">cited</term>
+    <term name="edition">
+      <single>edition</single>
+      <multiple>editions</multiple>
+    </term>
+    <term name="edition" form="short">ed</term>
+    <term name="et-al">et al.</term>
+    <term name="forthcoming">voorhande</term>
+    <term name="from">van</term>
+    <term name="ibid">ibid.</term>
+    <term name="in">in</term>
+    <term name="in press">in press</term>
+    <term name="internet">internet</term>
+    <term name="interview">interview</term>
+    <term name="letter">letter</term>
+    <term name="no date">no date</term>
+    <term name="no date" form="short">n.d.</term>
+    <term name="online">online</term>
+    <term name="presented at">presented at the</term>
+    <term name="reference">
+      <single>reference</single>
+      <multiple>references</multiple>
+    </term>
+    <term name="reference" form="short">
+      <single>ref.</single>
+      <multiple>refs.</multiple>
+    </term>
+    <term name="retrieved">opgehaal</term>
+    <term name="scale">scale</term>
+    <term name="version">version</term>
+
+    <!-- ANNO DOMINI; BEFORE CHRIST -->
+    <term name="ad">AD</term>
+    <term name="bc">BC</term>
+
+    <!-- PUNCTUATION -->
+    <term name="open-quote">“</term>
+    <term name="close-quote">”</term>
+    <term name="open-inner-quote">‘</term>
+    <term name="close-inner-quote">’</term>
+    <term name="page-range-delimiter">–</term>
+
+    <!-- ORDINALS -->
+    <term name="ordinal">th</term>
+    <term name="ordinal-01">st</term>
+    <term name="ordinal-02">nd</term>
+    <term name="ordinal-03">rd</term>
+    <term name="ordinal-11">th</term>
+    <term name="ordinal-12">th</term>
+    <term name="ordinal-13">th</term>
+
+    <!-- LONG ORDINALS -->
+    <term name="long-ordinal-01">first</term>
+    <term name="long-ordinal-02">second</term>
+    <term name="long-ordinal-03">third</term>
+    <term name="long-ordinal-04">fourth</term>
+    <term name="long-ordinal-05">fifth</term>
+    <term name="long-ordinal-06">sixth</term>
+    <term name="long-ordinal-07">seventh</term>
+    <term name="long-ordinal-08">eighth</term>
+    <term name="long-ordinal-09">ninth</term>
+    <term name="long-ordinal-10">tenth</term>
+
+    <!-- LONG LOCATOR FORMS -->
+    <term name="book">
+      <single>book</single>
+      <multiple>books</multiple>
+    </term>
+    <term name="chapter">
+      <single>chapter</single>
+      <multiple>chapters</multiple>
+    </term>
+    <term name="column">
+      <single>column</single>
+      <multiple>columns</multiple>
+    </term>
+    <term name="figure">
+      <single>figure</single>
+      <multiple>figures</multiple>
+    </term>
+    <term name="folio">
+      <single>folio</single>
+      <multiple>folios</multiple>
+    </term>
+    <term name="issue">
+      <single>number</single>
+      <multiple>numbers</multiple>
+    </term>
+    <term name="line">
+      <single>reël</single>
+      <multiple>reëls</multiple>
+    </term>
+    <term name="note">
+      <single>note</single>
+      <multiple>notes</multiple>
+    </term>
+    <term name="opus">
+      <single>opus</single>
+      <multiple>opera</multiple>
+    </term>
+    <term name="page">
+      <single>bladsy</single>
+      <multiple>bladsye</multiple>
+    </term>
+    <term name="number-of-pages">
+      <single>bladsy</single>
+      <multiple>bladsye</multiple>
+    </term>
+    <term name="paragraph">
+      <single>paragraaf</single>
+      <multiple>paragrawe</multiple>
+    </term>
+    <term name="part">
+      <single>part</single>
+      <multiple>parts</multiple>
+    </term>
+    <term name="section">
+      <single>section</single>
+      <multiple>sections</multiple>
+    </term>
+    <term name="sub verbo">
+      <single>sub verbo</single>
+      <multiple>sub verbis</multiple>
+    </term>
+    <term name="verse">
+      <single>verse</single>
+      <multiple>verses</multiple>
+    </term>
+    <term name="volume">
+      <single>volume</single>
+      <multiple>volumes</multiple>
+    </term>
+
+    <!-- SHORT LOCATOR FORMS -->
+    <term name="book" form="short">bk</term>
+    <term name="chapter" form="short">chap</term>
+    <term name="column" form="short">col</term>
+    <term name="figure" form="short">fig</term>
+    <term name="folio" form="short">f</term>
+    <term name="issue" form="short">no</term>
+    <term name="line" form="short">l.</term>
+    <term name="note" form="short">n.</term>
+    <term name="opus" form="short">op</term>
+    <term name="page" form="short">
+      <single>bl</single>
+      <multiple>bll</multiple>
+    </term>
+    <term name="number-of-pages" form="short">
+      <single>bl</single>
+      <multiple>bll</multiple>
+    </term>
+    <term name="paragraph" form="short">para</term>
+    <term name="part" form="short">pt</term>
+    <term name="section" form="short">sec</term>
+    <term name="sub verbo" form="short">
+      <single>s.v.</single>
+      <multiple>s.vv.</multiple>
+    </term>
+    <term name="verse" form="short">
+      <single>v</single>
+      <multiple>vv</multiple>
+    </term>
+    <term name="volume" form="short">
+      <single>vol</single>
+      <multiple>vols</multiple>
+    </term>
+
+    <!-- SYMBOL LOCATOR FORMS -->
+    <term name="paragraph" form="symbol">
+      <single>¶</single>
+      <multiple>¶¶</multiple>
+    </term>
+    <term name="section" form="symbol">
+      <single>§</single>
+      <multiple>§§</multiple>
+    </term>
+
+    <!-- LONG ROLE FORMS -->
+    <term name="director">
+      <single>director</single>
+      <multiple>directors</multiple>
+    </term>
+    <term name="editor">
+      <single>redakteur</single>
+      <multiple>redakteurs</multiple>
+    </term>
+    <term name="editorial-director">
+      <single>editor</single>
+      <multiple>editors</multiple>
+    </term>
+    <term name="illustrator">
+      <single>illustrator</single>
+      <multiple>illustrators</multiple>
+    </term>
+    <term name="translator">
+      <single>vertaler</single>
+      <multiple>vertalers</multiple>
+    </term>
+    <term name="editortranslator">
+      <single>editor & translator</single>
+      <multiple>editors & translators</multiple>
+    </term>
+
+    <!-- SHORT ROLE FORMS -->
+    <term name="director" form="short">
+      <single>dir.</single>
+      <multiple>dirs.</multiple>
+    </term>
+    <term name="editor" form="short">
+      <single>red</single>
+      <multiple>reds</multiple>
+    </term>
+    <term name="editorial-director" form="short">
+      <single>ed.</single>
+      <multiple>eds.</multiple>
+    </term>
+    <term name="illustrator" form="short">
+      <single>ill.</single>
+      <multiple>ills.</multiple>
+    </term>
+    <term name="translator" form="short">
+      <single>vert</single>
+      <multiple>verts</multiple>
+    </term>
+    <term name="editortranslator" form="short">
+      <single>ed. & tran.</single>
+      <multiple>eds. & trans.</multiple>
+    </term>
+
+    <!-- VERB ROLE FORMS -->
+    <term name="container-author" form="verb">by</term>
+    <term name="director" form="verb">directed by</term>
+    <term name="editor" form="verb">onder redaksie van</term>
+    <term name="editorial-director" form="verb">edited by</term>
+    <term name="illustrator" form="verb">illustrated by</term>
+    <term name="interviewer" form="verb">interview by</term>
+    <term name="recipient" form="verb">to</term>
+    <term name="reviewed-author" form="verb">by</term>
+    <term name="translator" form="verb">vertaal deur</term>
+    <term name="editortranslator" form="verb">edited & translated by</term>
+
+    <!-- SHORT VERB ROLE FORMS -->
+    <term name="director" form="verb-short">dir.</term>
+    <term name="editor" form="verb-short">red</term>
+    <term name="editorial-director" form="verb-short">ed.</term>
+    <term name="illustrator" form="verb-short">illus.</term>
+    <term name="translator" form="verb-short">verts</term>
+    <term name="editortranslator" form="verb-short">ed. & trans. by</term>
+
+    <!-- LONG MONTH FORMS -->
+    <term name="month-01">Januarie</term>
+    <term name="month-02">Februarie</term>
+    <term name="month-03">Maart</term>
+    <term name="month-04">April</term>
+    <term name="month-05">Mei</term>
+    <term name="month-06">Junie</term>
+    <term name="month-07">Julie</term>
+    <term name="month-08">Augustus</term>
+    <term name="month-09">September</term>
+    <term name="month-10">Oktober</term>
+    <term name="month-11">November</term>
+    <term name="month-12">Desember</term>
+
+    <!-- SHORT MONTH FORMS -->
+    <term name="month-01" form="short">Jan</term>
+    <term name="month-02" form="short">Feb</term>
+    <term name="month-03" form="short">Mrt</term>
+    <term name="month-04" form="short">Apr</term>
+    <term name="month-05" form="short">Mei</term>
+    <term name="month-06" form="short">Jun</term>
+    <term name="month-07" form="short">Jul</term>
+    <term name="month-08" form="short">Aug</term>
+    <term name="month-09" form="short">Sep</term>
+    <term name="month-10" form="short">Okt</term>
+    <term name="month-11" form="short">Nov</term>
+    <term name="month-12" form="short">Des</term>
+
+    <!-- SEASONS -->
+    <term name="season-01">Spring</term>
+    <term name="season-02">Summer</term>
+    <term name="season-03">Autumn</term>
+    <term name="season-04">Winter</term>
+  </terms>
+</locale>

Added: trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-ar.xml
===================================================================
--- trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-ar.xml	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-ar.xml	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,253 @@
+<?xml version="1.0" encoding="utf-8"?>
+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="ar">
+  <info>
+    <translator>
+      <name>abdealikhurrum</name>
+    </translator>
+    <translator>
+      <name>Dr. Ayman Saleh</name>
+    </translator>
+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
+    <updated>2017-12-29T16:29:13+01:00</updated>
+  </info>
+  <style-options punctuation-in-quote="false"/>
+  <date form="text">
+    <date-part name="day" suffix=" "/>
+    <date-part name="month" suffix="، "/>
+    <date-part name="year"/>
+  </date>
+  <date form="numeric">
+    <date-part name="day" suffix="/"/>
+    <date-part name="month" form="numeric" suffix="/"/>
+    <date-part name="year"/>
+  </date>
+  <terms>
+    <term name="accessed">تاريخ الوصول</term>
+    <term name="and">و</term>
+    <term name="and others">وآخرون</term>
+    <term name="anonymous">مجهول</term>
+    <term name="anonymous" form="short">مجهول</term>
+    <term name="at">عند</term>
+    <term name="available at">موجود في</term>
+    <term name="by">عن طريق</term>
+    <term name="circa">حوالي</term>
+    <term name="circa" form="short">حوالي</term>
+    <term name="cited">وثق</term>
+    <term name="edition">
+      <single>الطبعة</single>
+      <multiple>الطبعات</multiple>
+    </term>
+    <term name="edition" form="short">ط</term>
+    <term name="et-al">وآخرون</term>
+    <term name="forthcoming">التالي</term>
+    <term name="from">من</term>
+    <term name="ibid">المرجع السابق</term>
+    <term name="in">في</term>
+    <term name="in press">قيد النشر</term>
+    <term name="internet">انترنت</term>
+    <term name="interview">مقابلة</term>
+    <term name="letter">خطاب</term>
+    <term name="no date">دون تاريخ</term>
+    <term name="no date" form="short">د.ت</term>
+    <term name="online">مباشر على الإنترنت</term>
+    <term name="presented at">قُدَّم في</term>
+    <term name="reference">
+      <single>مرجع</single>
+      <multiple>مراجع</multiple>
+    </term>
+    <term name="reference" form="short">
+      <single>مرجع</single>
+      <multiple>مراجع</multiple>
+    </term>
+    <term name="retrieved">استرجع في</term>
+    <term name="scale">السلم الموسيقي</term>
+    <term name="version">إصدار</term>
+
+    <!-- ANNO DOMINI; BEFORE CHRIST -->
+    <term name="ad">ب.م.</term>
+    <term name="bc">ق.م.</term>
+
+    <!-- PUNCTUATION -->
+    <term name="open-quote">"</term>
+    <term name="close-quote">"</term>
+    <term name="open-inner-quote">'</term>
+    <term name="close-inner-quote">'</term>
+    <term name="page-range-delimiter">–</term>
+
+    <!-- ORDINALS -->
+    <term name="ordinal"></term>
+
+    <!-- LONG ORDINALS -->
+    <term name="long-ordinal-01">الأول</term>
+    <term name="long-ordinal-02">الثاني</term>
+    <term name="long-ordinal-03">الثالث</term>
+    <term name="long-ordinal-04">الرابع</term>
+    <term name="long-ordinal-05">الخامس</term>
+    <term name="long-ordinal-06">السادس</term>
+    <term name="long-ordinal-07">السابع</term>
+    <term name="long-ordinal-08">الثامن</term>
+    <term name="long-ordinal-09">التاسع</term>
+    <term name="long-ordinal-10">العاشر</term>
+
+    <!-- LONG LOCATOR FORMS -->
+    <term name="book">
+      <single>كتاب</single>
+      <multiple>كتب</multiple>
+    </term>
+    <term name="chapter">
+      <single>فصل</single>
+      <multiple>فصول</multiple>
+    </term>
+    <term name="column">
+      <single>عمود</single>
+      <multiple>أعمدة</multiple>
+    </term>
+    <term name="figure">
+      <single>رسم توضيحي</single>
+      <multiple>رسوم توضيحية</multiple>
+    </term>
+    <term name="folio">
+      <single>ورقة</single>
+      <multiple>أوراق</multiple>
+    </term>
+    <term name="issue">
+      <single>عدد</single>
+      <multiple>أعداد</multiple>
+    </term>
+    <term name="line">
+      <single>سطر</single>
+      <multiple>أسطر</multiple>
+    </term>
+    <term name="note">
+      <single>ملاحظة</single>
+      <multiple>ملاحظات</multiple>
+    </term>
+    <term name="opus">
+      <single>نوته موسيقية</single>
+      <multiple>نوتات موسيقية</multiple>
+    </term>
+    <term name="page">
+      <single>صفحة</single>
+      <multiple>صفحات</multiple>
+    </term>
+    <term name="number-of-pages">
+      <single>صفحة</single>
+      <multiple>صفحات</multiple>
+    </term>
+    <term name="paragraph">
+      <single>فقرة</single>
+      <multiple>فقرات</multiple>
+    </term>
+    <term name="part">
+      <single>جزء</single>
+      <multiple>أجزاء</multiple>
+    </term>
+    <term name="section">
+      <single>قسم</single>
+      <multiple>أقسام</multiple>
+    </term>
+    <term name="sub verbo">
+      <single>تفسير فرعي</single>
+      <multiple>تفسيرات فرعية</multiple>
+    </term>
+    <term name="verse">
+      <single>بيت شعر</single>
+      <multiple>أبيات شعر</multiple>
+    </term>
+    <term name="volume">
+      <single>مجلد</single>
+      <multiple>مجلدات</multiple>
+    </term>
+
+    <!-- SHORT LOCATOR FORMS -->
+    <term name="book" form="short">كتاب</term>
+    <term name="chapter" form="short">فصل</term>
+    <term name="column" form="short">عمود</term>
+    <term name="figure" form="short">رسم توضيحي</term>
+    <term name="folio" form="short">مطوية</term>
+    <term name="issue" form="short">عدد</term>
+    <term name="line" form="short">سـ</term>
+    <term name="note" form="short">ملاحظة</term>
+    <term name="opus" form="short">نوتة موسيقية</term>
+    <term name="page" form="short">
+      <single>ص</single>
+      <multiple>ص</multiple>
+    </term>
+    <term name="number-of-pages" form="short">
+      <single>ص</single>
+      <multiple>ص</multiple>
+    </term>
+    <term name="paragraph" form="short">فقرة</term>
+    <term name="part" form="short">ج</term>
+    <term name="section" form="short">قسم</term>
+    <term name="sub verbo" form="short">
+      <single>تفسير فرعي</single>
+      <multiple>تفسيرات فرعية</multiple>
+    </term>
+    <term name="verse" form="short">
+      <single>بيت شعر</single>
+      <multiple>أبيات شعر</multiple>
+    </term>
+    <term name="volume" form="short">
+      <single>م</single>
+      <multiple>م</multiple>
+    </term>
+
+    <!-- SYMBOL LOCATOR FORMS -->
+    <term name="paragraph" form="symbol">
+      <single>¶</single>
+      <multiple>¶¶</multiple>
+    </term>
+    <term name="section" form="symbol">
+      <single>§</single>
+      <multiple>§§</multiple>
+    </term>
+
+    <!-- LONG ROLE FORMS -->
+    <term name="director">إدارة</term>
+    <term name="editor">تحقيق</term>
+    <term name="editorial-director">إدارة التحرير</term>
+    <term name="illustrator">رسوم</term>
+    <term name="translator">ترجمة</term>
+    <term name="editortranslator">ترجمة وتحقيق</term>
+
+    <!-- SHORT ROLE FORMS -->
+
+    <!-- VERB ROLE FORMS -->
+    <term name="container-author" form="verb">إنشاء</term>
+    <term name="director" form="verb">إشراف</term>
+    <term name="editor" form="verb">تحقيق</term>
+    <term name="editorial-director" form="verb">إعداد</term>
+    <term name="illustrator" form="verb">رسوم</term>
+    <term name="interviewer" form="verb">مقابلة مع</term>
+    <term name="recipient" form="verb">المستلم</term>
+    <term name="reviewed-author" form="verb">مراجعة</term>
+    <term name="translator" form="verb">ترجمة</term>
+    <term name="editortranslator" form="verb">تحقيق وترجمة</term>
+
+    <!-- SHORT VERB ROLE FORMS -->
+ 
+    <!-- LONG MONTH FORMS -->
+    <term name="month-01">يناير</term>
+    <term name="month-02">فبراير</term>
+    <term name="month-03">مارس</term>
+    <term name="month-04">أبريل</term>
+    <term name="month-05">مايو</term>
+    <term name="month-06">يونيو</term>
+    <term name="month-07">يوليو</term>
+    <term name="month-08">أغسطس</term>
+    <term name="month-09">سبتمبر</term>
+    <term name="month-10">أكتوبر</term>
+    <term name="month-11">نوفمبر</term>
+    <term name="month-12">ديسمبر</term>
+
+    <!-- SHORT MONTH FORMS -->
+
+
+    <!-- SEASONS -->
+    <term name="season-01">ربيع</term>
+    <term name="season-02">صيف</term>
+    <term name="season-03">خريف</term>
+    <term name="season-04">شتاء</term>
+  </terms>
+</locale>

Added: trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-bg-BG.xml
===================================================================
--- trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-bg-BG.xml	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-bg-BG.xml	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,324 @@
+<?xml version="1.0" encoding="utf-8"?>
+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="bg-BG">
+  <info>
+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
+    <updated>2019-01-23T08:34:57-05:00</updated>
+    <translator>
+      <name>Valeriya Simeonova</name>
+      <email>simeonova at fmi.uni-sofia.bg</email>
+      <uri>http://www.mendeley.com/profiles/valeriya-simeonova/</uri>
+    </translator>
+  </info>
+  <style-options punctuation-in-quote="false"/>
+  <date form="text">
+    <date-part name="day" form="numeric-leading-zeros" suffix=" "/>
+    <date-part name="month" suffix=" "/>
+    <date-part name="year"/>
+  </date>
+  <date form="numeric">
+    <date-part name="day" form="numeric-leading-zeros" suffix="."/>
+    <date-part name="month" form="numeric-leading-zeros" suffix="."/>
+    <date-part name="year"/>
+  </date>
+  <terms>
+    <term name="accessed">отворен на</term>
+    <term name="and">и</term>
+    <term name="and others">и други</term>
+    <term name="anonymous">анонимен</term>
+    <term name="anonymous" form="short">анон.</term>
+    <term name="at">в</term>
+    <term name="available at">достъпен на</term>
+    <term name="by">от</term>
+    <term name="circa">около</term>
+    <term name="circa" form="short">ок.</term>
+    <term name="cited">цитиран</term>
+    <term name="edition">
+      <single>издание</single>
+      <multiple>издания</multiple>
+    </term>
+    <term name="edition" form="short">изд.</term>
+    <term name="et-al">и съавт.</term>
+    <term name="forthcoming">предстоящ</term>
+    <term name="from">от</term>
+    <term name="ibid">пак там</term>
+    <term name="in">в</term>
+    <term name="in press">под печат</term>
+    <term name="internet">интернет</term>
+    <term name="interview">интервю</term>
+    <term name="letter">писмо</term>
+    <term name="no date">без дата</term>
+    <term name="no date" form="short">б.д.</term>
+    <term name="online">онлайн</term>
+    <term name="presented at">представен на</term>
+    <term name="reference">
+      <single>източник</single>
+      <multiple>източници</multiple>
+    </term>
+    <term name="reference" form="short">
+      <single>изт.</single>
+      <multiple>изт.</multiple>
+    </term>
+    <term name="retrieved">изтеглен на</term>
+    <term name="scale">скала</term>
+    <term name="version">версия</term>
+
+    <!-- ANNO DOMINI; BEFORE CHRIST -->
+    <term name="ad">сл.хр.</term>
+    <term name="bc">пр.хр.</term>
+
+    <!-- PUNCTUATION -->
+    <term name="open-quote">„</term>
+    <term name="close-quote">“</term>
+    <term name="open-inner-quote">„</term>
+    <term name="close-inner-quote">“</term>
+    <term name="page-range-delimiter">–</term>
+
+    <!-- ORDINALS -->
+    <term name="ordinal">то</term>
+    <term name="ordinal-01">во</term>
+    <term name="ordinal-02">ро</term>
+    <term name="ordinal-03">то</term>
+    <term name="ordinal-21">во</term>
+    <term name="ordinal-22">ро</term>
+    <term name="ordinal-33">то</term>
+    <term name="ordinal" gender-form="masculine">ти</term>
+    <term name="ordinal-01" gender-form="masculine">ви</term>
+    <term name="ordinal-02" gender-form="masculine">ри</term>
+    <term name="ordinal-03" gender-form="masculine">ти</term>
+    <term name="ordinal-21" gender-form="masculine">ви</term>
+    <term name="ordinal-22" gender-form="masculine">ри</term>
+    <term name="ordinal-33" gender-form="masculine">ти</term>
+    <term name="ordinal" gender-form="feminine">та</term>
+    <term name="ordinal-01" gender-form="feminine">ва</term>
+    <term name="ordinal-02" gender-form="feminine">ра</term>
+    <term name="ordinal-03" gender-form="feminine">та</term>
+    <term name="ordinal-21" gender-form="feminine">ва</term>
+    <term name="ordinal-22" gender-form="feminine">ра</term>
+    <term name="ordinal-33" gender-form="feminine">та</term>
+
+    <!-- LONG ORDINALS -->
+    <term name="long-ordinal-01">първo</term>
+    <term name="long-ordinal-02">вторo</term>
+    <term name="long-ordinal-03">третo</term>
+    <term name="long-ordinal-04">четвъртo</term>
+    <term name="long-ordinal-05">петo</term>
+    <term name="long-ordinal-06">шестo</term>
+    <term name="long-ordinal-07">седмo</term>
+    <term name="long-ordinal-08">осмo</term>
+    <term name="long-ordinal-09">деветo</term>
+    <term name="long-ordinal-10">десетo</term>
+    <term name="long-ordinal-01" gender-form="masculine">първи</term>
+    <term name="long-ordinal-02" gender-form="masculine">втори</term>
+    <term name="long-ordinal-03" gender-form="masculine">трети</term>
+    <term name="long-ordinal-04" gender-form="masculine">четверти</term>
+    <term name="long-ordinal-05" gender-form="masculine">пети</term>
+    <term name="long-ordinal-06" gender-form="masculine">шести</term>
+    <term name="long-ordinal-07" gender-form="masculine">седми</term>
+    <term name="long-ordinal-08" gender-form="masculine">осми</term>
+    <term name="long-ordinal-09" gender-form="masculine">девети</term>
+    <term name="long-ordinal-10" gender-form="masculine">десети</term>
+    <term name="long-ordinal-01" gender-form="feminine">първа</term>
+    <term name="long-ordinal-02" gender-form="feminine">втора</term>
+    <term name="long-ordinal-03" gender-form="feminine">трета</term>
+    <term name="long-ordinal-04" gender-form="feminine">четверта</term>
+    <term name="long-ordinal-05" gender-form="feminine">пета</term>
+    <term name="long-ordinal-06" gender-form="feminine">шеста</term>
+    <term name="long-ordinal-07" gender-form="feminine">седма</term>
+    <term name="long-ordinal-08" gender-form="feminine">осма</term>
+    <term name="long-ordinal-09" gender-form="feminine">девета</term>
+    <term name="long-ordinal-10" gender-form="feminine">десета</term>
+
+    <!-- LONG LOCATOR FORMS -->
+    <term name="book">
+      <single>книга</single>
+      <multiple>книги</multiple>
+    </term>
+    <term name="chapter">
+      <single>глава</single>
+      <multiple>глави</multiple>
+    </term>
+    <term name="column">
+      <single>колона</single>
+      <multiple>колони</multiple>
+    </term>
+    <term name="figure">
+      <single>фигура</single>
+      <multiple>фигури</multiple>
+    </term>
+    <term name="folio">
+      <single>фолио</single>
+      <multiple>фолия</multiple>
+    </term>
+    <term name="issue">
+      <single>брой</single>
+      <multiple>броеве</multiple>
+    </term>
+    <term name="line">
+      <single>ред</single>
+      <multiple>редове</multiple>
+    </term>
+    <term name="note">
+      <single>бележка</single>
+      <multiple>бележки</multiple>
+    </term>
+    <term name="opus">
+      <single>опус</single>
+      <multiple>опуси</multiple>
+    </term>
+    <term name="page">
+      <single>страница</single>
+      <multiple>страници</multiple>
+    </term>
+    <term name="number-of-pages">брой страници</term>
+    <term name="paragraph">
+      <single>абзац</single>
+      <multiple>абзаци</multiple>
+    </term>
+    <term name="part">
+      <single>част</single>
+      <multiple>части</multiple>
+    </term>
+    <term name="section">
+      <single>раздел</single>
+      <multiple>раздели</multiple>
+    </term>
+    <term name="sub verbo">
+      <single>под раздел</single>
+      <multiple>под раздели</multiple>
+    </term>
+    <term name="verse">
+      <single>стихотворение</single>
+      <multiple>стихове</multiple>
+    </term>
+    <term name="volume">
+      <single>том</single>
+      <multiple>томове</multiple>
+    </term>
+
+    <!-- SHORT LOCATOR FORMS -->
+    <term name="book" form="short">кн.</term>
+    <term name="chapter" form="short">гл.</term>
+    <term name="column" form="short">кол.</term>
+    <term name="figure" form="short">фиг.</term>
+    <term name="folio" form="short">фол.</term>
+    <term name="issue" form="short">бр.</term>
+    <term name="line" form="short">р.</term>
+    <term name="note" form="short">бел.</term>
+    <term name="opus" form="short">оп.</term>
+    <term name="page" form="short">стр.</term>
+    <term name="number-of-pages" form="short">бр.стр.</term>
+    <term name="paragraph" form="short">абз.</term>
+    <term name="part" form="short">ч.</term>
+    <term name="section" form="short">разд.</term>
+    <term name="sub verbo" form="short">подразд.</term>
+    <term name="verse" form="short">ст.</term>
+    <term name="volume" form="short">
+      <single>том</single>
+      <multiple>томове</multiple>
+    </term>
+
+    <!-- SYMBOL LOCATOR FORMS -->
+    <term name="paragraph" form="symbol">
+      <single>¶</single>
+      <multiple>¶¶</multiple>
+    </term>
+    <term name="section" form="symbol">
+      <single>§</single>
+      <multiple>§§</multiple>
+    </term>
+
+    <!-- LONG ROLE FORMS -->
+    <term name="director">режисьор</term>
+    <term name="editor">
+      <single>редактор</single>
+      <multiple>редактори</multiple>
+    </term>
+    <term name="editorial-director">
+      <single>главен редактор</single>
+      <multiple>редакторски колектив</multiple>
+    </term>
+    <term name="illustrator">илюстрации</term>
+    <term name="translator">
+      <single>преводач</single>
+      <multiple>преводачи</multiple>
+    </term>
+    <term name="editortranslator">
+      <single>editor & translator</single>
+      <multiple>editors & translators</multiple>
+    </term>
+
+    <!-- SHORT ROLE FORMS -->
+    <term name="director" form="short">реж.</term>
+    <term name="editor" form="short">
+      <single>ред.</single>
+      <multiple>ред.кол.</multiple>
+    </term>
+    <term name="editorial-director" form="short">
+      <single>гл.ред.</single>
+      <multiple>гл.ред.кол.</multiple>
+    </term>
+    <term name="illustrator" form="short">ил.</term>
+    <term name="translator" form="short">
+      <single>прев</single>
+      <multiple>прев.кол.</multiple>
+    </term>
+    <term name="editortranslator" form="short">
+      <single>ред. & прев.</single>
+      <multiple>ред.кол. & прев.</multiple>
+    </term>
+
+    <!-- VERB ROLE FORMS -->
+    <term name="container-author" form="verb">от</term>
+    <term name="director" form="verb">под общата редакция на</term>
+    <term name="editor" form="verb">редактиран от</term>
+    <term name="editorial-director" form="verb">главен редактор</term>
+    <term name="illustrator" form="verb">илюстрации от</term>
+    <term name="interviewer" form="verb">интервюиран от</term>
+    <term name="recipient" form="verb">до</term>
+    <term name="reviewed-author" form="verb">рецензент</term>
+    <term name="translator" form="verb">преведен от</term>
+    <term name="editortranslator" form="verb">редактирано & преведено от</term>
+
+    <!-- SHORT VERB ROLE FORMS -->
+    <term name="director" form="verb-short">п.о.р.</term>
+    <term name="editor" form="verb-short">ред.</term>
+    <term name="editorial-director" form="verb-short">гл.ред.</term>
+    <term name="illustrator" form="verb-short">ил.</term>
+    <term name="translator" form="verb-short">прев.</term>
+    <term name="editortranslator" form="verb-short">ред. & прев. от</term>
+
+    <!-- LONG MONTH FORMS -->
+    <term name="month-01">Януари</term>
+    <term name="month-02">Февруари</term>
+    <term name="month-03">Март</term>
+    <term name="month-04">Април</term>
+    <term name="month-05">Май</term>
+    <term name="month-06">Юни</term>
+    <term name="month-07">Юли</term>
+    <term name="month-08">Август</term>
+    <term name="month-09">Септември</term>
+    <term name="month-10">Октомври</term>
+    <term name="month-11">Ноември</term>
+    <term name="month-12">Декември</term>
+
+    <!-- SHORT MONTH FORMS -->
+    <term name="month-01" form="short">Яну</term>
+    <term name="month-02" form="short">Фев</term>
+    <term name="month-03" form="short">Мар</term>
+    <term name="month-04" form="short">Апр</term>
+    <term name="month-05" form="short">Май</term>
+    <term name="month-06" form="short">Юни</term>
+    <term name="month-07" form="short">Юли</term>
+    <term name="month-08" form="short">Авг</term>
+    <term name="month-09" form="short">Сеп</term>
+    <term name="month-10" form="short">Окт</term>
+    <term name="month-11" form="short">Ное</term>
+    <term name="month-12" form="short">Дек</term>
+
+    <!-- SEASONS -->
+    <term name="season-01">Пролет</term>
+    <term name="season-02">Лято</term>
+    <term name="season-03">Есен</term>
+    <term name="season-04">Зима</term>
+  </terms>
+</locale>

Added: trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-ca-AD.xml
===================================================================
--- trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-ca-AD.xml	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-ca-AD.xml	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,312 @@
+<?xml version="1.0" encoding="utf-8"?>
+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="ca-AD">
+  <info>
+    <translator>
+      <name>anidal</name>
+    </translator>
+    <translator>
+      <name>javimat</name>
+    </translator>
+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
+    <updated>2017-12-29T16:29:13+01:00</updated>
+  </info>
+  <style-options punctuation-in-quote="false"/>
+  <date form="text">
+    <date-part name="day" suffix=" "/>
+    <date-part name="month" suffix=" "/>
+    <date-part name="year"/>
+  </date>
+  <date form="numeric">
+    <date-part name="day" form="numeric-leading-zeros" suffix="/"/>
+    <date-part name="month" form="numeric-leading-zeros" suffix="/"/>
+    <date-part name="year"/>
+  </date>
+  <terms>
+    <term name="accessed">consulta</term>
+    <term name="and">i</term>
+    <term name="and others">i altres</term>
+    <term name="anonymous">anònim</term>
+    <term name="anonymous" form="short">anòn.</term>
+    <term name="at">a</term>
+    <term name="available at">disponible a</term>
+    <term name="by">per</term>
+    <term name="circa">circa</term>
+    <term name="circa" form="short">c.</term>
+    <term name="cited">citat</term>
+    <term name="edition">
+      <single>edició</single>
+      <multiple>edicions</multiple>
+    </term>
+    <term name="edition" form="short">ed.</term>
+    <term name="et-al">et al.</term>
+    <term name="forthcoming">previst</term>
+    <term name="from">de</term>
+    <term name="ibid">ibíd.</term>
+    <term name="in">en</term>
+    <term name="in press">en impremta</term>
+    <term name="internet">internet</term>
+    <term name="interview">entrevista</term>
+    <term name="letter">carta</term>
+    <term name="no date">sense data</term>
+    <term name="no date" form="short">s.d.</term>
+    <term name="online">en línia</term>
+    <term name="presented at">presentat a</term>
+    <term name="reference">
+      <single>referència</single>
+      <multiple>referències</multiple>
+    </term>
+    <term name="reference" form="short">
+      <single>ref.</single>
+      <multiple>ref.</multiple>
+    </term>
+    <term name="retrieved">recuperat</term>
+    <term name="scale">escala</term>
+    <term name="version">versió</term>
+
+    <!-- ANNO DOMINI; BEFORE CHRIST -->
+    <term name="ad">dC</term>
+    <term name="bc">aC</term>
+
+    <!-- PUNCTUATION -->
+    <term name="open-quote">«</term>
+    <term name="close-quote">»</term>
+    <term name="open-inner-quote">“</term>
+    <term name="close-inner-quote">”</term>
+    <term name="page-range-delimiter">-</term>
+
+    <!-- ORDINALS -->
+    <term name="ordinal">a</term>
+
+    <!-- LONG ORDINALS -->
+    <term name="long-ordinal-01">primera</term>
+    <term name="long-ordinal-02">segona</term>
+    <term name="long-ordinal-03">tercera</term>
+    <term name="long-ordinal-04">quarta</term>
+    <term name="long-ordinal-05">cinquena</term>
+    <term name="long-ordinal-06">sisena</term>
+    <term name="long-ordinal-07">setena</term>
+    <term name="long-ordinal-08">vuitena</term>
+    <term name="long-ordinal-09">novena</term>
+    <term name="long-ordinal-10">desena</term>
+
+    <!-- LONG LOCATOR FORMS -->
+    <term name="book">
+      <single>llibre</single>
+      <multiple>llibres</multiple>
+    </term>
+    <term name="chapter">
+      <single>capítol</single>
+      <multiple>capítols</multiple>
+    </term>
+    <term name="column">
+      <single>columna</single>
+      <multiple>columnes</multiple>
+    </term>
+    <term name="figure">
+      <single>figura</single>
+      <multiple>figures</multiple>
+    </term>
+    <term name="folio">
+      <single>foli</single>
+      <multiple>folis</multiple>
+    </term>
+    <term name="issue">
+      <single>número</single>
+      <multiple>números</multiple>
+    </term>
+    <term name="line">
+      <single>línia</single>
+      <multiple>línies</multiple>
+    </term>
+    <term name="note">
+      <single>nota</single>
+      <multiple>notes</multiple>
+    </term>
+    <term name="opus">
+      <single>opus</single>
+      <multiple>opera</multiple>
+    </term>
+    <term name="page">
+      <single>pàgina</single>
+      <multiple>pàgines</multiple>
+    </term>
+    <term name="number-of-pages">
+      <single>pàgina</single>
+      <multiple>pàgines</multiple>
+    </term>
+    <term name="paragraph">
+      <single>paràgraf</single>
+      <multiple>paràgrafs</multiple>
+    </term>
+    <term name="part">
+      <single>part</single>
+      <multiple>parts</multiple>
+    </term>
+    <term name="section">
+      <single>secció</single>
+      <multiple>seccions</multiple>
+    </term>
+    <term name="sub verbo">
+      <single>sub voce</single>
+      <multiple>sub vocibus</multiple>
+    </term>
+    <term name="verse">
+      <single>vers</single>
+      <multiple>versos</multiple>
+    </term>
+    <term name="volume">
+      <single>volum</single>
+      <multiple>volums</multiple>
+    </term>
+
+    <!-- SHORT LOCATOR FORMS -->
+    <term name="book" form="short">llib.</term>
+    <term name="chapter" form="short">cap.</term>
+    <term name="column" form="short">col.</term>
+    <term name="figure" form="short">fig.</term>
+    <term name="folio" form="short">f.</term>
+    <term name="issue" form="short">núm.</term>
+    <term name="line" form="short">l.</term>
+    <term name="note" form="short">n.</term>
+    <term name="opus" form="short">op.</term>
+    <term name="page" form="short">
+      <single>p.</single>
+      <multiple>p.</multiple>
+    </term>
+    <term name="number-of-pages" form="short">
+      <single>p.</single>
+      <multiple>p.</multiple>
+    </term>
+    <term name="paragraph" form="short">par.</term>
+    <term name="part" form="short">pt.</term>
+    <term name="section" form="short">sec.</term>
+    <term name="sub verbo" form="short">
+      <single>s.v.</single>
+      <multiple>s.v.</multiple>
+    </term>
+    <term name="verse" form="short">
+      <single>v.</single>
+      <multiple>v.</multiple>
+    </term>
+    <term name="volume" form="short">
+      <single>vol.</single>
+      <multiple>vol.</multiple>
+    </term>
+
+    <!-- SYMBOL LOCATOR FORMS -->
+    <term name="paragraph" form="symbol">
+      <single>§</single>
+      <multiple>§</multiple>
+    </term>
+    <term name="section" form="symbol">
+      <single>§</single>
+      <multiple>§</multiple>
+    </term>
+
+    <!-- LONG ROLE FORMS -->
+    <term name="director">
+      <single>director</single>
+      <multiple>directors</multiple>
+    </term>
+    <term name="editor">
+      <single>editor</single>
+      <multiple>editors</multiple>
+    </term>
+    <term name="editorial-director">
+      <single>editor</single>
+      <multiple>editors</multiple>
+    </term>
+    <term name="illustrator">
+      <single>il·lustrador</single>
+      <multiple>il·lustradors</multiple>
+    </term>
+    <term name="translator">
+      <single>traductor</single>
+      <multiple>traductors</multiple>
+    </term>
+    <term name="editortranslator">
+      <single>editor i traductor</single>
+      <multiple>editors i traductors</multiple>
+    </term>
+
+    <!-- SHORT ROLE FORMS -->
+    <term name="director" form="short">
+      <single>dir.</single>
+      <multiple>dir.</multiple>
+    </term>
+    <term name="editor" form="short">
+      <single>ed.</single>
+      <multiple>ed.</multiple>
+    </term>
+    <term name="editorial-director" form="short">
+      <single>ed.</single>
+      <multiple>ed.</multiple>
+    </term>
+    <term name="illustrator" form="short">
+      <single>il·lust.</single>
+      <multiple>il·lust.</multiple>
+    </term>
+    <term name="translator" form="short">
+      <single>trad.</single>
+      <multiple>trad.</multiple>
+    </term>
+    <term name="editortranslator" form="short">
+      <single>ed. i trad.</single>
+      <multiple>ed. i trad.</multiple>
+    </term>
+
+    <!-- VERB ROLE FORMS -->
+    <term name="container-author" form="verb">per</term>
+    <term name="director" form="verb">dirigit per</term>
+    <term name="editor" form="verb">editat per</term>
+    <term name="editorial-director" form="verb">editat per</term>
+    <term name="illustrator" form="verb">il·lustrat per</term>
+    <term name="interviewer" form="verb">entrevistat per</term>
+    <term name="recipient" form="verb">a</term>
+    <term name="reviewed-author" form="verb">per</term>
+    <term name="translator" form="verb">traduït per</term>
+    <term name="editortranslator" form="verb">editat i traduït per</term>
+
+    <!-- SHORT VERB ROLE FORMS -->
+    <term name="director" form="verb-short">dir.</term>
+    <term name="editor" form="verb-short">ed.</term>
+    <term name="editorial-director" form="verb-short">ed.</term>
+    <term name="illustrator" form="verb-short">il·lust.</term>
+    <term name="translator" form="verb-short">trad.</term>
+    <term name="editortranslator" form="verb-short">ed. i trad. per</term>
+
+    <!-- LONG MONTH FORMS -->
+    <term name="month-01">gener</term>
+    <term name="month-02">febrer</term>
+    <term name="month-03">març</term>
+    <term name="month-04">abril</term>
+    <term name="month-05">maig</term>
+    <term name="month-06">juny</term>
+    <term name="month-07">juliol</term>
+    <term name="month-08">agost</term>
+    <term name="month-09">setembre</term>
+    <term name="month-10">octubre</term>
+    <term name="month-11">novembre</term>
+    <term name="month-12">desembre</term>
+
+    <!-- SHORT MONTH FORMS -->
+    <term name="month-01" form="short">gen.</term>
+    <term name="month-02" form="short">feb.</term>
+    <term name="month-03" form="short">març</term>
+    <term name="month-04" form="short">abr.</term>
+    <term name="month-05" form="short">maig</term>
+    <term name="month-06" form="short">juny</term>
+    <term name="month-07" form="short">jul.</term>
+    <term name="month-08" form="short">ago.</term>
+    <term name="month-09" form="short">set.</term>
+    <term name="month-10" form="short">oct.</term>
+    <term name="month-11" form="short">nov.</term>
+    <term name="month-12" form="short">des.</term>
+
+    <!-- SEASONS -->
+    <term name="season-01">primavera</term>
+    <term name="season-02">estiu</term>
+    <term name="season-03">tardor</term>
+    <term name="season-04">hivern</term>
+  </terms>
+</locale>

Added: trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-cs-CZ.xml
===================================================================
--- trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-cs-CZ.xml	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-cs-CZ.xml	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,319 @@
+<?xml version="1.0" encoding="utf-8"?>
+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="cs-CZ">
+  <info>
+    <translator>
+      <name>nosaal</name>
+    </translator>
+    <translator>
+      <name>Andrew Dunning</name>
+    </translator>
+    <translator>
+      <name>libora</name>
+    </translator>
+    <translator>
+      <name>Michal Hoftich</name>
+    </translator>
+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
+    <updated>2017-12-29T16:29:13+01:00</updated>
+  </info>
+  <style-options punctuation-in-quote="false"/>
+  <date form="text">
+    <date-part name="day" form="ordinal" suffix=" "/>
+    <date-part name="month" suffix=" "/>
+    <date-part name="year"/>
+  </date>
+  <date form="numeric">
+    <date-part name="day" form="numeric" suffix=". " range-delimiter="-"/>
+    <date-part name="month" form="numeric" suffix=". " range-delimiter="-"/>
+    <date-part name="year" range-delimiter="-"/>
+  </date>
+  <terms>
+    <term name="accessed">viděno</term>
+    <term name="accessed" form="short">vid.</term>
+    <term name="and">a</term>
+    <term name="and others">a další</term>
+    <term name="anonymous">anonym</term>
+    <term name="anonymous" form="short">anon.</term>
+    <term name="at">v</term>
+    <term name="available at">dostupné z</term>
+    <term name="by">od</term>
+    <term name="circa">asi</term>
+    <term name="circa" form="short">cca.</term>
+    <term name="cited">citován</term>
+    <term name="edition">
+      <single>vydání</single>
+      <multiple>vydání</multiple>
+    </term>
+    <term name="edition" form="short">vyd.</term>
+    <term name="et-al">et al.</term>
+    <term name="forthcoming">nadcházející</term>
+    <term name="from">z</term>
+    <term name="ibid">ibid.</term>
+    <term name="in">in</term>
+    <term name="in press">v tisku</term>
+    <term name="internet">internet</term>
+    <term name="interview">interview</term>
+    <term name="letter">dopis</term>
+    <term name="no date">nedatováno</term>
+    <term name="no date" form="short">b.r.</term>
+    <term name="online">online</term>
+    <term name="presented at">prezentováno v</term>
+    <term name="reference">
+      <single>reference</single>
+      <multiple>reference</multiple>
+    </term>
+    <term name="reference" form="short">
+      <single>ref.</single>
+      <multiple>ref.</multiple>
+    </term>
+    <term name="retrieved">získáno</term>
+    <term name="scale">měřítko</term>
+    <term name="version">verze</term>
+
+    <!-- ANNO DOMINI; BEFORE CHRIST -->
+    <term name="ad">n. l.</term>
+    <term name="bc">př. n. l.</term>
+
+    <!-- PUNCTUATION -->
+    <term name="open-quote">„</term>
+    <term name="close-quote">"</term>
+    <term name="open-inner-quote">‚</term>
+    <term name="close-inner-quote">´</term>
+    <term name="page-range-delimiter">–</term>
+
+    <!-- ORDINALS -->
+    <term name="ordinal">.</term>
+
+    <!-- LONG ORDINALS -->
+    <term name="long-ordinal-01">první</term>
+    <term name="long-ordinal-02">druhé</term>
+    <term name="long-ordinal-03">třetí</term>
+    <term name="long-ordinal-04">čtvrté</term>
+    <term name="long-ordinal-05">páté</term>
+    <term name="long-ordinal-06">šesté</term>
+    <term name="long-ordinal-07">sedmé</term>
+    <term name="long-ordinal-08">osmé</term>
+    <term name="long-ordinal-09">deváté</term>
+    <term name="long-ordinal-10">desáté</term>
+
+    <!-- LONG LOCATOR FORMS -->
+    <term name="book">
+      <single>kniha</single>
+      <multiple>knihy</multiple>
+    </term>
+    <term name="chapter">
+      <single>kapitola</single>
+      <multiple>kapitoly</multiple>
+    </term>
+    <term name="column">
+      <single>sloupec</single>
+      <multiple>sloupce</multiple>
+    </term>
+    <term name="figure">
+      <single>obrázek</single>
+      <multiple>obrázky</multiple>
+    </term>
+    <term name="folio">
+      <single>list</single>
+      <multiple>listy</multiple>
+    </term>
+    <term name="issue">
+      <single>číslo</single>
+      <multiple>čísla</multiple>
+    </term>
+    <term name="line">
+      <single>řádek</single>
+      <multiple>řádky</multiple>
+    </term>
+    <term name="note">
+      <single>poznámka</single>
+      <multiple>poznámky</multiple>
+    </term>
+    <term name="opus">
+      <single>opus</single>
+      <multiple>opusy</multiple>
+    </term>
+    <term name="page">
+      <single>strana</single>
+      <multiple>strany</multiple>
+    </term>
+    <term name="number-of-pages">
+      <single>strana</single>
+      <multiple>strany</multiple>
+    </term>
+    <term name="paragraph">
+      <single>odstavec</single>
+      <multiple>odstavce</multiple>
+    </term>
+    <term name="part">
+      <single>část</single>
+      <multiple>části</multiple>
+    </term>
+    <term name="section">
+      <single>sekce</single>
+      <multiple>sekce</multiple>
+    </term>
+    <term name="sub verbo">
+      <single>pod heslem</single>
+      <multiple>pod hesly</multiple>
+    </term>
+    <term name="verse">
+      <single>verš</single>
+      <multiple>verše</multiple>
+    </term>
+    <term name="volume">
+      <single>ročník</single>
+      <multiple>ročníky</multiple>
+    </term>
+
+    <!-- SHORT LOCATOR FORMS -->
+    <term name="book" form="short">k.</term>
+    <term name="chapter" form="short">kap.</term>
+    <term name="column" form="short">sl.</term>
+    <term name="figure" form="short">obr.</term>
+    <term name="folio" form="short">l.</term>
+    <term name="issue" form="short">č.</term>
+    <term name="line" form="short">ř.</term>
+    <term name="note" form="short">pozn.</term>
+    <term name="opus" form="short">op.</term>
+    <term name="page" form="short">
+      <single>s.</single>
+      <multiple>s.</multiple>
+    </term>
+    <term name="number-of-pages" form="short">
+      <single>s.</single>
+      <multiple>s.</multiple>
+    </term>
+    <term name="paragraph" form="short">odst.</term>
+    <term name="part" form="short">č.</term>
+    <term name="section" form="short">sek.</term>
+    <term name="sub verbo" form="short">
+      <single>s.v.</single>
+      <multiple>s.v.</multiple>
+    </term>
+    <term name="verse" form="short">
+      <single>v.</single>
+      <multiple>v.</multiple>
+    </term>
+    <term name="volume" form="short">
+      <single>roč.</single>
+      <multiple>roč.</multiple>
+    </term>
+
+    <!-- SYMBOL LOCATOR FORMS -->
+    <term name="paragraph" form="symbol">
+      <single>¶</single>
+      <multiple>¶¶</multiple>
+    </term>
+    <term name="section" form="symbol">
+      <single>§</single>
+      <multiple>§§</multiple>
+    </term>
+
+    <!-- LONG ROLE FORMS -->
+    <term name="director">
+      <single>ředitel</single>
+      <multiple>ředitelé</multiple>
+    </term>
+    <term name="editor">
+      <single>editor</single>
+      <multiple>editoři</multiple>
+    </term>
+    <term name="editorial-director">
+      <single>vedoucí editor</single>
+      <multiple>vedoucí editoři</multiple>
+    </term>
+    <term name="illustrator">
+      <single>ilustrátor</single>
+      <multiple>ilustrátoři</multiple>
+    </term>
+    <term name="translator">
+      <single>překladatel</single>
+      <multiple>překladatelé</multiple>
+    </term>
+    <term name="editortranslator">
+      <single>editor a překladatel</single>
+      <multiple>editoři a překladatelé</multiple>
+    </term>
+
+    <!-- SHORT ROLE FORMS -->
+    <term name="director" form="short">
+      <single>řed.</single>
+      <multiple>řed.</multiple>
+    </term>
+    <term name="editor" form="short">
+      <single>ed.</single>
+      <multiple>ed.</multiple>
+    </term>
+    <term name="editorial-director" form="short">
+      <single>ed.</single>
+      <multiple>ed.</multiple>
+    </term>
+    <term name="illustrator" form="short">
+      <single>il.</single>
+      <multiple>il.</multiple>
+    </term>
+    <term name="translator" form="short">
+      <single>přel.</single>
+      <multiple>přel.</multiple>
+    </term>
+    <term name="editortranslator" form="short">
+      <single>ed. a přel.</single>
+      <multiple>ed. a přel.</multiple>
+    </term>
+
+    <!-- VERB ROLE FORMS -->
+    <term name="container-author" form="verb"></term>
+    <term name="director" form="verb">řídil</term>
+    <term name="editor" form="verb">editoval</term>
+    <term name="editorial-director" form="verb">editoval</term>
+    <term name="illustrator" form="verb">ilustroval</term>
+    <term name="interviewer" form="verb">rozhovor vedl</term>
+    <term name="recipient" form="verb">pro</term>
+    <term name="reviewed-author" form="verb">recenzoval</term>
+    <term name="translator" form="verb">přeložil</term>
+    <term name="editortranslator" form="verb">editoval a přeložil</term>
+
+    <!-- SHORT VERB ROLE FORMS -->
+    <term name="director" form="verb-short">řed.</term>
+    <term name="editor" form="verb-short">ed.</term>
+    <term name="editorial-director" form="verb-short">ed.</term>
+    <term name="illustrator" form="verb-short">ilust.</term>
+    <term name="translator" form="verb-short">přel.</term>
+    <term name="editortranslator" form="verb-short">ed. a přel.</term>
+
+    <!-- LONG MONTH FORMS -->
+    <term name="month-01">leden</term>
+    <term name="month-02">únor</term>
+    <term name="month-03">březen</term>
+    <term name="month-04">duben</term>
+    <term name="month-05">květen</term>
+    <term name="month-06">červen</term>
+    <term name="month-07">červenec</term>
+    <term name="month-08">srpen</term>
+    <term name="month-09">září</term>
+    <term name="month-10">říjen</term>
+    <term name="month-11">listopad</term>
+    <term name="month-12">prosinec</term>
+
+    <!-- SHORT MONTH FORMS -->
+    <term name="month-01" form="short">led.</term>
+    <term name="month-02" form="short">úno.</term>
+    <term name="month-03" form="short">bře.</term>
+    <term name="month-04" form="short">dub.</term>
+    <term name="month-05" form="short">kvě.</term>
+    <term name="month-06" form="short">čer.</term>
+    <term name="month-07" form="short">čvc.</term>
+    <term name="month-08" form="short">srp.</term>
+    <term name="month-09" form="short">zář.</term>
+    <term name="month-10" form="short">říj.</term>
+    <term name="month-11" form="short">lis.</term>
+    <term name="month-12" form="short">pro.</term>
+
+    <!-- SEASONS -->
+    <term name="season-01">jaro</term>
+    <term name="season-02">léto</term>
+    <term name="season-03">podzim</term>
+    <term name="season-04">zima</term>
+  </terms>
+</locale>

Added: trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-cy-GB.xml
===================================================================
--- trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-cy-GB.xml	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-cy-GB.xml	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,312 @@
+<?xml version="1.0" encoding="utf-8"?>
+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="cy-GB">
+  <info>
+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
+    <updated>2015-10-15T14:41:06-04:00</updated>
+  </info>
+  <style-options punctuation-in-quote="false"/>
+  <date form="text">
+    <date-part name="day" suffix=" "/>
+    <date-part name="month" suffix=" "/>
+    <date-part name="year"/>
+  </date>
+  <date form="numeric">
+    <date-part name="day" form="numeric-leading-zeros" suffix="/"/>
+    <date-part name="month" form="numeric-leading-zeros" suffix="/"/>
+    <date-part name="year"/>
+  </date>
+  <terms>
+    <term name="accessed">gwelwyd</term>
+    <term name="and">a/ac</term>
+    <term name="and others">ac eraill</term>
+    <term name="anonymous">di-enw</term>
+    <term name="anonymous" form="short">dienw</term>
+    <term name="at">at</term>
+    <term name="available at">ar gael</term>
+    <term name="by">gan</term>
+    <term name="circa">circa</term>
+    <term name="circa" form="short">c.</term>
+    <term name="cited">dyfynnwyd</term>
+    <term name="edition">
+      <single>argraffiad</single>
+      <multiple>argraffiadau</multiple>
+    </term>
+    <term name="edition" form="short">arg.</term>
+    <term name="et-al">et al.</term>
+    <term name="forthcoming">ar fin ymddangos</term>
+    <term name="from">gan</term>
+    <term name="ibid">ibid.</term>
+    <term name="in">yn</term>
+    <term name="in press">yn y wasg</term>
+    <term name="internet">rhyngrwyd</term>
+    <term name="interview">cyfweliad</term>
+    <term name="letter">llythyr</term>
+    <term name="no date">dim dyddiad</term>
+    <term name="no date" form="short">d.d.</term>
+    <term name="online">arlein</term>
+    <term name="presented at">cyflwynwyd yn</term>
+    <term name="reference">
+      <single>cyfeirnod</single>
+      <multiple>cyfeirnodau</multiple>
+    </term>
+    <term name="reference" form="short">
+      <single>cyf.</single>
+      <multiple>cyf’au.</multiple>
+    </term>
+    <term name="retrieved">gwelwyd</term>
+    <term name="scale">graddfa</term>
+    <term name="version">fersiwn</term>
+
+    <!-- ANNO DOMINI; BEFORE CHRIST -->
+    <term name="ad">OC</term>
+    <term name="bc">CC</term>
+
+    <!-- PUNCTUATION -->
+    <term name="open-quote">‘</term>
+    <term name="close-quote">’</term>
+    <term name="open-inner-quote">“</term>
+    <term name="close-inner-quote">”</term>
+    <term name="page-range-delimiter">–</term>
+
+    <!-- ORDINALS -->
+    <term name="ordinal">th</term>
+    <term name="ordinal-01">af</term>
+    <term name="ordinal-02">il</term>
+    <term name="ordinal-03">ydd</term>
+    <term name="ordinal-11">ed</term>
+    <term name="ordinal-12">ed</term>
+    <term name="ordinal-13">ed</term>
+
+    <!-- LONG ORDINALS -->
+    <term name="long-ordinal-01">cyntaf</term>
+    <term name="long-ordinal-02">ail</term>
+    <term name="long-ordinal-03">trydydd</term>
+    <term name="long-ordinal-04">pedwerydd</term>
+    <term name="long-ordinal-05">pumed</term>
+    <term name="long-ordinal-06">chweched</term>
+    <term name="long-ordinal-07">seithfed</term>
+    <term name="long-ordinal-08">wythfed</term>
+    <term name="long-ordinal-09">nawfed</term>
+    <term name="long-ordinal-10">degfed</term>
+
+    <!-- LONG LOCATOR FORMS -->
+    <term name="book">
+      <single>llyfr</single>
+      <multiple>llyfrau</multiple>
+    </term>
+    <term name="chapter">
+      <single>pennod</single>
+      <multiple>penodau</multiple>
+    </term>
+    <term name="column">
+      <single>colofn</single>
+      <multiple>colofnau</multiple>
+    </term>
+    <term name="figure">
+      <single>ffigwr</single>
+      <multiple>ffigyrau</multiple>
+    </term>
+    <term name="folio">
+      <single>ffolio</single>
+      <multiple>ffolios</multiple>
+    </term>
+    <term name="issue">
+      <single>rhifyn</single>
+      <multiple>rhifynnau</multiple>
+    </term>
+    <term name="line">
+      <single>llinell</single>
+      <multiple>llinellau</multiple>
+    </term>
+    <term name="note">
+      <single>nodyn</single>
+      <multiple>nodiadau</multiple>
+    </term>
+    <term name="opus">
+      <single>opus</single>
+      <multiple>opera</multiple>
+    </term>
+    <term name="page">
+      <single>tudalen</single>
+      <multiple>tudalennau</multiple>
+    </term>
+    <term name="number-of-pages">
+      <single>tudalen</single>
+      <multiple>tudalennau</multiple>
+    </term>
+    <term name="paragraph">
+      <single>paragraff</single>
+      <multiple>paragraffau</multiple>
+    </term>
+    <term name="part">
+      <single>rhan</single>
+      <multiple>rhannau</multiple>
+    </term>
+    <term name="section">
+      <single>adran</single>
+      <multiple>adrannau</multiple>
+    </term>
+    <term name="sub verbo">
+      <single>sub verbo</single>
+      <multiple>sub verbis</multiple>
+    </term>
+    <term name="verse">
+      <single>pennill</single>
+      <multiple>penillion</multiple>
+    </term>
+    <term name="volume">
+      <single>cyfrol</single>
+      <multiple>cyfrolau</multiple>
+    </term>
+
+    <!-- SHORT LOCATOR FORMS -->
+    <term name="book" form="short">llyfr.</term>
+    <term name="chapter" form="short">pen.</term>
+    <term name="column" form="short">col.</term>
+    <term name="figure" form="short">ffig.</term>
+    <term name="folio" form="short">ff.</term>
+    <term name="issue" form="short">rhif.</term>
+    <term name="line" form="short">ll.</term>
+    <term name="note" form="short">n.</term>
+    <term name="opus" form="short">op.</term>
+    <term name="page" form="short">
+      <single>t.</single>
+      <multiple>tt.</multiple>
+    </term>
+    <term name="number-of-pages" form="short">
+      <single>t.</single>
+      <multiple>tt.</multiple>
+    </term>
+    <term name="paragraph" form="short">para.</term>
+    <term name="part" form="short">rhan.</term>
+    <term name="section" form="short">adr.</term>
+    <term name="sub verbo" form="short">
+      <single>s.v.</single>
+      <multiple>s.vv.</multiple>
+    </term>
+    <term name="verse" form="short">
+      <single>p.</single>
+      <multiple>pp.</multiple>
+    </term>
+    <term name="volume" form="short">
+      <single>rhif.</single>
+      <multiple>rhifu.</multiple>
+    </term>
+
+    <!-- SYMBOL LOCATOR FORMS -->
+    <term name="paragraph" form="symbol">
+      <single>¶</single>
+      <multiple>¶¶</multiple>
+    </term>
+    <term name="section" form="symbol">
+      <single>§</single>
+      <multiple>§§</multiple>
+    </term>
+
+    <!-- LONG ROLE FORMS -->
+    <term name="director">
+      <single>cyfarwyddwr</single>
+      <multiple>cyfarwyddwyr</multiple>
+    </term>
+    <term name="editor">
+      <single>golygydd</single>
+      <multiple>golygyddion</multiple>
+    </term>
+    <term name="editorial-director">
+      <single>cyfarwyddwr-golygyddol</single>
+      <multiple>cyfarwyddwyr-golygyddol</multiple>
+    </term>
+    <term name="illustrator">
+      <single>darlunydd</single>
+      <multiple>darlunwyr</multiple>
+    </term>
+    <term name="translator">
+      <single>cyfieithydd</single>
+      <multiple>cyfieithwyr</multiple>
+    </term>
+    <term name="editortranslator">
+      <single>golygydd a chyfieithydd</single>
+      <multiple>golygyddion a chyfieithwyr</multiple>
+    </term>
+
+    <!-- SHORT ROLE FORMS -->
+    <term name="director" form="short">
+      <single>cyf.</single>
+      <multiple>cyfy.</multiple>
+    </term>
+    <term name="editor" form="short">
+      <single>gol.</single>
+      <multiple>goln.</multiple>
+    </term>
+    <term name="editorial-director" form="short">
+      <single>gol.</single>
+      <multiple>goln.</multiple>
+    </term>
+    <term name="illustrator" form="short">
+      <single>darlun.</single>
+      <multiple>darlun.</multiple>
+    </term>
+    <term name="translator" form="short">
+      <single>cyf.</single>
+      <multiple>cyf.</multiple>
+    </term>
+    <term name="editortranslator" form="short">
+      <single>gol. a chyf.</single>
+      <multiple>goln. a chyf.</multiple>
+    </term>
+
+    <!-- VERB ROLE FORMS -->
+    <term name="container-author" form="verb">gan</term>
+    <term name="director" form="verb">cyfarwyddwyd gan</term>
+    <term name="editor" form="verb">golygwyd gan</term>
+    <term name="editorial-director" form="verb">cyfarwyddwyd a golygwyd gan</term>
+    <term name="illustrator" form="verb">darlunwyd gan</term>
+    <term name="interviewer" form="verb">cyfweliad gan</term>
+    <term name="recipient" form="verb">i</term>
+    <term name="reviewed-author" form="verb">gan</term>
+    <term name="translator" form="verb">cyfieithwyd gan </term>
+    <term name="editortranslator" form="verb">golygwyd a chyfieithwyd gan</term>
+
+    <!-- SHORT VERB ROLE FORMS -->
+    <term name="director" form="verb-short">cyf. gan</term>
+    <term name="editor" form="verb-short">gol. gan</term>
+    <term name="editorial-director" form="verb-short">cyf.-gol. gan</term>
+    <term name="illustrator" form="verb-short">darlun. gan</term>
+    <term name="translator" form="verb-short">cyf. gan</term>
+    <term name="editortranslator" form="verb-short">gol. a chyf. gan</term>
+
+    <!-- LONG MONTH FORMS -->
+    <term name="month-01">Ionawr</term>
+    <term name="month-02">Chwefror</term>
+    <term name="month-03">Mawrth</term>
+    <term name="month-04">Ebrill</term>
+    <term name="month-05">Mai</term>
+    <term name="month-06">Mehefin</term>
+    <term name="month-07">Gorffennaf</term>
+    <term name="month-08">Awst</term>
+    <term name="month-09">Medi</term>
+    <term name="month-10">Hydref</term>
+    <term name="month-11">Tachwedd</term>
+    <term name="month-12">Rhagfyr</term>
+
+    <!-- SHORT MONTH FORMS -->
+    <term name="month-01" form="short">Ion.</term>
+    <term name="month-02" form="short">Chwe.</term>
+    <term name="month-03" form="short">Maw.</term>
+    <term name="month-04" form="short">Ebr.</term>
+    <term name="month-05" form="short">Mai</term>
+    <term name="month-06" form="short">Meh.</term>
+    <term name="month-07" form="short">Gorff.</term>
+    <term name="month-08" form="short">Aws.</term>
+    <term name="month-09" form="short">Med.</term>
+    <term name="month-10" form="short">Hyd.</term>
+    <term name="month-11" form="short">Tach.</term>
+    <term name="month-12" form="short">Rhag.</term>
+
+    <!-- SEASONS -->
+    <term name="season-01">Gwanwyn</term>
+    <term name="season-02">Haf</term>
+    <term name="season-03">Hydref</term>
+    <term name="season-04">Gaeaf</term>
+  </terms>
+</locale>

Added: trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-da-DK.xml
===================================================================
--- trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-da-DK.xml	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-da-DK.xml	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,315 @@
+<?xml version="1.0" encoding="utf-8"?>
+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="da-DK">
+  <info>
+    <translator>
+      <name>Niels Erik Wille</name>
+    </translator>
+    <translator>
+      <name>Jonas Nyrup</name>
+    </translator>
+    <translator>
+      <name>hafnius</name>
+    </translator>
+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
+    <updated>2017-12-29T16:29:13+01:00</updated>
+  </info>
+  <style-options punctuation-in-quote="false"/>
+  <date form="text">
+    <date-part name="day" form="ordinal" suffix=" "/>
+    <date-part name="month" suffix=" "/>
+    <date-part name="year"/>
+  </date>
+  <date form="numeric">
+    <date-part name="day" form="numeric-leading-zeros" suffix="-" range-delimiter="/"/>
+    <date-part name="month" form="numeric-leading-zeros" suffix="-" range-delimiter="/"/>
+    <date-part name="year"/>
+  </date>
+  <terms>
+    <term name="accessed">set</term>
+    <term name="and">og</term>
+    <term name="and others">med flere</term>
+    <term name="anonymous">anonym</term>
+    <term name="anonymous" form="short">anon.</term>
+    <term name="at">på</term>
+    <term name="available at">tilgængelig hos</term>
+    <term name="by">af</term>
+    <term name="circa">cirka</term>
+    <term name="circa" form="short">ca.</term>
+    <term name="cited">henvist</term>
+    <term name="edition">
+      <single>udgave</single>
+      <multiple>udgaver</multiple>
+    </term>
+    <term name="edition" form="short">udg.</term>
+    <term name="et-al">m.fl.</term>
+    <term name="forthcoming">kommende</term>
+    <term name="from">fra</term>
+    <term name="ibid">ibid.</term>
+    <term name="in">i</term>
+    <term name="in press">i trykken</term>
+    <term name="internet">internet</term>
+    <term name="interview">interview</term>
+    <term name="letter">brev</term>
+    <term name="no date">uden år</term>
+    <term name="no date" form="short">u.å.</term>
+    <term name="online">online</term>
+    <term name="presented at">præsenteret ved</term>
+    <term name="reference">
+      <single>reference</single>
+      <multiple>referencer</multiple>
+    </term>
+    <term name="reference" form="short">
+      <single>ref.</single>
+      <multiple>refr.</multiple>
+    </term>
+    <term name="retrieved">hentet</term>
+    <term name="scale">skala</term>
+    <term name="version">version</term>
+
+    <!-- ANNO DOMINI; BEFORE CHRIST -->
+    <term name="ad">e.v.t.</term>
+    <term name="bc">f.v.t.</term>
+
+    <!-- PUNCTUATION -->
+    <term name="open-quote">“</term>
+    <term name="close-quote">”</term>
+    <term name="open-inner-quote">‘</term>
+    <term name="close-inner-quote">’</term>
+    <term name="page-range-delimiter">–</term>
+
+    <!-- ORDINALS -->
+    <term name="ordinal">.</term>
+
+    <!-- LONG ORDINALS -->
+    <term name="long-ordinal-01">første</term>
+    <term name="long-ordinal-02">anden</term>
+    <term name="long-ordinal-03">tredje</term>
+    <term name="long-ordinal-04">fjerde</term>
+    <term name="long-ordinal-05">femte</term>
+    <term name="long-ordinal-06">sjette</term>
+    <term name="long-ordinal-07">syvende</term>
+    <term name="long-ordinal-08">ottende</term>
+    <term name="long-ordinal-09">niende</term>
+    <term name="long-ordinal-10">tiende</term>
+
+    <!-- LONG LOCATOR FORMS -->
+    <term name="book">
+      <single>bog</single>
+      <multiple>bøger</multiple>
+    </term>
+    <term name="chapter">
+      <single>kapitel</single>
+      <multiple>kapitler</multiple>
+    </term>
+    <term name="column">
+      <single>kolonne</single>
+      <multiple>kolonner</multiple>
+    </term>
+    <term name="figure">
+      <single>figur</single>
+      <multiple>figurer</multiple>
+    </term>
+    <term name="folio">
+      <single>folio</single>
+      <multiple>folio</multiple>
+    </term>
+    <term name="issue">
+      <single>nummer</single>
+      <multiple>numre</multiple>
+    </term>
+    <term name="line">
+      <single>linje</single>
+      <multiple>linjer</multiple>
+    </term>
+    <term name="note">
+      <single>note</single>
+      <multiple>noter</multiple>
+    </term>
+    <term name="opus">
+      <single>opus</single>
+      <multiple>opus</multiple>
+    </term>
+    <term name="page">
+      <single>side</single>
+      <multiple>sider</multiple>
+    </term>
+    <term name="number-of-pages">
+      <single>side</single>
+      <multiple>sider</multiple>
+    </term>
+    <term name="paragraph">
+      <single>afsnit</single>
+      <multiple>afsnit</multiple>
+    </term>
+    <term name="part">
+      <single>del</single>
+      <multiple>dele</multiple>
+    </term>
+    <term name="section">
+      <single>paragraf</single>
+      <multiple>paragraffer</multiple>
+    </term>
+    <term name="sub verbo">
+      <single>sub voce</single>
+      <multiple>sub voce</multiple>
+    </term>
+    <term name="verse">
+      <single>vers</single>
+      <multiple>vers</multiple>
+    </term>
+    <term name="volume">
+      <single>bind</single>
+      <multiple>bind</multiple>
+    </term>
+
+    <!-- SHORT LOCATOR FORMS -->
+    <term name="book" form="short">b.</term>
+    <term name="chapter" form="short">kap.</term>
+    <term name="column" form="short">kol.</term>
+    <term name="figure" form="short">fig.</term>
+    <term name="folio" form="short">fol.</term>
+    <term name="issue" form="short">nr.</term>
+    <term name="line" form="short">l.</term>
+    <term name="note" form="short">n.</term>
+    <term name="opus" form="short">op.</term>
+    <term name="page" form="short">
+      <single>s.</single>
+      <multiple>s.</multiple>
+    </term>
+    <term name="number-of-pages" form="short">
+      <single>s.</single>
+      <multiple>s.</multiple>
+    </term>
+    <term name="paragraph" form="short">afs.</term>
+    <term name="part" form="short">d.</term>
+    <term name="section" form="short">par.</term>
+    <term name="sub verbo" form="short">
+      <single>s.v.</single>
+      <multiple>s.v.</multiple>
+    </term>
+    <term name="verse" form="short">
+      <single>v.</single>
+      <multiple>v.</multiple>
+    </term>
+    <term name="volume" form="short">
+      <single>bd.</single>
+      <multiple>bd.</multiple>
+    </term>
+
+    <!-- SYMBOL LOCATOR FORMS -->
+    <term name="paragraph" form="symbol">
+      <single>¶</single>
+      <multiple>¶¶</multiple>
+    </term>
+    <term name="section" form="symbol">
+      <single>§</single>
+      <multiple>§§</multiple>
+    </term>
+
+    <!-- LONG ROLE FORMS -->
+    <term name="director">
+      <single>instruktør</single>
+      <multiple>instruktører</multiple>
+    </term>
+    <term name="editor">
+      <single>redaktør</single>
+      <multiple>redaktører</multiple>
+    </term>
+    <term name="editorial-director">
+      <single>redaktør</single>
+      <multiple>redaktører</multiple>
+    </term>
+    <term name="illustrator">
+      <single>illustrator</single>
+      <multiple>illustratorer</multiple>
+    </term>
+    <term name="translator">
+      <single>oversætter</single>
+      <multiple>oversættere</multiple>
+    </term>
+    <term name="editortranslator">
+      <single>redaktør & oversætter</single>
+      <multiple>redaktører & oversættere</multiple>
+    </term>
+
+    <!-- SHORT ROLE FORMS -->
+    <term name="director" form="short">
+      <single>instr.</single>
+      <multiple>instr.</multiple>
+    </term>
+    <term name="editor" form="short">
+      <single>red.</single>
+      <multiple>red.</multiple>
+    </term>
+    <term name="editorial-director" form="short">
+      <single>red.</single>
+      <multiple>red.</multiple>
+    </term>
+    <term name="illustrator" form="short">
+      <single>ill.</single>
+      <multiple>ill.</multiple>
+    </term>
+    <term name="translator" form="short">
+      <single>overs.</single>
+      <multiple>overs.</multiple>
+    </term>
+    <term name="editortranslator" form="short">
+      <single>red. & overs.</single>
+      <multiple>red. & overs.</multiple>
+    </term>
+
+    <!-- VERB ROLE FORMS -->
+    <term name="container-author" form="verb">af</term>
+    <term name="director" form="verb">instrueret af</term>
+    <term name="editor" form="verb">redigeret af</term>
+    <term name="editorial-director" form="verb">redigeret af</term>
+    <term name="illustrator" form="verb">illustreret af</term>
+    <term name="interviewer" form="verb">interviewet af</term>
+    <term name="recipient" form="verb">modtaget af</term>
+    <term name="reviewed-author" form="verb">af</term>
+    <term name="translator" form="verb">oversat af</term>
+    <term name="editortranslator" form="verb">redigeret & oversat af</term>
+
+    <!-- SHORT VERB ROLE FORMS -->
+    <term name="director" form="verb-short">instr.</term>
+    <term name="editor" form="verb-short">red.</term>
+    <term name="editorial-director" form="verb-short">red.</term>
+    <term name="illustrator" form="verb-short">illus.</term>
+    <term name="translator" form="verb-short">overs.</term>
+    <term name="editortranslator" form="verb-short">red. & overs. af</term>
+
+    <!-- LONG MONTH FORMS -->
+    <term name="month-01">januar</term>
+    <term name="month-02">februar</term>
+    <term name="month-03">marts</term>
+    <term name="month-04">april</term>
+    <term name="month-05">maj</term>
+    <term name="month-06">juni</term>
+    <term name="month-07">juli</term>
+    <term name="month-08">august</term>
+    <term name="month-09">september</term>
+    <term name="month-10">oktober</term>
+    <term name="month-11">november</term>
+    <term name="month-12">december</term>
+
+    <!-- SHORT MONTH FORMS -->
+    <term name="month-01" form="short">jan.</term>
+    <term name="month-02" form="short">feb.</term>
+    <term name="month-03" form="short">mar.</term>
+    <term name="month-04" form="short">apr.</term>
+    <term name="month-05" form="short">maj</term>
+    <term name="month-06" form="short">jun.</term>
+    <term name="month-07" form="short">jul.</term>
+    <term name="month-08" form="short">aug.</term>
+    <term name="month-09" form="short">sep.</term>
+    <term name="month-10" form="short">okt.</term>
+    <term name="month-11" form="short">nov.</term>
+    <term name="month-12" form="short">dec.</term>
+
+    <!-- SEASONS -->
+    <term name="season-01">Forår</term>
+    <term name="season-02">Sommer</term>
+    <term name="season-03">Efterår</term>
+    <term name="season-04">Vinter</term>
+  </terms>
+</locale>

Added: trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-de-AT.xml
===================================================================
--- trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-de-AT.xml	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-de-AT.xml	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,334 @@
+<?xml version="1.0" encoding="utf-8"?>
+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="de-AT">
+  <info>
+    <translator>
+      <name>Till A. Heilmann</name>
+    </translator>
+    <translator>
+      <name>Georg Duffner</name>
+    </translator>
+    <translator>
+      <name>Sebastian Karcher</name>
+    </translator>
+    <translator>
+      <name>Sylvester Keil</name>
+    </translator>
+    <translator>
+      <name>jakov</name>
+    </translator>
+    <translator>
+      <name>Frank Bennett</name>
+    </translator>
+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
+    <updated>2021-10-19T12:12:03-04:00</updated>
+  </info>
+  <style-options punctuation-in-quote="false"/>
+  <date form="text">
+    <date-part name="day" form="ordinal" suffix=" "/>
+    <date-part name="month" suffix=" "/>
+    <date-part name="year"/>
+  </date>
+  <date form="numeric">
+    <date-part name="day" form="numeric-leading-zeros" suffix="."/>
+    <date-part name="month" form="numeric-leading-zeros" suffix="."/>
+    <date-part name="year"/>
+  </date>
+  <terms>
+    <term name="accessed">zugegriffen</term>
+    <term name="and">und</term>
+    <term name="and others">und andere</term>
+    <term name="anonymous">ohne Autor</term>
+    <term name="anonymous" form="short">o. A.</term>
+    <term name="at">auf</term>
+    <term name="available at">verfügbar unter</term>
+    <term name="by">von</term>
+    <term name="circa">circa</term>
+    <term name="circa" form="short">ca.</term>
+    <term name="cited">zitiert</term>
+    <term name="edition">
+      <single>Auflage</single>
+      <multiple>Auflagen</multiple>
+    </term>
+    <term name="edition" form="short">Aufl.</term>
+    <term name="et-al">u. a.</term>
+    <term name="forthcoming">i. E.</term>
+    <term name="from">von</term>
+    <term name="ibid">ebd.</term>
+    <term name="in">in</term>
+    <term name="in press">im Druck</term>
+    <term name="internet">Internet</term>
+    <term name="interview">Interview</term>
+    <term name="letter">Brief</term>
+    <term name="no date">ohne Datum</term>
+    <term name="no date" form="short">o. J.</term>
+    <term name="online">online</term>
+    <term name="presented at">gehalten auf der</term>
+    <term name="reference">
+      <single>Referenz</single>
+      <multiple>Referenzen</multiple>
+    </term>
+    <term name="reference" form="short">
+      <single>Ref.</single>
+      <multiple>Ref.</multiple>
+    </term>
+    <term name="retrieved">abgerufen</term>
+    <term name="scale">Maßstab</term>
+    <term name="version">Version</term>
+
+    <!-- ANNO DOMINI; BEFORE CHRIST -->
+    <term name="ad"> n. Chr.</term>
+    <term name="bc"> v. Chr.</term>
+
+    <!-- PUNCTUATION -->
+    <term name="open-quote">„</term>
+    <term name="close-quote">“</term>
+    <term name="open-inner-quote">‚</term>
+    <term name="close-inner-quote">‘</term>
+    <term name="page-range-delimiter">–</term>
+
+    <!-- ORDINALS -->
+    <term name="ordinal">.</term>
+
+    <!-- LONG ORDINALS -->
+    <term name="long-ordinal-01">erster</term>
+    <term name="long-ordinal-02">zweiter</term>
+    <term name="long-ordinal-03">dritter</term>
+    <term name="long-ordinal-04">vierter</term>
+    <term name="long-ordinal-05">fünfter</term>
+    <term name="long-ordinal-06">sechster</term>
+    <term name="long-ordinal-07">siebter</term>
+    <term name="long-ordinal-08">achter</term>
+    <term name="long-ordinal-09">neunter</term>
+    <term name="long-ordinal-10">zehnter</term>
+
+    <!-- LONG LOCATOR FORMS -->
+    <term name="book">
+      <single>Buch</single>
+      <multiple>Bücher</multiple>
+    </term>
+    <term name="chapter">
+      <single>Kapitel</single>
+      <multiple>Kapitel</multiple>
+    </term>
+    <term name="column">
+      <single>Spalte</single>
+      <multiple>Spalten</multiple>
+    </term>
+    <term name="figure">
+      <single>Abbildung</single>
+      <multiple>Abbildungen</multiple>
+    </term>
+    <term name="folio">
+      <single>Blatt</single>
+      <multiple>Blätter</multiple>
+    </term>
+    <term name="issue">
+      <single>Nummer</single>
+      <multiple>Nummern</multiple>
+    </term>
+    <term name="line">
+      <single>Zeile</single>
+      <multiple>Zeilen</multiple>
+    </term>
+    <term name="note">
+      <single>Note</single>
+      <multiple>Noten</multiple>
+    </term>
+    <term name="opus">
+      <single>Opus</single>
+      <multiple>Opera</multiple>
+    </term>
+    <term name="page">
+      <single>Seite</single>
+      <multiple>Seiten</multiple>
+    </term>
+    <term name="number-of-pages">
+      <single>Seite</single>
+      <multiple>Seiten</multiple>
+    </term>
+    <term name="paragraph">
+      <single>Absatz</single>
+      <multiple>Absätze</multiple>
+    </term>
+    <term name="part">
+      <single>Teil</single>
+      <multiple>Teile</multiple>
+    </term>
+    <term name="section">
+      <single>Abschnitt</single>
+      <multiple>Abschnitte</multiple>
+    </term>
+    <term name="sub verbo">
+      <single>sub verbo</single>
+      <multiple>sub verbis</multiple>
+    </term>
+    <term name="verse">
+      <single>Vers</single>
+      <multiple>Verse</multiple>
+    </term>
+    <term name="volume">
+      <single>Band</single>
+      <multiple>Bände</multiple>
+    </term>
+
+    <!-- SHORT LOCATOR FORMS -->
+    <term name="book" form="short">B.</term>
+    <term name="chapter" form="short">Kap.</term>
+    <term name="column" form="short">Sp.</term>
+    <term name="figure" form="short">Abb.</term>
+    <term name="folio" form="short">Fol.</term>
+    <term name="issue" form="short">Nr.</term>
+    <term name="line" form="short">l.</term>
+    <term name="note" form="short">n.</term>
+    <term name="opus" form="short">op.</term>
+    <term name="page" form="short">
+      <single>S.</single>
+      <multiple>S.</multiple>
+    </term>
+    <term name="number-of-pages" form="short">
+      <single>S.</single>
+      <multiple>S.</multiple>
+    </term>
+    <term name="paragraph" form="short">Abs.</term>
+    <term name="part" form="short">Teil</term>
+    <term name="section" form="short">Abschn.</term>
+    <term name="sub verbo" form="short">
+      <single>s. v.</single>
+      <multiple>s. vv.</multiple>
+    </term>
+    <term name="verse" form="short">
+      <single>V.</single>
+      <multiple>V.</multiple>
+    </term>
+    <term name="volume" form="short">
+      <single>Bd.</single>
+      <multiple>Bd.</multiple>
+    </term>
+
+    <!-- SYMBOL LOCATOR FORMS -->
+    <term name="paragraph" form="symbol">
+      <single>¶</single>
+      <multiple>¶¶</multiple>
+    </term>
+    <term name="section" form="symbol">
+      <single>§</single>
+      <multiple>§§</multiple>
+    </term>
+
+    <!-- LONG ROLE FORMS -->
+    <term name="director">
+      <single>Regisseur</single>
+      <multiple>Regisseure</multiple>
+    </term>
+    <term name="editor">
+      <single>Herausgeber</single>
+      <multiple>Herausgeber</multiple>
+    </term>
+    <term name="collection-editor">
+      <single>Reihenherausgeber</single>
+      <multiple>Reihenherausgeber</multiple>
+    </term>
+    <term name="editorial-director">
+      <single>Herausgeber</single>
+      <multiple>Herausgeber</multiple>
+    </term>
+    <term name="illustrator">
+      <single>Illustrator</single>
+      <multiple>Illustratoren</multiple>
+    </term>
+    <term name="translator">
+      <single>Übersetzer</single>
+      <multiple>Übersetzer</multiple>
+    </term>
+    <term name="editortranslator">
+      <single>Herausgeber & Übersetzer</single>
+      <multiple>Herausgeber & Übersetzer</multiple>
+    </term>
+
+    <!-- SHORT ROLE FORMS -->
+    <term name="director" form="short">
+      <single>Reg.</single>
+      <multiple>Reg.</multiple>
+    </term>
+    <term name="editor" form="short">
+      <single>Hrsg.</single>
+      <multiple>Hrsg.</multiple>
+    </term>
+    <term name="collection-editor" form="short">
+      <single>Hrsg.</single>
+      <multiple>Hrsg.</multiple>
+    </term>
+    <term name="editorial-director" form="short">
+      <single>Hrsg.</single>
+      <multiple>Hrsg.</multiple>
+    </term>
+    <term name="illustrator" form="short">
+      <single>Ill.</single>
+      <multiple>Ill.</multiple>
+    </term>
+    <term name="translator" form="short">
+      <single>Übers.</single>
+      <multiple>Übers.</multiple>
+    </term>
+    <term name="editortranslator" form="short">
+      <single>Hrsg. & Übers.</single>
+      <multiple>Hrsg. & Übers.</multiple>
+    </term>
+
+    <!-- VERB ROLE FORMS -->
+    <term name="container-author" form="verb">von</term>
+    <term name="director" form="verb">Regie von</term>
+    <term name="editor" form="verb">herausgegeben von</term>
+    <term name="collection-editor" form="verb">herausgegeben von</term>
+    <term name="editorial-director" form="verb">herausgegeben von</term>
+    <term name="illustrator" form="verb">illustriert von</term>
+    <term name="interviewer" form="verb">interviewt von</term>
+    <term name="recipient" form="verb">an</term>
+    <term name="reviewed-author" form="verb">von</term>
+    <term name="translator" form="verb">übersetzt von</term>
+    <term name="editortranslator" form="verb">herausgegeben und übersetzt von</term>
+
+    <!-- SHORT VERB ROLE FORMS -->
+    <term name="director" form="verb-short">Reg.</term>
+    <term name="editor" form="verb-short">hg. von</term>
+    <term name="collection-editor" form="verb-short">hg. von</term>
+    <term name="editorial-director" form="verb-short">hg. von</term>
+    <term name="illustrator" form="verb-short">illus. von</term>
+    <term name="translator" form="verb-short">übers. von</term>
+    <term name="editortranslator" form="verb-short">hg. & übers. von</term>
+
+    <!-- LONG MONTH FORMS -->
+    <term name="month-01">Jänner</term>
+    <term name="month-02">Februar</term>
+    <term name="month-03">März</term>
+    <term name="month-04">April</term>
+    <term name="month-05">Mai</term>
+    <term name="month-06">Juni</term>
+    <term name="month-07">Juli</term>
+    <term name="month-08">August</term>
+    <term name="month-09">September</term>
+    <term name="month-10">Oktober</term>
+    <term name="month-11">November</term>
+    <term name="month-12">Dezember</term>
+
+    <!-- SHORT MONTH FORMS -->
+    <term name="month-01" form="short">Jän.</term>
+    <term name="month-02" form="short">Feb.</term>
+    <term name="month-03" form="short">März</term>
+    <term name="month-04" form="short">Apr.</term>
+    <term name="month-05" form="short">Mai</term>
+    <term name="month-06" form="short">Juni</term>
+    <term name="month-07" form="short">Juli</term>
+    <term name="month-08" form="short">Aug.</term>
+    <term name="month-09" form="short">Sep.</term>
+    <term name="month-10" form="short">Okt.</term>
+    <term name="month-11" form="short">Nov.</term>
+    <term name="month-12" form="short">Dez.</term>
+
+    <!-- SEASONS -->
+    <term name="season-01">Frühjahr</term>
+    <term name="season-02">Sommer</term>
+    <term name="season-03">Herbst</term>
+    <term name="season-04">Winter</term>
+  </terms>
+</locale>

Added: trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-de-CH.xml
===================================================================
--- trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-de-CH.xml	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-de-CH.xml	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,318 @@
+<?xml version="1.0" encoding="utf-8"?>
+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="de-CH">
+  <info>
+    <translator>
+      <name>Till A. Heilmann</name>
+    </translator>
+    <translator>
+      <name>Sylvester Keil</name>
+    </translator>
+    <translator>
+      <name>jakov</name>
+    </translator>
+    <translator>
+      <name>Sebastian Karcher</name>
+    </translator>
+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
+    <updated>2021-10-19T12:12:03-04:00</updated>
+  </info>
+  <style-options punctuation-in-quote="false"/>
+  <date form="text">
+    <date-part name="day" form="ordinal" suffix=" "/>
+    <date-part name="month" suffix=" "/>
+    <date-part name="year"/>
+  </date>
+  <date form="numeric">
+    <date-part name="day" form="numeric-leading-zeros" suffix="."/>
+    <date-part name="month" form="numeric-leading-zeros" suffix="."/>
+    <date-part name="year"/>
+  </date>
+  <terms>
+    <term name="accessed">zugegriffen</term>
+    <term name="and">und</term>
+    <term name="and others">und andere</term>
+    <term name="anonymous">ohne Autor</term>
+    <term name="anonymous" form="short">o. A.</term>
+    <term name="at">auf</term>
+    <term name="available at">verfügbar unter</term>
+    <term name="by">von</term>
+    <term name="circa">circa</term>
+    <term name="circa" form="short">ca.</term>
+    <term name="cited">zitiert</term>
+    <term name="edition">
+      <single>Auflage</single>
+      <multiple>Auflagen</multiple>
+    </term>
+    <term name="edition" form="short">Aufl.</term>
+    <term name="et-al">u. a.</term>
+    <term name="forthcoming">i. E.</term>
+    <term name="from">von</term>
+    <term name="ibid">ebd.</term>
+    <term name="in">in</term>
+    <term name="in press">im Druck</term>
+    <term name="internet">Internet</term>
+    <term name="interview">Interview</term>
+    <term name="letter">Brief</term>
+    <term name="no date">ohne Datum</term>
+    <term name="no date" form="short">o. J.</term>
+    <term name="online">online</term>
+    <term name="presented at">gehalten auf der</term>
+    <term name="reference">
+      <single>Referenz</single>
+      <multiple>Referenzen</multiple>
+    </term>
+    <term name="reference" form="short">
+      <single>Ref.</single>
+      <multiple>Ref.</multiple>
+    </term>
+    <term name="retrieved">abgerufen</term>
+    <term name="scale">Massstab</term>
+    <term name="version">Version</term>
+
+    <!-- ANNO DOMINI; BEFORE CHRIST -->
+    <term name="ad"> n. Chr.</term>
+    <term name="bc"> v. Chr.</term>
+
+    <!-- PUNCTUATION -->
+    <term name="open-quote">«</term>
+    <term name="close-quote">»</term>
+    <term name="open-inner-quote">‹</term>
+    <term name="close-inner-quote">›</term>
+    <term name="page-range-delimiter">–</term>
+
+    <!-- ORDINALS -->
+    <term name="ordinal">.</term>
+
+    <!-- LONG ORDINALS -->
+    <term name="long-ordinal-01">erster</term>
+    <term name="long-ordinal-02">zweiter</term>
+    <term name="long-ordinal-03">dritter</term>
+    <term name="long-ordinal-04">vierter</term>
+    <term name="long-ordinal-05">fünfter</term>
+    <term name="long-ordinal-06">sechster</term>
+    <term name="long-ordinal-07">siebter</term>
+    <term name="long-ordinal-08">achter</term>
+    <term name="long-ordinal-09">neunter</term>
+    <term name="long-ordinal-10">zehnter</term>
+
+    <!-- LONG LOCATOR FORMS -->
+    <term name="book">
+      <single>Buch</single>
+      <multiple>Bücher</multiple>
+    </term>
+    <term name="chapter">
+      <single>Kapitel</single>
+      <multiple>Kapitel</multiple>
+    </term>
+    <term name="column">
+      <single>Spalte</single>
+      <multiple>Spalten</multiple>
+    </term>
+    <term name="figure">
+      <single>Abbildung</single>
+      <multiple>Abbildungen</multiple>
+    </term>
+    <term name="folio">
+      <single>Blatt</single>
+      <multiple>Blätter</multiple>
+    </term>
+    <term name="issue">
+      <single>Nummer</single>
+      <multiple>Nummern</multiple>
+    </term>
+    <term name="line">
+      <single>Zeile</single>
+      <multiple>Zeilen</multiple>
+    </term>
+    <term name="note">
+      <single>Note</single>
+      <multiple>Noten</multiple>
+    </term>
+    <term name="opus">
+      <single>Opus</single>
+      <multiple>Opera</multiple>
+    </term>
+    <term name="page">
+      <single>Seite</single>
+      <multiple>Seiten</multiple>
+    </term>
+    <term name="number-of-pages">
+      <single>Seite</single>
+      <multiple>Seiten</multiple>
+    </term>
+    <term name="paragraph">
+      <single>Absatz</single>
+      <multiple>Absätze</multiple>
+    </term>
+    <term name="part">
+      <single>Teil</single>
+      <multiple>Teile</multiple>
+    </term>
+    <term name="section">
+      <single>Abschnitt</single>
+      <multiple>Abschnitte</multiple>
+    </term>
+    <term name="sub verbo">
+      <single>sub verbo</single>
+      <multiple>sub verbis</multiple>
+    </term>
+    <term name="verse">
+      <single>Vers</single>
+      <multiple>Verse</multiple>
+    </term>
+    <term name="volume">
+      <single>Band</single>
+      <multiple>Bände</multiple>
+    </term>
+
+    <!-- SHORT LOCATOR FORMS -->
+    <term name="book" form="short">B.</term>
+    <term name="chapter" form="short">Kap.</term>
+    <term name="column" form="short">Sp.</term>
+    <term name="figure" form="short">Abb.</term>
+    <term name="folio" form="short">Fol.</term>
+    <term name="issue" form="short">Nr.</term>
+    <term name="line" form="short">l.</term>
+    <term name="note" form="short">n.</term>
+    <term name="opus" form="short">op.</term>
+    <term name="page" form="short">
+      <single>S.</single>
+      <multiple>S.</multiple>
+    </term>
+    <term name="number-of-pages" form="short">
+      <single>S.</single>
+      <multiple>S.</multiple>
+    </term>
+    <term name="paragraph" form="short">Abs.</term>
+    <term name="part" form="short">Teil</term>
+    <term name="section" form="short">Abschn.</term>
+    <term name="sub verbo" form="short">
+      <single>s. v.</single>
+      <multiple>s. vv.</multiple>
+    </term>
+    <term name="verse" form="short">
+      <single>V.</single>
+      <multiple>V.</multiple>
+    </term>
+    <term name="volume" form="short">
+      <single>Bd.</single>
+      <multiple>Bd.</multiple>
+    </term>
+
+    <!-- SYMBOL LOCATOR FORMS -->
+    <term name="paragraph" form="symbol">
+      <single>¶</single>
+      <multiple>¶¶</multiple>
+    </term>
+    <term name="section" form="symbol">
+      <single>§</single>
+      <multiple>§§</multiple>
+    </term>
+
+    <!-- LONG ROLE FORMS -->
+    <term name="director">
+      <single>Regisseur</single>
+      <multiple>Regisseure</multiple>
+    </term>
+    <term name="editor">
+      <single>Herausgeber</single>
+      <multiple>Herausgeber</multiple>
+    </term>
+    <term name="editorial-director">
+      <single>Herausgeber</single>
+      <multiple>Herausgeber</multiple>
+    </term>
+    <term name="illustrator">
+      <single>Illustrator</single>
+      <multiple>Illustratoren</multiple>
+    </term>
+    <term name="translator">
+      <single>Übersetzer</single>
+      <multiple>Übersetzer</multiple>
+    </term>
+    <term name="editortranslator">
+      <single>Herausgeber & Übersetzer</single>
+      <multiple>Herausgeber & Übersetzer</multiple>
+    </term>
+
+    <!-- SHORT ROLE FORMS -->
+    <term name="director" form="short">
+      <single>Reg.</single>
+      <multiple>Reg.</multiple>
+    </term>
+    <term name="editor" form="short">
+      <single>Hrsg.</single>
+      <multiple>Hrsg.</multiple>
+    </term>
+    <term name="editorial-director" form="short">
+      <single>Hrsg.</single>
+      <multiple>Hrsg.</multiple>
+    </term>
+    <term name="illustrator" form="short">
+      <single>Ill.</single>
+      <multiple>Ill.</multiple>
+    </term>
+    <term name="translator" form="short">
+      <single>Übers.</single>
+      <multiple>Übers.</multiple>
+    </term>
+    <term name="editortranslator" form="short">
+      <single>Hrsg. & Übers.</single>
+      <multiple>Hrsg. & Übers.</multiple>
+    </term>
+
+    <!-- VERB ROLE FORMS -->
+    <term name="container-author" form="verb">von</term>
+    <term name="director" form="verb">Regie von</term>
+    <term name="editor" form="verb">herausgegeben von</term>
+    <term name="editorial-director" form="verb">herausgegeben von</term>
+    <term name="illustrator" form="verb">illustriert von</term>
+    <term name="interviewer" form="verb">interviewt von</term>
+    <term name="recipient" form="verb">an</term>
+    <term name="reviewed-author" form="verb">von</term>
+    <term name="translator" form="verb">übersetzt von</term>
+    <term name="editortranslator" form="verb">herausgegeben und übersetzt von</term>
+
+    <!-- SHORT VERB ROLE FORMS -->
+    <term name="director" form="verb-short">Reg.</term>
+    <term name="editor" form="verb-short">hg. von</term>
+    <term name="editorial-director" form="verb-short">hg. von</term>
+    <term name="illustrator" form="verb-short">illus. von</term>
+    <term name="translator" form="verb-short">übers. von</term>
+    <term name="editortranslator" form="verb-short">hg. & übers. von</term>
+
+    <!-- LONG MONTH FORMS -->
+    <term name="month-01">Januar</term>
+    <term name="month-02">Februar</term>
+    <term name="month-03">März</term>
+    <term name="month-04">April</term>
+    <term name="month-05">Mai</term>
+    <term name="month-06">Juni</term>
+    <term name="month-07">Juli</term>
+    <term name="month-08">August</term>
+    <term name="month-09">September</term>
+    <term name="month-10">Oktober</term>
+    <term name="month-11">November</term>
+    <term name="month-12">Dezember</term>
+
+    <!-- SHORT MONTH FORMS -->
+    <term name="month-01" form="short">Jan.</term>
+    <term name="month-02" form="short">Feb.</term>
+    <term name="month-03" form="short">März</term>
+    <term name="month-04" form="short">Apr.</term>
+    <term name="month-05" form="short">Mai</term>
+    <term name="month-06" form="short">Juni</term>
+    <term name="month-07" form="short">Juli</term>
+    <term name="month-08" form="short">Aug.</term>
+    <term name="month-09" form="short">Sep.</term>
+    <term name="month-10" form="short">Okt.</term>
+    <term name="month-11" form="short">Nov.</term>
+    <term name="month-12" form="short">Dez.</term>
+
+    <!-- SEASONS -->
+    <term name="season-01">Frühjahr</term>
+    <term name="season-02">Sommer</term>
+    <term name="season-03">Herbst</term>
+    <term name="season-04">Winter</term>
+  </terms>
+</locale>

Added: trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-de-DE.xml
===================================================================
--- trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-de-DE.xml	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-de-DE.xml	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,331 @@
+<?xml version="1.0" encoding="utf-8"?>
+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="de-DE">
+  <info>
+    <translator>
+      <name>Till A. Heilmann</name>
+    </translator>
+    <translator>
+      <name>Ulrich</name>
+    </translator>
+    <translator>
+      <name>Rintze M. Zelle</name>
+    </translator>
+    <translator>
+      <name>Sebastian Karcher</name>
+    </translator>
+    <translator>
+      <name>jakov</name>
+    </translator>
+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
+    <updated>2021-10-19T12:12:03-04:00</updated>
+  </info>
+  <style-options punctuation-in-quote="false"/>
+  <date form="text">
+    <date-part name="day" form="ordinal" suffix=" "/>
+    <date-part name="month" suffix=" "/>
+    <date-part name="year"/>
+  </date>
+  <date form="numeric">
+    <date-part name="day" form="numeric-leading-zeros" suffix="."/>
+    <date-part name="month" form="numeric-leading-zeros" suffix="."/>
+    <date-part name="year"/>
+  </date>
+  <terms>
+    <term name="accessed">zugegriffen</term>
+    <term name="and">und</term>
+    <term name="and others">und andere</term>
+    <term name="anonymous">ohne Autor</term>
+    <term name="anonymous" form="short">o. A.</term>
+    <term name="at">auf</term>
+    <term name="available at">verfügbar unter</term>
+    <term name="by">von</term>
+    <term name="circa">circa</term>
+    <term name="circa" form="short">ca.</term>
+    <term name="cited">zitiert</term>
+    <term name="edition">
+      <single>Auflage</single>
+      <multiple>Auflagen</multiple>
+    </term>
+    <term name="edition" form="short">Aufl.</term>
+    <term name="et-al">u. a.</term>
+    <term name="forthcoming">i. E.</term>
+    <term name="from">von</term>
+    <term name="ibid">ebd.</term>
+    <term name="in">in</term>
+    <term name="in press">im Druck</term>
+    <term name="internet">Internet</term>
+    <term name="interview">Interview</term>
+    <term name="letter">Brief</term>
+    <term name="no date">ohne Datum</term>
+    <term name="no date" form="short">o. J.</term>
+    <term name="online">online</term>
+    <term name="presented at">gehalten auf der</term>
+    <term name="reference">
+      <single>Referenz</single>
+      <multiple>Referenzen</multiple>
+    </term>
+    <term name="reference" form="short">
+      <single>Ref.</single>
+      <multiple>Ref.</multiple>
+    </term>
+    <term name="retrieved">abgerufen</term>
+    <term name="scale">Maßstab</term>
+    <term name="version">Version</term>
+
+    <!-- ANNO DOMINI; BEFORE CHRIST -->
+    <term name="ad"> n. Chr.</term>
+    <term name="bc"> v. Chr.</term>
+
+    <!-- PUNCTUATION -->
+    <term name="open-quote">„</term>
+    <term name="close-quote">“</term>
+    <term name="open-inner-quote">‚</term>
+    <term name="close-inner-quote">‘</term>
+    <term name="page-range-delimiter">–</term>
+
+    <!-- ORDINALS -->
+    <term name="ordinal">.</term>
+
+    <!-- LONG ORDINALS -->
+    <term name="long-ordinal-01">erster</term>
+    <term name="long-ordinal-02">zweiter</term>
+    <term name="long-ordinal-03">dritter</term>
+    <term name="long-ordinal-04">vierter</term>
+    <term name="long-ordinal-05">fünfter</term>
+    <term name="long-ordinal-06">sechster</term>
+    <term name="long-ordinal-07">siebter</term>
+    <term name="long-ordinal-08">achter</term>
+    <term name="long-ordinal-09">neunter</term>
+    <term name="long-ordinal-10">zehnter</term>
+
+    <!-- LONG LOCATOR FORMS -->
+    <term name="book">
+      <single>Buch</single>
+      <multiple>Bücher</multiple>
+    </term>
+    <term name="chapter">
+      <single>Kapitel</single>
+      <multiple>Kapitel</multiple>
+    </term>
+    <term name="column">
+      <single>Spalte</single>
+      <multiple>Spalten</multiple>
+    </term>
+    <term name="figure">
+      <single>Abbildung</single>
+      <multiple>Abbildungen</multiple>
+    </term>
+    <term name="folio">
+      <single>Blatt</single>
+      <multiple>Blätter</multiple>
+    </term>
+    <term name="issue">
+      <single>Nummer</single>
+      <multiple>Nummern</multiple>
+    </term>
+    <term name="line">
+      <single>Zeile</single>
+      <multiple>Zeilen</multiple>
+    </term>
+    <term name="note">
+      <single>Note</single>
+      <multiple>Noten</multiple>
+    </term>
+    <term name="opus">
+      <single>Opus</single>
+      <multiple>Opera</multiple>
+    </term>
+    <term name="page">
+      <single>Seite</single>
+      <multiple>Seiten</multiple>
+    </term>
+    <term name="number-of-pages">
+      <single>Seite</single>
+      <multiple>Seiten</multiple>
+    </term>
+    <term name="paragraph">
+      <single>Absatz</single>
+      <multiple>Absätze</multiple>
+    </term>
+    <term name="part">
+      <single>Teil</single>
+      <multiple>Teile</multiple>
+    </term>
+    <term name="section">
+      <single>Abschnitt</single>
+      <multiple>Abschnitte</multiple>
+    </term>
+    <term name="sub verbo">
+      <single>sub verbo</single>
+      <multiple>sub verbis</multiple>
+    </term>
+    <term name="verse">
+      <single>Vers</single>
+      <multiple>Verse</multiple>
+    </term>
+    <term name="volume">
+      <single>Band</single>
+      <multiple>Bände</multiple>
+    </term>
+
+    <!-- SHORT LOCATOR FORMS -->
+    <term name="book" form="short">B.</term>
+    <term name="chapter" form="short">Kap.</term>
+    <term name="column" form="short">Sp.</term>
+    <term name="figure" form="short">Abb.</term>
+    <term name="folio" form="short">Fol.</term>
+    <term name="issue" form="short">Nr.</term>
+    <term name="line" form="short">Z.</term>
+    <term name="note" form="short">N.</term>
+    <term name="opus" form="short">op.</term>
+    <term name="page" form="short">
+      <single>S.</single>
+      <multiple>S.</multiple>
+    </term>
+    <term name="number-of-pages" form="short">
+      <single>S.</single>
+      <multiple>S.</multiple>
+    </term>
+    <term name="paragraph" form="short">Abs.</term>
+    <term name="part" form="short">Teil</term>
+    <term name="section" form="short">Abschn.</term>
+    <term name="sub verbo" form="short">
+      <single>s. v.</single>
+      <multiple>s. vv.</multiple>
+    </term>
+    <term name="verse" form="short">
+      <single>V.</single>
+      <multiple>V.</multiple>
+    </term>
+    <term name="volume" form="short">
+      <single>Bd.</single>
+      <multiple>Bde.</multiple>
+    </term>
+
+    <!-- SYMBOL LOCATOR FORMS -->
+    <term name="paragraph" form="symbol">
+      <single>¶</single>
+      <multiple>¶¶</multiple>
+    </term>
+    <term name="section" form="symbol">
+      <single>§</single>
+      <multiple>§§</multiple>
+    </term>
+
+    <!-- LONG ROLE FORMS -->
+    <term name="director">
+      <single>Regisseur</single>
+      <multiple>Regisseure</multiple>
+    </term>
+    <term name="editor">
+      <single>Herausgeber</single>
+      <multiple>Herausgeber</multiple>
+    </term>
+    <term name="collection-editor">
+      <single>Reihenherausgeber</single>
+      <multiple>Reihenherausgeber</multiple>
+    </term>
+    <term name="editorial-director">
+      <single>Herausgeber</single>
+      <multiple>Herausgeber</multiple>
+    </term>
+    <term name="illustrator">
+      <single>Illustrator</single>
+      <multiple>Illustratoren</multiple>
+    </term>
+    <term name="translator">
+      <single>Übersetzer</single>
+      <multiple>Übersetzer</multiple>
+    </term>
+    <term name="editortranslator">
+      <single>Herausgeber & Übersetzer</single>
+      <multiple>Herausgeber & Übersetzer</multiple>
+    </term>
+
+    <!-- SHORT ROLE FORMS -->
+    <term name="director" form="short">
+      <single>Reg.</single>
+      <multiple>Reg.</multiple>
+    </term>
+    <term name="editor" form="short">
+      <single>Hrsg.</single>
+      <multiple>Hrsg.</multiple>
+    </term>
+    <term name="collection-editor" form="short">
+      <single>Hrsg.</single>
+      <multiple>Hrsg.</multiple>
+    </term>
+    <term name="editorial-director" form="short">
+      <single>Hrsg.</single>
+      <multiple>Hrsg.</multiple>
+    </term>
+    <term name="illustrator" form="short">
+      <single>Ill.</single>
+      <multiple>Ill.</multiple>
+    </term>
+    <term name="translator" form="short">
+      <single>Übers.</single>
+      <multiple>Übers.</multiple>
+    </term>
+    <term name="editortranslator" form="short">
+      <single>Hrsg. & Übers.</single>
+      <multiple>Hrsg. & Übers.</multiple>
+    </term>
+
+    <!-- VERB ROLE FORMS -->
+    <term name="container-author" form="verb">von</term>
+    <term name="director" form="verb">Regie von</term>
+    <term name="editor" form="verb">herausgegeben von</term>
+    <term name="collection-editor" form="verb">herausgegeben von</term>
+    <term name="editorial-director" form="verb">herausgegeben von</term>
+    <term name="illustrator" form="verb">illustriert von</term>
+    <term name="interviewer" form="verb">interviewt von</term>
+    <term name="recipient" form="verb">an</term>
+    <term name="reviewed-author" form="verb">von</term>
+    <term name="translator" form="verb">übersetzt von</term>
+    <term name="editortranslator" form="verb">herausgegeben und übersetzt von</term>
+
+    <!-- SHORT VERB ROLE FORMS -->
+    <term name="director" form="verb-short">Reg.</term>
+    <term name="editor" form="verb-short">hg. von</term>
+    <term name="collection-editor" form="verb-short">hg. von</term>
+    <term name="editorial-director" form="verb-short">hg. von</term>
+    <term name="illustrator" form="verb-short">illus. von</term>
+    <term name="translator" form="verb-short">übers. von</term>
+    <term name="editortranslator" form="verb-short">hg. & übers. von</term>
+
+    <!-- LONG MONTH FORMS -->
+    <term name="month-01">Januar</term>
+    <term name="month-02">Februar</term>
+    <term name="month-03">März</term>
+    <term name="month-04">April</term>
+    <term name="month-05">Mai</term>
+    <term name="month-06">Juni</term>
+    <term name="month-07">Juli</term>
+    <term name="month-08">August</term>
+    <term name="month-09">September</term>
+    <term name="month-10">Oktober</term>
+    <term name="month-11">November</term>
+    <term name="month-12">Dezember</term>
+
+    <!-- SHORT MONTH FORMS -->
+    <term name="month-01" form="short">Jan.</term>
+    <term name="month-02" form="short">Feb.</term>
+    <term name="month-03" form="short">März</term>
+    <term name="month-04" form="short">Apr.</term>
+    <term name="month-05" form="short">Mai</term>
+    <term name="month-06" form="short">Juni</term>
+    <term name="month-07" form="short">Juli</term>
+    <term name="month-08" form="short">Aug.</term>
+    <term name="month-09" form="short">Sep.</term>
+    <term name="month-10" form="short">Okt.</term>
+    <term name="month-11" form="short">Nov.</term>
+    <term name="month-12" form="short">Dez.</term>
+
+    <!-- SEASONS -->
+    <term name="season-01">Frühjahr</term>
+    <term name="season-02">Sommer</term>
+    <term name="season-03">Herbst</term>
+    <term name="season-04">Winter</term>
+  </terms>
+</locale>

Added: trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-el-GR.xml
===================================================================
--- trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-el-GR.xml	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-el-GR.xml	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,314 @@
+<?xml version="1.0" encoding="utf-8"?>
+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="el-GR">
+  <info>
+    <translator>
+      <name>thanasis57</name>
+    </translator>
+    <translator>
+      <name>dimtamb</name>
+    </translator>
+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
+    <updated>2018-10-20T21:17:08-04:00</updated>
+  </info>
+  <style-options punctuation-in-quote="false"/>
+  <date form="text">
+    <date-part name="day" suffix=" "/>
+    <date-part name="month" suffix=" "/>
+    <date-part name="year"/>
+  </date>
+  <date form="numeric">
+    <date-part name="day" form="numeric-leading-zeros" suffix="/"/>
+    <date-part name="month" form="numeric-leading-zeros" suffix="/"/>
+    <date-part name="year"/>
+  </date>
+  <terms>
+    <term name="accessed">ημερομηνία πρόσβασης</term>
+    <term name="and">και</term>
+    <term name="and others">και άλλοι</term>
+    <term name="anonymous">ανώνυμο</term>
+    <term name="anonymous" form="short">ανών.</term>
+    <term name="at">εφ.</term>
+    <term name="available at">διαθέσιμο στο</term>
+    <term name="by">από</term>
+    <term name="circa">περίπου</term>
+    <term name="circa" form="short">περ.</term>
+    <term name="cited">παρατίθεται</term>
+    <term name="edition" gender="feminine">
+      <single>έκδοση</single>
+      <multiple>εκδόσεις</multiple>
+    </term>
+    <term name="edition" form="short">έκδ.</term>
+    <term name="et-al">κ.ά.</term>
+    <term name="forthcoming">προσεχές</term>
+    <term name="from">από</term>
+    <term name="ibid">στο ίδιο</term>
+    <term name="in">στο</term>
+    <term name="in press">υπό έκδοση</term>
+    <term name="internet">διαδίκτυο</term>
+    <term name="interview">συνέντευξη</term>
+    <term name="letter">επιστολή</term>
+    <term name="no date">χωρίς χρονολογία</term>
+    <term name="no date" form="short">χ.χ.</term>
+    <term name="online">έκδοση σε ψηφιακή μορφή</term>
+    <term name="presented at">παρουσιάστηκε στο</term>
+    <term name="reference">
+      <single>παραπομπή</single>
+      <multiple>παραπομπές</multiple>
+    </term>
+    <term name="reference" form="short">
+      <single>παρ.</single>
+      <multiple>παρ.</multiple>
+    </term>
+    <term name="retrieved">ανακτήθηκε</term>
+    <term name="scale">κλίμακα</term>
+    <term name="version">εκδοχή</term>
+
+    <!-- ANNO DOMINI; BEFORE CHRIST -->
+    <term name="ad">μ.Χ.</term>
+    <term name="bc">π.Χ.</term>
+
+    <!-- PUNCTUATION -->
+    <term name="open-quote">‘</term>
+    <term name="close-quote">’</term>
+    <term name="open-inner-quote">'</term>
+    <term name="close-inner-quote">'</term>
+    <term name="page-range-delimiter">–</term>
+
+    <!-- ORDINALS -->
+    <term name="ordinal">ο</term>
+    <term name="ordinal-01" gender-form="feminine" match="whole-number">η</term>
+    <term name="ordinal-01" gender-form="masculine" match="whole-number">ος</term>
+
+    <!-- LONG ORDINALS -->
+    <term name="long-ordinal-01">πρώτος</term>
+    <term name="long-ordinal-02">δεύτερος</term>
+    <term name="long-ordinal-03">τρίτος</term>
+    <term name="long-ordinal-04">τέταρτος</term>
+    <term name="long-ordinal-05">πέμπτος</term>
+    <term name="long-ordinal-06">έκτος</term>
+    <term name="long-ordinal-07">έβδομος</term>
+    <term name="long-ordinal-08">όγδοος</term>
+    <term name="long-ordinal-09">ένατος</term>
+    <term name="long-ordinal-10">δέκατος</term>
+
+    <!-- LONG LOCATOR FORMS -->
+    <term name="book">
+      <single>βιβλίο</single>
+      <multiple>βιβλία</multiple>
+    </term>
+    <term name="chapter">
+      <single>κεφάλαιο</single>
+      <multiple>κεφάλαια</multiple>
+    </term>
+    <term name="column">
+      <single>στήλη</single>
+      <multiple>στήλες</multiple>
+    </term>
+    <term name="figure">
+      <single>εικόνα</single>
+      <multiple>εικόνες</multiple>
+    </term>
+    <term name="folio">
+      <single>φάκελος</single>
+      <multiple>φάκελοι</multiple>
+    </term>
+    <term name="issue">
+      <single>τεύχος</single>
+      <multiple>τεύχη</multiple>
+    </term>
+    <term name="line">
+      <single>σειρά</single>
+      <multiple>σειρές</multiple>
+    </term>
+    <term name="note">
+      <single>σημείωση</single>
+      <multiple>σημειώσεις</multiple>
+    </term>
+    <term name="opus">
+      <single>έργο</single>
+      <multiple>έργα</multiple>
+    </term>
+    <term name="page">
+      <single>σελίδα</single>
+      <multiple>σελίδες</multiple>
+    </term>
+    <term name="number-of-pages">
+      <single>σελίδα</single>
+      <multiple>σελίδες</multiple>
+    </term>
+    <term name="paragraph">
+      <single>παράγραφος</single>
+      <multiple>παράγραφοι</multiple>
+    </term>
+    <term name="part">
+      <single>μέρος</single>
+      <multiple>μέρη</multiple>
+    </term>
+    <term name="section">
+      <single>τμήμα</single>
+      <multiple>τμήματα</multiple>
+    </term>
+    <term name="sub verbo">
+      <single>λήμμα</single>
+      <multiple>λήμματα</multiple>
+    </term>
+    <term name="verse">
+      <single>στίχος</single>
+      <multiple>στίχοι</multiple>
+    </term>
+    <term name="volume">
+      <single>τόμος</single>
+      <multiple>τόμοι</multiple>
+    </term>
+
+    <!-- SHORT LOCATOR FORMS -->
+    <term name="book" form="short">βιβ.</term>
+    <term name="chapter" form="short">κεφ.</term>
+    <term name="column" form="short">στ.</term>
+    <term name="figure" form="short">εικ.</term>
+    <term name="folio" form="short">φάκ</term>
+    <term name="issue" form="short">τχ.</term>
+    <term name="line" form="short">γρ.</term>
+    <term name="note" form="short">σημ.</term>
+    <term name="opus" form="short">έργ.</term>
+    <term name="page" form="short">
+      <single>σ.</single>
+      <multiple>σσ.</multiple>
+    </term>
+    <term name="number-of-pages" form="short">
+      <single>σ.</single>
+      <multiple>σσ.</multiple>
+    </term>
+    <term name="paragraph" form="short">παρ.</term>
+    <term name="part" form="short">μέρ.</term>
+    <term name="section" form="short">τμ.</term>
+    <term name="sub verbo" form="short">
+      <single>λήμ.</single>
+      <multiple>λήμ.</multiple>
+    </term>
+    <term name="verse" form="short">
+      <single>στ.</single>
+      <multiple>στ.</multiple>
+    </term>
+    <term name="volume" form="short">
+      <single>τ.</single>
+      <multiple>τ.</multiple>
+    </term>
+
+    <!-- SYMBOL LOCATOR FORMS -->
+    <term name="paragraph" form="symbol">
+      <single>¶</single>
+      <multiple>¶¶</multiple>
+    </term>
+    <term name="section" form="symbol">
+      <single>§</single>
+      <multiple>§§</multiple>
+    </term>
+
+    <!-- LONG ROLE FORMS -->
+    <term name="director">
+      <single>Διευθυντής</single>
+      <multiple>Διευθυντές</multiple>
+    </term>
+    <term name="editor">
+      <single>επιμελητής</single>
+      <multiple>επιμελητές</multiple>
+    </term>
+    <term name="editorial-director">
+      <single>διευθυντής σειράς</single>
+      <multiple>διευθυντές σειράς</multiple>
+    </term>
+    <term name="illustrator">
+      <single>εικονογράφος</single>
+      <multiple>εικονογράφοι</multiple>
+    </term>
+    <term name="translator">
+      <single>μεταφραστής</single>
+      <multiple>μεταφραστές</multiple>
+    </term>
+    <term name="editortranslator">
+      <single>μεταφραστής και επιμελητής</single>
+      <multiple>μεταφραστές και επιμελητές</multiple>
+    </term>
+
+    <!-- SHORT ROLE FORMS -->
+    <term name="director" form="short">
+      <single>δ/ντης.</single>
+      <multiple>δ/ντές.</multiple>
+    </term>
+    <term name="editor" form="short">
+      <single>επιμ.</single>
+      <multiple>επιμ.</multiple>
+    </term>
+    <term name="editorial-director" form="short">
+      <single>δ/ντής σειράς</single>
+      <multiple>δ/ντές σειρας</multiple>
+    </term>
+    <term name="illustrator" form="short">
+      <single>εικ.</single>
+      <multiple>εικ..</multiple>
+    </term>
+    <term name="translator" form="short">
+      <single>μτφ.</single>
+      <multiple>μτφ.</multiple>
+    </term>
+    <term name="editortranslator" form="short">
+      <single>μτφ. και επιμ.</single>
+      <multiple>μτφ. και επιμ.</multiple>
+    </term>
+
+    <!-- VERB ROLE FORMS -->
+    <term name="container-author" form="verb">στον συλλ. τόμο</term>
+    <term name="director" form="verb">διεύθυνση</term>
+    <term name="editor" form="verb">επιμέλεια</term>
+    <term name="editorial-director" form="verb">διεύθυνση σειράς</term>
+    <term name="illustrator" form="verb">εικονογράφηση:</term>
+    <term name="interviewer" form="verb">συνέντευξη</term>
+    <term name="recipient" form="verb">παραλήπτης</term>
+    <term name="reviewed-author" form="verb">συγγραφέας:</term>
+    <term name="translator" form="verb">μετάφραση</term>
+    <term name="editortranslator" form="verb">μετάφραση και επιμέλεια</term>
+
+    <!-- SHORT VERB ROLE FORMS -->
+    <term name="director" form="verb-short">διευθ.</term>
+    <term name="editor" form="verb-short">επιμέλ.</term>
+    <term name="editorial-director" form="verb-short">δ/νση σειράς</term>
+    <term name="illustrator" form="verb-short">εικον.</term>
+    <term name="translator" form="verb-short">μετάφρ.</term>
+    <term name="editortranslator" form="verb-short">μετάφρ. και επιμέλ.</term>
+
+    <!-- LONG MONTH FORMS -->
+    <term name="month-01">Ιανουάριος</term>
+    <term name="month-02">Φεβρουάριος</term>
+    <term name="month-03">Μάρτιος</term>
+    <term name="month-04">Απρίλιος</term>
+    <term name="month-05">Μάιος</term>
+    <term name="month-06">Ιούνιος</term>
+    <term name="month-07">Ιούλιος</term>
+    <term name="month-08">Αύγουστος</term>
+    <term name="month-09">Σεπτέμβριος</term>
+    <term name="month-10">Οκτώβριος</term>
+    <term name="month-11">Νοέμβριος</term>
+    <term name="month-12">Δεκέμβριος</term>
+
+    <!-- SHORT MONTH FORMS -->
+    <term name="month-01" form="short">Ιανουαρίου</term>
+    <term name="month-02" form="short">Φεβρουαρίου</term>
+    <term name="month-03" form="short">Μαρτίου</term>
+    <term name="month-04" form="short">Απριλίου</term>
+    <term name="month-05" form="short">Μαΐου</term>
+    <term name="month-06" form="short">Ιουνίου</term>
+    <term name="month-07" form="short">Ιουλίου</term>
+    <term name="month-08" form="short">Αυγούστου</term>
+    <term name="month-09" form="short">Σεπτεμβρίου</term>
+    <term name="month-10" form="short">Οκτωβρίου</term>
+    <term name="month-11" form="short">Νοεμβρίου</term>
+    <term name="month-12" form="short">Δεκεμβρίου</term>
+
+    <!-- SEASONS -->
+    <term name="season-01">Άνοιξη</term>
+    <term name="season-02">Καλοκαίρι</term>
+    <term name="season-03">Φθινόπωρο</term>
+    <term name="season-04">Χειμώνας</term>
+  </terms>
+</locale>

Added: trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-en-GB.xml
===================================================================
--- trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-en-GB.xml	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-en-GB.xml	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,357 @@
+<?xml version="1.0" encoding="utf-8"?>
+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="en-GB">
+  <info>
+    <translator>
+      <name>Andrew Dunning</name>
+    </translator>
+    <translator>
+      <name>Sebastian Karcher</name>
+    </translator>
+    <translator>
+      <name>Rintze M. Zelle</name>
+    </translator>
+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
+    <updated>2017-12-29T13:02:03-05:00</updated>
+  </info>
+  <style-options punctuation-in-quote="false"/>
+  <date form="text">
+    <date-part name="day" suffix=" "/>
+    <date-part name="month" suffix=" "/>
+    <date-part name="year"/>
+  </date>
+  <date form="numeric">
+    <date-part name="day" form="numeric-leading-zeros" suffix="/"/>
+    <date-part name="month" form="numeric-leading-zeros" suffix="/"/>
+    <date-part name="year"/>
+  </date>
+  <terms>
+    <term name="accessed">accessed</term>
+    <term name="and">and</term>
+    <term name="and others">and others</term>
+    <term name="anonymous">anonymous</term>
+    <term name="anonymous" form="short">anon.</term>
+    <term name="at">at</term>
+    <term name="available at">available at</term>
+    <term name="by">by</term>
+    <term name="circa">circa</term>
+    <term name="circa" form="short">c.</term>
+    <term name="cited">cited</term>
+    <term name="edition">
+      <single>edition</single>
+      <multiple>editions</multiple>
+    </term>
+    <term name="edition" form="short">ed.</term>
+    <term name="et-al">et al.</term>
+    <term name="forthcoming">forthcoming</term>
+    <term name="from">from</term>
+    <term name="ibid">ibid.</term>
+    <term name="in">in</term>
+    <term name="in press">in press</term>
+    <term name="internet">internet</term>
+    <term name="interview">interview</term>
+    <term name="letter">letter</term>
+    <term name="no date">no date</term>
+    <term name="no date" form="short">n.d.</term>
+    <term name="online">online</term>
+    <term name="presented at">presented at the</term>
+    <term name="reference">
+      <single>reference</single>
+      <multiple>references</multiple>
+    </term>
+    <term name="reference" form="short">
+      <single>ref.</single>
+      <multiple>refs.</multiple>
+    </term>
+    <term name="retrieved">retrieved</term>
+    <term name="scale">scale</term>
+    <term name="version">version</term>
+
+    <!-- ANNO DOMINI; BEFORE CHRIST -->
+    <term name="ad">AD</term>
+    <term name="bc">BC</term>
+
+    <!-- PUNCTUATION -->
+    <term name="open-quote">‘</term>
+    <term name="close-quote">’</term>
+    <term name="open-inner-quote">“</term>
+    <term name="close-inner-quote">”</term>
+    <term name="page-range-delimiter">–</term>
+
+    <!-- ORDINALS -->
+    <term name="ordinal">th</term>
+    <term name="ordinal-01">st</term>
+    <term name="ordinal-02">nd</term>
+    <term name="ordinal-03">rd</term>
+    <term name="ordinal-11">th</term>
+    <term name="ordinal-12">th</term>
+    <term name="ordinal-13">th</term>
+
+    <!-- LONG ORDINALS -->
+    <term name="long-ordinal-01">first</term>
+    <term name="long-ordinal-02">second</term>
+    <term name="long-ordinal-03">third</term>
+    <term name="long-ordinal-04">fourth</term>
+    <term name="long-ordinal-05">fifth</term>
+    <term name="long-ordinal-06">sixth</term>
+    <term name="long-ordinal-07">seventh</term>
+    <term name="long-ordinal-08">eighth</term>
+    <term name="long-ordinal-09">ninth</term>
+    <term name="long-ordinal-10">tenth</term>
+
+    <!-- LONG LOCATOR FORMS -->
+    <term name="book">
+      <single>book</single>
+      <multiple>books</multiple>
+    </term>
+    <term name="chapter">
+      <single>chapter</single>
+      <multiple>chapters</multiple>
+    </term>
+    <term name="column">
+      <single>column</single>
+      <multiple>columns</multiple>
+    </term>
+    <term name="figure">
+      <single>figure</single>
+      <multiple>figures</multiple>
+    </term>
+    <term name="folio">
+      <single>folio</single>
+      <multiple>folios</multiple>
+    </term>
+    <term name="issue">
+      <single>number</single>
+      <multiple>numbers</multiple>
+    </term>
+    <term name="line">
+      <single>line</single>
+      <multiple>lines</multiple>
+    </term>
+    <term name="note">
+      <single>note</single>
+      <multiple>notes</multiple>
+    </term>
+    <term name="opus">
+      <single>opus</single>
+      <multiple>opera</multiple>
+    </term>
+    <term name="page">
+      <single>page</single>
+      <multiple>pages</multiple>
+    </term>
+    <term name="number-of-pages">
+      <single>page</single>
+      <multiple>pages</multiple>
+    </term>
+    <term name="paragraph">
+      <single>paragraph</single>
+      <multiple>paragraphs</multiple>
+    </term>
+    <term name="part">
+      <single>part</single>
+      <multiple>parts</multiple>
+    </term>
+    <term name="section">
+      <single>section</single>
+      <multiple>sections</multiple>
+    </term>
+    <term name="sub verbo">
+      <single>sub verbo</single>
+      <multiple>sub verbis</multiple>
+    </term>
+    <term name="verse">
+      <single>verse</single>
+      <multiple>verses</multiple>
+    </term>
+    <term name="volume">
+      <single>volume</single>
+      <multiple>volumes</multiple>
+    </term>
+
+    <!-- SHORT LOCATOR FORMS -->
+    <term name="book" form="short">
+      <single>bk.</single>
+      <multiple>bks</multiple>
+    </term>
+    <term name="chapter" form="short">
+      <single>chap.</single>
+      <multiple>chaps</multiple>
+    </term>
+    <term name="column" form="short">
+      <single>col.</single>
+      <multiple>cols</multiple>
+    </term>
+    <term name="figure" form="short">
+      <single>fig.</single>
+      <multiple>figs</multiple>
+    </term>
+    <term name="folio" form="short">
+      <single>fol.</single>
+      <multiple>fols</multiple>
+    </term>
+    <term name="issue" form="short">
+      <single>no.</single>
+      <multiple>nos.</multiple>
+    </term>
+    <term name="line" form="short">
+      <single>l.</single>
+      <multiple>ll.</multiple>
+    </term>
+    <term name="note" form="short">
+      <single>n.</single>
+      <multiple>nn.</multiple>
+    </term>
+    <term name="opus" form="short">
+      <single>op.</single>
+      <multiple>opp.</multiple>
+    </term>
+    <term name="page" form="short">
+      <single>p.</single>
+      <multiple>pp.</multiple>
+    </term>
+    <term name="number-of-pages" form="short">
+      <single>p.</single>
+      <multiple>pp.</multiple>
+    </term>
+    <term name="paragraph" form="short">
+      <single>para.</single>
+      <multiple>paras</multiple>
+    </term>
+    <term name="part" form="short">
+      <single>pt.</single>
+      <multiple>pts</multiple>
+    </term>
+    <term name="section" form="short">
+      <single>sec.</single>
+      <multiple>secs</multiple>
+    </term>
+    <term name="sub verbo" form="short">
+      <single>s.v.</single>
+      <multiple>s.vv.</multiple>
+    </term>
+    <term name="verse" form="short">
+      <single>v.</single>
+      <multiple>vv.</multiple>
+    </term>
+    <term name="volume" form="short">
+      <single>vol.</single>
+      <multiple>vols</multiple>
+    </term>
+
+    <!-- SYMBOL LOCATOR FORMS -->
+    <term name="paragraph" form="symbol">
+      <single>¶</single>
+      <multiple>¶¶</multiple>
+    </term>
+    <term name="section" form="symbol">
+      <single>§</single>
+      <multiple>§§</multiple>
+    </term>
+
+    <!-- LONG ROLE FORMS -->
+    <term name="director">
+      <single>director</single>
+      <multiple>directors</multiple>
+    </term>
+    <term name="editor">
+      <single>editor</single>
+      <multiple>editors</multiple>
+    </term>
+    <term name="editorial-director">
+      <single>editor</single>
+      <multiple>editors</multiple>
+    </term>
+    <term name="illustrator">
+      <single>illustrator</single>
+      <multiple>illustrators</multiple>
+    </term>
+    <term name="translator">
+      <single>translator</single>
+      <multiple>translators</multiple>
+    </term>
+    <term name="editortranslator">
+      <single>editor & translator</single>
+      <multiple>editors & translators</multiple>
+    </term>
+
+    <!-- SHORT ROLE FORMS -->
+    <term name="director" form="short">
+      <single>dir.</single>
+      <multiple>dirs.</multiple>
+    </term>
+    <term name="editor" form="short">
+      <single>ed.</single>
+      <multiple>eds.</multiple>
+    </term>
+    <term name="editorial-director" form="short">
+      <single>ed.</single>
+      <multiple>eds.</multiple>
+    </term>
+    <term name="illustrator" form="short">
+      <single>ill.</single>
+      <multiple>ills.</multiple>
+    </term>
+    <term name="translator" form="short">
+      <single>tran.</single>
+      <multiple>trans.</multiple>
+    </term>
+    <term name="editortranslator" form="short">
+      <single>ed. & tran.</single>
+      <multiple>eds. & trans.</multiple>
+    </term>
+
+    <!-- VERB ROLE FORMS -->
+    <term name="container-author" form="verb">by</term>
+    <term name="director" form="verb">directed by</term>
+    <term name="editor" form="verb">edited by</term>
+    <term name="editorial-director" form="verb">edited by</term>
+    <term name="illustrator" form="verb">illustrated by</term>
+    <term name="interviewer" form="verb">interview by</term>
+    <term name="recipient" form="verb">to</term>
+    <term name="reviewed-author" form="verb">by</term>
+    <term name="translator" form="verb">translated by</term>
+    <term name="editortranslator" form="verb">edited & translated by</term>
+
+    <!-- SHORT VERB ROLE FORMS -->
+    <term name="director" form="verb-short">dir. by</term>
+    <term name="editor" form="verb-short">ed. by</term>
+    <term name="editorial-director" form="verb-short">ed. by</term>
+    <term name="illustrator" form="verb-short">illus. by</term>
+    <term name="translator" form="verb-short">trans. by</term>
+    <term name="editortranslator" form="verb-short">ed. & trans. by</term>
+
+    <!-- LONG MONTH FORMS -->
+    <term name="month-01">January</term>
+    <term name="month-02">February</term>
+    <term name="month-03">March</term>
+    <term name="month-04">April</term>
+    <term name="month-05">May</term>
+    <term name="month-06">June</term>
+    <term name="month-07">July</term>
+    <term name="month-08">August</term>
+    <term name="month-09">September</term>
+    <term name="month-10">October</term>
+    <term name="month-11">November</term>
+    <term name="month-12">December</term>
+
+    <!-- SHORT MONTH FORMS -->
+    <term name="month-01" form="short">Jan.</term>
+    <term name="month-02" form="short">Feb.</term>
+    <term name="month-03" form="short">Mar.</term>
+    <term name="month-04" form="short">Apr.</term>
+    <term name="month-05" form="short">May</term>
+    <term name="month-06" form="short">Jun.</term>
+    <term name="month-07" form="short">Jul.</term>
+    <term name="month-08" form="short">Aug.</term>
+    <term name="month-09" form="short">Sep.</term>
+    <term name="month-10" form="short">Oct.</term>
+    <term name="month-11" form="short">Nov.</term>
+    <term name="month-12" form="short">Dec.</term>
+
+    <!-- SEASONS -->
+    <term name="season-01">Spring</term>
+    <term name="season-02">Summer</term>
+    <term name="season-03">Autumn</term>
+    <term name="season-04">Winter</term>
+  </terms>
+</locale>

Added: trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-en-US.xml
===================================================================
--- trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-en-US.xml	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-en-US.xml	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,357 @@
+<?xml version="1.0" encoding="utf-8"?>
+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="en-US">
+  <info>
+    <translator>
+      <name>Andrew Dunning</name>
+    </translator>
+    <translator>
+      <name>Sebastian Karcher</name>
+    </translator>
+    <translator>
+      <name>Rintze M. Zelle</name>
+    </translator>
+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
+    <updated>2017-12-29T13:02:03-05:00</updated>
+  </info>
+  <style-options punctuation-in-quote="true"/>
+  <date form="text">
+    <date-part name="month" suffix=" "/>
+    <date-part name="day" suffix=", "/>
+    <date-part name="year"/>
+  </date>
+  <date form="numeric">
+    <date-part name="month" form="numeric-leading-zeros" suffix="/"/>
+    <date-part name="day" form="numeric-leading-zeros" suffix="/"/>
+    <date-part name="year"/>
+  </date>
+  <terms>
+    <term name="accessed">accessed</term>
+    <term name="and">and</term>
+    <term name="and others">and others</term>
+    <term name="anonymous">anonymous</term>
+    <term name="anonymous" form="short">anon.</term>
+    <term name="at">at</term>
+    <term name="available at">available at</term>
+    <term name="by">by</term>
+    <term name="circa">circa</term>
+    <term name="circa" form="short">c.</term>
+    <term name="cited">cited</term>
+    <term name="edition">
+      <single>edition</single>
+      <multiple>editions</multiple>
+    </term>
+    <term name="edition" form="short">ed.</term>
+    <term name="et-al">et al.</term>
+    <term name="forthcoming">forthcoming</term>
+    <term name="from">from</term>
+    <term name="ibid">ibid.</term>
+    <term name="in">in</term>
+    <term name="in press">in press</term>
+    <term name="internet">internet</term>
+    <term name="interview">interview</term>
+    <term name="letter">letter</term>
+    <term name="no date">no date</term>
+    <term name="no date" form="short">n.d.</term>
+    <term name="online">online</term>
+    <term name="presented at">presented at the</term>
+    <term name="reference">
+      <single>reference</single>
+      <multiple>references</multiple>
+    </term>
+    <term name="reference" form="short">
+      <single>ref.</single>
+      <multiple>refs.</multiple>
+    </term>
+    <term name="retrieved">retrieved</term>
+    <term name="scale">scale</term>
+    <term name="version">version</term>
+
+    <!-- ANNO DOMINI; BEFORE CHRIST -->
+    <term name="ad">AD</term>
+    <term name="bc">BC</term>
+
+    <!-- PUNCTUATION -->
+    <term name="open-quote">“</term>
+    <term name="close-quote">”</term>
+    <term name="open-inner-quote">‘</term>
+    <term name="close-inner-quote">’</term>
+    <term name="page-range-delimiter">–</term>
+
+    <!-- ORDINALS -->
+    <term name="ordinal">th</term>
+    <term name="ordinal-01">st</term>
+    <term name="ordinal-02">nd</term>
+    <term name="ordinal-03">rd</term>
+    <term name="ordinal-11">th</term>
+    <term name="ordinal-12">th</term>
+    <term name="ordinal-13">th</term>
+
+    <!-- LONG ORDINALS -->
+    <term name="long-ordinal-01">first</term>
+    <term name="long-ordinal-02">second</term>
+    <term name="long-ordinal-03">third</term>
+    <term name="long-ordinal-04">fourth</term>
+    <term name="long-ordinal-05">fifth</term>
+    <term name="long-ordinal-06">sixth</term>
+    <term name="long-ordinal-07">seventh</term>
+    <term name="long-ordinal-08">eighth</term>
+    <term name="long-ordinal-09">ninth</term>
+    <term name="long-ordinal-10">tenth</term>
+
+    <!-- LONG LOCATOR FORMS -->
+    <term name="book">
+      <single>book</single>
+      <multiple>books</multiple>
+    </term>
+    <term name="chapter">
+      <single>chapter</single>
+      <multiple>chapters</multiple>
+    </term>
+    <term name="column">
+      <single>column</single>
+      <multiple>columns</multiple>
+    </term>
+    <term name="figure">
+      <single>figure</single>
+      <multiple>figures</multiple>
+    </term>
+    <term name="folio">
+      <single>folio</single>
+      <multiple>folios</multiple>
+    </term>
+    <term name="issue">
+      <single>number</single>
+      <multiple>numbers</multiple>
+    </term>
+    <term name="line">
+      <single>line</single>
+      <multiple>lines</multiple>
+    </term>
+    <term name="note">
+      <single>note</single>
+      <multiple>notes</multiple>
+    </term>
+    <term name="opus">
+      <single>opus</single>
+      <multiple>opera</multiple>
+    </term>
+    <term name="page">
+      <single>page</single>
+      <multiple>pages</multiple>
+    </term>
+    <term name="number-of-pages">
+      <single>page</single>
+      <multiple>pages</multiple>
+    </term>
+    <term name="paragraph">
+      <single>paragraph</single>
+      <multiple>paragraphs</multiple>
+    </term>
+    <term name="part">
+      <single>part</single>
+      <multiple>parts</multiple>
+    </term>
+    <term name="section">
+      <single>section</single>
+      <multiple>sections</multiple>
+    </term>
+    <term name="sub verbo">
+      <single>sub verbo</single>
+      <multiple>sub verbis</multiple>
+    </term>
+    <term name="verse">
+      <single>verse</single>
+      <multiple>verses</multiple>
+    </term>
+    <term name="volume">
+      <single>volume</single>
+      <multiple>volumes</multiple>
+    </term>
+
+    <!-- SHORT LOCATOR FORMS -->
+    <term name="book" form="short">
+      <single>bk.</single>
+      <multiple>bks.</multiple>
+    </term>
+    <term name="chapter" form="short">
+      <single>chap.</single>
+      <multiple>chaps.</multiple>
+    </term>
+    <term name="column" form="short">
+      <single>col.</single>
+      <multiple>cols.</multiple>
+    </term>
+    <term name="figure" form="short">
+      <single>fig.</single>
+      <multiple>figs.</multiple>
+    </term>
+    <term name="folio" form="short">
+      <single>fol.</single>
+      <multiple>fols.</multiple>
+    </term>
+    <term name="issue" form="short">
+      <single>no.</single>
+      <multiple>nos.</multiple>
+    </term>
+    <term name="line" form="short">
+      <single>l.</single>
+      <multiple>ll.</multiple>
+    </term>
+    <term name="note" form="short">
+      <single>n.</single>
+      <multiple>nn.</multiple>
+    </term>
+    <term name="opus" form="short">
+      <single>op.</single>
+      <multiple>opp.</multiple>
+    </term>
+    <term name="page" form="short">
+      <single>p.</single>
+      <multiple>pp.</multiple>
+    </term>
+    <term name="number-of-pages" form="short">
+      <single>p.</single>
+      <multiple>pp.</multiple>
+    </term>
+    <term name="paragraph" form="short">
+      <single>para.</single>
+      <multiple>paras.</multiple>
+    </term>
+    <term name="part" form="short">
+      <single>pt.</single>
+      <multiple>pts.</multiple>
+    </term>
+    <term name="section" form="short">
+      <single>sec.</single>
+      <multiple>secs.</multiple>
+    </term>
+    <term name="sub verbo" form="short">
+      <single>s.v.</single>
+      <multiple>s.vv.</multiple>
+    </term>
+    <term name="verse" form="short">
+      <single>v.</single>
+      <multiple>vv.</multiple>
+    </term>
+    <term name="volume" form="short">
+      <single>vol.</single>
+      <multiple>vols.</multiple>
+    </term>
+
+    <!-- SYMBOL LOCATOR FORMS -->
+    <term name="paragraph" form="symbol">
+      <single>¶</single>
+      <multiple>¶¶</multiple>
+    </term>
+    <term name="section" form="symbol">
+      <single>§</single>
+      <multiple>§§</multiple>
+    </term>
+
+    <!-- LONG ROLE FORMS -->
+    <term name="director">
+      <single>director</single>
+      <multiple>directors</multiple>
+    </term>
+    <term name="editor">
+      <single>editor</single>
+      <multiple>editors</multiple>
+    </term>
+    <term name="editorial-director">
+      <single>editor</single>
+      <multiple>editors</multiple>
+    </term>
+    <term name="illustrator">
+      <single>illustrator</single>
+      <multiple>illustrators</multiple>
+    </term>
+    <term name="translator">
+      <single>translator</single>
+      <multiple>translators</multiple>
+    </term>
+    <term name="editortranslator">
+      <single>editor & translator</single>
+      <multiple>editors & translators</multiple>
+    </term>
+
+    <!-- SHORT ROLE FORMS -->
+    <term name="director" form="short">
+      <single>dir.</single>
+      <multiple>dirs.</multiple>
+    </term>
+    <term name="editor" form="short">
+      <single>ed.</single>
+      <multiple>eds.</multiple>
+    </term>
+    <term name="editorial-director" form="short">
+      <single>ed.</single>
+      <multiple>eds.</multiple>
+    </term>
+    <term name="illustrator" form="short">
+      <single>ill.</single>
+      <multiple>ills.</multiple>
+    </term>
+    <term name="translator" form="short">
+      <single>tran.</single>
+      <multiple>trans.</multiple>
+    </term>
+    <term name="editortranslator" form="short">
+      <single>ed. & tran.</single>
+      <multiple>eds. & trans.</multiple>
+    </term>
+
+    <!-- VERB ROLE FORMS -->
+    <term name="container-author" form="verb">by</term>
+    <term name="director" form="verb">directed by</term>
+    <term name="editor" form="verb">edited by</term>
+    <term name="editorial-director" form="verb">edited by</term>
+    <term name="illustrator" form="verb">illustrated by</term>
+    <term name="interviewer" form="verb">interview by</term>
+    <term name="recipient" form="verb">to</term>
+    <term name="reviewed-author" form="verb">by</term>
+    <term name="translator" form="verb">translated by</term>
+    <term name="editortranslator" form="verb">edited & translated by</term>
+
+    <!-- SHORT VERB ROLE FORMS -->
+    <term name="director" form="verb-short">dir. by</term>
+    <term name="editor" form="verb-short">ed. by</term>
+    <term name="editorial-director" form="verb-short">ed. by</term>
+    <term name="illustrator" form="verb-short">illus. by</term>
+    <term name="translator" form="verb-short">trans. by</term>
+    <term name="editortranslator" form="verb-short">ed. & trans. by</term>
+
+    <!-- LONG MONTH FORMS -->
+    <term name="month-01">January</term>
+    <term name="month-02">February</term>
+    <term name="month-03">March</term>
+    <term name="month-04">April</term>
+    <term name="month-05">May</term>
+    <term name="month-06">June</term>
+    <term name="month-07">July</term>
+    <term name="month-08">August</term>
+    <term name="month-09">September</term>
+    <term name="month-10">October</term>
+    <term name="month-11">November</term>
+    <term name="month-12">December</term>
+
+    <!-- SHORT MONTH FORMS -->
+    <term name="month-01" form="short">Jan.</term>
+    <term name="month-02" form="short">Feb.</term>
+    <term name="month-03" form="short">Mar.</term>
+    <term name="month-04" form="short">Apr.</term>
+    <term name="month-05" form="short">May</term>
+    <term name="month-06" form="short">Jun.</term>
+    <term name="month-07" form="short">Jul.</term>
+    <term name="month-08" form="short">Aug.</term>
+    <term name="month-09" form="short">Sep.</term>
+    <term name="month-10" form="short">Oct.</term>
+    <term name="month-11" form="short">Nov.</term>
+    <term name="month-12" form="short">Dec.</term>
+
+    <!-- SEASONS -->
+    <term name="season-01">Spring</term>
+    <term name="season-02">Summer</term>
+    <term name="season-03">Autumn</term>
+    <term name="season-04">Winter</term>
+  </terms>
+</locale>

Added: trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-es-CL.xml
===================================================================
--- trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-es-CL.xml	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-es-CL.xml	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,310 @@
+<?xml version="1.0" encoding="utf-8"?>
+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="es-CL">
+  <info>
+    <translator>
+      <name>Scott Sadowsky</name>
+      <uri>http://sadowsky.cl/</uri>
+    </translator>
+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
+    <updated>2015-10-15T14:41:06-04:00</updated>
+  </info>
+  <style-options punctuation-in-quote="false"/>
+  <date form="text">
+    <date-part name="day" suffix=" de "/>
+    <date-part name="month" suffix=" de "/>
+    <date-part name="year"/>
+  </date>
+  <date form="numeric">
+    <date-part name="day" form="numeric-leading-zeros" suffix="/"/>
+    <date-part name="month" form="numeric-leading-zeros" suffix="/"/>
+    <date-part name="year"/>
+  </date>
+  <terms>
+    <term name="accessed">accedido</term>
+    <term name="and">y</term>
+    <term name="and others">et al.</term>
+    <term name="anonymous">anónimo</term>
+    <term name="anonymous" form="short">anón.</term>
+    <term name="at">en</term>
+    <term name="available at">disponible en</term>
+    <term name="by">de</term>
+    <term name="circa">circa</term>
+    <term name="circa" form="short">c.</term>
+    <term name="cited">citado</term>
+    <term name="edition">
+      <single>edición</single>
+      <multiple>ediciones</multiple>
+    </term>
+    <term name="edition" form="short">ed.</term>
+    <term name="et-al">et al.</term>
+    <term name="forthcoming">en preparación</term>
+    <term name="from">a partir de</term>
+    <term name="ibid">ibid.</term>
+    <term name="in">en</term>
+    <term name="in press">en imprenta</term>
+    <term name="internet">internet</term>
+    <term name="interview">entrevista</term>
+    <term name="letter">carta</term>
+    <term name="no date">sin fecha</term>
+    <term name="no date" form="short">s. f.</term>
+    <term name="online">en línea</term>
+    <term name="presented at">presentado en</term>
+    <term name="reference">
+      <single>referencia</single>
+      <multiple>referencias</multiple>
+    </term>
+    <term name="reference" form="short">
+      <single>ref.</single>
+      <multiple>refs.</multiple>
+    </term>
+    <term name="retrieved">recuperado</term>
+    <term name="scale">escala</term>
+    <term name="version">versión</term>
+
+    <!-- ANNO DOMINI; BEFORE CHRIST -->
+    <term name="ad">d. C.</term>
+    <term name="bc">a. C.</term>
+
+    <!-- PUNCTUATION -->
+    <term name="open-quote">“</term>
+    <term name="close-quote">”</term>
+    <term name="open-inner-quote">‘</term>
+    <term name="close-inner-quote">’</term>
+    <term name="page-range-delimiter">–</term>
+
+    <!-- ORDINALS -->
+    <term name="ordinal">ª</term>
+
+    <!-- LONG ORDINALS -->
+    <term name="long-ordinal-01">primera</term>
+    <term name="long-ordinal-02">segunda</term>
+    <term name="long-ordinal-03">tercera</term>
+    <term name="long-ordinal-04">cuarta</term>
+    <term name="long-ordinal-05">quinta</term>
+    <term name="long-ordinal-06">sexta</term>
+    <term name="long-ordinal-07">séptima</term>
+    <term name="long-ordinal-08">octava</term>
+    <term name="long-ordinal-09">novena</term>
+    <term name="long-ordinal-10">décima</term>
+
+    <!-- LONG LOCATOR FORMS -->
+    <term name="book">
+      <single>libro</single>
+      <multiple>libros</multiple>
+    </term>
+    <term name="chapter">
+      <single>capítulo</single>
+      <multiple>capítulos</multiple>
+    </term>
+    <term name="column">
+      <single>columna</single>
+      <multiple>columnas</multiple>
+    </term>
+    <term name="figure">
+      <single>figura</single>
+      <multiple>figuras</multiple>
+    </term>
+    <term name="folio">
+      <single>folio</single>
+      <multiple>folios</multiple>
+    </term>
+    <term name="issue">
+      <single>número</single>
+      <multiple>números</multiple>
+    </term>
+    <term name="line">
+      <single>línea</single>
+      <multiple>líneas</multiple>
+    </term>
+    <term name="note">
+      <single>nota</single>
+      <multiple>notas</multiple>
+    </term>
+    <term name="opus">
+      <single>opus</single>
+      <multiple>opera</multiple>
+    </term>
+    <term name="page">
+      <single>página</single>
+      <multiple>páginas</multiple>
+    </term>
+    <term name="number-of-pages">
+      <single>página</single>
+      <multiple>páginas</multiple>
+    </term>
+    <term name="paragraph">
+      <single>párrafo</single>
+      <multiple>párrafos</multiple>
+    </term>
+    <term name="part">
+      <single>parte</single>
+      <multiple>partes</multiple>
+    </term>
+    <term name="section">
+      <single>sección</single>
+      <multiple>secciones</multiple>
+    </term>
+    <term name="sub verbo">
+      <single>sub voce</single>
+      <multiple>sub vocibus</multiple>
+    </term>
+    <term name="verse">
+      <single>verso</single>
+      <multiple>versos</multiple>
+    </term>
+    <term name="volume">
+      <single>volumen</single>
+      <multiple>volúmenes</multiple>
+    </term>
+
+    <!-- SHORT LOCATOR FORMS -->
+    <term name="book" form="short">lib.</term>
+    <term name="chapter" form="short">cap.</term>
+    <term name="column" form="short">col.</term>
+    <term name="figure" form="short">fig.</term>
+    <term name="folio" form="short">f.</term>
+    <term name="issue" form="short">nº</term>
+    <term name="line" form="short">l.</term>
+    <term name="note" form="short">n.</term>
+    <term name="opus" form="short">op.</term>
+    <term name="page" form="short">
+      <single>p.</single>
+      <multiple>pp.</multiple>
+    </term>
+    <term name="number-of-pages" form="short">
+      <single>p.</single>
+      <multiple>pp.</multiple>
+    </term>
+    <term name="paragraph" form="short">párr.</term>
+    <term name="part" form="short">pt.</term>
+    <term name="section" form="short">sec.</term>
+    <term name="sub verbo" form="short">
+      <single>s. v.</single>
+      <multiple>s. vv.</multiple>
+    </term>
+    <term name="verse" form="short">
+      <single>v.</single>
+      <multiple>vv.</multiple>
+    </term>
+    <term name="volume" form="short">
+      <single>vol.</single>
+      <multiple>vols.</multiple>
+    </term>
+
+    <!-- SYMBOL LOCATOR FORMS -->
+    <term name="paragraph" form="symbol">
+      <single>§</single>
+      <multiple>§</multiple>
+    </term>
+    <term name="section" form="symbol">
+      <single>§</single>
+      <multiple>§</multiple>
+    </term>
+
+    <!-- LONG ROLE FORMS -->
+    <term name="director">
+      <single>director</single>
+      <multiple>directores</multiple>
+    </term>
+    <term name="editor">
+      <single>editor</single>
+      <multiple>editores</multiple>
+    </term>
+    <term name="editorial-director">
+      <single>coordinador</single>
+      <multiple>coordinadores</multiple>
+    </term>
+    <term name="illustrator">
+      <single>ilustrador</single>
+      <multiple>ilustradores</multiple>
+    </term>
+    <term name="translator">
+      <single>traductor</single>
+      <multiple>traductores</multiple>
+    </term>
+    <term name="editortranslator">
+      <single>editor y traductor</single>
+      <multiple>editores y traductores</multiple>
+    </term>
+
+    <!-- SHORT ROLE FORMS -->
+    <term name="director" form="short">
+      <single>dir.</single>
+      <multiple>dirs.</multiple>
+    </term>
+    <term name="editor" form="short">
+      <single>ed.</single>
+      <multiple>eds.</multiple>
+    </term>
+    <term name="editorial-director" form="short">
+      <single>coord.</single>
+      <multiple>coords.</multiple>
+    </term>
+    <term name="illustrator" form="short">
+      <single>ilust.</single>
+      <multiple>ilusts.</multiple>
+    </term>
+    <term name="translator" form="short">
+      <single>trad.</single>
+      <multiple>trads.</multiple>
+    </term>
+    <term name="editortranslator" form="short">
+      <single>ed. y trad.</single>
+      <multiple>eds. y trads.</multiple>
+    </term>
+
+    <!-- VERB ROLE FORMS -->
+    <term name="container-author" form="verb">de</term>
+    <term name="director" form="verb">dirigido por</term>
+    <term name="editor" form="verb">editado por</term>
+    <term name="editorial-director" form="verb">coordinado por</term>
+    <term name="illustrator" form="verb">ilustrado por</term>
+    <term name="interviewer" form="verb">entrevistado por</term>
+    <term name="recipient" form="verb">a</term>
+    <term name="reviewed-author" form="verb">por</term>
+    <term name="translator" form="verb">traducido por</term>
+    <term name="editortranslator" form="verb">editado y traducido por</term>
+
+    <!-- SHORT VERB ROLE FORMS -->
+    <term name="director" form="verb-short">dir.</term>
+    <term name="editor" form="verb-short">ed.</term>
+    <term name="editorial-director" form="verb-short">coord.</term>
+    <term name="illustrator" form="verb-short">ilust.</term>
+    <term name="translator" form="verb-short">trad.</term>
+    <term name="editortranslator" form="verb-short">ed. y trad.</term>
+
+    <!-- LONG MONTH FORMS -->
+    <term name="month-01">enero</term>
+    <term name="month-02">febrero</term>
+    <term name="month-03">marzo</term>
+    <term name="month-04">abril</term>
+    <term name="month-05">mayo</term>
+    <term name="month-06">junio</term>
+    <term name="month-07">julio</term>
+    <term name="month-08">agosto</term>
+    <term name="month-09">septiembre</term>
+    <term name="month-10">octubre</term>
+    <term name="month-11">noviembre</term>
+    <term name="month-12">diciembre</term>
+
+    <!-- SHORT MONTH FORMS -->
+    <term name="month-01" form="short">ene.</term>
+    <term name="month-02" form="short">feb.</term>
+    <term name="month-03" form="short">mar.</term>
+    <term name="month-04" form="short">abr.</term>
+    <term name="month-05" form="short">may</term>
+    <term name="month-06" form="short">jun.</term>
+    <term name="month-07" form="short">jul.</term>
+    <term name="month-08" form="short">ago.</term>
+    <term name="month-09" form="short">sep.</term>
+    <term name="month-10" form="short">oct.</term>
+    <term name="month-11" form="short">nov.</term>
+    <term name="month-12" form="short">dic.</term>
+
+    <!-- SEASONS -->
+    <term name="season-01">primavera</term>
+    <term name="season-02">verano</term>
+    <term name="season-03">otoño</term>
+    <term name="season-04">invierno</term>
+  </terms>
+</locale>

Added: trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-es-ES.xml
===================================================================
--- trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-es-ES.xml	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-es-ES.xml	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,309 @@
+<?xml version="1.0" encoding="utf-8"?>
+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="es-ES">
+  <info>
+    <translator>
+      <name>javimat</name>
+    </translator>
+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
+    <updated>2017-12-29T16:29:13+01:00</updated>
+  </info>
+  <style-options punctuation-in-quote="false"/>
+  <date form="text">
+    <date-part name="day" suffix=" de "/>
+    <date-part name="month" suffix=" de "/>
+    <date-part name="year"/>
+  </date>
+  <date form="numeric">
+    <date-part name="day" form="numeric-leading-zeros" suffix="/"/>
+    <date-part name="month" form="numeric-leading-zeros" suffix="/"/>
+    <date-part name="year"/>
+  </date>
+  <terms>
+    <term name="accessed">accedido</term>
+    <term name="and">y</term>
+    <term name="and others">y otros</term>
+    <term name="anonymous">anónimo</term>
+    <term name="anonymous" form="short">anón.</term>
+    <term name="at">en</term>
+    <term name="available at">disponible en</term>
+    <term name="by">de</term>
+    <term name="circa">circa</term>
+    <term name="circa" form="short">c.</term>
+    <term name="cited">citado</term>
+    <term name="edition">
+      <single>edición</single>
+      <multiple>ediciones</multiple>
+    </term>
+    <term name="edition" form="short">ed.</term>
+    <term name="et-al">et al.</term>
+    <term name="forthcoming">previsto</term>
+    <term name="from">a partir de</term>
+    <term name="ibid">ibid.</term>
+    <term name="in">en</term>
+    <term name="in press">en imprenta</term>
+    <term name="internet">internet</term>
+    <term name="interview">entrevista</term>
+    <term name="letter">carta</term>
+    <term name="no date">sin fecha</term>
+    <term name="no date" form="short">s. f.</term>
+    <term name="online">en línea</term>
+    <term name="presented at">presentado en</term>
+    <term name="reference">
+      <single>referencia</single>
+      <multiple>referencias</multiple>
+    </term>
+    <term name="reference" form="short">
+      <single>ref.</single>
+      <multiple>refs.</multiple>
+    </term>
+    <term name="retrieved">recuperado</term>
+    <term name="scale">escala</term>
+    <term name="version">versión</term>
+
+    <!-- ANNO DOMINI; BEFORE CHRIST -->
+    <term name="ad">d. C.</term>
+    <term name="bc">a. C.</term>
+
+    <!-- PUNCTUATION -->
+    <term name="open-quote">«</term>
+    <term name="close-quote">»</term>
+    <term name="open-inner-quote">“</term>
+    <term name="close-inner-quote">”</term>
+    <term name="page-range-delimiter">-</term>
+
+    <!-- ORDINALS -->
+    <term name="ordinal">.ª</term>
+
+    <!-- LONG ORDINALS -->
+    <term name="long-ordinal-01">primera</term>
+    <term name="long-ordinal-02">segunda</term>
+    <term name="long-ordinal-03">tercera</term>
+    <term name="long-ordinal-04">cuarta</term>
+    <term name="long-ordinal-05">quinta</term>
+    <term name="long-ordinal-06">sexta</term>
+    <term name="long-ordinal-07">séptima</term>
+    <term name="long-ordinal-08">octava</term>
+    <term name="long-ordinal-09">novena</term>
+    <term name="long-ordinal-10">décima</term>
+
+    <!-- LONG LOCATOR FORMS -->
+    <term name="book">
+      <single>libro</single>
+      <multiple>libros</multiple>
+    </term>
+    <term name="chapter">
+      <single>capítulo</single>
+      <multiple>capítulos</multiple>
+    </term>
+    <term name="column">
+      <single>columna</single>
+      <multiple>columnas</multiple>
+    </term>
+    <term name="figure">
+      <single>figura</single>
+      <multiple>figuras</multiple>
+    </term>
+    <term name="folio">
+      <single>folio</single>
+      <multiple>folios</multiple>
+    </term>
+    <term name="issue">
+      <single>número</single>
+      <multiple>números</multiple>
+    </term>
+    <term name="line">
+      <single>línea</single>
+      <multiple>líneas</multiple>
+    </term>
+    <term name="note">
+      <single>nota</single>
+      <multiple>notas</multiple>
+    </term>
+    <term name="opus">
+      <single>opus</single>
+      <multiple>opera</multiple>
+    </term>
+    <term name="page">
+      <single>página</single>
+      <multiple>páginas</multiple>
+    </term>
+    <term name="number-of-pages">
+      <single>página</single>
+      <multiple>páginas</multiple>
+    </term>
+    <term name="paragraph">
+      <single>párrafo</single>
+      <multiple>párrafos</multiple>
+    </term>
+    <term name="part">
+      <single>parte</single>
+      <multiple>partes</multiple>
+    </term>
+    <term name="section">
+      <single>sección</single>
+      <multiple>secciones</multiple>
+    </term>
+    <term name="sub verbo">
+      <single>sub voce</single>
+      <multiple>sub vocibus</multiple>
+    </term>
+    <term name="verse">
+      <single>verso</single>
+      <multiple>versos</multiple>
+    </term>
+    <term name="volume">
+      <single>volumen</single>
+      <multiple>volúmenes</multiple>
+    </term>
+
+    <!-- SHORT LOCATOR FORMS -->
+    <term name="book" form="short">lib.</term>
+    <term name="chapter" form="short">cap.</term>
+    <term name="column" form="short">col.</term>
+    <term name="figure" form="short">fig.</term>
+    <term name="folio" form="short">f.</term>
+    <term name="issue" form="short">n.º</term>
+    <term name="line" form="short">l.</term>
+    <term name="note" form="short">n.</term>
+    <term name="opus" form="short">op.</term>
+    <term name="page" form="short">
+      <single>p.</single>
+      <multiple>pp.</multiple>
+    </term>
+    <term name="number-of-pages" form="short">
+      <single>p.</single>
+      <multiple>pp.</multiple>
+    </term>
+    <term name="paragraph" form="short">párr.</term>
+    <term name="part" form="short">pt.</term>
+    <term name="section" form="short">sec.</term>
+    <term name="sub verbo" form="short">
+      <single>s. v.</single>
+      <multiple>s. vv.</multiple>
+    </term>
+    <term name="verse" form="short">
+      <single>v.</single>
+      <multiple>vv.</multiple>
+    </term>
+    <term name="volume" form="short">
+      <single>vol.</single>
+      <multiple>vols.</multiple>
+    </term>
+
+    <!-- SYMBOL LOCATOR FORMS -->
+    <term name="paragraph" form="symbol">
+      <single>§</single>
+      <multiple>§</multiple>
+    </term>
+    <term name="section" form="symbol">
+      <single>§</single>
+      <multiple>§</multiple>
+    </term>
+
+    <!-- LONG ROLE FORMS -->
+    <term name="director">
+      <single>director</single>
+      <multiple>directores</multiple>
+    </term>
+    <term name="editor">
+      <single>editor</single>
+      <multiple>editores</multiple>
+    </term>
+    <term name="editorial-director">
+      <single>editor</single>
+      <multiple>editores</multiple>
+    </term>
+    <term name="illustrator">
+      <single>ilustrador</single>
+      <multiple>ilustradores</multiple>
+    </term>
+    <term name="translator">
+      <single>traductor</single>
+      <multiple>traductores</multiple>
+    </term>
+    <term name="editortranslator">
+      <single>editor y traductor</single>
+      <multiple>editores y traductores</multiple>
+    </term>
+
+    <!-- SHORT ROLE FORMS -->
+    <term name="director" form="short">
+      <single>dir.</single>
+      <multiple>dirs.</multiple>
+    </term>
+    <term name="editor" form="short">
+      <single>ed.</single>
+      <multiple>eds.</multiple>
+    </term>
+    <term name="editorial-director" form="short">
+      <single>ed.</single>
+      <multiple>eds.</multiple>
+    </term>
+    <term name="illustrator" form="short">
+      <single>ilust.</single>
+      <multiple>ilusts.</multiple>
+    </term>
+    <term name="translator" form="short">
+      <single>trad.</single>
+      <multiple>trads.</multiple>
+    </term>
+    <term name="editortranslator" form="short">
+      <single>ed. y trad.</single>
+      <multiple>eds. y trads.</multiple>
+    </term>
+
+    <!-- VERB ROLE FORMS -->
+    <term name="container-author" form="verb">de</term>
+    <term name="director" form="verb">dirigido por</term>
+    <term name="editor" form="verb">editado por</term>
+    <term name="editorial-director" form="verb">editado por</term>
+    <term name="illustrator" form="verb">ilustrado por</term>
+    <term name="interviewer" form="verb">entrevistado por</term>
+    <term name="recipient" form="verb">a</term>
+    <term name="reviewed-author" form="verb">por</term>
+    <term name="translator" form="verb">traducido por</term>
+    <term name="editortranslator" form="verb">editado y traducido por</term>
+
+    <!-- SHORT VERB ROLE FORMS -->
+    <term name="director" form="verb-short">dir.</term>
+    <term name="editor" form="verb-short">ed.</term>
+    <term name="editorial-director" form="verb-short">ed.</term>
+    <term name="illustrator" form="verb-short">ilust.</term>
+    <term name="translator" form="verb-short">trad.</term>
+    <term name="editortranslator" form="verb-short">ed. y trad.</term>
+
+    <!-- LONG MONTH FORMS -->
+    <term name="month-01">enero</term>
+    <term name="month-02">febrero</term>
+    <term name="month-03">marzo</term>
+    <term name="month-04">abril</term>
+    <term name="month-05">mayo</term>
+    <term name="month-06">junio</term>
+    <term name="month-07">julio</term>
+    <term name="month-08">agosto</term>
+    <term name="month-09">septiembre</term>
+    <term name="month-10">octubre</term>
+    <term name="month-11">noviembre</term>
+    <term name="month-12">diciembre</term>
+
+    <!-- SHORT MONTH FORMS -->
+    <term name="month-01" form="short">ene.</term>
+    <term name="month-02" form="short">feb.</term>
+    <term name="month-03" form="short">mar.</term>
+    <term name="month-04" form="short">abr.</term>
+    <term name="month-05" form="short">may</term>
+    <term name="month-06" form="short">jun.</term>
+    <term name="month-07" form="short">jul.</term>
+    <term name="month-08" form="short">ago.</term>
+    <term name="month-09" form="short">sep.</term>
+    <term name="month-10" form="short">oct.</term>
+    <term name="month-11" form="short">nov.</term>
+    <term name="month-12" form="short">dic.</term>
+
+    <!-- SEASONS -->
+    <term name="season-01">primavera</term>
+    <term name="season-02">verano</term>
+    <term name="season-03">otoño</term>
+    <term name="season-04">invierno</term>
+  </terms>
+</locale>

Added: trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-es-MX.xml
===================================================================
--- trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-es-MX.xml	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-es-MX.xml	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,351 @@
+<?xml version="1.0" encoding="utf-8"?>
+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="es-MX">
+  <info>
+    <translator>
+      <name>Juan Ignacio Flores Salgado</name>
+      <uri>https://www.mendeley.com/profiles/juan-ignacio-flores-salgado/</uri>
+    </translator>
+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
+    <updated>2015-10-15T14:41:06-04:00</updated>
+  </info>
+  <style-options punctuation-in-quote="false"/>
+  <date form="text">
+    <date-part name="day" prefix="el " suffix=" de "/>
+    <date-part name="month" suffix=" de "/>
+    <date-part name="year"/>
+  </date>
+  <date form="numeric">
+    <date-part name="day" form="numeric-leading-zeros" suffix="/"/>
+    <date-part name="month" form="numeric-leading-zeros" suffix="/"/>
+    <date-part name="year"/>
+  </date>
+  <terms>
+    <term name="accessed">consultado</term>
+    <term name="and">y</term>
+    <term name="and others">et al.</term>
+    <term name="anonymous">anónimo</term>
+    <term name="anonymous" form="short">anón.</term>
+    <term name="at">en</term>
+    <term name="available at">disponible en</term>
+    <term name="by">de</term>
+    <term name="circa">circa</term>
+    <term name="circa" form="short">c.</term>
+    <term name="cited">citado</term>
+    <term name="edition">
+      <single>edición</single>
+      <multiple>ediciones</multiple>
+    </term>
+    <term name="edition" form="short">
+      <single>ed.</single>
+      <multiple>eds.</multiple>
+    </term>
+    <term name="et-al">et al.</term>
+    <term name="forthcoming">en preparación</term>
+    <term name="from">a partir de</term>
+    <term name="ibid">ibid.</term>
+    <term name="in">en</term>
+    <term name="in press">en imprenta</term>
+    <term name="internet">internet</term>
+    <term name="interview">entrevista</term>
+    <term name="letter">carta</term>
+    <term name="no date">sin fecha</term>
+    <term name="no date" form="short">s/f</term>
+    <term name="online">en línea</term>
+    <term name="presented at">presentado en</term>
+    <term name="reference">
+      <single>referencia</single>
+      <multiple>referencias</multiple>
+    </term>
+    <term name="reference" form="short">
+      <single>ref.</single>
+      <multiple>refs.</multiple>
+    </term>
+    <term name="retrieved">recuperado</term>
+    <term name="scale">escala</term>
+    <term name="version">versión</term>
+    
+    <!-- ANNO DOMINI; BEFORE CHRIST -->
+    <term name="ad">d. C.</term>
+    <term name="bc">a. C.</term>
+    
+    <!-- PUNCTUATION -->
+    <term name="open-quote">“</term>
+    <term name="close-quote">”</term>
+    <term name="open-inner-quote">‘</term>
+    <term name="close-inner-quote">’</term>
+    <term name="page-range-delimiter">–</term>
+    
+    <!-- ORDINALS -->
+    <term name="ordinal">a</term>
+    <term name="ordinal-01" gender-form="feminine" match="whole-number">a</term>
+    <term name="ordinal-01" gender-form="masculine" match="whole-number">o</term>
+    
+    <!-- LONG ORDINALS -->
+    <term name="long-ordinal-01">primera</term>
+    <term name="long-ordinal-02">segunda</term>
+    <term name="long-ordinal-03">tercera</term>
+    <term name="long-ordinal-04">cuarta</term>
+    <term name="long-ordinal-05">quinta</term>
+    <term name="long-ordinal-06">sexta</term>
+    <term name="long-ordinal-07">séptima</term>
+    <term name="long-ordinal-08">octava</term>
+    <term name="long-ordinal-09">novena</term>
+    <term name="long-ordinal-10">décima</term>
+    
+    <!-- LONG LOCATOR FORMS -->
+    <term name="book">
+      <single>libro</single>
+      <multiple>libros</multiple>
+    </term>
+    <term name="chapter">
+      <single>capítulo</single>
+      <multiple>capítulos</multiple>
+    </term>
+    <term name="column">
+      <single>columna</single>
+      <multiple>columnas</multiple>
+    </term>
+    <term name="figure">
+      <single>figura</single>
+      <multiple>figuras</multiple>
+    </term>
+    <term name="folio">
+      <single>folio</single>
+      <multiple>folios</multiple>
+    </term>
+    <term name="issue">
+      <single>número</single>
+      <multiple>números</multiple>
+    </term>
+    <term name="line">
+      <single>línea</single>
+      <multiple>líneas</multiple>
+    </term>
+    <term name="note">
+      <single>nota</single>
+      <multiple>notas</multiple>
+    </term>
+    <term name="opus">
+      <single>opus</single>
+      <multiple>opera</multiple>
+    </term>
+    <term name="page">
+      <single>página</single>
+      <multiple>páginas</multiple>
+    </term>
+    <term name="number-of-pages">
+      <single>página</single>
+      <multiple>páginas</multiple>
+    </term>
+    <term name="paragraph">
+      <single>párrafo</single>
+      <multiple>párrafos</multiple>
+    </term>
+    <term name="part">
+      <single>parte</single>
+      <multiple>partes</multiple>
+    </term>
+    <term name="section">
+      <single>sección</single>
+      <multiple>secciones</multiple>
+    </term>
+    <term name="sub verbo">
+      <single>sub voce</single>
+      <multiple>sub vocibus</multiple>
+    </term>
+    <term name="verse">
+      <single>verso</single>
+      <multiple>versos</multiple>
+    </term>
+    <term name="volume">
+      <single>volumen</single>
+      <multiple>volúmenes</multiple>
+    </term>
+    
+    <!-- SHORT LOCATOR FORMS -->
+    <term name="book" form="short">
+      <single>lib.</single>
+      <multiple>libs.</multiple>
+    </term>
+    <term name="chapter" form="short">
+      <single>cap.</single>
+      <multiple>caps.</multiple>
+    </term>
+    <term name="column" form="short">
+      <single>col.</single>
+      <multiple>cols.</multiple>
+    </term>
+    <term name="figure" form="short">
+      <single>fig.</single>
+      <multiple>figs.</multiple>
+    </term>
+    <term name="folio" form="short">
+      <single>f.</single>
+      <multiple>ff.</multiple>
+    </term>
+    <term name="issue" form="short">
+      <single>núm.</single>
+      <multiple>núms.</multiple>
+    </term>
+    <term name="line" form="short">
+      <single>l.</single>
+      <multiple>ls.</multiple>
+    </term>
+    <term name="note" form="short">
+      <single>n.</single>
+      <multiple>nn.</multiple>
+    </term>
+    <term name="opus" form="short">
+      <single>op.</single>
+      <multiple>opp.</multiple>
+    </term>
+    <term name="page" form="short">
+      <single>p.</single>
+      <multiple>pp.</multiple>
+    </term>
+    <term name="number-of-pages" form="short">
+      <single>p.</single>
+      <multiple>pp.</multiple>
+    </term>
+    <term name="paragraph" form="short">
+      <single>párr.</single>
+      <multiple>párrs.</multiple>
+    </term>
+    <term name="part" form="short">
+      <single>pt.</single>
+      <multiple>pts.</multiple>
+    </term>
+    <term name="section" form="short">
+      <single>sec.</single>
+      <multiple>secs.</multiple>
+    </term>
+    <term name="sub verbo" form="short">
+      <single>s. v.</single>
+      <multiple>s. vv.</multiple>
+    </term>
+    <term name="verse" form="short">
+      <single>v.</single>
+      <multiple>vv.</multiple>
+    </term>
+    <term name="volume" form="short">
+      <single>vol.</single>
+      <multiple>vols.</multiple>
+    </term>
+    
+    <!-- SYMBOL LOCATOR FORMS -->
+    <term name="paragraph" form="symbol">
+      <single>¶</single>
+      <multiple>¶</multiple>
+    </term>
+    <term name="section" form="symbol">
+      <single>§</single>
+      <multiple>§</multiple>
+    </term>
+    
+    <!-- LONG ROLE FORMS -->
+    <term name="director">
+      <single>director</single>
+      <multiple>directores</multiple>
+    </term>
+    <term name="editor">
+      <single>editor</single>
+      <multiple>editores</multiple>
+    </term>
+    <term name="editorial-director">
+      <single>coordinador</single>
+      <multiple>coordinadores</multiple>
+    </term>
+    <term name="illustrator">
+      <single>ilustrador</single>
+      <multiple>ilustradores</multiple>
+    </term>
+    <term name="translator">
+      <single>traductor</single>
+      <multiple>traductores</multiple>
+    </term>
+    <term name="editortranslator">
+      <single>editor y traductor</single>
+      <multiple>editores y traductores</multiple>
+    </term>
+    
+    <!-- SHORT ROLE FORMS -->
+    <term name="director" form="short">
+      <single>dir.</single>
+      <multiple>dirs.</multiple>
+    </term>
+    <term name="editor" form="short">
+      <single>ed.</single>
+      <multiple>eds.</multiple>
+    </term>
+    <term name="editorial-director" form="short">
+      <single>coord.</single>
+      <multiple>coords.</multiple>
+    </term>
+    <term name="illustrator" form="short">
+      <single>ilust.</single>
+      <multiple>ilusts.</multiple>
+    </term>
+    <term name="translator" form="short">
+      <single>trad.</single>
+      <multiple>trads.</multiple>
+    </term>
+    <term name="editortranslator" form="short">
+      <single>ed. y trad.</single>
+      <multiple>eds. y trads.</multiple>
+    </term>
+    
+    <!-- VERB ROLE FORMS -->
+    <term name="container-author" form="verb">de</term>
+    <term name="director" form="verb">dirigido por</term>
+    <term name="editor" form="verb">editado por</term>
+    <term name="editorial-director" form="verb">coordinado por</term>
+    <term name="illustrator" form="verb">ilustrado por</term>
+    <term name="interviewer" form="verb">entrevistado por</term>
+    <term name="recipient" form="verb">a</term>
+    <term name="reviewed-author" form="verb">por</term>
+    <term name="translator" form="verb">traducido por</term>
+    <term name="editortranslator" form="verb">editado y traducido por</term>
+    
+    <!-- SHORT VERB ROLE FORMS -->
+    <term name="director" form="verb-short">dir.</term>
+    <term name="editor" form="verb-short">ed.</term>
+    <term name="editorial-director" form="verb-short">coord.</term>
+    <term name="illustrator" form="verb-short">ilust.</term>
+    <term name="translator" form="verb-short">trad.</term>
+    <term name="editortranslator" form="verb-short">ed. y trad.</term>
+    
+    <!-- LONG MONTH FORMS -->
+    <term name="month-01">enero</term>
+    <term name="month-02">febrero</term>
+    <term name="month-03">marzo</term>
+    <term name="month-04">abril</term>
+    <term name="month-05">mayo</term>
+    <term name="month-06">junio</term>
+    <term name="month-07">julio</term>
+    <term name="month-08">agosto</term>
+    <term name="month-09">septiembre</term>
+    <term name="month-10">octubre</term>
+    <term name="month-11">noviembre</term>
+    <term name="month-12">diciembre</term>
+    
+    <!-- SHORT MONTH FORMS -->
+    <term name="month-01" form="short">ene.</term>
+    <term name="month-02" form="short">feb.</term>
+    <term name="month-03" form="short">mar.</term>
+    <term name="month-04" form="short">abr.</term>
+    <term name="month-05" form="short">may</term>
+    <term name="month-06" form="short">jun.</term>
+    <term name="month-07" form="short">jul.</term>
+    <term name="month-08" form="short">ago.</term>
+    <term name="month-09" form="short">sep.</term>
+    <term name="month-10" form="short">oct.</term>
+    <term name="month-11" form="short">nov.</term>
+    <term name="month-12" form="short">dic.</term>
+    
+    <!-- SEASONS -->
+    <term name="season-01">primavera</term>
+    <term name="season-02">verano</term>
+    <term name="season-03">otoño</term>
+    <term name="season-04">invierno</term>
+  </terms>
+</locale>

Added: trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-et-EE.xml
===================================================================
--- trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-et-EE.xml	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-et-EE.xml	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,309 @@
+<?xml version="1.0" encoding="utf-8"?>
+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="et-EE">
+  <info>
+    <translator>
+      <name>Andrew Dunning</name>
+    </translator>
+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
+    <updated>2017-12-29T16:29:13+01:00</updated>
+  </info>
+  <style-options punctuation-in-quote="false"/>
+  <date form="text">
+    <date-part name="day" form="ordinal" suffix=" "/>
+    <date-part name="month" suffix=" "/>
+    <date-part name="year"/>
+  </date>
+  <date form="numeric">
+    <date-part name="day" form="numeric-leading-zeros" suffix="."/>
+    <date-part name="month" form="numeric-leading-zeros" suffix="."/>
+    <date-part name="year"/>
+  </date>
+  <terms>
+    <term name="accessed">vaadatud</term>
+    <term name="and">ja</term>
+    <term name="and others">ja teised</term>
+    <term name="anonymous">anonüümne</term>
+    <term name="anonymous" form="short">anon</term>
+    <term name="at"></term>
+    <term name="available at">available at</term>
+    <term name="by"></term>
+    <term name="circa">umbes</term>
+    <term name="circa" form="short">u</term>
+    <term name="cited">tsiteeritud</term>
+    <term name="edition">
+      <single>väljaanne</single>
+      <multiple>väljaanded</multiple>
+    </term>
+    <term name="edition" form="short">tr</term>
+    <term name="et-al">et al.</term>
+    <term name="forthcoming">ilmumisel</term>
+    <term name="from"></term>
+    <term name="ibid">ibid.</term>
+    <term name="in"></term>
+    <term name="in press">trükis</term>
+    <term name="internet">internet</term>
+    <term name="interview">intervjuu</term>
+    <term name="letter">kiri</term>
+    <term name="no date">s.a.</term>
+    <term name="no date" form="short">s.a.</term>
+    <term name="online">online</term>
+    <term name="presented at">esitatud</term>
+    <term name="reference">
+      <single>viide</single>
+      <multiple>viited</multiple>
+    </term>
+    <term name="reference" form="short">
+      <single>viide</single>
+      <multiple>viited</multiple>
+    </term>
+    <term name="retrieved">salvestatud</term>
+    <term name="scale">scale</term>
+    <term name="version">version</term>
+
+    <!-- ANNO DOMINI; BEFORE CHRIST -->
+    <term name="ad">pKr</term>
+    <term name="bc">eKr</term>
+
+    <!-- PUNCTUATION -->
+    <term name="open-quote">„</term>
+    <term name="close-quote">“</term>
+    <term name="open-inner-quote">‘</term>
+    <term name="close-inner-quote">’</term>
+    <term name="page-range-delimiter">–</term>
+
+    <!-- ORDINALS -->
+    <term name="ordinal">.</term>
+
+    <!-- LONG ORDINALS -->
+    <term name="long-ordinal-01">esimene</term>
+    <term name="long-ordinal-02">teine</term>
+    <term name="long-ordinal-03">kolmas</term>
+    <term name="long-ordinal-04">neljas</term>
+    <term name="long-ordinal-05">viies</term>
+    <term name="long-ordinal-06">kuues</term>
+    <term name="long-ordinal-07">seitsmes</term>
+    <term name="long-ordinal-08">kaheksas</term>
+    <term name="long-ordinal-09">üheksas</term>
+    <term name="long-ordinal-10">kümnes</term>
+
+    <!-- LONG LOCATOR FORMS -->
+    <term name="book">
+      <single>raamat</single>
+      <multiple>raamatud</multiple>
+    </term>
+    <term name="chapter">
+      <single>peatükk</single>
+      <multiple>peatükid</multiple>
+    </term>
+    <term name="column">
+      <single>veerg</single>
+      <multiple>veerud</multiple>
+    </term>
+    <term name="figure">
+      <single>joonis</single>
+      <multiple>joonised</multiple>
+    </term>
+    <term name="folio">
+      <single>foolio</single>
+      <multiple>fooliod</multiple>
+    </term>
+    <term name="issue">
+      <single>number</single>
+      <multiple>numbrid</multiple>
+    </term>
+    <term name="line">
+      <single>rida</single>
+      <multiple>read</multiple>
+    </term>
+    <term name="note">
+      <single>viide</single>
+      <multiple>viited</multiple>
+    </term>
+    <term name="opus">
+      <single>opus</single>
+      <multiple>opera</multiple>
+    </term>
+    <term name="page">
+      <single>lehekülg</single>
+      <multiple>leheküljed</multiple>
+    </term>
+    <term name="number-of-pages">
+      <single>lehekülg</single>
+      <multiple>leheküljed</multiple>
+    </term>
+    <term name="paragraph">
+      <single>lõik</single>
+      <multiple>lõigud</multiple>
+    </term>
+    <term name="part">
+      <single>osa</single>
+      <multiple>osad</multiple>
+    </term>
+    <term name="section">
+      <single>alajaotis</single>
+      <multiple>alajaotised</multiple>
+    </term>
+    <term name="sub verbo">
+      <single>sub verbo</single>
+      <multiple>sub verbis</multiple>
+    </term>
+    <term name="verse">
+      <single>värss</single>
+      <multiple>värsid</multiple>
+    </term>
+    <term name="volume">
+      <single>köide</single>
+      <multiple>köited</multiple>
+    </term>
+
+    <!-- SHORT LOCATOR FORMS -->
+    <term name="book" form="short">rmt</term>
+    <term name="chapter" form="short">ptk</term>
+    <term name="column" form="short">v</term>
+    <term name="figure" form="short">joon</term>
+    <term name="folio" form="short">f</term>
+    <term name="issue" form="short">nr</term>
+    <term name="line" form="short">l.</term>
+    <term name="note" form="short">n.</term>
+    <term name="opus" form="short">op</term>
+    <term name="page" form="short">
+      <single>lk</single>
+      <multiple>lk</multiple>
+    </term>
+    <term name="number-of-pages" form="short">
+      <single>lk</single>
+      <multiple>lk</multiple>
+    </term>
+    <term name="paragraph" form="short">lõik</term>
+    <term name="part" form="short">osa</term>
+    <term name="section" form="short">alajaot.</term>
+    <term name="sub verbo" form="short">
+      <single>s.v.</single>
+      <multiple>s.vv.</multiple>
+    </term>
+    <term name="verse" form="short">
+      <single>v</single>
+      <multiple>vv</multiple>
+    </term>
+    <term name="volume" form="short">
+      <single>kd</single>
+      <multiple>kd</multiple>
+    </term>
+
+    <!-- SYMBOL LOCATOR FORMS -->
+    <term name="paragraph" form="symbol">
+      <single>¶</single>
+      <multiple>¶¶</multiple>
+    </term>
+    <term name="section" form="symbol">
+      <single>§</single>
+      <multiple>§§</multiple>
+    </term>
+
+    <!-- LONG ROLE FORMS -->
+    <term name="director">
+      <single>director</single>
+      <multiple>directors</multiple>
+    </term>
+    <term name="editor">
+      <single>toimetaja</single>
+      <multiple>toimetajad</multiple>
+    </term>
+    <term name="editorial-director">
+      <single>toimetaja</single>
+      <multiple>toimetajad</multiple>
+    </term>
+    <term name="illustrator">
+      <single>illustrator</single>
+      <multiple>illustrators</multiple>
+    </term>
+    <term name="translator">
+      <single>tõlkija</single>
+      <multiple>tõlkijad</multiple>
+    </term>
+    <term name="editortranslator">
+      <single>toimetaja & tõlkija</single>
+      <multiple>toimetajad & tõlkijad</multiple>
+    </term>
+
+    <!-- SHORT ROLE FORMS -->
+    <term name="director" form="short">
+      <single>dir.</single>
+      <multiple>dirs.</multiple>
+    </term>
+    <term name="editor" form="short">
+      <single>toim</single>
+      <multiple>toim</multiple>
+    </term>
+    <term name="editorial-director" form="short">
+      <single>toim</single>
+      <multiple>toim</multiple>
+    </term>
+    <term name="illustrator" form="short">
+      <single>ill.</single>
+      <multiple>ills.</multiple>
+    </term>
+    <term name="translator" form="short">
+      <single>tõlk</single>
+      <multiple>tõlk</multiple>
+    </term>
+    <term name="editortranslator" form="short">
+      <single>toim & tõlk</single>
+      <multiple>toim & tõlk</multiple>
+    </term>
+
+    <!-- VERB ROLE FORMS -->
+    <term name="container-author" form="verb"></term>
+    <term name="director" form="verb">directed by</term>
+    <term name="editor" form="verb">toimetanud</term>
+    <term name="editorial-director" form="verb">toimetanud</term>
+    <term name="illustrator" form="verb">illustrated by</term>
+    <term name="interviewer" form="verb">intervjueerinud</term>
+    <term name="recipient" form="verb"></term>
+    <term name="reviewed-author" form="verb">by</term>
+    <term name="translator" form="verb">tõlkinud</term>
+    <term name="editortranslator" form="verb">toimetanud & tõlkinud</term>
+
+    <!-- SHORT VERB ROLE FORMS -->
+    <term name="director" form="verb-short">dir.</term>
+    <term name="editor" form="verb-short">toim</term>
+    <term name="editorial-director" form="verb-short">toim</term>
+    <term name="illustrator" form="verb-short">illus.</term>
+    <term name="translator" form="verb-short">tõlk</term>
+    <term name="editortranslator" form="verb-short">toim & tõlk</term>
+
+    <!-- LONG MONTH FORMS -->
+    <term name="month-01">jaanuar</term>
+    <term name="month-02">veebruar</term>
+    <term name="month-03">märts</term>
+    <term name="month-04">aprill</term>
+    <term name="month-05">mai</term>
+    <term name="month-06">juuni</term>
+    <term name="month-07">juuli</term>
+    <term name="month-08">august</term>
+    <term name="month-09">september</term>
+    <term name="month-10">oktoober</term>
+    <term name="month-11">november</term>
+    <term name="month-12">detsember</term>
+
+    <!-- SHORT MONTH FORMS -->
+    <term name="month-01" form="short">jaan</term>
+    <term name="month-02" form="short">veebr</term>
+    <term name="month-03" form="short">märts</term>
+    <term name="month-04" form="short">apr</term>
+    <term name="month-05" form="short">mai</term>
+    <term name="month-06" form="short">juuni</term>
+    <term name="month-07" form="short">juuli</term>
+    <term name="month-08" form="short">aug</term>
+    <term name="month-09" form="short">sept</term>
+    <term name="month-10" form="short">okt</term>
+    <term name="month-11" form="short">nov</term>
+    <term name="month-12" form="short">dets</term>
+
+    <!-- SEASONS -->
+    <term name="season-01">kevad</term>
+    <term name="season-02">suvi</term>
+    <term name="season-03">sügis</term>
+    <term name="season-04">talv</term>
+  </terms>
+</locale>

Added: trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-eu.xml
===================================================================
--- trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-eu.xml	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-eu.xml	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,309 @@
+<?xml version="1.0" encoding="utf-8"?>
+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="eu">
+  <info>
+    <translator>
+      <name>Amaraun</name>
+    </translator>
+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
+    <updated>2017-12-29T12:56:15-05:00</updated>
+  </info>
+  <style-options punctuation-in-quote="false"/>
+  <date form="text">
+    <date-part name="year" suffix="(e)ko "/>
+    <date-part name="month" suffix="aren "/>
+    <date-part name="day" suffix="a"/>
+  </date>
+  <date form="numeric">
+    <date-part name="year" suffix="/"/>
+    <date-part name="month" form="numeric-leading-zeros" suffix="/"/>
+    <date-part name="day" form="numeric-leading-zeros"/>
+  </date>
+  <terms>
+    <term name="accessed">eskuratua</term>
+    <term name="and">eta</term>
+    <term name="and others">eta beste</term>
+    <term name="anonymous">ezezaguna</term>
+    <term name="anonymous" form="short">ezez.</term>
+    <term name="at">-(e)n</term>
+    <term name="available at">available at</term>
+    <term name="by">-(e)k egina</term>
+    <term name="circa">inguru</term>
+    <term name="circa" form="short">ing.</term>
+    <term name="cited">aipatua</term>
+    <term name="edition">
+      <single>argitalpena</single>
+      <multiple>argitalpenak</multiple>
+    </term>
+    <term name="edition" form="short">arg.</term>
+    <term name="et-al">et al.</term>
+    <term name="forthcoming">bidean</term>
+    <term name="from">-(e)tik</term>
+    <term name="ibid">ibíd.</term>
+    <term name="in">in</term>
+    <term name="in press">moldiztegian</term>
+    <term name="internet">internet</term>
+    <term name="interview">elkarrizketa</term>
+    <term name="letter">gutuna</term>
+    <term name="no date">datarik gabe</term>
+    <term name="no date" form="short">d. g.</term>
+    <term name="online">sarean</term>
+    <term name="presented at">-(e)n aurkeztua</term>
+    <term name="reference">
+      <single>aipamena</single>
+      <multiple>aipamenak</multiple>
+    </term>
+    <term name="reference" form="short">
+      <single>aip.</single>
+      <multiple>aip.</multiple>
+    </term>
+    <term name="retrieved">berreskuratua</term>
+    <term name="scale">scale</term>
+    <term name="version">version</term>
+
+    <!-- ANNO DOMINI; BEFORE CHRIST -->
+    <term name="ad">K.a.</term>
+    <term name="bc">K.o.</term>
+
+    <!-- PUNCTUATION -->
+    <term name="open-quote">«</term>
+    <term name="close-quote">»</term>
+    <term name="open-inner-quote">“</term>
+    <term name="close-inner-quote">”</term>
+    <term name="page-range-delimiter">–</term>
+
+    <!-- ORDINALS -->
+    <term name="ordinal">.</term>
+
+    <!-- LONG ORDINALS -->
+    <term name="long-ordinal-01">lehengo</term>
+    <term name="long-ordinal-02">bigarren</term>
+    <term name="long-ordinal-03">hirugarren</term>
+    <term name="long-ordinal-04">laugarren</term>
+    <term name="long-ordinal-05">bosgarren</term>
+    <term name="long-ordinal-06">seigarren</term>
+    <term name="long-ordinal-07">zazpigarren</term>
+    <term name="long-ordinal-08">zortzigarren</term>
+    <term name="long-ordinal-09">bederatzigarren</term>
+    <term name="long-ordinal-10">hamargarren</term>
+
+    <!-- LONG LOCATOR FORMS -->
+    <term name="book">
+      <single>liburua</single>
+      <multiple>liburuak</multiple>
+    </term>
+    <term name="chapter">
+      <single>kapitulua</single>
+      <multiple>kapituluak</multiple>
+    </term>
+    <term name="column">
+      <single>zutabea</single>
+      <multiple>zutabeak</multiple>
+    </term>
+    <term name="figure">
+      <single>irudia</single>
+      <multiple>irudiak</multiple>
+    </term>
+    <term name="folio">
+      <single>orria</single>
+      <multiple>orriak</multiple>
+    </term>
+    <term name="issue">
+      <single>zenbakia</single>
+      <multiple>zenbakiak</multiple>
+    </term>
+    <term name="line">
+      <single>lerroa</single>
+      <multiple>lerroak</multiple>
+    </term>
+    <term name="note">
+      <single>oharra</single>
+      <multiple>oharrak</multiple>
+    </term>
+    <term name="opus">
+      <single>obra</single>
+      <multiple>obrak</multiple>
+    </term>
+    <term name="page">
+      <single>orrialdea</single>
+      <multiple>orrialdeak</multiple>
+    </term>
+    <term name="number-of-pages">
+      <single>orrialdea</single>
+      <multiple>orrialdeak</multiple>
+    </term>
+    <term name="paragraph">
+      <single>paragrafoa</single>
+      <multiple>paragrafoak</multiple>
+    </term>
+    <term name="part">
+      <single>zatia</single>
+      <multiple>zatiak</multiple>
+    </term>
+    <term name="section">
+      <single>atala</single>
+      <multiple>atalak</multiple>
+    </term>
+    <term name="sub verbo">
+      <single>sub voce</single>
+      <multiple>sub vocem</multiple>
+    </term>
+    <term name="verse">
+      <single>bertsoa</single>
+      <multiple>bertsoak</multiple>
+    </term>
+    <term name="volume">
+      <single>luburikia</single>
+      <multiple>luburukiak</multiple>
+    </term>
+
+    <!-- SHORT LOCATOR FORMS -->
+    <term name="book" form="short">lib.</term>
+    <term name="chapter" form="short">kap.</term>
+    <term name="column" form="short">zut.</term>
+    <term name="figure" form="short">iru.</term>
+    <term name="folio" form="short">or.</term>
+    <term name="issue" form="short">zenb.</term>
+    <term name="line" form="short">l.</term>
+    <term name="note" form="short">n.</term>
+    <term name="opus" form="short">op.</term>
+    <term name="page" form="short">
+      <single>or.</single>
+      <multiple>or.</multiple>
+    </term>
+    <term name="number-of-pages" form="short">
+      <single>or.</single>
+      <multiple>or.</multiple>
+    </term>
+    <term name="paragraph" form="short">par.</term>
+    <term name="part" form="short">zt.</term>
+    <term name="section" form="short">atal.</term>
+    <term name="sub verbo" form="short">
+      <single>s.v.</single>
+      <multiple>s.v.</multiple>
+    </term>
+    <term name="verse" form="short">
+      <single>b.</single>
+      <multiple>bb.</multiple>
+    </term>
+    <term name="volume" form="short">
+      <single>libk.</single>
+      <multiple>libk.</multiple>
+    </term>
+
+    <!-- SYMBOL LOCATOR FORMS -->
+    <term name="paragraph" form="symbol">
+      <single>¶</single>
+      <multiple>¶¶</multiple>
+    </term>
+    <term name="section" form="symbol">
+      <single>§</single>
+      <multiple>§</multiple>
+    </term>
+
+    <!-- LONG ROLE FORMS -->
+    <term name="director">
+      <single>director</single>
+      <multiple>directors</multiple>
+    </term>
+    <term name="editor">
+      <single>argitaratzailea</single>
+      <multiple>argitaratzaileak</multiple>
+    </term>
+    <term name="editorial-director">
+      <single>argitaratzailea</single>
+      <multiple>argitaratzaileak</multiple>
+    </term>
+    <term name="illustrator">
+      <single>illustrator</single>
+      <multiple>illustrators</multiple>
+    </term>
+    <term name="translator">
+      <single>itzultzailea</single>
+      <multiple>itzultzaileak</multiple>
+    </term>
+    <term name="editortranslator">
+      <single>argitaratzaile eta itzultzailea</single>
+      <multiple>argitaratzaile eta itzultzaileak</multiple>
+    </term>
+
+    <!-- SHORT ROLE FORMS -->
+    <term name="director" form="short">
+      <single>dir.</single>
+      <multiple>dirs.</multiple>
+    </term>
+    <term name="editor" form="short">
+      <single>arg.</single>
+      <multiple>arg.</multiple>
+    </term>
+    <term name="editorial-director" form="short">
+      <single>arg.</single>
+      <multiple>arg.</multiple>
+    </term>
+    <term name="illustrator" form="short">
+      <single>ill.</single>
+      <multiple>ills.</multiple>
+    </term>
+    <term name="translator" form="short">
+      <single>itzul.</single>
+      <multiple>itzul.</multiple>
+    </term>
+    <term name="editortranslator" form="short">
+      <single>arg. eta itzul.</single>
+      <multiple>arg. eta itzul.</multiple>
+    </term>
+
+    <!-- VERB ROLE FORMS -->
+    <term name="container-author" form="verb"></term>
+    <term name="director" form="verb">directed by</term>
+    <term name="editor" form="verb">-(e)k argitaratua</term>
+    <term name="editorial-director" form="verb">-(e)k argitaratua</term>
+    <term name="illustrator" form="verb">illustrated by</term>
+    <term name="interviewer" form="verb">-(e)k elkarrizketatua</term>
+    <term name="recipient" form="verb">-(r)entzat</term>
+    <term name="reviewed-author" form="verb">by</term>
+    <term name="translator" form="verb">-(e)k itzulia</term>
+    <term name="editortranslator" form="verb">-(e)k argitaratu eta itzulia</term>
+
+    <!-- SHORT VERB ROLE FORMS -->
+    <term name="director" form="verb-short">dir.</term>
+    <term name="editor" form="verb-short">arg.</term>
+    <term name="editorial-director" form="verb-short">arg.</term>
+    <term name="illustrator" form="verb-short">illus.</term>
+    <term name="translator" form="verb-short">itzul.</term>
+    <term name="editortranslator" form="verb-short">-(e)k arg. eta itzul.</term>
+
+    <!-- LONG MONTH FORMS -->
+    <term name="month-01">urtarrilak</term>
+    <term name="month-02">otsailak</term>
+    <term name="month-03">martxoak</term>
+    <term name="month-04">apirilak</term>
+    <term name="month-05">maiatzak</term>
+    <term name="month-06">ekainak</term>
+    <term name="month-07">uztailak</term>
+    <term name="month-08">abuztuak</term>
+    <term name="month-09">irailak</term>
+    <term name="month-10">urriak</term>
+    <term name="month-11">azaroak</term>
+    <term name="month-12">abenduak</term>
+
+    <!-- SHORT MONTH FORMS -->
+    <term name="month-01" form="short">urt.</term>
+    <term name="month-02" form="short">ots.</term>
+    <term name="month-03" form="short">martx.</term>
+    <term name="month-04" form="short">apr.</term>
+    <term name="month-05" form="short">mai.</term>
+    <term name="month-06" form="short">eka.</term>
+    <term name="month-07" form="short">uzt.</term>
+    <term name="month-08" form="short">abz.</term>
+    <term name="month-09" form="short">ira.</term>
+    <term name="month-10" form="short">urr.</term>
+    <term name="month-11" form="short">aza.</term>
+    <term name="month-12" form="short">abe.</term>
+
+    <!-- SEASONS -->
+    <term name="season-01">udaberria</term>
+    <term name="season-02">uda</term>
+    <term name="season-03">udazkena</term>
+    <term name="season-04">negua</term>
+  </terms>
+</locale>

Added: trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-fa-IR.xml
===================================================================
--- trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-fa-IR.xml	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-fa-IR.xml	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,312 @@
+<?xml version="1.0" encoding="utf-8"?>
+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="fa-IR">
+  <info>
+    <translator>
+      <name>Hamed Heydari</name>
+    </translator>
+    <translator>
+      <name>abdealikhurrum</name>
+    </translator>
+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
+    <updated>2017-12-29T16:29:13+01:00</updated>
+  </info>
+  <style-options punctuation-in-quote="true"/>
+  <date form="text">
+    <date-part name="day" suffix=" "/>
+    <date-part name="month" suffix=" "/>
+    <date-part name="year"/>
+  </date>
+  <date form="numeric">
+    <date-part name="day" form="numeric-leading-zeros" suffix="/"/>
+    <date-part name="month" form="numeric-leading-zeros" suffix="/"/>
+    <date-part name="year"/>
+  </date>
+  <terms>
+    <term name="accessed">دسترسی</term>
+    <term name="and">و</term>
+    <term name="and others">و دیگران</term>
+    <term name="anonymous">ناشناس</term>
+    <term name="anonymous" form="short">ناشناس</term>
+    <term name="at">در</term>
+    <term name="available at">قابل دسترس در</term>
+    <term name="by">توسط</term>
+    <term name="circa">تقریباً</term>
+    <term name="circa" form="short">c.</term>
+    <term name="cited">ارجاع شده</term>
+    <term name="edition">
+      <single>ویرایش</single>
+      <multiple>ویرایش‌های</multiple>
+    </term>
+    <term name="edition" form="short">ویرایش</term>
+    <term name="et-al">و همکاران</term>
+    <term name="forthcoming">در دست انتشار</term>
+    <term name="from">از</term>
+    <term name="ibid">همان</term>
+    <term name="in">در</term>
+    <term name="in press">زیر چاپ</term>
+    <term name="internet">اینترنت</term>
+    <term name="interview">مصاحبه</term>
+    <term name="letter">نامه</term>
+    <term name="no date">بدون تاریخ</term>
+    <term name="no date" form="short">بدون تاریخ</term>
+    <term name="online">آنلاین</term>
+    <term name="presented at">ارائه شده در</term>
+    <term name="reference">
+      <single>مرجع</single>
+      <multiple>مراجع</multiple>
+    </term>
+    <term name="reference" form="short">
+      <single>مرجع</single>
+      <multiple>مراجع</multiple>
+    </term>
+    <term name="retrieved">retrieved</term>
+    <term name="scale">scale</term>
+    <term name="version">نسخه</term>
+
+    <!-- ANNO DOMINI; BEFORE CHRIST -->
+    <term name="ad">بعد از میلاد</term>
+    <term name="bc">قبل از میلاد</term>
+
+    <!-- PUNCTUATION -->
+    <term name="open-quote">“</term>
+    <term name="close-quote">”</term>
+    <term name="open-inner-quote">‘</term>
+    <term name="close-inner-quote">’</term>
+    <term name="page-range-delimiter">–</term>
+
+    <!-- ORDINALS -->
+    <term name="ordinal"></term>
+
+    <!-- LONG ORDINALS -->
+    <term name="long-ordinal-01">اول</term>
+    <term name="long-ordinal-02">دوم</term>
+    <term name="long-ordinal-03">سوم</term>
+    <term name="long-ordinal-04">چهارم</term>
+    <term name="long-ordinal-05">پنجم</term>
+    <term name="long-ordinal-06">ششم</term>
+    <term name="long-ordinal-07">هفتم</term>
+    <term name="long-ordinal-08">هشتم</term>
+    <term name="long-ordinal-09">نهم</term>
+    <term name="long-ordinal-10">دهم</term>
+
+    <!-- LONG LOCATOR FORMS -->
+    <term name="book">
+      <single>کتاب</single>
+      <multiple>کتاب‌های</multiple>
+    </term>
+    <term name="chapter">
+      <single>فصل</single>
+      <multiple>فصل‌های</multiple>
+    </term>
+    <term name="column">
+      <single>ستون</single>
+      <multiple>ستون‌های</multiple>
+    </term>
+    <term name="figure">
+      <single>تصویر</single>
+      <multiple>تصاویر</multiple>
+    </term>
+    <term name="folio">
+      <single>برگ</single>
+      <multiple>برگ‌های</multiple>
+    </term>
+    <term name="issue">
+      <single>شماره</single>
+      <multiple>شماره‌های</multiple>
+    </term>
+    <term name="line">
+      <single>خط</single>
+      <multiple>خطوط</multiple>
+    </term>
+    <term name="note">
+      <single>یادداشت</single>
+      <multiple>یادداشت‌های</multiple>
+    </term>
+    <term name="opus">
+      <single>قطعه</single>
+      <multiple>قطعات</multiple>
+    </term>
+    <term name="page">
+      <single>صفحه</single>
+      <multiple>صفحات</multiple>
+    </term>
+    <term name="number-of-pages">
+      <single>صفحه</single>
+      <multiple>صفحات</multiple>
+    </term>
+    <term name="paragraph">
+      <single>پاراگراف</single>
+      <multiple>پاراگراف‌های</multiple>
+    </term>
+    <term name="part">
+      <single>بخش</single>
+      <multiple>بخش‌های</multiple>
+    </term>
+    <term name="section">
+      <single>قسمت</single>
+      <multiple>قسمت‌های</multiple>
+    </term>
+    <term name="sub verbo">
+      <single>در ذیلِ واژه</single>
+      <multiple>در ذیلِ واژه‌های</multiple>
+    </term>
+    <term name="verse">
+      <single>بیت</single>
+      <multiple>بیت‌های</multiple>
+    </term>
+    <term name="volume">
+      <single>جلد</single>
+      <multiple>جلدهای</multiple>
+    </term>
+
+    <!-- SHORT LOCATOR FORMS -->
+    <term name="book" form="short">کتاب</term>
+    <term name="chapter" form="short">فصل</term>
+    <term name="column" form="short">ستون</term>
+    <term name="figure" form="short">تصویر</term>
+    <term name="folio" form="short">برگ</term>
+    <term name="issue" form="short">ش</term>
+    <term name="line" form="short">خط</term>
+    <term name="note" form="short">یادداشت</term>
+    <term name="opus" form="short">قطعه</term>
+    <term name="page" form="short">
+      <single>ص</single>
+      <multiple>صص</multiple>
+    </term>
+    <term name="number-of-pages" form="short">
+      <single>ص</single>
+      <multiple>صص</multiple>
+    </term>
+    <term name="paragraph" form="short">پاراگراف</term>
+    <term name="part" form="short">بخش</term>
+    <term name="section" form="short">قسمت</term>
+    <term name="sub verbo" form="short">
+      <single>s.v</single>
+      <multiple>s.vv</multiple>
+    </term>
+    <term name="verse" form="short">
+      <single>بیت</single>
+      <multiple>ابیات</multiple>
+    </term>
+    <term name="volume" form="short">
+      <single>ج</single>
+      <multiple>جج</multiple>
+    </term>
+
+    <!-- SYMBOL LOCATOR FORMS -->
+    <term name="paragraph" form="symbol">
+      <single>¶</single>
+      <multiple>¶¶</multiple>
+    </term>
+    <term name="section" form="symbol">
+      <single>§</single>
+      <multiple>§§</multiple>
+    </term>
+
+    <!-- LONG ROLE FORMS -->
+    <term name="director">
+      <single>director</single>
+      <multiple>directors</multiple>
+    </term>
+    <term name="editor">
+      <single>ویراستار</single>
+      <multiple>ویراستاران</multiple>
+    </term>
+    <term name="editorial-director">
+      <single>ویراستار</single>
+      <multiple>ویراستاران</multiple>
+    </term>
+    <term name="illustrator">
+      <single>طراح گرافیک</single>
+      <multiple>طراحان گرافیک</multiple>
+    </term>
+    <term name="translator">
+      <single>مترجم</single>
+      <multiple>مترجمین</multiple>
+    </term>
+    <term name="editortranslator">
+      <single>ویراستار و مترجم</single>
+      <multiple>ویراستاران و مترجمین</multiple>
+    </term>
+
+    <!-- SHORT ROLE FORMS -->
+    <term name="director" form="short">
+      <single>dir.</single>
+      <multiple>dirs.</multiple>
+    </term>
+    <term name="editor" form="short">
+      <single>ویراستار</single>
+      <multiple>ویراستاران</multiple>
+    </term>
+    <term name="editorial-director" form="short">
+      <single>ویراستار</single>
+      <multiple>ویراستاران</multiple>
+    </term>
+    <term name="illustrator" form="short">
+      <single>تصویرگر</single>
+      <multiple>تصویرگران</multiple>
+    </term>
+    <term name="translator" form="short">
+      <single>مترجم</single>
+      <multiple>مترجمین</multiple>
+    </term>
+    <term name="editortranslator" form="short">
+      <single>ویراستار و مترجم</single>
+      <multiple>ویراستاران و مترجمین</multiple>
+    </term>
+
+    <!-- VERB ROLE FORMS -->
+    <term name="container-author" form="verb">توسط</term>
+    <term name="director" form="verb">زیر نظر</term>
+    <term name="editor" form="verb">ویراسته‌ی</term>
+    <term name="editorial-director" form="verb">ویراسته‌ی</term>
+    <term name="illustrator" form="verb">طراحی گرافیکی از</term>
+    <term name="interviewer" form="verb">مصاحبه توسط</term>
+    <term name="recipient" form="verb">به</term>
+    <term name="reviewed-author" form="verb">بازبینی توسط</term>
+    <term name="translator" form="verb">ترجمه‌ی</term>
+    <term name="editortranslator" form="verb">ترجمه و ویراسته‌ی</term>
+
+    <!-- SHORT VERB ROLE FORMS -->
+    <term name="director" form="verb-short">dir.</term>
+    <term name="editor" form="verb-short">ویراسته‌ی</term>
+    <term name="editorial-director" form="verb-short">ویراسته‌ی</term>
+    <term name="illustrator" form="verb-short">طراحی از</term>
+    <term name="translator" form="verb-short">ترجمه‌ی</term>
+    <term name="editortranslator" form="verb-short">ترجمه و ویراسته‌ی</term>
+
+    <!-- LONG MONTH FORMS -->
+    <term name="month-01">ژانویه</term>
+    <term name="month-02">فوریه</term>
+    <term name="month-03">مارس</term>
+    <term name="month-04">آوریل</term>
+    <term name="month-05">می</term>
+    <term name="month-06">ژوئن</term>
+    <term name="month-07">جولای</term>
+    <term name="month-08">آگوست</term>
+    <term name="month-09">سپتامبر</term>
+    <term name="month-10">اکتبر</term>
+    <term name="month-11">نوامبر</term>
+    <term name="month-12">دسامبر</term>
+
+    <!-- SHORT MONTH FORMS -->
+    <term name="month-01" form="short">ژانویه</term>
+    <term name="month-02" form="short">فوریه</term>
+    <term name="month-03" form="short">مارس</term>
+    <term name="month-04" form="short">آوریل</term>
+    <term name="month-05" form="short">می</term>
+    <term name="month-06" form="short">ژوئن</term>
+    <term name="month-07" form="short">جولای</term>
+    <term name="month-08" form="short">آگوست</term>
+    <term name="month-09" form="short">سپتامبر</term>
+    <term name="month-10" form="short">اکتبر</term>
+    <term name="month-11" form="short">نوامبر</term>
+    <term name="month-12" form="short">دسامبر</term>
+
+    <!-- SEASONS -->
+    <term name="season-01">بهار</term>
+    <term name="season-02">تابستان</term>
+    <term name="season-03">پاییز</term>
+    <term name="season-04">زمستان</term>
+  </terms>
+</locale>

Added: trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-fi-FI.xml
===================================================================
--- trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-fi-FI.xml	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-fi-FI.xml	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,318 @@
+<?xml version="1.0" encoding="utf-8"?>
+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="fi-FI">
+  <info>
+    <translator>
+      <name>Janne Huovari</name>
+    </translator>
+    <translator>
+      <name>snissine</name>
+    </translator>
+    <translator>
+      <name>villelahtinen</name>
+    </translator>
+    <translator>
+      <name>Juhana Venäläinen</name>
+    </translator>
+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
+    <updated>2018-10-18T06:05:10+03:00</updated>
+  </info>
+  <style-options punctuation-in-quote="false"/>
+  <date form="text">
+    <date-part name="day" form="ordinal" suffix=" "/>
+    <date-part name="month" suffix=" "/>
+    <date-part name="year"/>
+  </date>
+  <date form="numeric">
+    <date-part name="day" suffix="."/>
+    <date-part name="month" form="numeric" suffix="."/>
+    <date-part name="year"/>
+  </date>
+  <terms>
+    <term name="accessed">viitattu</term>
+    <term name="and">ja</term>
+    <term name="and others">ym.</term>
+    <term name="anonymous">tuntematon</term>
+    <term name="anonymous" form="short">tuntematon</term>
+    <term name="at">osoitteessa</term>
+    <term name="available at">saatavissa</term>
+    <term name="by">tekijä</term>
+    <term name="circa">noin</term>
+    <term name="circa" form="short">n.</term>
+    <term name="cited">viitattu</term>
+    <term name="edition">
+      <single>painos</single>
+      <multiple>painokset</multiple>
+    </term>
+    <term name="edition" form="short">p.</term>
+    <term name="et-al">ym.</term>
+    <term name="forthcoming">tulossa</term>
+    <term name="from">osoitteesta</term>
+    <term name="ibid">mt.</term>
+    <term name="in">teoksessa</term>
+    <term name="in press">painossa</term>
+    <term name="internet">internet</term>
+    <term name="interview">haastattelu</term>
+    <term name="letter">kirje</term>
+    <term name="no date">ei päivämäärää</term>
+    <term name="no date" form="short">ei pvm.</term>
+    <term name="online">verkossa</term>
+    <term name="presented at">esitetty tilaisuudessa</term>
+    <term name="reference">
+      <single>viittaus</single>
+      <multiple>viittaukset</multiple>
+    </term>
+    <term name="reference" form="short">
+      <single>viit.</single>
+      <multiple>viit.</multiple>
+    </term>
+    <term name="retrieved">noudettu</term>
+    <term name="scale">mittakaava</term>
+    <term name="version">versio</term>
+
+    <!-- ANNO DOMINI; BEFORE CHRIST -->
+    <term name="ad">jaa.</term>
+    <term name="bc">eaa.</term>
+
+    <!-- PUNCTUATION -->
+    <term name="open-quote">”</term>
+    <term name="close-quote">”</term>
+    <term name="open-inner-quote">’</term>
+    <term name="close-inner-quote">’</term>
+    <term name="page-range-delimiter">–</term>
+
+    <!-- ORDINALS -->
+    <term name="ordinal">.</term>
+
+    <!-- LONG ORDINALS -->
+    <term name="long-ordinal-01">ensimmäinen</term>
+    <term name="long-ordinal-02">toinen</term>
+    <term name="long-ordinal-03">kolmas</term>
+    <term name="long-ordinal-04">neljäs</term>
+    <term name="long-ordinal-05">viides</term>
+    <term name="long-ordinal-06">kuudes</term>
+    <term name="long-ordinal-07">seitsemäs</term>
+    <term name="long-ordinal-08">kahdeksas</term>
+    <term name="long-ordinal-09">yhdeksäs</term>
+    <term name="long-ordinal-10">kymmenes</term>
+
+    <!-- LONG LOCATOR FORMS -->
+    <term name="book">
+      <single>kirja</single>
+      <multiple>kirjat</multiple>
+    </term>
+    <term name="chapter">
+      <single>luku</single>
+      <multiple>luvut</multiple>
+    </term>
+    <term name="column">
+      <single>palsta</single>
+      <multiple>palstat</multiple>
+    </term>
+    <term name="figure">
+      <single>kuvio</single>
+      <multiple>kuviot</multiple>
+    </term>
+    <term name="folio">
+      <single>folio</single>
+      <multiple>foliot</multiple>
+    </term>
+    <term name="issue">
+      <single>numero</single>
+      <multiple>numerot</multiple>
+    </term>
+    <term name="line">
+      <single>rivi</single>
+      <multiple>rivit</multiple>
+    </term>
+    <term name="note">
+      <single>huomautus</single>
+      <multiple>huomautukset</multiple>
+    </term>
+    <term name="opus">
+      <single>opus</single>
+      <multiple>opukset</multiple>
+    </term>
+    <term name="page">
+      <single>sivu</single>
+      <multiple>sivut</multiple>
+    </term>
+    <term name="number-of-pages">
+      <single>sivu</single>
+      <multiple>sivut</multiple>
+    </term>
+    <term name="paragraph">
+      <single>kappale</single>
+      <multiple>kappaleet</multiple>
+    </term>
+    <term name="part">
+      <single>osa</single>
+      <multiple>osat</multiple>
+    </term>
+    <term name="section">
+      <single>osa</single>
+      <multiple>osat</multiple>
+    </term>
+    <term name="sub verbo">
+      <single>sub verbo</single>
+      <multiple>sub verbis</multiple>
+    </term>
+    <term name="verse">
+      <single>säkeistö</single>
+      <multiple>säkeistöt</multiple>
+    </term>
+    <term name="volume">
+      <single>vuosikerta</single>
+      <multiple>vuosikerrat</multiple>
+    </term>
+
+    <!-- SHORT LOCATOR FORMS -->
+    <term name="book" form="short">kirja</term>
+    <term name="chapter" form="short">luku</term>
+    <term name="column" form="short">palsta</term>
+    <term name="figure" form="short">kuv.</term>
+    <term name="folio" form="short">fol.</term>
+    <term name="issue" form="short">nro</term>
+    <term name="line" form="short">r.</term>
+    <term name="note" form="short">huom.</term>
+    <term name="opus" form="short">op.</term>
+    <term name="page" form="short">
+      <single>s.</single>
+      <multiple>ss.</multiple>
+    </term>
+    <term name="number-of-pages" form="short">
+      <single>s.</single>
+      <multiple>ss.</multiple>
+    </term>
+    <term name="paragraph" form="short">kappale</term>
+    <term name="part" form="short">osa</term>
+    <term name="section" form="short">osa</term>
+    <term name="sub verbo" form="short">
+      <single>s.v.</single>
+      <multiple>s.vv.</multiple>
+    </term>
+    <term name="verse" form="short">
+      <single>säk.</single>
+      <multiple>säk.</multiple>
+    </term>
+    <term name="volume" form="short">
+      <single>vsk.</single>
+      <multiple>vsk.</multiple>
+    </term>
+
+    <!-- SYMBOL LOCATOR FORMS -->
+    <term name="paragraph" form="symbol">
+      <single>¶</single>
+      <multiple>¶¶</multiple>
+    </term>
+    <term name="section" form="symbol">
+      <single>§</single>
+      <multiple>§§</multiple>
+    </term>
+
+    <!-- LONG ROLE FORMS -->
+    <term name="director">
+      <single>ohjaaja</single>
+      <multiple>ohjaajat</multiple>
+    </term>
+    <term name="editor">
+      <single>toimittaja</single>
+      <multiple>toimittajat</multiple>
+    </term>
+    <term name="editorial-director">
+      <single>toimittaja</single>
+      <multiple>toimittajat</multiple>
+    </term>
+    <term name="illustrator">
+      <single>kuvittaja</single>
+      <multiple>kuvittajat</multiple>
+    </term>
+    <term name="translator">
+      <single>kääntäjä</single>
+      <multiple>kääntäjät</multiple>
+    </term>
+    <term name="editortranslator">
+      <single>toimittaja ja kääntäjä</single>
+      <multiple>toimittajat ja kääntäjät</multiple>
+    </term>
+
+    <!-- SHORT ROLE FORMS -->
+    <term name="director" form="short">
+      <single>ohj.</single>
+      <multiple>ohj.</multiple>
+    </term>
+    <term name="editor" form="short">
+      <single>toim.</single>
+      <multiple>toim.</multiple>
+    </term>
+    <term name="editorial-director" form="short">
+      <single>toim.</single>
+      <multiple>toim.</multiple>
+    </term>
+    <term name="illustrator" form="short">
+      <single>kuv.</single>
+      <multiple>kuv.</multiple>
+    </term>
+    <term name="translator" form="short">
+      <single>käänt.</single>
+      <multiple>käänt.</multiple>
+    </term>
+    <term name="editortranslator" form="short">
+      <single>toim. ja käänt.</single>
+      <multiple>toim. ja käänt.</multiple>
+    </term>
+
+    <!-- VERB ROLE FORMS -->
+    <term name="container-author" form="verb"></term>
+    <term name="director" form="verb">ohjannut</term>
+    <term name="editor" form="verb">toimittanut</term>
+    <term name="editorial-director" form="verb">toimittanut</term>
+    <term name="illustrator" form="verb">kuvittanut</term>
+    <term name="interviewer" form="verb">haastatellut</term>
+    <term name="recipient" form="verb">vastaanottaja</term>
+    <term name="reviewed-author" form="verb"></term>
+    <term name="translator" form="verb">kääntänyt</term>
+    <term name="editortranslator" form="verb">toimittanut ja kääntänyt</term>
+
+    <!-- SHORT VERB ROLE FORMS -->
+    <term name="director" form="verb-short">ohj.</term>
+    <term name="editor" form="verb-short">toim.</term>
+    <term name="editorial-director" form="verb-short">toim.</term>
+    <term name="illustrator" form="verb-short">kuv.</term>
+    <term name="translator" form="verb-short">käänt.</term>
+    <term name="editortranslator" form="verb-short">toim. ja käänt.</term>
+
+    <!-- LONG MONTH FORMS -->
+    <term name="month-01">tammikuuta</term>
+    <term name="month-02">helmikuuta</term>
+    <term name="month-03">maaliskuuta</term>
+    <term name="month-04">huhtikuuta</term>
+    <term name="month-05">toukokuuta</term>
+    <term name="month-06">kesäkuuta</term>
+    <term name="month-07">heinäkuuta</term>
+    <term name="month-08">elokuuta</term>
+    <term name="month-09">syyskuuta</term>
+    <term name="month-10">lokakuuta</term>
+    <term name="month-11">marraskuuta</term>
+    <term name="month-12">joulukuuta</term>
+
+    <!-- SHORT MONTH FORMS -->
+    <term name="month-01" form="short">tammi</term>
+    <term name="month-02" form="short">helmi</term>
+    <term name="month-03" form="short">maalis</term>
+    <term name="month-04" form="short">huhti</term>
+    <term name="month-05" form="short">touko</term>
+    <term name="month-06" form="short">kesä</term>
+    <term name="month-07" form="short">heinä</term>
+    <term name="month-08" form="short">elo</term>
+    <term name="month-09" form="short">syys</term>
+    <term name="month-10" form="short">loka</term>
+    <term name="month-11" form="short">marras</term>
+    <term name="month-12" form="short">joulu</term>
+
+    <!-- SEASONS -->
+    <term name="season-01">kevät</term>
+    <term name="season-02">kesä</term>
+    <term name="season-03">syksy</term>
+    <term name="season-04">talvi</term>
+  </terms>
+</locale>

Added: trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-fr-CA.xml
===================================================================
--- trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-fr-CA.xml	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-fr-CA.xml	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,317 @@
+<?xml version="1.0" encoding="utf-8"?>
+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="fr-CA">
+  <info>
+    <translator>
+      <name>Grégoire Colly</name>
+    </translator>
+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
+    <updated>2015-10-15T14:41:06-04:00</updated>
+  </info>
+  <style-options punctuation-in-quote="false" limit-day-ordinals-to-day-1="true"/>
+  <date form="text">
+    <date-part name="day" suffix=" "/>
+    <date-part name="month" suffix=" "/>
+    <date-part name="year"/>
+  </date>
+  <date form="numeric">
+    <date-part name="day" form="numeric-leading-zeros" suffix="/"/>
+    <date-part name="month" form="numeric-leading-zeros" suffix="/"/>
+    <date-part name="year"/>
+  </date>
+  <terms>
+    <term name="accessed">consulté le</term>
+    <term name="and">et</term>
+    <term name="and others">et autres</term>
+    <term name="anonymous">anonyme</term>
+    <term name="anonymous" form="short">anon.</term>
+    <term name="at">sur</term>
+    <term name="available at">disponible à</term>
+    <term name="by">par</term>
+    <term name="circa">vers</term>
+    <term name="circa" form="short">v.</term>
+    <term name="cited">cité</term>
+    <term name="edition" gender="feminine">
+      <single>édition</single>
+      <multiple>éditions</multiple>
+    </term>
+    <term name="edition" form="short">éd.</term>
+    <term name="et-al">et al.</term>
+    <term name="forthcoming">à paraître</term>
+    <term name="from">à l'adresse</term>
+    <term name="ibid">ibid.</term>
+    <term name="in">dans</term>
+    <term name="in press">sous presse</term>
+    <term name="internet">Internet</term>
+    <term name="interview">entretien</term>
+    <term name="letter">lettre</term>
+    <term name="no date">sans date</term>
+    <term name="no date" form="short">s. d.</term>
+    <term name="online">en ligne</term>
+    <term name="presented at">présenté à</term>
+    <term name="reference">
+      <single>référence</single>
+      <multiple>références</multiple>
+    </term>
+    <term name="reference" form="short">
+      <single>réf.</single>
+      <multiple>réf.</multiple>
+    </term>
+    <term name="retrieved">consulté</term>
+    <term name="scale">échelle</term>
+    <term name="version">version</term>
+
+    <!-- ANNO DOMINI; BEFORE CHRIST -->
+    <term name="ad">apr. J.-C.</term>
+    <term name="bc">av. J.-C.</term>
+
+    <!-- PUNCTUATION -->
+    <term name="open-quote">« </term>
+    <term name="close-quote"> »</term>
+    <term name="open-inner-quote">“</term>
+    <term name="close-inner-quote">”</term>
+    <term name="page-range-delimiter">‑</term> <!-- non-breaking hyphen -->
+
+    <!-- ORDINALS -->
+    <term name="ordinal">ᵉ</term>
+   	<term name="ordinal-01" gender-form="feminine" match="whole-number">ʳᵉ</term>
+    <term name="ordinal-01" gender-form="masculine" match="whole-number">ᵉʳ</term>
+
+    <!-- LONG ORDINALS -->
+    <term name="long-ordinal-01">premier</term>
+    <term name="long-ordinal-02">deuxième</term>
+    <term name="long-ordinal-03">troisième</term>
+    <term name="long-ordinal-04">quatrième</term>
+    <term name="long-ordinal-05">cinquième</term>
+    <term name="long-ordinal-06">sixième</term>
+    <term name="long-ordinal-07">septième</term>
+    <term name="long-ordinal-08">huitième</term>
+    <term name="long-ordinal-09">neuvième</term>
+    <term name="long-ordinal-10">dixième</term>
+
+    <!-- LONG LOCATOR FORMS -->
+    <term name="book">
+      <single>livre</single>
+      <multiple>livres</multiple>
+    </term>
+    <term name="chapter">
+      <single>chapitre</single>
+      <multiple>chapitres</multiple>
+    </term>
+    <term name="column">
+      <single>colonne</single>
+      <multiple>colonnes</multiple>
+    </term>
+    <term name="figure">
+      <single>figure</single>
+      <multiple>figures</multiple>
+    </term>
+    <term name="folio">
+      <single>folio</single>
+      <multiple>folios</multiple>
+    </term>
+    <term name="issue" gender="masculine">
+      <single>numéro</single>
+      <multiple>numéros</multiple>
+    </term>
+    <term name="line">
+      <single>ligne</single>
+      <multiple>lignes</multiple>
+    </term>
+    <term name="note">
+      <single>note</single>
+      <multiple>notes</multiple>
+    </term>
+    <term name="opus">
+      <single>opus</single>
+      <multiple>opus</multiple>
+    </term>
+    <term name="page">
+      <single>page</single>
+      <multiple>pages</multiple>
+    </term>
+    <term name="number-of-pages">
+      <single>page</single>
+      <multiple>pages</multiple>
+    </term>
+    <term name="paragraph">
+      <single>paragraphe</single>
+      <multiple>paragraphes</multiple>
+    </term>
+    <term name="part">
+      <single>partie</single>
+      <multiple>parties</multiple>
+    </term>
+    <term name="section">
+      <single>section</single>
+      <multiple>sections</multiple>
+    </term>
+    <term name="sub verbo">
+      <single>sub verbo</single>
+      <multiple>sub verbis</multiple>
+    </term>
+    <term name="verse">
+      <single>verset</single>
+      <multiple>versets</multiple>
+    </term>
+    <term name="volume" gender="masculine">
+      <single>volume</single>
+      <multiple>volumes</multiple>
+    </term>
+
+    <!-- SHORT LOCATOR FORMS -->
+    <term name="book" form="short">liv.</term>
+    <term name="chapter" form="short">chap.</term>
+    <term name="column" form="short">col.</term>
+    <term name="figure" form="short">fig.</term>
+    <term name="folio" form="short">
+      <single>fᵒ</single>
+      <multiple>fᵒˢ</multiple>
+    </term>
+    <term name="issue" form="short">
+      <single>nᵒ</single>
+      <multiple>nᵒˢ</multiple>
+    </term>
+    <term name="line" form="short">l.</term>
+    <term name="note" form="short">n.</term>
+    <term name="opus" form="short">op.</term>
+    <term name="page" form="short">
+      <single>p.</single>
+      <multiple>p.</multiple>
+    </term>
+    <term name="number-of-pages" form="short">
+      <single>p.</single>
+      <multiple>p.</multiple>
+    </term>
+    <term name="paragraph" form="short">paragr.</term>
+    <term name="part" form="short">part.</term>
+    <term name="section" form="short">sect.</term>
+    <term name="sub verbo" form="short">
+      <single>s. v.</single>
+      <multiple>s. vv.</multiple>
+    </term>
+    <term name="verse" form="short">
+      <single>v.</single>
+      <multiple>v.</multiple>
+    </term>
+    <term name="volume" form="short">
+      <single>vol.</single>
+      <multiple>vol.</multiple>
+    </term>
+
+    <!-- SYMBOL LOCATOR FORMS -->
+    <term name="paragraph" form="symbol">
+      <single>§</single>
+      <multiple>§</multiple>
+    </term>
+    <term name="section" form="symbol">
+      <single>§</single>
+      <multiple>§</multiple>
+    </term>
+
+    <!-- LONG ROLE FORMS -->
+    <term name="director">
+      <single>réalisateur</single>
+      <multiple>réalisateurs</multiple>
+    </term>
+    <term name="editor">
+      <single>éditeur</single>
+      <multiple>éditeurs</multiple>
+    </term>
+    <term name="editorial-director">
+      <single>directeur</single>
+      <multiple>directeurs</multiple>
+    </term>
+    <term name="illustrator">
+      <single>illustrateur</single>
+      <multiple>illustrateurs</multiple>
+    </term>
+    <term name="translator">
+      <single>traducteur</single>
+      <multiple>traducteurs</multiple>
+    </term>
+    <term name="editortranslator">
+      <single>éditeur et traducteur</single>
+      <multiple>éditeurs et traducteurs</multiple>
+    </term>
+
+    <!-- SHORT ROLE FORMS -->
+    <term name="director" form="short">
+      <single>réal.</single>
+      <multiple>réal.</multiple>
+    </term>
+    <term name="editor" form="short">
+      <single>éd.</single>
+      <multiple>éd.</multiple>
+    </term>
+    <term name="editorial-director" form="short">
+      <single>dir.</single>
+      <multiple>dir.</multiple>
+    </term>
+    <term name="illustrator" form="short">
+      <single>ill.</single>
+      <multiple>ill.</multiple>
+    </term>
+    <term name="translator" form="short">
+      <single>trad.</single>
+      <multiple>trad.</multiple>
+    </term>
+    <term name="editortranslator" form="short">
+      <single>éd. et trad.</single>
+      <multiple>éd. et trad.</multiple>
+    </term>
+
+    <!-- VERB ROLE FORMS -->
+    <term name="container-author" form="verb">par</term>
+    <term name="director" form="verb">réalisé par</term>
+    <term name="editor" form="verb">édité par</term>
+    <term name="editorial-director" form="verb">sous la direction de</term>
+    <term name="illustrator" form="verb">illustré par</term>
+    <term name="interviewer" form="verb">entretien réalisé par</term>
+    <term name="recipient" form="verb">à</term>
+    <term name="reviewed-author" form="verb">par</term>
+    <term name="translator" form="verb">traduit par</term>
+    <term name="editortranslator" form="verb">édité et traduit par</term>
+
+    <!-- SHORT VERB ROLE FORMS -->
+    <term name="director" form="verb-short">réal. par</term>
+    <term name="editor" form="verb-short">éd. par</term>
+    <term name="editorial-director" form="verb-short">ss la dir. de</term>
+    <term name="illustrator" form="verb-short">ill. par</term>
+    <term name="translator" form="verb-short">trad. par</term>
+    <term name="editortranslator" form="verb-short">éd. et trad. par</term>
+
+    <!-- LONG MONTH FORMS -->
+    <term name="month-01" gender="masculine">janvier</term>
+    <term name="month-02" gender="masculine">février</term>
+    <term name="month-03" gender="masculine">mars</term>
+    <term name="month-04" gender="masculine">avril</term>
+    <term name="month-05" gender="masculine">mai</term>
+    <term name="month-06" gender="masculine">juin</term>
+    <term name="month-07" gender="masculine">juillet</term>
+    <term name="month-08" gender="masculine">août</term>
+    <term name="month-09" gender="masculine">septembre</term>
+    <term name="month-10" gender="masculine">octobre</term>
+    <term name="month-11" gender="masculine">novembre</term>
+    <term name="month-12" gender="masculine">décembre</term>
+
+    <!-- SHORT MONTH FORMS -->
+    <term name="month-01" form="short">janv.</term>
+    <term name="month-02" form="short">févr.</term>
+    <term name="month-03" form="short">mars</term>
+    <term name="month-04" form="short">avr.</term>
+    <term name="month-05" form="short">mai</term>
+    <term name="month-06" form="short">juin</term>
+    <term name="month-07" form="short">juill.</term>
+    <term name="month-08" form="short">août</term>
+    <term name="month-09" form="short">sept.</term>
+    <term name="month-10" form="short">oct.</term>
+    <term name="month-11" form="short">nov.</term>
+    <term name="month-12" form="short">déc.</term>
+
+    <!-- SEASONS -->
+    <term name="season-01">printemps</term>
+    <term name="season-02">été</term>
+    <term name="season-03">automne</term>
+    <term name="season-04">hiver</term>
+  </terms>
+</locale>

Added: trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-fr-FR.xml
===================================================================
--- trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-fr-FR.xml	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-fr-FR.xml	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,317 @@
+<?xml version="1.0" encoding="utf-8"?>
+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="fr-FR">
+  <info>
+    <translator>
+      <name>Grégoire Colly</name>
+    </translator>
+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
+    <updated>2015-10-15T14:41:06-04:00</updated>
+  </info>
+  <style-options punctuation-in-quote="false" limit-day-ordinals-to-day-1="true"/>
+  <date form="text">
+    <date-part name="day" suffix=" "/>
+    <date-part name="month" suffix=" "/>
+    <date-part name="year"/>
+  </date>
+  <date form="numeric">
+    <date-part name="day" form="numeric-leading-zeros" suffix="/"/>
+    <date-part name="month" form="numeric-leading-zeros" suffix="/"/>
+    <date-part name="year"/>
+  </date>
+  <terms>
+    <term name="accessed">consulté le</term>
+    <term name="and">et</term>
+    <term name="and others">et autres</term>
+    <term name="anonymous">anonyme</term>
+    <term name="anonymous" form="short">anon.</term>
+    <term name="at">sur</term>
+    <term name="available at">disponible sur</term>
+    <term name="by">par</term>
+    <term name="circa">vers</term>
+    <term name="circa" form="short">v.</term>
+    <term name="cited">cité</term>
+    <term name="edition" gender="feminine">
+      <single>édition</single>
+      <multiple>éditions</multiple>
+    </term>
+    <term name="edition" form="short">éd.</term>
+    <term name="et-al">et al.</term>
+    <term name="forthcoming">à paraître</term>
+    <term name="from">à l'adresse</term>
+    <term name="ibid">ibid.</term>
+    <term name="in">in</term>
+    <term name="in press">sous presse</term>
+    <term name="internet">Internet</term>
+    <term name="interview">entretien</term>
+    <term name="letter">lettre</term>
+    <term name="no date">sans date</term>
+    <term name="no date" form="short">s. d.</term>
+    <term name="online">en ligne</term>
+    <term name="presented at">présenté à</term>
+    <term name="reference">
+      <single>référence</single>
+      <multiple>références</multiple>
+    </term>
+    <term name="reference" form="short">
+      <single>réf.</single>
+      <multiple>réf.</multiple>
+    </term>
+    <term name="retrieved">consulté</term>
+    <term name="scale">échelle</term>
+    <term name="version">version</term>
+
+    <!-- ANNO DOMINI; BEFORE CHRIST -->
+    <term name="ad">apr. J.-C.</term>
+    <term name="bc">av. J.-C.</term>
+
+    <!-- PUNCTUATION -->
+    <term name="open-quote">« </term>
+    <term name="close-quote"> »</term>
+    <term name="open-inner-quote">“</term>
+    <term name="close-inner-quote">”</term>
+    <term name="page-range-delimiter">‑</term> <!-- non-breaking hyphen -->
+
+    <!-- ORDINALS -->
+    <term name="ordinal">ᵉ</term>
+    <term name="ordinal-01" gender-form="feminine" match="whole-number">ʳᵉ</term>
+    <term name="ordinal-01" gender-form="masculine" match="whole-number">ᵉʳ</term>
+    
+    <!-- LONG ORDINALS -->
+    <term name="long-ordinal-01">premier</term>
+    <term name="long-ordinal-02">deuxième</term>
+    <term name="long-ordinal-03">troisième</term>
+    <term name="long-ordinal-04">quatrième</term>
+    <term name="long-ordinal-05">cinquième</term>
+    <term name="long-ordinal-06">sixième</term>
+    <term name="long-ordinal-07">septième</term>
+    <term name="long-ordinal-08">huitième</term>
+    <term name="long-ordinal-09">neuvième</term>
+    <term name="long-ordinal-10">dixième</term>
+
+    <!-- LONG LOCATOR FORMS -->
+    <term name="book">
+      <single>livre</single>
+      <multiple>livres</multiple>
+    </term>
+    <term name="chapter">
+      <single>chapitre</single>
+      <multiple>chapitres</multiple>
+    </term>
+    <term name="column">
+      <single>colonne</single>
+      <multiple>colonnes</multiple>
+    </term>
+    <term name="figure">
+      <single>figure</single>
+      <multiple>figures</multiple>
+    </term>
+    <term name="folio">
+      <single>folio</single>
+      <multiple>folios</multiple>
+    </term>
+    <term name="issue" gender="masculine">
+      <single>numéro</single>
+      <multiple>numéros</multiple>
+    </term>
+    <term name="line">
+      <single>ligne</single>
+      <multiple>lignes</multiple>
+    </term>
+    <term name="note">
+      <single>note</single>
+      <multiple>notes</multiple>
+    </term>
+    <term name="opus">
+      <single>opus</single>
+      <multiple>opus</multiple>
+    </term>
+    <term name="page">
+      <single>page</single>
+      <multiple>pages</multiple>
+    </term>
+    <term name="number-of-pages">
+      <single>page</single>
+      <multiple>pages</multiple>
+    </term>
+    <term name="paragraph">
+      <single>paragraphe</single>
+      <multiple>paragraphes</multiple>
+    </term>
+    <term name="part">
+      <single>partie</single>
+      <multiple>parties</multiple>
+    </term>
+    <term name="section">
+      <single>section</single>
+      <multiple>sections</multiple>
+    </term>
+    <term name="sub verbo">
+      <single>sub verbo</single>
+      <multiple>sub verbis</multiple>
+    </term>
+    <term name="verse">
+      <single>verset</single>
+      <multiple>versets</multiple>
+    </term>
+    <term name="volume" gender="masculine">
+      <single>volume</single>
+      <multiple>volumes</multiple>
+    </term>
+
+    <!-- SHORT LOCATOR FORMS -->
+    <term name="book" form="short">liv.</term>
+    <term name="chapter" form="short">chap.</term>
+    <term name="column" form="short">col.</term>
+    <term name="figure" form="short">fig.</term>
+    <term name="folio" form="short">
+      <single>fᵒ</single>
+      <multiple>fᵒˢ</multiple>
+    </term>
+    <term name="issue" form="short">
+      <single>nᵒ</single>
+      <multiple>nᵒˢ</multiple>
+    </term>
+    <term name="line" form="short">l.</term>
+    <term name="note" form="short">n.</term>
+    <term name="opus" form="short">op.</term>
+    <term name="page" form="short">
+      <single>p.</single>
+      <multiple>p.</multiple>
+    </term>
+    <term name="number-of-pages" form="short">
+      <single>p.</single>
+      <multiple>p.</multiple>
+    </term>
+    <term name="paragraph" form="short">paragr.</term>
+    <term name="part" form="short">part.</term>
+    <term name="section" form="short">sect.</term>
+    <term name="sub verbo" form="short">
+      <single>s. v.</single>
+      <multiple>s. vv.</multiple>
+    </term>
+    <term name="verse" form="short">
+      <single>v.</single>
+      <multiple>v.</multiple>
+    </term>
+    <term name="volume" form="short">
+      <single>vol.</single>
+      <multiple>vol.</multiple>
+    </term>
+
+    <!-- SYMBOL LOCATOR FORMS -->
+    <term name="paragraph" form="symbol">
+      <single>§</single>
+      <multiple>§</multiple>
+    </term>
+    <term name="section" form="symbol">
+      <single>§</single>
+      <multiple>§</multiple>
+    </term>
+
+    <!-- LONG ROLE FORMS -->
+    <term name="director">
+      <single>réalisateur</single>
+      <multiple>réalisateurs</multiple>
+    </term>
+    <term name="editor">
+      <single>éditeur</single>
+      <multiple>éditeurs</multiple>
+    </term>
+    <term name="editorial-director">
+      <single>directeur</single>
+      <multiple>directeurs</multiple>
+    </term>
+    <term name="illustrator">
+      <single>illustrateur</single>
+      <multiple>illustrateurs</multiple>
+    </term>
+    <term name="translator">
+      <single>traducteur</single>
+      <multiple>traducteurs</multiple>
+    </term>
+    <term name="editortranslator">
+      <single>éditeur et traducteur</single>
+      <multiple>éditeurs et traducteurs</multiple>
+    </term>
+
+    <!-- SHORT ROLE FORMS -->
+    <term name="director" form="short">
+      <single>réal.</single>
+      <multiple>réal.</multiple>
+    </term>
+    <term name="editor" form="short">
+      <single>éd.</single>
+      <multiple>éd.</multiple>
+    </term>
+    <term name="editorial-director" form="short">
+      <single>dir.</single>
+      <multiple>dir.</multiple>
+    </term>
+    <term name="illustrator" form="short">
+      <single>ill.</single>
+      <multiple>ill.</multiple>
+    </term>
+    <term name="translator" form="short">
+      <single>trad.</single>
+      <multiple>trad.</multiple>
+    </term>
+    <term name="editortranslator" form="short">
+      <single>éd. et trad.</single>
+      <multiple>éd. et trad.</multiple>
+    </term>
+
+    <!-- VERB ROLE FORMS -->
+    <term name="container-author" form="verb">par</term>
+    <term name="director" form="verb">réalisé par</term>
+    <term name="editor" form="verb">édité par</term>
+    <term name="editorial-director" form="verb">sous la direction de</term>
+    <term name="illustrator" form="verb">illustré par</term>
+    <term name="interviewer" form="verb">entretien réalisé par</term>
+    <term name="recipient" form="verb">à</term>
+    <term name="reviewed-author" form="verb">par</term>
+    <term name="translator" form="verb">traduit par</term>
+    <term name="editortranslator" form="verb">édité et traduit par</term>
+
+    <!-- SHORT VERB ROLE FORMS -->
+    <term name="director" form="verb-short">réal. par</term>
+    <term name="editor" form="verb-short">éd. par</term>
+    <term name="editorial-director" form="verb-short">ss la dir. de</term>
+    <term name="illustrator" form="verb-short">ill. par</term>
+    <term name="translator" form="verb-short">trad. par</term>
+    <term name="editortranslator" form="verb-short">éd. et trad. par</term>
+
+    <!-- LONG MONTH FORMS -->
+    <term name="month-01" gender="masculine">janvier</term>
+    <term name="month-02" gender="masculine">février</term>
+    <term name="month-03" gender="masculine">mars</term>
+    <term name="month-04" gender="masculine">avril</term>
+    <term name="month-05" gender="masculine">mai</term>
+    <term name="month-06" gender="masculine">juin</term>
+    <term name="month-07" gender="masculine">juillet</term>
+    <term name="month-08" gender="masculine">août</term>
+    <term name="month-09" gender="masculine">septembre</term>
+    <term name="month-10" gender="masculine">octobre</term>
+    <term name="month-11" gender="masculine">novembre</term>
+    <term name="month-12" gender="masculine">décembre</term>
+
+    <!-- SHORT MONTH FORMS -->
+    <term name="month-01" form="short">janv.</term>
+    <term name="month-02" form="short">févr.</term>
+    <term name="month-03" form="short">mars</term>
+    <term name="month-04" form="short">avr.</term>
+    <term name="month-05" form="short">mai</term>
+    <term name="month-06" form="short">juin</term>
+    <term name="month-07" form="short">juill.</term>
+    <term name="month-08" form="short">août</term>
+    <term name="month-09" form="short">sept.</term>
+    <term name="month-10" form="short">oct.</term>
+    <term name="month-11" form="short">nov.</term>
+    <term name="month-12" form="short">déc.</term>
+
+    <!-- SEASONS -->
+    <term name="season-01">printemps</term>
+    <term name="season-02">été</term>
+    <term name="season-03">automne</term>
+    <term name="season-04">hiver</term>
+  </terms>
+</locale>

Added: trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-he-IL.xml
===================================================================
--- trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-he-IL.xml	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-he-IL.xml	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,315 @@
+<?xml version="1.0" encoding="utf-8"?>
+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="he-IL">
+  <info>
+    <translator>
+      <name>roypeled1</name>
+    </translator>
+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
+    <updated>2017-12-29T16:29:13+01:00</updated>
+  </info>
+  <style-options punctuation-in-quote="false"/>
+  <date form="text">
+    <date-part name="day" suffix=" "/>
+    <date-part name="month" suffix=" "/>
+    <date-part name="year"/>
+  </date>
+  <date form="numeric">
+    <date-part name="day" form="numeric-leading-zeros" suffix="/"/>
+    <date-part name="month" form="numeric-leading-zeros" suffix="/"/>
+    <date-part name="year"/>
+  </date>
+  <terms>
+    <term name="accessed">נבדק לאחרונה</term>
+    <term name="and">ו</term>
+    <term name="and others">ואחרים</term>
+    <term name="anonymous">אלמוני</term>
+    <term name="anonymous" form="short">anon</term>
+    <term name="at">-ב</term>
+    <term name="available at">זמין ב</term>
+    <term name="by">על-ידי</term>
+    <term name="circa">לערך</term>
+    <term name="circa" form="short">c.</term>
+    <term name="cited">מצוטט ב</term>
+    <term name="edition">
+      <single>מהדורה</single>
+      <multiple>מהדורות</multiple>
+    </term>
+    <term name="edition" form="short">ed</term>
+    <term name="et-al">ואחרים</term>
+    <term name="forthcoming">צפוי</term>
+    <term name="from">מתוך</term>
+    <term name="ibid">שם</term>
+    <term name="in">בתוך</term>
+    <term name="in press">בהדפסה</term>
+    <term name="internet">אינטרנט</term>
+    <term name="interview">ראיון</term>
+    <term name="letter">מכתב</term>
+    <term name="no date">אין נתונים</term>
+    <term name="no date" form="short">nd</term>
+    <term name="online">מקוון</term>
+    <term name="presented at">הוצג ב</term>
+    <term name="reference">
+      <single>הפניה</single>
+      <multiple>הפניות</multiple>
+    </term>
+    <term name="reference" form="short">
+      <single>ref.</single>
+      <multiple>refs.</multiple>
+    </term>
+    <term name="retrieved">אוחזר</term>
+    <term name="scale">scale</term>
+    <term name="version">גירסה</term>
+
+    <!-- ANNO DOMINI; BEFORE CHRIST -->
+    <term name="ad">לספירה</term>
+    <term name="bc">לפני הספירה</term>
+
+    <!-- PUNCTUATION -->
+    <term name="open-quote">“</term>
+    <term name="close-quote">”</term>
+    <term name="open-inner-quote">‘</term>
+    <term name="close-inner-quote">’</term>
+    <term name="page-range-delimiter">–</term>
+
+    <!-- ORDINALS -->
+    <term name="ordinal">th</term>
+    <term name="ordinal-01">st</term>
+    <term name="ordinal-02">nd</term>
+    <term name="ordinal-03">rd</term>
+    <term name="ordinal-11">th</term>
+    <term name="ordinal-12">th</term>
+    <term name="ordinal-13">th</term>
+
+    <!-- LONG ORDINALS -->
+    <term name="long-ordinal-01">ראשון</term>
+    <term name="long-ordinal-02">שני</term>
+    <term name="long-ordinal-03">שלישי</term>
+    <term name="long-ordinal-04">רביעי</term>
+    <term name="long-ordinal-05">חמישי</term>
+    <term name="long-ordinal-06">שישי</term>
+    <term name="long-ordinal-07">שביעי</term>
+    <term name="long-ordinal-08">שמיני</term>
+    <term name="long-ordinal-09">תשיעי</term>
+    <term name="long-ordinal-10">עשירי</term>
+
+    <!-- LONG LOCATOR FORMS -->
+    <term name="book">
+      <single>ספר</single>
+      <multiple>ספרים</multiple>
+    </term>
+    <term name="chapter">
+      <single>פרק</single>
+      <multiple>פרקים</multiple>
+    </term>
+    <term name="column">
+      <single>טור</single>
+      <multiple>טורים</multiple>
+    </term>
+    <term name="figure">
+      <single>figure</single>
+      <multiple>figures</multiple>
+    </term>
+    <term name="folio">
+      <single>פוליו</single>
+      <multiple>פוליו</multiple>
+    </term>
+    <term name="issue">
+      <single>מספר</single>
+      <multiple>מספרים</multiple>
+    </term>
+    <term name="line">
+      <single>שורה</single>
+      <multiple>שורות</multiple>
+    </term>
+    <term name="note">
+      <single>הערה</single>
+      <multiple>הערות</multiple>
+    </term>
+    <term name="opus">
+      <single>אופוס</single>
+      <multiple>אופרה</multiple>
+    </term>
+    <term name="page">
+      <single>עמוד</single>
+      <multiple>עמודים</multiple>
+    </term>
+    <term name="number-of-pages">
+      <single>עמוד</single>
+      <multiple>עמודים</multiple>
+    </term>
+    <term name="paragraph">
+      <single>פיסקה</single>
+      <multiple>פיסקאות</multiple>
+    </term>
+    <term name="part">
+      <single>חלק</single>
+      <multiple>חלקים</multiple>
+    </term>
+    <term name="section">
+      <single>סעיף</single>
+      <multiple>סעיפים</multiple>
+    </term>
+    <term name="sub verbo">
+      <single>sub verbo</single>
+      <multiple>sub verbis</multiple>
+    </term>
+    <term name="verse">
+      <single>בית</single>
+      <multiple>בתים</multiple>
+    </term>
+    <term name="volume">
+      <single>כרך</single>
+      <multiple>כרכים</multiple>
+    </term>
+
+    <!-- SHORT LOCATOR FORMS -->
+    <term name="book" form="short">bk</term>
+    <term name="chapter" form="short">chap</term>
+    <term name="column" form="short">col</term>
+    <term name="figure" form="short">fig</term>
+    <term name="folio" form="short">f</term>
+    <term name="issue" form="short">no</term>
+    <term name="line" form="short">l.</term>
+    <term name="note" form="short">n.</term>
+    <term name="opus" form="short">op</term>
+    <term name="page" form="short">
+      <single>'עמ</single>
+      <multiple>'עמ</multiple>
+    </term>
+    <term name="number-of-pages" form="short">
+      <single>'עמ</single>
+      <multiple>'עמ</multiple>
+    </term>
+    <term name="paragraph" form="short">para</term>
+    <term name="part" form="short">pt</term>
+    <term name="section" form="short">ס'</term>
+    <term name="sub verbo" form="short">
+      <single>s.v.</single>
+      <multiple>s.vv.</multiple>
+    </term>
+    <term name="verse" form="short">
+      <single>v</single>
+      <multiple>vv</multiple>
+    </term>
+    <term name="volume" form="short">
+      <single>vol</single>
+      <multiple>vols</multiple>
+    </term>
+
+    <!-- SYMBOL LOCATOR FORMS -->
+    <term name="paragraph" form="symbol">
+      <single>¶</single>
+      <multiple>¶¶</multiple>
+    </term>
+    <term name="section" form="symbol">
+      <single>§</single>
+      <multiple>§§</multiple>
+    </term>
+
+    <!-- LONG ROLE FORMS -->
+    <term name="director">
+      <single>במאי</single>
+      <multiple>במאים</multiple>
+    </term>
+    <term name="editor">
+      <single>עורך</single>
+      <multiple>עורכים</multiple>
+    </term>
+    <term name="editorial-director">
+      <single>עורך ראשי</single>
+      <multiple>עורכים ראשיים</multiple>
+    </term>
+    <term name="illustrator">
+      <single>מאייר</single>
+      <multiple>מאיירים</multiple>
+    </term>
+    <term name="translator">
+      <single>מתרגם</single>
+      <multiple>מתרגמים</multiple>
+    </term>
+    <term name="editortranslator">
+      <single>editor & translator</single>
+      <multiple>editors & translators</multiple>
+    </term>
+
+    <!-- SHORT ROLE FORMS -->
+    <term name="director" form="short">
+      <single>dir.</single>
+      <multiple>dirs.</multiple>
+    </term>
+    <term name="editor" form="short">
+      <single>ed</single>
+      <multiple>eds</multiple>
+    </term>
+    <term name="editorial-director" form="short">
+      <single>ed.</single>
+      <multiple>eds.</multiple>
+    </term>
+    <term name="illustrator" form="short">
+      <single>ill.</single>
+      <multiple>ills.</multiple>
+    </term>
+    <term name="translator" form="short">
+      <single>tran</single>
+      <multiple>trans</multiple>
+    </term>
+    <term name="editortranslator" form="short">
+      <single>ed. & tran.</single>
+      <multiple>eds. & trans.</multiple>
+    </term>
+
+    <!-- VERB ROLE FORMS -->
+    <term name="container-author" form="verb">by</term>
+    <term name="director" form="verb">בוים ע"י</term>
+    <term name="editor" form="verb">נערך ע"י</term>
+    <term name="editorial-director" form="verb">בוים ע"י</term>
+    <term name="illustrator" form="verb">אויר ע"י</term>
+    <term name="interviewer" form="verb">רואיין ע"י</term>
+    <term name="recipient" form="verb">אל</term>
+    <term name="reviewed-author" form="verb">ע"י</term>
+    <term name="translator" form="verb">תורגם ע"י</term>
+    <term name="editortranslator" form="verb">edited & translated by</term>
+
+    <!-- SHORT VERB ROLE FORMS -->
+    <term name="director" form="verb-short">dir.</term>
+    <term name="editor" form="verb-short">ed</term>
+    <term name="editorial-director" form="verb-short">ed.</term>
+    <term name="illustrator" form="verb-short">illus.</term>
+    <term name="translator" form="verb-short">trans</term>
+    <term name="editortranslator" form="verb-short">ed. & trans. by</term>
+
+    <!-- LONG MONTH FORMS -->
+    <term name="month-01">ינואר</term>
+    <term name="month-02">פברואר</term>
+    <term name="month-03">מרץ</term>
+    <term name="month-04">אפריל</term>
+    <term name="month-05">מאי</term>
+    <term name="month-06">יוני</term>
+    <term name="month-07">יולי</term>
+    <term name="month-08">אוגוסט</term>
+    <term name="month-09">ספטמבר</term>
+    <term name="month-10">אוקטובר</term>
+    <term name="month-11">נובמבר</term>
+    <term name="month-12">דצמבר</term>
+
+    <!-- SHORT MONTH FORMS -->
+    <term name="month-01" form="short">Jan</term>
+    <term name="month-02" form="short">Feb</term>
+    <term name="month-03" form="short">Mar</term>
+    <term name="month-04" form="short">Apr</term>
+    <term name="month-05" form="short">May</term>
+    <term name="month-06" form="short">Jun</term>
+    <term name="month-07" form="short">Jul</term>
+    <term name="month-08" form="short">Aug</term>
+    <term name="month-09" form="short">Sep</term>
+    <term name="month-10" form="short">Oct</term>
+    <term name="month-11" form="short">Nov</term>
+    <term name="month-12" form="short">Dec</term>
+
+    <!-- SEASONS -->
+    <term name="season-01">Spring</term>
+    <term name="season-02">Summer</term>
+    <term name="season-03">Autumn</term>
+    <term name="season-04">Winter</term>
+  </terms>
+</locale>

Added: trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-hi-IN.xml
===================================================================
--- trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-hi-IN.xml	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-hi-IN.xml	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,361 @@
+<?xml version="1.0" encoding="utf-8"?>
+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="hi-IN">
+  <info>
+    <translator>
+      <name>Neha Srivastava</name>
+      <email>neha-srivastava at outlook.com</email>
+    </translator>
+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
+    <updated>2021-03-02T00:21:50-05:00</updated>
+  </info>
+  <style-options punctuation-in-quote="true"/>
+  <date form="text">
+    <date-part name="day" suffix=" "/>
+    <date-part name="month" suffix=", "/>
+    <date-part name="year"/>
+  </date>
+  <date form="numeric">
+    <date-part name="day" form="numeric-leading-zeros" suffix="/"/>
+    <date-part name="month" form="numeric-leading-zeros" suffix="/"/>
+    <date-part name="year"/>
+  </date>
+  <terms>
+    <term name="accessed">अंतिम उपयोग</term>
+    <term name="and">व</term>
+    <term name="and others">व अन्य</term>
+    <term name="anonymous">अज्ञात</term>
+    <term name="anonymous" form="short">अज्ञात</term>
+    <term name="at">पर</term>
+    <term name="available at">पर उपलब्ध</term>
+    <term name="by">द्वारा</term>
+    <term name="circa">सन </term>
+    <term name="circa" form="short">सन.</term>
+    <term name="cited">उल्लेखित</term>
+    <term name="edition">
+      <single>संस्करण</single>
+      <multiple>संस्करण</multiple>
+    </term>
+    <term name="edition" form="short">ed.</term>
+    <term name="et-al">इत्यादि</term>
+    <term name="forthcoming">आगामी</term>
+    <term name="from">से</term>
+    <term name="ibid">उक्त</term>
+    <term name="in">में</term>
+    <term name="in press">मुद्रण में</term>
+    <term name="internet">इंटर्नेट</term>
+    <term name="interview">साक्षात्कार</term>
+    <term name="letter">पत्र</term>
+    <term name="no date">दिनांक अज्ञात</term>
+    <term name="no date" form="short">n.d.</term>
+    <term name="online">ऑनलाइन</term>
+    <term name="presented at">पर प्रस्तुत</term>
+    <term name="reference">
+      <single>संदर्भ</single>
+      <multiple>references</multiple>
+    </term>
+    <term name="reference" form="short">
+      <single>ref.</single>
+      <multiple>refs.</multiple>
+    </term>
+    <term name="retrieved">पुनर्प्राप्त</term>
+    <term name="scale">scale</term>
+    <term name="version">संस्करण</term>
+
+    <!-- ANNO DOMINI; BEFORE CHRIST -->
+    <term name="ad">CE</term>
+    <term name="bc">BCE</term>
+
+    <!-- PUNCTUATION -->
+    <term name="open-quote">“</term>
+    <term name="close-quote">”</term>
+    <term name="open-inner-quote">‘</term>
+    <term name="close-inner-quote">’</term>
+    <term name="page-range-delimiter">–</term>
+
+    <!-- ORDINALS -->
+    <term name="ordinal">वाँ</term>
+    <term name="ordinal-01"></term>
+    <term name="ordinal-02"></term>
+    <term name="ordinal-03"></term>
+    <term name="ordinal-04"></term>
+    <term name="ordinal-06"></term>
+
+    <!-- LONG ORDINALS -->
+    <term name="long-ordinal-01">पहला</term>
+    <term name="long-ordinal-01" gender-form="feminine">पहली</term>
+    <term name="long-ordinal-02">दूसरा</term>
+    <term name="long-ordinal-01" gender-form="feminine">दूसरी</term>
+    <term name="long-ordinal-03">तीसरा</term>
+    <term name="long-ordinal-03" gender-form="feminine">तीसरी</term>
+    <term name="long-ordinal-04">चौथा</term>
+    <term name="long-ordinal-04" gender-form="feminine">चौथी</term>
+    <term name="long-ordinal-05">पाँचवा</term>
+    <term name="long-ordinal-05" gender-form="feminine">पाँचवी</term>
+    <term name="long-ordinal-06">छठा</term>
+    <term name="long-ordinal-06" gender-form="feminine">छठी</term>
+    <term name="long-ordinal-07">सातवाँ</term>
+    <term name="long-ordinal-07" gender-form="feminine">सातवीं</term>
+    <term name="long-ordinal-08">आठवाँ</term>
+    <term name="long-ordinal-08" gender-form="feminine">आठवीं</term>
+    <term name="long-ordinal-09">नवाँ</term>
+    <term name="long-ordinal-09" gender-form="feminine">नौवीं</term>
+    <term name="long-ordinal-10">दसवाँ</term>
+    <term name="long-ordinal-10" gender-form="feminine">दसवीं</term>
+
+    <!-- LONG LOCATOR FORMS -->
+    <term name="book">
+      <single>पुस्तक</single>
+      <multiple>पुस्तकें</multiple>
+    </term>
+    <term name="chapter">
+      <single>अध्याय</single>
+      <multiple>अध्याय</multiple>
+    </term>
+    <term name="column">
+      <single>कॉलम</single>
+      <multiple>columns</multiple>
+    </term>
+    <term name="figure">
+      <single>चित्र</single>
+      <multiple>चित्रों</multiple>
+    </term>
+    <term name="folio">
+      <single>पर्ण</single>
+      <multiple>folios</multiple>
+    </term>
+    <term name="issue">
+      <single>संख्या</single>
+      <multiple>संख्याएँ</multiple>
+    </term>
+    <term name="line">
+      <single>पंक्ति</single>
+      <multiple>पंक्तियाँ</multiple>
+    </term>
+    <term name="note">
+      <single>नोट</single>
+      <multiple>notes</multiple>
+    </term>
+    <term name="opus">
+      <single>opus</single>
+      <multiple>opera</multiple>
+    </term>
+    <term name="page">
+      <single>पृष्ठ</single>
+      <multiple>पृष्ठ</multiple>
+    </term>
+    <term name="number-of-pages">
+      <single>पृष्ठ संख्या</single>
+      <multiple>पृष्ठों की संख्या</multiple>
+    </term>
+    <term name="paragraph">
+      <single>अनुच्छेद</single>
+      <multiple>paragraphs</multiple>
+    </term>
+    <term name="part">
+      <single>भाग</single>
+      <multiple>parts</multiple>
+    </term>
+    <term name="section">
+      <single>अनुभाग</single>
+      <multiple>sections</multiple>
+    </term>
+    <term name="sub verbo">
+      <single>sub verbo</single>
+      <multiple>sub verbis</multiple>
+    </term>
+    <term name="verse">
+      <single>पद</single>
+      <multiple>verses</multiple>
+    </term>
+    <term name="volume">
+      <single>वॉल्यूम</single>
+      <multiple>वॉल्यूम्ज़</multiple>
+    </term>
+
+    <!-- SHORT LOCATOR FORMS -->
+    <term name="book" form="short">
+      <single>bk.</single>
+      <multiple>bks.</multiple>
+    </term>
+    <term name="chapter" form="short">
+      <single>chap.</single>
+      <multiple>chaps.</multiple>
+    </term>
+    <term name="column" form="short">
+      <single>col.</single>
+      <multiple>cols.</multiple>
+    </term>
+    <term name="figure" form="short">
+      <single>fig.</single>
+      <multiple>figs.</multiple>
+    </term>
+    <term name="folio" form="short">
+      <single>fol.</single>
+      <multiple>fols.</multiple>
+    </term>
+    <term name="issue" form="short">
+      <single>no.</single>
+      <multiple>nos.</multiple>
+    </term>
+    <term name="line" form="short">
+      <single>l.</single>
+      <multiple>ll.</multiple>
+    </term>
+    <term name="note" form="short">
+      <single>n.</single>
+      <multiple>nn.</multiple>
+    </term>
+    <term name="opus" form="short">
+      <single>op.</single>
+      <multiple>opp.</multiple>
+    </term>
+    <term name="page" form="short">
+      <single>पृ.</single>
+      <multiple>पृ.</multiple>
+    </term>
+    <term name="number-of-pages" form="short">
+      <single>पृ. स.</single>
+      <multiple>पृ. स.</multiple>
+    </term>
+    <term name="paragraph" form="short">
+      <single>para.</single>
+      <multiple>paras.</multiple>
+    </term>
+    <term name="part" form="short">
+      <single>pt.</single>
+      <multiple>pts.</multiple>
+    </term>
+    <term name="section" form="short">
+      <single>sec.</single>
+      <multiple>secs.</multiple>
+    </term>
+    <term name="sub verbo" form="short">
+      <single>s.v.</single>
+      <multiple>s.vv.</multiple>
+    </term>
+    <term name="verse" form="short">
+      <single>v.</single>
+      <multiple>vv.</multiple>
+    </term>
+    <term name="volume" form="short">
+      <single>vol.</single>
+      <multiple>vols.</multiple>
+    </term>
+
+    <!-- SYMBOL LOCATOR FORMS -->
+    <term name="paragraph" form="symbol">
+      <single>¶</single>
+      <multiple>¶¶</multiple>
+    </term>
+    <term name="section" form="symbol">
+      <single>§</single>
+      <multiple>§§</multiple>
+    </term>
+
+    <!-- LONG ROLE FORMS -->
+    <term name="director">
+      <single>निर्देशक</single>
+      <multiple>directors</multiple>
+    </term>
+    <term name="editor">
+      <single>सम्पादक</single>
+      <multiple>editors</multiple>
+    </term>
+    <term name="editorial-director">
+      <single>सम्पादक</single>
+      <multiple>editors</multiple>
+    </term>
+    <term name="illustrator">
+      <single>चित्रकार</single>
+      <multiple>illustrators</multiple>
+    </term>
+    <term name="translator">
+      <single>अनुवादक</single>
+      <multiple>translators</multiple>
+    </term>
+    <term name="editortranslator">
+      <single>सम्पादक & अनुवादक</single>
+      <multiple>editors & translators</multiple>
+    </term>
+
+    <!-- SHORT ROLE FORMS -->
+    <term name="director" form="short">
+      <single>dir.</single>
+      <multiple>dirs.</multiple>
+    </term>
+    <term name="editor" form="short">
+      <single>ed.</single>
+      <multiple>eds.</multiple>
+    </term>
+    <term name="editorial-director" form="short">
+      <single>ed.</single>
+      <multiple>eds.</multiple>
+    </term>
+    <term name="illustrator" form="short">
+      <single>ill.</single>
+      <multiple>ills.</multiple>
+    </term>
+    <term name="translator" form="short">
+      <single>tran.</single>
+      <multiple>trans.</multiple>
+    </term>
+    <term name="editortranslator" form="short">
+      <single>ed. & tran.</single>
+      <multiple>eds. & trans.</multiple>
+    </term>
+
+    <!-- VERB ROLE FORMS -->
+    <term name="container-author" form="verb">द्वारा</term>
+    <term name="director" form="verb">निर्देशन</term>
+    <term name="editor" form="verb">सम्पादन</term>
+    <term name="editorial-director" form="verb">निर्देशन</term>
+    <term name="illustrator" form="verb">चित्रकारी</term>
+    <term name="interviewer" form="verb">साक्षात्कारकर्ता</term>
+    <term name="recipient" form="verb">सेवा में</term>
+    <term name="reviewed-author" form="verb">द्वारा</term>
+    <term name="translator" form="verb">अनुवाद </term>
+    <term name="editortranslator" form="verb">सम्पादन & अनुवाद</term>
+
+    <!-- SHORT VERB ROLE FORMS -->
+    <term name="director" form="verb-short">dir. by</term>
+    <term name="editor" form="verb-short">ed. by</term>
+    <term name="editorial-director" form="verb-short">ed. by</term>
+    <term name="illustrator" form="verb-short">illus. by</term>
+    <term name="translator" form="verb-short">trans. by</term>
+    <term name="editortranslator" form="verb-short">ed. & trans. by</term>
+
+    <!-- LONG MONTH FORMS -->
+    <term name="month-01">जनवरी</term>
+    <term name="month-02">फ़रवरी</term>
+    <term name="month-03">मार्च</term>
+    <term name="month-04">अप्रैल</term>
+    <term name="month-05">मई</term>
+    <term name="month-06">जून</term>
+    <term name="month-07">जुलाई</term>
+    <term name="month-08">अगस्त</term>
+    <term name="month-09">सितम्बर</term>
+    <term name="month-10">अक्टूबर</term>
+    <term name="month-11">नवम्बर</term>
+    <term name="month-12">दिसम्बर</term>
+
+    <!-- SHORT MONTH FORMS -->
+    <term name="month-01" form="short">जन.</term>
+    <term name="month-02" form="short">फ़र.</term>
+    <term name="month-03" form="short">मार्च</term>
+    <term name="month-04" form="short">अप्रैल</term>
+    <term name="month-05" form="short">मई</term>
+    <term name="month-06" form="short">जून</term>
+    <term name="month-07" form="short">जुलाई</term>
+    <term name="month-08" form="short">अग.</term>
+    <term name="month-09" form="short">सित.</term>
+    <term name="month-10" form="short">अक्ट.</term>
+    <term name="month-11" form="short">नव.</term>
+    <term name="month-12" form="short">दिस.</term>
+
+    <!-- SEASONS -->
+    <term name="season-01">वसंत ऋतु</term>
+    <term name="season-02">ग्रीष्म ऋतु</term>
+    <term name="season-03">पतझड़ ऋतु</term>
+    <term name="season-04">शिशिर ऋतु</term>
+  </terms>
+</locale>

Added: trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-hr-HR.xml
===================================================================
--- trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-hr-HR.xml	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-hr-HR.xml	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,309 @@
+<?xml version="1.0" encoding="utf-8"?>
+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="hr-HR">
+  <info>
+    <translator>
+      <name>tvrbanec</name>
+    </translator>
+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
+    <updated>2017-12-29T16:29:13+01:00</updated>
+  </info>
+  <style-options punctuation-in-quote="false"/>
+  <date form="text">
+    <date-part name="day" form="numeric-leading-zeros" suffix=". "/>
+    <date-part name="month" suffix=" "/>
+    <date-part name="year" suffix="."/>
+  </date>
+  <date form="numeric">
+    <date-part name="year"/>
+    <date-part name="month" form="numeric-leading-zeros" prefix="-" range-delimiter="/"/>
+    <date-part name="day" form="numeric-leading-zeros" prefix="-" range-delimiter="/"/>
+  </date>
+  <terms>
+    <term name="accessed">pristupljeno</term>
+    <term name="and">i</term>
+    <term name="and others">i ostali</term>
+    <term name="anonymous">anonimno</term>
+    <term name="anonymous" form="short">anon.</term>
+    <term name="at">na</term>
+    <term name="available at">dostupno na</term>
+    <term name="by">od</term>
+    <term name="circa">oko</term>
+    <term name="circa" form="short">oko</term>
+    <term name="cited">citirano</term>
+    <term name="edition">
+      <single>izdanje</single>
+      <multiple>izdanja</multiple>
+    </term>
+    <term name="edition" form="short">izd.</term>
+    <term name="et-al">i ostali</term>
+    <term name="forthcoming">u pripremi</term>
+    <term name="from">od</term>
+    <term name="ibid">ibid.</term>
+    <term name="in">u</term>
+    <term name="in press">u tisku</term>
+    <term name="internet">internet</term>
+    <term name="interview">intervju</term>
+    <term name="letter">pismo</term>
+    <term name="no date">bez datuma</term>
+    <term name="no date" form="short">bez dat.</term>
+    <term name="online">na internetu</term>
+    <term name="presented at">predstavljeno na</term>
+    <term name="reference">
+      <single>reference</single>
+      <multiple>reference</multiple>
+    </term>
+    <term name="reference" form="short">
+      <single>ref.</single>
+      <multiple>ref.</multiple>
+    </term>
+    <term name="retrieved">preuzeto</term>
+    <term name="scale">skala</term>
+    <term name="version">verzija</term>
+
+    <!-- ANNO DOMINI; BEFORE CHRIST -->
+    <term name="ad"></term>
+    <term name="bc">pr. Kr.</term>
+
+    <!-- PUNCTUATION -->
+    <term name="open-quote">„</term>
+    <term name="close-quote">“</term>
+    <term name="open-inner-quote">‚</term>
+    <term name="close-inner-quote">‘</term>
+    <term name="page-range-delimiter">–</term>
+
+    <!-- ORDINALS -->
+    <term name="ordinal">.</term>
+
+    <!-- LONG ORDINALS -->
+    <term name="long-ordinal-01">prvi</term>
+    <term name="long-ordinal-02">drugi</term>
+    <term name="long-ordinal-03">treći</term>
+    <term name="long-ordinal-04">četvrti</term>
+    <term name="long-ordinal-05">peti</term>
+    <term name="long-ordinal-06">šesti</term>
+    <term name="long-ordinal-07">sedmi</term>
+    <term name="long-ordinal-08">osmi</term>
+    <term name="long-ordinal-09">deveti</term>
+    <term name="long-ordinal-10">deseti</term>
+
+    <!-- LONG LOCATOR FORMS -->
+    <term name="book">
+      <single>knjiga</single>
+      <multiple>knjige</multiple>
+    </term>
+    <term name="chapter">
+      <single>poglavlje</single>
+      <multiple>poglavlja</multiple>
+    </term>
+    <term name="column">
+      <single>stupac</single>
+      <multiple>stupci</multiple>
+    </term>
+    <term name="figure">
+      <single>crtež</single>
+      <multiple>crteži</multiple>
+    </term>
+    <term name="folio">
+      <single>folija</single>
+      <multiple>folije</multiple>
+    </term>
+    <term name="issue">
+      <single>izdanje</single>
+      <multiple>izdanja</multiple>
+    </term>
+    <term name="line">
+      <single>red</single>
+      <multiple>redovi</multiple>
+    </term>
+    <term name="note">
+      <single>bilješka</single>
+      <multiple>bilješke</multiple>
+    </term>
+    <term name="opus">
+      <single>djelo</single>
+      <multiple>djela</multiple>
+    </term>
+    <term name="page">
+      <single>stranica</single>
+      <multiple>stranice</multiple>
+    </term>
+    <term name="number-of-pages">
+      <single>stranica</single>
+      <multiple>stranice</multiple>
+    </term>
+    <term name="paragraph">
+      <single>pasus</single>
+      <multiple>pasusi</multiple>
+    </term>
+    <term name="part">
+      <single>dio</single>
+      <multiple>dijelova</multiple>
+    </term>
+    <term name="section">
+      <single>odjeljak</single>
+      <multiple>odjeljci</multiple>
+    </term>
+    <term name="sub verbo">
+      <single>sub verbo</single>
+      <multiple>sub verbis</multiple>
+    </term>
+    <term name="verse">
+      <single>stih</single>
+      <multiple>stihovi</multiple>
+    </term>
+    <term name="volume">
+      <single>svezak</single>
+      <multiple>svesci</multiple>
+    </term>
+
+    <!-- SHORT LOCATOR FORMS -->
+    <term name="book" form="short">knj.</term>
+    <term name="chapter" form="short">pogl.</term>
+    <term name="column" form="short">stup.</term>
+    <term name="figure" form="short">crt.</term>
+    <term name="folio" form="short">fol.</term>
+    <term name="issue" form="short">izd.</term>
+    <term name="line" form="short">red</term>
+    <term name="note" form="short">bilj.</term>
+    <term name="opus" form="short">sv.</term>
+    <term name="page" form="short">
+      <single>str.</single>
+      <multiple>str.</multiple>
+    </term>
+    <term name="number-of-pages" form="short">
+      <single>str.</single>
+      <multiple>str.</multiple>
+    </term>
+    <term name="paragraph" form="short">par.</term>
+    <term name="part" form="short">dio</term>
+    <term name="section" form="short">od.</term>
+    <term name="sub verbo" form="short">
+      <single>s.v.</single>
+      <multiple>s.vv.</multiple>
+    </term>
+    <term name="verse" form="short">
+      <single>st.</single>
+      <multiple>st.</multiple>
+    </term>
+    <term name="volume" form="short">
+      <single>sv.</single>
+      <multiple>sv.</multiple>
+    </term>
+
+    <!-- SYMBOL LOCATOR FORMS -->
+    <term name="paragraph" form="symbol">
+      <single>¶</single>
+      <multiple>¶¶</multiple>
+    </term>
+    <term name="section" form="symbol">
+      <single>§</single>
+      <multiple>§§</multiple>
+    </term>
+
+    <!-- LONG ROLE FORMS -->
+    <term name="director">
+      <single>voditelj</single>
+      <multiple>voditelji</multiple>
+    </term>
+    <term name="editor">
+      <single>urednik</single>
+      <multiple>urednici</multiple>
+    </term>
+    <term name="editorial-director">
+      <single>urednik</single>
+      <multiple>urednici</multiple>
+    </term>
+    <term name="illustrator">
+      <single>ilustrator</single>
+      <multiple>ilustratori</multiple>
+    </term>
+    <term name="translator">
+      <single>prevoditelj</single>
+      <multiple>prevoditelji</multiple>
+    </term>
+    <term name="editortranslator">
+      <single>urednik & prevoditelj</single>
+      <multiple>urednici & prevoditelji</multiple>
+    </term>
+
+    <!-- SHORT ROLE FORMS -->
+    <term name="director" form="short">
+      <single>vod.</single>
+      <multiple>vod.</multiple>
+    </term>
+    <term name="editor" form="short">
+      <single>ur.</single>
+      <multiple>ur.</multiple>
+    </term>
+    <term name="editorial-director" form="short">
+      <single>ur.-vod.</single>
+      <multiple>ur.-vod.</multiple>
+    </term>
+    <term name="illustrator" form="short">
+      <single>il.</single>
+      <multiple>il.</multiple>
+    </term>
+    <term name="translator" form="short">
+      <single>prev.</single>
+      <multiple>prev.</multiple>
+    </term>
+    <term name="editortranslator" form="short">
+      <single>ur. & prev.</single>
+      <multiple>ur. & prev.</multiple>
+    </term>
+
+    <!-- VERB ROLE FORMS -->
+    <term name="container-author" form="verb">od</term>
+    <term name="director" form="verb">vodio</term>
+    <term name="editor" form="verb">uredio</term>
+    <term name="editorial-director" form="verb">uredio</term>
+    <term name="illustrator" form="verb">ilustrirao</term>
+    <term name="interviewer" form="verb">intervjuirao</term>
+    <term name="recipient" form="verb">primatelj</term>
+    <term name="reviewed-author" form="verb">pregledao</term>
+    <term name="translator" form="verb">preveo</term>
+    <term name="editortranslator" form="verb">uredio & preveo</term>
+
+    <!-- SHORT VERB ROLE FORMS -->
+    <term name="director" form="verb-short">vod.</term>
+    <term name="editor" form="verb-short">ur.</term>
+    <term name="editorial-director" form="verb-short">ur. vod.</term>
+    <term name="illustrator" form="verb-short">ilus.</term>
+    <term name="translator" form="verb-short">prev.</term>
+    <term name="editortranslator" form="verb-short">ur. & prev.</term>
+
+    <!-- LONG MONTH FORMS -->
+    <term name="month-01">siječanj</term>
+    <term name="month-02">veljača</term>
+    <term name="month-03">ožujak</term>
+    <term name="month-04">travanj</term>
+    <term name="month-05">svibanj</term>
+    <term name="month-06">lipanj</term>
+    <term name="month-07">srpanj</term>
+    <term name="month-08">kolovoz</term>
+    <term name="month-09">rujan</term>
+    <term name="month-10">listopad</term>
+    <term name="month-11">studeni</term>
+    <term name="month-12">prosinac</term>
+
+    <!-- SHORT MONTH FORMS -->
+    <term name="month-01" form="short">sij.</term>
+    <term name="month-02" form="short">velj.</term>
+    <term name="month-03" form="short">ožu.</term>
+    <term name="month-04" form="short">tra.</term>
+    <term name="month-05" form="short">svi.</term>
+    <term name="month-06" form="short">lip.</term>
+    <term name="month-07" form="short">srp.</term>
+    <term name="month-08" form="short">kol.</term>
+    <term name="month-09" form="short">ruj.</term>
+    <term name="month-10" form="short">lis.</term>
+    <term name="month-11" form="short">stu.</term>
+    <term name="month-12" form="short">pros.</term>
+
+    <!-- SEASONS -->
+    <term name="season-01">proljeće</term>
+    <term name="season-02">ljeto</term>
+    <term name="season-03">jesen</term>
+    <term name="season-04">zima</term>
+  </terms>
+</locale>

Added: trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-hu-HU.xml
===================================================================
--- trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-hu-HU.xml	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-hu-HU.xml	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,313 @@
+<?xml version="1.0" encoding="utf-8"?>
+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="hu-HU">
+  <info>
+    <translator>
+      <name>Miklos Vajna</name>
+    </translator>
+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
+    <updated>2017-12-29T16:29:13+01:00</updated>
+  </info>
+  <style-options punctuation-in-quote="false"/>
+  <date form="text">
+    <date-part name="year"/>
+    <date-part name="month" prefix=". "/>
+    <date-part name="day" prefix=" " suffix="."/>
+  </date>
+  <date form="numeric">
+    <date-part name="year"/>
+    <date-part name="month" form="numeric-leading-zeros" prefix="."/>
+    <date-part name="day" form="numeric-leading-zeros" prefix="."/>
+  </date>
+  <terms>
+    <term name="accessed">elérés</term>
+    <term name="and">és</term>
+    <term name="and others">és mások</term>
+    <term name="anonymous">szerző nélkül</term>
+    <term name="anonymous" form="short">sz. n.</term>
+    <term name="at"></term>
+    <term name="available at">elérhető</term>
+    <term name="by">by</term>
+    <term name="circa">körülbelül</term>
+    <term name="circa" form="short">kb.</term>
+    <term name="cited">idézi</term>
+    <term name="edition">
+      <single>kiadás</single>
+      <multiple>kiadás</multiple>
+    </term>
+    <term name="edition" form="short">kiad.</term>
+    <term name="et-al">és mtsai.</term>
+    <term name="forthcoming">megjelenés alatt</term>
+    <term name="from">forrás</term>
+    <term name="ibid">uo.</term>
+    <term name="in">in</term>
+    <term name="in press">nyomtatás alatt</term>
+    <term name="internet">internet</term>
+    <term name="interview">interjú</term>
+    <term name="letter">levél</term>
+    <term name="no date">évszám nélkül</term>
+    <term name="no date" form="short">é. n.</term>
+    <term name="online">online</term>
+    <term name="presented at">előadás</term>
+    <term name="reference">
+      <single>hivatkozás</single>
+      <multiple>hivatkozás</multiple>
+    </term>
+    <term name="reference" form="short">
+      <single>hiv.</single>
+      <multiple>hiv.</multiple>
+    </term>
+    <term name="retrieved">elérés</term>
+    <term name="scale">skála</term>
+    <term name="version">verzió</term>
+
+    <!-- ANNO DOMINI; BEFORE CHRIST -->
+    <term name="ad">Kr. u.</term>
+    <term name="bc">Kr. e.</term>
+
+    <!-- ANNO DOMINI; BEFORE CHRIST -->
+    <term name="ad">i. sz.</term>
+    <term name="bc">i. e.</term>
+
+    <!-- PUNCTUATION -->
+    <term name="open-quote">„</term>
+    <term name="close-quote">”</term>
+    <term name="open-inner-quote">»</term>
+    <term name="close-inner-quote">«</term>
+    <term name="page-range-delimiter">–</term>
+
+    <!-- ORDINALS -->
+    <term name="ordinal">.</term>
+
+    <!-- LONG ORDINALS -->
+    <term name="long-ordinal-01">első</term>
+    <term name="long-ordinal-02">második</term>
+    <term name="long-ordinal-03">harmadik</term>
+    <term name="long-ordinal-04">negyedik</term>
+    <term name="long-ordinal-05">ötödik</term>
+    <term name="long-ordinal-06">hatodik</term>
+    <term name="long-ordinal-07">hetedik</term>
+    <term name="long-ordinal-08">nyolcadik</term>
+    <term name="long-ordinal-09">kilencedik</term>
+    <term name="long-ordinal-10">tizedik</term>
+
+    <!-- LONG LOCATOR FORMS -->
+    <term name="book">
+      <single>könyv</single>
+      <multiple>könyv</multiple>
+    </term>
+    <term name="chapter">
+      <single>fejezet</single>
+      <multiple>fejezet</multiple>
+    </term>
+    <term name="column">
+      <single>oszlop</single>
+      <multiple>oszlop</multiple>
+    </term>
+    <term name="figure">
+      <single>ábra</single>
+      <multiple>ábra</multiple>
+    </term>
+    <term name="folio">
+      <single>fóliáns</single>
+      <multiple>fóliáns</multiple>
+    </term>
+    <term name="issue">
+      <single>szám</single>
+      <multiple>szám</multiple>
+    </term>
+    <term name="line">
+      <single>sor</single>
+      <multiple>sor</multiple>
+    </term>
+    <term name="note">
+      <single>jegyzet</single>
+      <multiple>jegyzet</multiple>
+    </term>
+    <term name="opus">
+      <single>mű</single>
+      <multiple>mű</multiple>
+    </term>
+    <term name="page">
+      <single>oldal</single>
+      <multiple>oldal</multiple>
+    </term>
+    <term name="number-of-pages">
+      <single>oldal</single>
+      <multiple>oldal</multiple>
+    </term>
+    <term name="paragraph">
+      <single>bekezdés</single>
+      <multiple>bekezdés</multiple>
+    </term>
+    <term name="part">
+      <single>rész</single>
+      <multiple>rész</multiple>
+    </term>
+    <term name="section">
+      <single>szakasz</single>
+      <multiple>szakasz</multiple>
+    </term>
+    <term name="sub verbo">
+      <single>sub verbo</single>
+      <multiple>sub verbis</multiple>
+    </term>
+    <term name="verse">
+      <single>versszak</single>
+      <multiple>versszak</multiple>
+    </term>
+    <term name="volume">
+      <single>kötet</single>
+      <multiple>kötet</multiple>
+    </term>
+
+    <!-- SHORT LOCATOR FORMS -->
+    <term name="book" form="short">könyv</term>
+    <term name="chapter" form="short">fej.</term>
+    <term name="column" form="short">oszl.</term>
+    <term name="figure" form="short">ábr.</term>
+    <term name="folio" form="short">fol.</term>
+    <term name="issue" form="short">sz.</term>
+    <term name="line" form="short">s.</term>
+    <term name="note" form="short">j.</term>
+    <term name="opus" form="short">op.</term>
+    <term name="page" form="short">
+      <single>o.</single>
+      <multiple>o.</multiple>
+    </term>
+    <term name="number-of-pages" form="short">
+      <single>o.</single>
+      <multiple>o.</multiple>
+    </term>
+    <term name="paragraph" form="short">bek.</term>
+    <term name="part" form="short">rész</term>
+    <term name="section" form="short">szak.</term>
+    <term name="sub verbo" form="short">
+      <single>s. v.</single>
+      <multiple>s. vv.</multiple>
+    </term>
+    <term name="verse" form="short">
+      <single>vsz.</single>
+      <multiple>vsz.</multiple>
+    </term>
+    <term name="volume" form="short">
+      <single>köt.</single>
+      <multiple>köt.</multiple>
+    </term>
+
+    <!-- SYMBOL LOCATOR FORMS -->
+    <term name="paragraph" form="symbol">
+      <single>¶</single>
+      <multiple>¶¶</multiple>
+    </term>
+    <term name="section" form="symbol">
+      <single>§</single>
+      <multiple>§§</multiple>
+    </term>
+
+    <!-- LONG ROLE FORMS -->
+    <term name="director">
+      <single>igazgató</single>
+      <multiple>igazgató</multiple>
+    </term>
+    <term name="editor">
+      <single>szerkesztő</single>
+      <multiple>szerkesztő</multiple>
+    </term>
+    <term name="editorial-director">
+      <single>szerkesztőségi igazgató</single>
+      <multiple>szerkesztőségi igazgató</multiple>
+    </term>
+    <term name="illustrator">
+      <single>illusztrátor</single>
+      <multiple>illusztrátor</multiple>
+    </term>
+    <term name="translator">
+      <single>fordító</single>
+      <multiple>fordító</multiple>
+    </term>
+    <term name="editortranslator">
+      <single>szerkesztő & fordító</single>
+      <multiple>szerkesztő & fordító</multiple>
+    </term>
+
+    <!-- SHORT ROLE FORMS -->
+    <term name="director" form="short">
+      <single>ig.</single>
+      <multiple>ig.</multiple>
+    </term>
+    <term name="editor" form="short">
+      <single>szerk.</single>
+      <multiple>szerk.</multiple>
+    </term>
+    <term name="editorial-director" form="short">
+      <single>szerk. ig.</single>
+      <multiple>szerk. ig.</multiple>
+    </term>
+    <term name="illustrator" form="short">
+      <single>ill.</single>
+      <multiple>ill.</multiple>
+    </term>
+    <term name="translator" form="short">
+      <single>ford.</single>
+      <multiple>ford.</multiple>
+    </term>
+    <term name="editortranslator" form="short">
+      <single>szerk. & ford.</single>
+      <multiple>szerk. & ford.</multiple>
+    </term>
+
+    <!-- VERB ROLE FORMS -->
+    <term name="container-author" form="verb">by</term>
+    <term name="director" form="verb">directed by</term>
+    <term name="editor" form="verb">szerkesztette</term>
+    <term name="editorial-director" form="verb">edited by</term>
+    <term name="illustrator" form="verb">illusztrálta</term>
+    <term name="interviewer" form="verb">interjúkészítő</term>
+    <term name="recipient" form="verb">címzett</term>
+    <term name="reviewed-author" form="verb">by</term>
+    <term name="translator" form="verb">fordította</term>
+    <term name="editortranslator" form="verb">szerkesztette & fordította</term>
+
+    <!-- SHORT VERB ROLE FORMS -->
+    <term name="director" form="verb-short">ig.</term>
+    <term name="editor" form="verb-short">szerk.</term>
+    <term name="editorial-director" form="verb-short">ed.</term>
+    <term name="illustrator" form="verb-short">ill.</term>
+    <term name="translator" form="verb-short">ford.</term>
+    <term name="editortranslator" form="verb-short">szerk. & ford.</term>
+
+    <!-- LONG MONTH FORMS -->
+    <term name="month-01">január</term>
+    <term name="month-02">február</term>
+    <term name="month-03">március</term>
+    <term name="month-04">április</term>
+    <term name="month-05">május</term>
+    <term name="month-06">június</term>
+    <term name="month-07">július</term>
+    <term name="month-08">augusztus</term>
+    <term name="month-09">szeptember</term>
+    <term name="month-10">október</term>
+    <term name="month-11">november</term>
+    <term name="month-12">december</term>
+
+    <!-- SHORT MONTH FORMS -->
+    <term name="month-01" form="short">jan.</term>
+    <term name="month-02" form="short">febr.</term>
+    <term name="month-03" form="short">márc.</term>
+    <term name="month-04" form="short">ápr.</term>
+    <term name="month-05" form="short">máj.</term>
+    <term name="month-06" form="short">jún.</term>
+    <term name="month-07" form="short">júl.</term>
+    <term name="month-08" form="short">aug.</term>
+    <term name="month-09" form="short">szept.</term>
+    <term name="month-10" form="short">okt.</term>
+    <term name="month-11" form="short">nov.</term>
+    <term name="month-12" form="short">dec.</term>
+
+    <!-- SEASONS -->
+    <term name="season-01">tavasz</term>
+    <term name="season-02">nyár</term>
+    <term name="season-03">ősz</term>
+    <term name="season-04">tél</term>
+  </terms>
+</locale>

Added: trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-id-ID.xml
===================================================================
--- trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-id-ID.xml	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-id-ID.xml	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,321 @@
+<?xml version="1.0" encoding="utf-8"?>
+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="id-ID">
+  <info>
+    <translator>
+      <name>faizhabibullah</name>
+    </translator>
+    <translator>
+      <name>Deden Habibi</name>
+    </translator>
+    <translator>
+      <name>xbypass</name>
+    </translator>
+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
+    <updated>2017-12-29T12:56:15-05:00</updated>
+  </info>
+  <style-options punctuation-in-quote="true"/>
+  <date form="text">
+    <date-part name="day" suffix=" "/>
+    <date-part name="month" suffix=" "/>
+    <date-part name="year"/>
+  </date>
+  <date form="numeric">
+    <date-part name="day" form="numeric-leading-zeros" suffix="-"/>
+    <date-part name="month" form="numeric-leading-zeros" suffix="-"/>
+    <date-part name="year"/>
+  </date>
+  <terms>
+    <term name="accessed">diakses</term>
+    <term name="and">dan</term>
+    <term name="and others">dan lainnya</term>
+    <term name="anonymous">anonim</term>
+    <term name="anonymous" form="short">anon.</term>
+    <term name="at">pada</term>
+    <term name="available at">tersedia pada</term>
+    <term name="by">oleh</term>
+    <term name="circa">circa</term>
+    <term name="circa" form="short">ca.</term>
+    <term name="cited">dikutip</term>
+    <term name="edition">
+      <single>edisi</single>
+      <multiple>edisi</multiple>
+    </term>
+    <term name="edition" form="short">ed.</term>
+    <term name="et-al">dkk.</term>
+    <term name="forthcoming">mendatang</term>
+    <term name="from">dari</term>
+    <term name="ibid">ibid.</term>
+    <term name="in">dalam</term>
+    <term name="in press">dalam proses cetakan</term>
+    <term name="internet">internet</term>
+    <term name="interview">wawancara</term>
+    <term name="letter">surat</term>
+    <term name="no date">tanpa tanggal</term>
+    <term name="no date" form="short">t.t.</term>
+    <term name="online">daring</term>
+    <term name="presented at">dipresentasikan pada</term>
+    <term name="reference">
+      <single>referensi</single>
+      <multiple>referensi</multiple>
+    </term>
+    <term name="reference" form="short">
+      <single>ref.</single>
+      <multiple>ref.</multiple>
+    </term>
+    <term name="retrieved">diambil</term>
+    <term name="scale">skala</term>
+    <term name="version">versi</term>
+
+    <!-- ANNO DOMINI; BEFORE CHRIST -->
+    <term name="ad">M</term>
+    <term name="bc">SM</term>
+
+    <!-- PUNCTUATION -->
+    <term name="open-quote">“</term>
+    <term name="close-quote">”</term>
+    <term name="open-inner-quote">‘</term>
+    <term name="close-inner-quote">’</term>
+    <term name="page-range-delimiter">–</term>
+
+    <!-- ORDINALS -->
+    <term name="ordinal"></term>
+    <term name="ordinal-01"></term>
+    <term name="ordinal-02"></term>
+    <term name="ordinal-03"></term>
+    <term name="ordinal-11"></term>
+    <term name="ordinal-12"></term>
+    <term name="ordinal-13"></term>
+
+    <!-- LONG ORDINALS -->
+    <term name="long-ordinal-01">pertama</term>
+    <term name="long-ordinal-02">kedua</term>
+    <term name="long-ordinal-03">ketiga</term>
+    <term name="long-ordinal-04">keempat</term>
+    <term name="long-ordinal-05">kelima</term>
+    <term name="long-ordinal-06">keenam</term>
+    <term name="long-ordinal-07">ketujuh</term>
+    <term name="long-ordinal-08">kedelapan</term>
+    <term name="long-ordinal-09">kesembilan</term>
+    <term name="long-ordinal-10">kesepuluh</term>
+
+    <!-- LONG LOCATOR FORMS -->
+    <term name="book">
+      <single>buku</single>
+      <multiple>buku</multiple>
+    </term>
+    <term name="chapter">
+      <single>bab</single>
+      <multiple>bab</multiple>
+    </term>
+    <term name="column">
+      <single>kolom</single>
+      <multiple>kolom</multiple>
+    </term>
+    <term name="figure">
+      <single>gambar</single>
+      <multiple>gambar</multiple>
+    </term>
+    <term name="folio">
+      <single>folio</single>
+      <multiple>folio</multiple>
+    </term>
+    <term name="issue">
+      <single>nomor</single>
+      <multiple>nomor</multiple>
+    </term>
+    <term name="line">
+      <single>baris</single>
+      <multiple>baris</multiple>
+    </term>
+    <term name="note">
+      <single>catatan</single>
+      <multiple>catatan</multiple>
+    </term>
+    <term name="opus">
+      <single>opus</single>
+      <multiple>opera</multiple>
+    </term>
+    <term name="page">
+      <single>halaman</single>
+      <multiple>halaman</multiple>
+    </term>
+    <term name="number-of-pages">
+      <single>halaman</single>
+      <multiple>halaman</multiple>
+    </term>
+    <term name="paragraph">
+      <single>paragraf</single>
+      <multiple>paragraf</multiple>
+    </term>
+    <term name="part">
+      <single>bagian</single>
+      <multiple>bagian</multiple>
+    </term>
+    <term name="section">
+      <single>bagian</single>
+      <multiple>bagian</multiple>
+    </term>
+    <term name="sub verbo">
+      <single>sub verbo</single>
+      <multiple>sub verbis</multiple>
+    </term>
+    <term name="verse">
+      <single>ayat</single>
+      <multiple>ayat</multiple>
+    </term>
+    <term name="volume">
+      <single>volume</single>
+      <multiple>volume</multiple>
+    </term>
+
+    <!-- SHORT LOCATOR FORMS -->
+    <term name="book" form="short">bk.</term>
+    <term name="chapter" form="short">bb.</term>
+    <term name="column" form="short">kol.</term>
+    <term name="figure" form="short">gbr.</term>
+    <term name="folio" form="short">fol.</term>
+    <term name="issue" form="short">no.</term>
+    <term name="line" form="short">brs.</term>
+    <term name="note" form="short">ctt.</term>
+    <term name="opus" form="short">op.</term>
+    <term name="page" form="short">
+      <single>hlm.</single>
+      <multiple>hlm.</multiple>
+    </term>
+    <term name="number-of-pages" form="short">
+      <single>hlm.</single>
+      <multiple>hlm.</multiple>
+    </term>
+    <term name="paragraph" form="short">para.</term>
+    <term name="part" form="short">bag.</term>
+    <term name="section" form="short">bag.</term>
+    <term name="sub verbo" form="short">
+      <single>s.v.</single>
+      <multiple>s.vv.</multiple>
+    </term>
+    <term name="verse" form="short">
+      <single>a.</single>
+      <multiple>a.</multiple>
+    </term>
+    <term name="volume" form="short">
+      <single>vol.</single>
+      <multiple>vol.</multiple>
+    </term>
+
+    <!-- SYMBOL LOCATOR FORMS -->
+    <term name="paragraph" form="symbol">
+      <single>¶</single>
+      <multiple>¶¶</multiple>
+    </term>
+    <term name="section" form="symbol">
+      <single>§</single>
+      <multiple>§§</multiple>
+    </term>
+
+    <!-- LONG ROLE FORMS -->
+    <term name="director">
+      <single>direktur</single>
+      <multiple>direktur</multiple>
+    </term>
+    <term name="editor">
+      <single>editor</single>
+      <multiple>editor</multiple>
+    </term>
+    <term name="editorial-director">
+      <single>editor</single>
+      <multiple>editor</multiple>
+    </term>
+    <term name="illustrator">
+      <single>ilustrator</single>
+      <multiple>ilustrator</multiple>
+    </term>
+    <term name="translator">
+      <single>penerjemah</single>
+      <multiple>penerjemah</multiple>
+    </term>
+    <term name="editortranslator">
+      <single>editor & penerjemah</single>
+      <multiple>editor & penerjemah</multiple>
+    </term>
+
+    <!-- SHORT ROLE FORMS -->
+    <term name="director" form="short">
+      <single>dir.</single>
+      <multiple>dir.</multiple>
+    </term>
+    <term name="editor" form="short">
+      <single>ed.</single>
+      <multiple>ed.</multiple>
+    </term>
+    <term name="editorial-director" form="short">
+      <single>ed.</single>
+      <multiple>ed.</multiple>
+    </term>
+    <term name="illustrator" form="short">
+      <single>il.</single>
+      <multiple>il.</multiple>
+    </term>
+    <term name="translator" form="short">
+      <single>penerj.</single>
+      <multiple>penerj.</multiple>
+    </term>
+    <term name="editortranslator" form="short">
+      <single>ed. & penerj.</single>
+      <multiple>ed. & penerj.</multiple>
+    </term>
+
+    <!-- VERB ROLE FORMS -->
+    <term name="container-author" form="verb">oleh</term>
+    <term name="director" form="verb">diarahkan oleh</term>
+    <term name="editor" form="verb">disunting oleh</term>
+    <term name="editorial-director" form="verb">disunting oleh</term>
+    <term name="illustrator" form="verb">diilustrasi oleh</term>
+    <term name="interviewer" form="verb">diwawancara oleh</term>
+    <term name="recipient" form="verb">kepada</term>
+    <term name="reviewed-author" form="verb">oleh</term>
+    <term name="translator" form="verb">diterjemahkan oleh</term>
+    <term name="editortranslator" form="verb">disunting & diterjemahkan oleh</term>
+
+    <!-- SHORT VERB ROLE FORMS -->
+    <term name="director" form="verb-short">dir. oleh</term>
+    <term name="editor" form="verb-short">ed. oleh</term>
+    <term name="editorial-director" form="verb-short">ed. oleh</term>
+    <term name="illustrator" form="verb-short">illus. oleh</term>
+    <term name="translator" form="verb-short">trans. oleh</term>
+    <term name="editortranslator" form="verb-short">ed. & penerj. oleh</term>
+
+    <!-- LONG MONTH FORMS -->
+    <term name="month-01">Januari</term>
+    <term name="month-02">Februari</term>
+    <term name="month-03">Maret</term>
+    <term name="month-04">April</term>
+    <term name="month-05">Mei</term>
+    <term name="month-06">Juni</term>
+    <term name="month-07">Juli</term>
+    <term name="month-08">Agustus</term>
+    <term name="month-09">September</term>
+    <term name="month-10">Oktober</term>
+    <term name="month-11">November</term>
+    <term name="month-12">Desember</term>
+
+    <!-- SHORT MONTH FORMS -->
+    <term name="month-01" form="short">Jan</term>
+    <term name="month-02" form="short">Feb</term>
+    <term name="month-03" form="short">Mar</term>
+    <term name="month-04" form="short">Apr</term>
+    <term name="month-05" form="short">Mei</term>
+    <term name="month-06" form="short">Jun</term>
+    <term name="month-07" form="short">Jul</term>
+    <term name="month-08" form="short">Agu</term>
+    <term name="month-09" form="short">Sep</term>
+    <term name="month-10" form="short">Okt</term>
+    <term name="month-11" form="short">Nov</term>
+    <term name="month-12" form="short">Des</term>
+
+    <!-- SEASONS -->
+    <term name="season-01">Semi</term>
+    <term name="season-02">Panas</term>
+    <term name="season-03">Gugur</term>
+    <term name="season-04">Dingin</term>
+  </terms>
+</locale>

Added: trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-is-IS.xml
===================================================================
--- trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-is-IS.xml	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-is-IS.xml	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,312 @@
+<?xml version="1.0" encoding="utf-8"?>
+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="is-IS">
+  <info>
+    <translator>
+      <name>dadamaster</name>
+    </translator>
+    <translator>
+      <name>styrmirm</name>
+    </translator>
+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
+    <updated>2017-12-29T16:29:13+01:00</updated>
+  </info>
+  <style-options punctuation-in-quote="false"/>
+  <date form="text">
+    <date-part name="day" suffix=". "/>
+    <date-part name="month" suffix=" "/>
+    <date-part name="year"/>
+  </date>
+  <date form="numeric">
+    <date-part name="day" form="ordinal" suffix=" "/>
+    <date-part name="month" suffix="."/>
+    <date-part name="year"/>
+  </date>
+  <terms>
+    <term name="accessed">sótt</term>
+    <term name="and">og</term>
+    <term name="and others">og fleiri</term>
+    <term name="anonymous">nafnlaus</term>
+    <term name="anonymous" form="short">nafnl.</term>
+    <term name="at">af</term>
+    <term name="available at">aðgengilegt á</term>
+    <term name="by">eftir</term>
+    <term name="circa">sirka</term>
+    <term name="circa" form="short">u.þ.b.</term>
+    <term name="cited">tilvitnun</term>
+    <term name="edition">
+      <single>útgáfa</single>
+      <multiple>útgáfur</multiple>
+    </term>
+    <term name="edition" form="short">útg.</term>
+    <term name="et-al">o.fl.</term>
+    <term name="forthcoming">óbirt</term>
+    <term name="from">af</term>
+    <term name="ibid">sama heimild</term>
+    <term name="in">í</term>
+    <term name="in press">í prentun</term>
+    <term name="internet">rafrænt</term>
+    <term name="interview">viðtal</term>
+    <term name="letter">bréf</term>
+    <term name="no date">engin dagsetning</term>
+    <term name="no date" form="short">e.d.</term>
+    <term name="online">rafrænt</term>
+    <term name="presented at">flutt á</term>
+    <term name="reference">
+      <single>tilvitnun</single>
+      <multiple>tilvitnanir</multiple>
+    </term>
+    <term name="reference" form="short">
+      <single>tilv.</single>
+      <multiple>tilv.</multiple>
+    </term>
+    <term name="retrieved">sótt</term>
+    <term name="scale">scale</term>
+    <term name="version">útgáfa</term>
+
+    <!-- ANNO DOMINI; BEFORE CHRIST -->
+    <term name="ad">e.Kr.</term>
+    <term name="bc">f.Kr.</term>
+
+    <!-- PUNCTUATION -->
+    <term name="open-quote">„</term>
+    <term name="close-quote">“</term>
+    <term name="open-inner-quote">‘</term>
+    <term name="close-inner-quote">’</term>
+    <term name="page-range-delimiter">–</term>
+
+    <!-- ORDINALS -->
+    <term name="ordinal">.</term>
+
+    <!-- LONG ORDINALS -->
+    <term name="long-ordinal-01">fyrsti</term>
+    <term name="long-ordinal-02">annar</term>
+    <term name="long-ordinal-03">þriðji</term>
+    <term name="long-ordinal-04">fjórði</term>
+    <term name="long-ordinal-05">fimmti</term>
+    <term name="long-ordinal-06">sjötti</term>
+    <term name="long-ordinal-07">sjöundi</term>
+    <term name="long-ordinal-08">áttundi</term>
+    <term name="long-ordinal-09">níundi</term>
+    <term name="long-ordinal-10">tíundi</term>
+
+    <!-- LONG LOCATOR FORMS -->
+    <term name="book">
+      <single>bók</single>
+      <multiple>bækur</multiple>
+    </term>
+    <term name="chapter">
+      <single>kafli</single>
+      <multiple>kaflar</multiple>
+    </term>
+    <term name="column">
+      <single>dálkur</single>
+      <multiple>dálkar</multiple>
+    </term>
+    <term name="figure">
+      <single>mynd</single>
+      <multiple>myndir</multiple>
+    </term>
+    <term name="folio">
+      <single>handrit</single>
+      <multiple>handrit</multiple>
+    </term>
+    <term name="issue">
+      <single>tölublað</single>
+      <multiple>tölublöð</multiple>
+    </term>
+    <term name="line">
+      <single>lína</single>
+      <multiple>línur</multiple>
+    </term>
+    <term name="note">
+      <single>athugasemd</single>
+      <multiple>athugasemdir</multiple>
+    </term>
+    <term name="opus">
+      <single>tónverk</single>
+      <multiple>tónverk</multiple>
+    </term>
+    <term name="page">
+      <single>blaðsíða</single>
+      <multiple>blaðsíður</multiple>
+    </term>
+    <term name="number-of-pages">
+      <single>blaðsíða</single>
+      <multiple>blaðsíður</multiple>
+    </term>
+    <term name="paragraph">
+      <single>málsgrein</single>
+      <multiple>málsgreinar</multiple>
+    </term>
+    <term name="part">
+      <single>hluti</single>
+      <multiple>hlutar</multiple>
+    </term>
+    <term name="section">
+      <single>hluti</single>
+      <multiple>hlutar</multiple>
+    </term>
+    <term name="sub verbo">
+      <single>sub verbo</single>
+      <multiple>sub verbis</multiple>
+    </term>
+    <term name="verse">
+      <single>vers</single>
+      <multiple>vers</multiple>
+    </term>
+    <term name="volume">
+      <single>bindi</single>
+      <multiple>bindi</multiple>
+    </term>
+
+    <!-- SHORT LOCATOR FORMS -->
+    <term name="book" form="short">bók</term>
+    <term name="chapter" form="short">k.</term>
+    <term name="column" form="short">d.</term>
+    <term name="figure" form="short">mynd.</term>
+    <term name="folio" form="short">handr.</term>
+    <term name="issue" form="short">tbl.</term>
+    <term name="line" form="short">l.</term>
+    <term name="note" form="short">ath.</term>
+    <term name="opus" form="short">tónv.</term>
+    <term name="page" form="short">
+      <single>bls.</single>
+      <multiple>bls.</multiple>
+    </term>
+    <term name="number-of-pages" form="short">
+      <single>bls.</single>
+      <multiple>bls.</multiple>
+    </term>
+    <term name="paragraph" form="short">málsgr.</term>
+    <term name="part" form="short">hl.</term>
+    <term name="section" form="short">hl.</term>
+    <term name="sub verbo" form="short">
+      <single>s.v.</single>
+      <multiple>s.vv.</multiple>
+    </term>
+    <term name="verse" form="short">
+      <single>v.</single>
+      <multiple>v.</multiple>
+    </term>
+    <term name="volume" form="short">
+      <single>b.</single>
+      <multiple>b.</multiple>
+    </term>
+
+    <!-- SYMBOL LOCATOR FORMS -->
+    <term name="paragraph" form="symbol">
+      <single>¶</single>
+      <multiple>¶¶</multiple>
+    </term>
+    <term name="section" form="symbol">
+      <single>§</single>
+      <multiple>§§</multiple>
+    </term>
+
+    <!-- LONG ROLE FORMS -->
+    <term name="director">
+      <single>leikstjóri</single>
+      <multiple>leikstjórar</multiple>
+    </term>
+    <term name="editor">
+      <single>ritstjóri</single>
+      <multiple>ritstjórar</multiple>
+    </term>
+    <term name="editorial-director">
+      <single>ritstjóri</single>
+      <multiple>ritstjórar</multiple>
+    </term>
+    <term name="illustrator">
+      <single>höfundur myndskreytinga</single>
+      <multiple>höfundar myndskreytinga</multiple>
+    </term>
+    <term name="translator">
+      <single>þýðandi</single>
+      <multiple>þýðendur</multiple>
+    </term>
+    <term name="editortranslator">
+      <single>ritstjóri og þýðandi</single>
+      <multiple>ritstjórar og þýðendur</multiple>
+    </term>
+
+    <!-- SHORT ROLE FORMS -->
+    <term name="director" form="short">
+      <single>leikstj.</single>
+      <multiple>leikstj.</multiple>
+    </term>
+    <term name="editor" form="short">
+      <single>ritstj.</single>
+      <multiple>ritstj.</multiple>
+    </term>
+    <term name="editorial-director" form="short">
+      <single>ritstj.</single>
+      <multiple>ritstj.</multiple>
+    </term>
+    <term name="illustrator" form="short">
+      <single>höf. mynd.</single>
+      <multiple>höf. mynd.</multiple>
+    </term>
+    <term name="translator" form="short">
+      <single>þýð.</single>
+      <multiple>þýð.</multiple>
+    </term>
+    <term name="editortranslator" form="short">
+      <single>ritstj. og þýð.</single>
+      <multiple>ritstj. og þýð.</multiple>
+    </term>
+
+    <!-- VERB ROLE FORMS -->
+    <term name="container-author" form="verb">eftir</term>
+    <term name="director" form="verb">leikstýrt af</term>
+    <term name="editor" form="verb">ritstýrt af</term>
+    <term name="editorial-director" form="verb">ritstýrt af</term>
+    <term name="illustrator" form="verb">myndskreytt af</term>
+    <term name="interviewer" form="verb">viðtal tók</term>
+    <term name="recipient" form="verb">til</term>
+    <term name="reviewed-author" form="verb">by</term>
+    <term name="translator" form="verb">þýddi</term>
+    <term name="editortranslator" form="verb">ritstýrt og þýtt af</term>
+
+    <!-- SHORT VERB ROLE FORMS -->
+    <term name="director" form="verb-short">leikstj.</term>
+    <term name="editor" form="verb-short">ritstj.</term>
+    <term name="editorial-director" form="verb-short">ritstj.</term>
+    <term name="illustrator" form="verb-short">myndskr.</term>
+    <term name="translator" form="verb-short">þýð.</term>
+    <term name="editortranslator" form="verb-short">ritstj. og þýð.</term>
+
+    <!-- LONG MONTH FORMS -->
+    <term name="month-01">janúar</term>
+    <term name="month-02">febrúar</term>
+    <term name="month-03">mars</term>
+    <term name="month-04">apríl</term>
+    <term name="month-05">maí</term>
+    <term name="month-06">júní</term>
+    <term name="month-07">júlí</term>
+    <term name="month-08">ágúst</term>
+    <term name="month-09">september</term>
+    <term name="month-10">október</term>
+    <term name="month-11">nóvember</term>
+    <term name="month-12">desember</term>
+
+    <!-- SHORT MONTH FORMS -->
+    <term name="month-01" form="short">jan.</term>
+    <term name="month-02" form="short">feb.</term>
+    <term name="month-03" form="short">mar.</term>
+    <term name="month-04" form="short">apr.</term>
+    <term name="month-05" form="short">maí</term>
+    <term name="month-06" form="short">jún.</term>
+    <term name="month-07" form="short">júl.</term>
+    <term name="month-08" form="short">ágú.</term>
+    <term name="month-09" form="short">sep.</term>
+    <term name="month-10" form="short">okt.</term>
+    <term name="month-11" form="short">nóv.</term>
+    <term name="month-12" form="short">des.</term>
+
+    <!-- SEASONS -->
+    <term name="season-01">vor</term>
+    <term name="season-02">sumar</term>
+    <term name="season-03">haust</term>
+    <term name="season-04">vetur</term>
+  </terms>
+</locale>

Added: trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-it-IT.xml
===================================================================
--- trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-it-IT.xml	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-it-IT.xml	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,340 @@
+<?xml version="1.0" encoding="utf-8"?>
+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="it-IT">
+  <info>
+    <translator>
+      <name>FI App Development</name>
+    </translator>
+    <translator>
+      <name>Monica Thuegaz</name>
+    </translator>
+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
+    <updated>2020-12-07T06:01:04+01:00</updated>
+  </info>
+  <style-options punctuation-in-quote="false"/>
+  <date form="text">
+    <date-part name="day" suffix=" "/>
+    <date-part name="month" suffix=" "/>
+    <date-part name="year"/>
+  </date>
+  <date form="numeric">
+    <date-part name="day" form="numeric-leading-zeros" suffix="/"/>
+    <date-part name="month" form="numeric-leading-zeros" suffix="/"/>
+    <date-part name="year"/>
+  </date>
+  <terms>
+    <term name="accessed">consultato</term>
+    <term name="and">e</term>
+    <term name="and others">e altri</term>
+    <term name="anonymous">anonimo</term>
+    <term name="anonymous" form="short">anon.</term>
+    <term name="at">a</term>
+    <term name="available at">disponibile su</term>
+    <term name="available at" form="short">su</term>
+    <term name="by">di</term>
+    <term name="circa">circa</term>
+    <term name="circa" form="short">c.</term>
+    <term name="cited">citato</term>
+    <term name="edition" gender="feminine">
+      <single>edizione</single>
+      <multiple>edizioni</multiple>
+    </term>
+    <term name="edition" form="short">ed.</term>
+    <term name="et-al">et al.</term>
+    <term name="forthcoming">futuro</term>
+    <term name="from">da</term>
+    <term name="ibid">ibid.</term>
+    <term name="ibid">ibidem</term>
+    <term name="ibid" form="short">ibid.</term>
+    <term name="in">in</term>
+    <term name="in press">in stampa</term>
+    <term name="internet">internet</term>
+    <term name="interview">intervista</term>
+    <term name="letter">lettera</term>
+    <term name="no date">senza data</term>
+    <term name="no date" form="short">s.d.</term>
+    <term name="online">online</term>
+    <term name="presented at">presentato al</term>
+    <term name="reference">
+      <single>reference</single>
+      <multiple>references</multiple>
+    </term>
+    <term name="reference" form="short">
+      <single>ref.</single>
+      <multiple>refs.</multiple>
+    </term>
+    <term name="retrieved">recuperato</term>
+    <term name="scale">scala</term>
+    <term name="version">versione</term>
+
+    <!-- ANNO DOMINI; BEFORE CHRIST -->
+    <term name="ad">d.C.</term>
+    <term name="bc">a.C.</term>
+
+    <!-- PUNCTUATION -->
+    <term name="open-quote">«</term>
+    <term name="close-quote">»</term>
+    <term name="open-inner-quote">“</term>
+    <term name="close-inner-quote">”</term>
+    <term name="page-range-delimiter">–</term>
+
+    <!-- ORDINALS -->
+    <term name="ordinal">º</term>
+    <term name="ordinal" gender-form="masculine">º</term>
+    <term name="ordinal" gender-form="feminine">ª</term>
+
+    <!-- LONG ORDINALS -->
+    <term name="long-ordinal-01">prima</term>
+    <term name="long-ordinal-01" gender-form="masculine">primo</term>
+    <term name="long-ordinal-01" gender-form="feminine">prima</term>
+    <term name="long-ordinal-02">seconda</term>
+    <term name="long-ordinal-02" gender-form="masculine">secondo</term>
+    <term name="long-ordinal-02" gender-form="feminine">seconda</term>
+    <term name="long-ordinal-03">terza</term>
+    <term name="long-ordinal-03" gender-form="masculine">terzo</term>
+    <term name="long-ordinal-03" gender-form="feminine">terza</term>
+    <term name="long-ordinal-04">quarta</term>
+    <term name="long-ordinal-04" gender-form="masculine">quarto</term>
+    <term name="long-ordinal-04" gender-form="feminine">quarta</term>
+    <term name="long-ordinal-05">quinta</term>
+    <term name="long-ordinal-05" gender-form="masculine">quinto</term>
+    <term name="long-ordinal-05" gender-form="feminine">quinta</term>
+    <term name="long-ordinal-06">sesta</term>
+    <term name="long-ordinal-06" gender-form="masculine">sesto</term>
+    <term name="long-ordinal-06" gender-form="feminine">sesta</term>
+    <term name="long-ordinal-07">settima</term>
+    <term name="long-ordinal-07" gender-form="masculine">settimo</term>
+    <term name="long-ordinal-07" gender-form="feminine">settima</term>
+    <term name="long-ordinal-08">ottava</term>
+    <term name="long-ordinal-08" gender-form="masculine">ottavo</term>
+    <term name="long-ordinal-08" gender-form="feminine">ottava</term>
+    <term name="long-ordinal-09">nona</term>
+    <term name="long-ordinal-09" gender-form="masculine">nono</term>
+    <term name="long-ordinal-09" gender-form="feminine">nona</term>
+    <term name="long-ordinal-10">decima</term>
+    <term name="long-ordinal-10" gender-form="masculine">decimo</term>
+    <term name="long-ordinal-10" gender-form="feminine">decima</term>
+
+    <!-- LONG LOCATOR FORMS -->
+    <term name="book">
+      <single>libro</single>
+      <multiple>libri</multiple>
+    </term>
+    <term name="chapter">
+      <single>capitolo</single>
+      <multiple>capitoli</multiple>
+    </term>
+    <term name="column">
+      <single>colonna</single>
+      <multiple>colonne</multiple>
+    </term>
+    <term name="figure">
+      <single>figura</single>
+      <multiple>figure</multiple>
+    </term>
+    <term name="folio">
+      <single>foglio</single>
+      <multiple>fogli</multiple>
+    </term>
+    <term name="issue" gender="masculine">
+      <single>numero</single>
+      <multiple>numeri</multiple>
+    </term>
+    <term name="line">
+      <single>riga</single>
+      <multiple>righe</multiple>
+    </term>
+    <term name="note">
+      <single>nota</single>
+      <multiple>note</multiple>
+    </term>
+    <term name="opus">
+      <single>opera</single>
+      <multiple>opere</multiple>
+    </term>
+    <term name="page">
+      <single>pagina</single>
+      <multiple>pagine</multiple>
+    </term>
+    <term name="number-of-pages">
+      <single>pagina</single>
+      <multiple>pagine</multiple>
+    </term>
+    <term name="paragraph">
+      <single>capoverso</single>
+      <multiple>capoversi</multiple>
+    </term>
+    <term name="part">
+      <single>parte</single>
+      <multiple>parti</multiple>
+    </term>
+    <term name="section">
+      <single>paragrafo</single>
+      <multiple>paragrafi</multiple>
+    </term>
+    <term name="sub verbo">
+      <single>sub verbo</single>
+      <multiple>sub verbis</multiple>
+    </term>
+    <term name="verse">
+      <single>verso</single>
+      <multiple>versi</multiple>
+    </term>
+    <term name="volume" gender="masculine">
+      <single>volume</single>
+      <multiple>volumi</multiple>
+    </term>
+
+    <!-- SHORT LOCATOR FORMS -->
+    <term name="book" form="short">lib.</term>
+    <term name="chapter" form="short">
+      <single>cap.</single>
+      <multiple>capp.</multiple>
+    </term>
+    <term name="column" form="short">col.</term>
+    <term name="figure" form="short">fig.</term>
+    <term name="folio" form="short">fgl.</term>
+    <term name="issue" form="short">n.</term>
+    <term name="line" form="short">l.</term>
+    <term name="note" form="short">n.</term>
+    <term name="opus" form="short">op.</term>
+    <term name="page" form="short">
+      <single>pag.</single>
+      <multiple>pagg.</multiple>
+    </term>
+    <term name="number-of-pages" form="short">
+      <single>pag.</single>
+      <multiple>pagg.</multiple>
+    </term>
+    <term name="paragraph" form="short">cpv.</term>
+    <term name="part" form="short">pt.</term>
+    <term name="section" form="short">par.</term>
+    <term name="sub verbo" form="short">
+      <single>s.v.</single>
+      <multiple>s.vv.</multiple>
+    </term>
+    <term name="verse" form="short">
+      <single>v.</single>
+      <multiple>vv.</multiple>
+    </term>
+    <term name="volume" form="short">
+      <single>vol.</single>
+      <multiple>voll.</multiple>
+    </term>
+
+    <!-- SYMBOL LOCATOR FORMS -->
+    <term name="paragraph" form="symbol">
+      <single>¶</single>
+      <multiple>¶¶</multiple>
+    </term>
+    <term name="section" form="symbol">
+      <single>§</single>
+      <multiple>§§</multiple>
+    </term>
+
+    <!-- LONG ROLE FORMS -->
+    <term name="director">
+      <single>director</single>
+      <multiple>directors</multiple>
+    </term>
+    <term name="editor">
+      <single>curatore</single>
+      <multiple>curatori</multiple>
+    </term>
+    <term name="editorial-director">
+      <single>editor</single>
+      <multiple>editors</multiple>
+    </term>
+    <term name="illustrator">
+      <single>illustratore</single>
+      <multiple>illustratori</multiple>
+    </term>
+    <term name="translator">
+      <single>traduttore</single>
+      <multiple>traduttori</multiple>
+    </term>
+    <term name="editortranslator">
+      <single>curatore e traduttore</single>
+      <multiple>curatori e tradutori</multiple>
+    </term>
+
+    <!-- SHORT ROLE FORMS -->
+    <term name="director" form="short">
+      <single>dir.</single>
+      <multiple>dir.</multiple>
+    </term>
+    <term name="editor" form="short">
+      <single>a c. di</single>
+      <multiple>a c. di</multiple>
+    </term>
+    <term name="editorial-director" form="short">
+      <single>ed.</single>
+      <multiple>ed.</multiple>
+    </term>
+    <term name="illustrator" form="short">
+      <single>ill.</single>
+      <multiple>ill.</multiple>
+    </term>
+    <term name="translator" form="short">
+      <single>trad.</single>
+      <multiple>trad.</multiple>
+    </term>
+    <term name="editortranslator" form="short">
+      <single>a c. di e trad. da</single>
+      <multiple>a c. di e trad. da</multiple>
+    </term>
+
+    <!-- VERB ROLE FORMS -->
+    <term name="container-author" form="verb">di</term>
+    <term name="director" form="verb">diretto da</term>
+    <term name="editor" form="verb">a cura di</term>
+    <term name="editorial-director" form="verb">edited by</term>
+    <term name="illustrator" form="verb">illustrato da</term>
+    <term name="interviewer" form="verb">intervista di</term>
+    <term name="recipient" form="verb">a</term>
+    <term name="reviewed-author" form="verb">di</term>
+    <term name="translator" form="verb">tradotto da</term>
+    <term name="editortranslator" form="verb">a cura di e tradotto da</term>
+
+    <!-- SHORT VERB ROLE FORMS -->
+    <term name="director" form="verb-short">dir. da</term>
+    <term name="editor" form="verb-short">a c. di</term>
+    <term name="editorial-director" form="verb-short">ed.</term>
+    <term name="illustrator" form="verb-short">ill. da</term>
+    <term name="translator" form="verb-short">trad. da</term>
+    <term name="editortranslator" form="verb-short">a c. di e trad. da</term>
+
+    <!-- LONG MONTH FORMS -->
+    <term name="month-01" gender="masculine">gennaio</term>
+    <term name="month-02" gender="masculine">febbraio</term>
+    <term name="month-03" gender="masculine">marzo</term>
+    <term name="month-04" gender="masculine">aprile</term>
+    <term name="month-05" gender="masculine">maggio</term>
+    <term name="month-06" gender="masculine">giugno</term>
+    <term name="month-07" gender="masculine">luglio</term>
+    <term name="month-08" gender="masculine">agosto</term>
+    <term name="month-09" gender="masculine">settembre</term>
+    <term name="month-10" gender="masculine">ottobre</term>
+    <term name="month-11" gender="masculine">novembre</term>
+    <term name="month-12" gender="masculine">dicembre</term>
+
+    <!-- SHORT MONTH FORMS -->
+    <term name="month-01" form="short">gen.</term>
+    <term name="month-02" form="short">feb.</term>
+    <term name="month-03" form="short">mar.</term>
+    <term name="month-04" form="short">apr.</term>
+    <term name="month-05" form="short">mag.</term>
+    <term name="month-06" form="short">giu.</term>
+    <term name="month-07" form="short">lug.</term>
+    <term name="month-08" form="short">ago.</term>
+    <term name="month-09" form="short">set.</term>
+    <term name="month-10" form="short">ott.</term>
+    <term name="month-11" form="short">nov.</term>
+    <term name="month-12" form="short">dic.</term>
+
+    <!-- SEASONS -->
+    <term name="season-01">primavera</term>
+    <term name="season-02">estate</term>
+    <term name="season-03">autunno</term>
+    <term name="season-04">inverno</term>
+  </terms>
+</locale>

Added: trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-ja-JP.xml
===================================================================
--- trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-ja-JP.xml	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-ja-JP.xml	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,315 @@
+<?xml version="1.0" encoding="utf-8"?>
+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="ja-JP">
+  <info>
+    <translator>
+      <name>Shoji Takahashi</name>
+    </translator>
+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
+    <updated>2017-12-29T16:29:13+01:00</updated>
+  </info>
+  <style-options punctuation-in-quote="false"/>
+  <date form="text">
+    <date-part name="year" suffix="年"/>
+    <date-part name="month" form="numeric" suffix="月"/>
+    <date-part name="day" suffix="日"/>
+  </date>
+  <date form="numeric">
+    <date-part name="year" suffix="年"/>
+    <date-part name="month" form="numeric" suffix="月"/>
+    <date-part name="day" suffix="日"/>
+  </date>
+  <terms>
+    <term name="accessed">参照</term>
+    <term name="and">と</term>
+    <term name="and others">and others</term>
+    <term name="anonymous">anonymous</term>
+    <term name="anonymous" form="short">anon</term>
+    <term name="at">at</term>
+    <term name="available at">available at</term>
+    <term name="by">by</term>
+    <term name="circa">circa</term>
+    <term name="circa" form="short">c.</term>
+    <term name="cited">cited</term>
+    <term name="edition">
+      <single>版</single>
+      <multiple>版</multiple>
+    </term>
+    <term name="edition" form="short">版</term>
+    <term name="et-al">ほか</term>
+    <term name="forthcoming">近刊</term>
+    <term name="from">から</term>
+    <term name="ibid">前掲</term>
+    <term name="in"></term>
+    <term name="in press">in press</term>
+    <term name="internet">internet</term>
+    <term name="interview">interview</term>
+    <term name="letter">letter</term>
+    <term name="no date">no date</term>
+    <term name="no date" form="short">日付なし</term>
+    <term name="online">online</term>
+    <term name="presented at">presented at the</term>
+    <term name="reference">
+      <single>reference</single>
+      <multiple>references</multiple>
+    </term>
+    <term name="reference" form="short">
+      <single>ref.</single>
+      <multiple>refs.</multiple>
+    </term>
+    <term name="retrieved">読み込み</term>
+    <term name="scale">scale</term>
+    <term name="version">version</term>
+
+    <!-- ANNO DOMINI; BEFORE CHRIST -->
+    <term name="ad">AD</term>
+    <term name="bc">BC</term>
+
+    <!-- PUNCTUATION -->
+    <term name="open-quote">「</term>
+    <term name="close-quote">」</term>
+    <term name="open-inner-quote">『</term>
+    <term name="close-inner-quote">』</term>
+    <term name="page-range-delimiter">–</term>
+
+    <!-- ORDINALS -->
+    <term name="ordinal">th</term>
+    <term name="ordinal-01">st</term>
+    <term name="ordinal-02">nd</term>
+    <term name="ordinal-03">rd</term>
+    <term name="ordinal-11">th</term>
+    <term name="ordinal-12">th</term>
+    <term name="ordinal-13">th</term>
+
+    <!-- LONG ORDINALS -->
+    <term name="long-ordinal-01">first</term>
+    <term name="long-ordinal-02">second</term>
+    <term name="long-ordinal-03">third</term>
+    <term name="long-ordinal-04">fourth</term>
+    <term name="long-ordinal-05">fifth</term>
+    <term name="long-ordinal-06">sixth</term>
+    <term name="long-ordinal-07">seventh</term>
+    <term name="long-ordinal-08">eighth</term>
+    <term name="long-ordinal-09">ninth</term>
+    <term name="long-ordinal-10">tenth</term>
+
+    <!-- LONG LOCATOR FORMS -->
+    <term name="book">
+      <single>book</single>
+      <multiple>books</multiple>
+    </term>
+    <term name="chapter">
+      <single>chapter</single>
+      <multiple>chapters</multiple>
+    </term>
+    <term name="column">
+      <single>column</single>
+      <multiple>columns</multiple>
+    </term>
+    <term name="figure">
+      <single>figure</single>
+      <multiple>figures</multiple>
+    </term>
+    <term name="folio">
+      <single>folio</single>
+      <multiple>folios</multiple>
+    </term>
+    <term name="issue">
+      <single>number</single>
+      <multiple>numbers</multiple>
+    </term>
+    <term name="line">
+      <single>行</single>
+      <multiple>行</multiple>
+    </term>
+    <term name="note">
+      <single>note</single>
+      <multiple>notes</multiple>
+    </term>
+    <term name="opus">
+      <single>opus</single>
+      <multiple>opera</multiple>
+    </term>
+    <term name="page">
+      <single>ページ</single>
+      <multiple>ページ</multiple>
+    </term>
+    <term name="number-of-pages">
+      <single>ページ</single>
+      <multiple>ページ</multiple>
+    </term>
+    <term name="paragraph">
+      <single>段落</single>
+      <multiple>段落</multiple>
+    </term>
+    <term name="part">
+      <single>part</single>
+      <multiple>parts</multiple>
+    </term>
+    <term name="section">
+      <single>section</single>
+      <multiple>sections</multiple>
+    </term>
+    <term name="sub verbo">
+      <single>sub verbo</single>
+      <multiple>sub verbis</multiple>
+    </term>
+    <term name="verse">
+      <single>verse</single>
+      <multiple>verses</multiple>
+    </term>
+    <term name="volume">
+      <single>volume</single>
+      <multiple>volumes</multiple>
+    </term>
+
+    <!-- SHORT LOCATOR FORMS -->
+    <term name="book" form="short">bk.</term>
+    <term name="chapter" form="short">chap.</term>
+    <term name="column" form="short">col.</term>
+    <term name="figure" form="short">fig.</term>
+    <term name="folio" form="short">f.</term>
+    <term name="issue" form="short">no.</term>
+    <term name="line" form="short">l.</term>
+    <term name="note" form="short">n.</term>
+    <term name="opus" form="short">op.</term>
+    <term name="page" form="short">
+      <single>p.</single>
+      <multiple>pp.</multiple>
+    </term>
+    <term name="number-of-pages" form="short">
+      <single>p.</single>
+      <multiple>pp.</multiple>
+    </term>
+    <term name="paragraph" form="short">para.</term>
+    <term name="part" form="short">pt.</term>
+    <term name="section" form="short">sec.</term>
+    <term name="sub verbo" form="short">
+      <single>s.v.</single>
+      <multiple>s.vv.</multiple>
+    </term>
+    <term name="verse" form="short">
+      <single>v.</single>
+      <multiple>vv.</multiple>
+    </term>
+    <term name="volume" form="short">
+      <single>vol.</single>
+      <multiple>vols.</multiple>
+    </term>
+
+    <!-- SYMBOL LOCATOR FORMS -->
+    <term name="paragraph" form="symbol">
+      <single>¶</single>
+      <multiple>¶¶</multiple>
+    </term>
+    <term name="section" form="symbol">
+      <single>§</single>
+      <multiple>§§</multiple>
+    </term>
+
+    <!-- LONG ROLE FORMS -->
+    <term name="director">
+      <single>director</single>
+      <multiple>directors</multiple>
+    </term>
+    <term name="editor">
+      <single>編</single>
+      <multiple>編</multiple>
+    </term>
+    <term name="editorial-director">
+      <single>editor</single>
+      <multiple>editors</multiple>
+    </term>
+    <term name="illustrator">
+      <single>illustrator</single>
+      <multiple>illustrators</multiple>
+    </term>
+    <term name="translator">
+      <single>翻訳者</single>
+      <multiple>翻訳者</multiple>
+    </term>
+    <term name="editortranslator">
+      <single>editor & translator</single>
+      <multiple>editors & translators</multiple>
+    </term>
+
+    <!-- SHORT ROLE FORMS -->
+    <term name="director" form="short">
+      <single>dir.</single>
+      <multiple>dirs.</multiple>
+    </term>
+    <term name="editor" form="short">
+      <single>編</single>
+      <multiple>編</multiple>
+    </term>
+    <term name="editorial-director" form="short">
+      <single>ed.</single>
+      <multiple>eds.</multiple>
+    </term>
+    <term name="illustrator" form="short">
+      <single>ill.</single>
+      <multiple>ills.</multiple>
+    </term>
+    <term name="translator" form="short">
+      <single>翻訳者</single>
+      <multiple>翻訳者</multiple>
+    </term>
+    <term name="editortranslator" form="short">
+      <single>ed. & tran.</single>
+      <multiple>eds. & trans.</multiple>
+    </term>
+
+    <!-- VERB ROLE FORMS -->
+    <term name="container-author" form="verb">by</term>
+    <term name="director" form="verb">directed by</term>
+    <term name="editor" form="verb">編集者:</term>
+    <term name="editorial-director" form="verb">edited by</term>
+    <term name="illustrator" form="verb">illustrated by</term>
+    <term name="interviewer" form="verb">interview by</term>
+    <term name="recipient" form="verb">to</term>
+    <term name="reviewed-author" form="verb">by</term>
+    <term name="translator" form="verb">翻訳者:</term>
+    <term name="editortranslator" form="verb">edited & translated by</term>
+
+    <!-- SHORT VERB ROLE FORMS -->
+    <term name="director" form="verb-short">dir.</term>
+    <term name="editor" form="verb-short">編集者:</term>
+    <term name="editorial-director" form="verb-short">ed.</term>
+    <term name="illustrator" form="verb-short">illus.</term>
+    <term name="translator" form="verb-short">翻訳者:</term>
+    <term name="editortranslator" form="verb-short">ed. & trans. by</term>
+
+    <!-- LONG MONTH FORMS -->
+    <term name="month-01">1月</term>
+    <term name="month-02">2月</term>
+    <term name="month-03">3月</term>
+    <term name="month-04">4月</term>
+    <term name="month-05">5月</term>
+    <term name="month-06">6月</term>
+    <term name="month-07">7月</term>
+    <term name="month-08">8月</term>
+    <term name="month-09">9月</term>
+    <term name="month-10">10月</term>
+    <term name="month-11">11月</term>
+    <term name="month-12">12月</term>
+
+    <!-- SHORT MONTH FORMS -->
+    <term name="month-01" form="short">1月</term>
+    <term name="month-02" form="short">2月</term>
+    <term name="month-03" form="short">3月</term>
+    <term name="month-04" form="short">4月</term>
+    <term name="month-05" form="short">5月</term>
+    <term name="month-06" form="short">6月</term>
+    <term name="month-07" form="short">7月</term>
+    <term name="month-08" form="short">8月</term>
+    <term name="month-09" form="short">9月</term>
+    <term name="month-10" form="short">10月</term>
+    <term name="month-11" form="short">11月</term>
+    <term name="month-12" form="short">12月</term>
+
+    <!-- SEASONS -->
+    <term name="season-01">Spring</term>
+    <term name="season-02">Summer</term>
+    <term name="season-03">Autumn</term>
+    <term name="season-04">Winter</term>
+  </terms>
+</locale>

Added: trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-km-KH.xml
===================================================================
--- trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-km-KH.xml	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-km-KH.xml	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,312 @@
+<?xml version="1.0" encoding="utf-8"?>
+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="km-KH">
+  <info>
+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
+    <updated>2015-10-15T16:51:15-04:00</updated>
+  </info>
+  <style-options punctuation-in-quote="false"/>
+  <date form="text">
+    <date-part name="day" form="numeric" suffix="​"/>
+    <date-part name="month" suffix="​"/>
+    <date-part name="year"/>
+  </date>
+  <date form="numeric">
+    <date-part name="day" form="numeric-leading-zeros" suffix="/"/>
+    <date-part name="month" form="numeric-leading-zeros" suffix="/"/>
+    <date-part name="year"/>
+  </date>
+  <terms>
+    <term name="accessed">accessed</term>
+    <term name="and">and</term>
+    <term name="and others">and others</term>
+    <term name="anonymous">anonymous</term>
+    <term name="anonymous" form="short">anon.</term>
+    <term name="at">at</term>
+    <term name="available at">available at</term>
+    <term name="by">by</term>
+    <term name="circa">circa</term>
+    <term name="circa" form="short">c.</term>
+    <term name="cited">cited</term>
+    <term name="edition">
+      <single>edition</single>
+      <multiple>editions</multiple>
+    </term>
+    <term name="edition" form="short">ed.</term>
+    <term name="et-al">et al.</term>
+    <term name="forthcoming">forthcoming</term>
+    <term name="from">from</term>
+    <term name="ibid">ibid</term>
+    <term name="in">in</term>
+    <term name="in press">in press</term>
+    <term name="internet">internet</term>
+    <term name="interview">interview</term>
+    <term name="letter">letter</term>
+    <term name="no date">no date</term>
+    <term name="no date" form="short">n.d.</term>
+    <term name="online">online</term>
+    <term name="presented at">presented at the</term>
+    <term name="reference">
+      <single>reference</single>
+      <multiple>references</multiple>
+    </term>
+    <term name="reference" form="short">
+      <single>ref.</single>
+      <multiple>refs.</multiple>
+    </term>
+    <term name="retrieved">retrieved</term>
+    <term name="scale">scale</term>
+    <term name="version">version</term>
+
+    <!-- ANNO DOMINI; BEFORE CHRIST -->
+    <term name="ad">AD</term>
+    <term name="bc">BC</term>
+
+    <!-- PUNCTUATION -->
+    <term name="open-quote">“</term>
+    <term name="close-quote">”</term>
+    <term name="open-inner-quote">‘</term>
+    <term name="close-inner-quote">’</term>
+    <term name="page-range-delimiter">–</term>
+
+    <!-- ORDINALS -->
+    <term name="ordinal">th</term>
+    <term name="ordinal-01">st</term>
+    <term name="ordinal-02">nd</term>
+    <term name="ordinal-03">rd</term>
+    <term name="ordinal-11">th</term>
+    <term name="ordinal-12">th</term>
+    <term name="ordinal-13">th</term>
+
+    <!-- LONG ORDINALS -->
+    <term name="long-ordinal-01">ទីមួយ</term>
+    <term name="long-ordinal-02">ទីពីរ</term>
+    <term name="long-ordinal-03">ទីបី</term>
+    <term name="long-ordinal-04">ទីបួន</term>
+    <term name="long-ordinal-05">ទីប្រាំ</term>
+    <term name="long-ordinal-06">ទីប្រាំមួយ</term>
+    <term name="long-ordinal-07">ទីប្រាំពីរ</term>
+    <term name="long-ordinal-08">ទីប្រាំបី</term>
+    <term name="long-ordinal-09">ទីប្រាំបួន</term>
+    <term name="long-ordinal-10">ទីដប់មួយ</term>
+
+    <!-- LONG LOCATOR FORMS -->
+    <term name="book">
+      <single>សៀវភៅ</single>
+      <multiple>សៀវភៅ</multiple>
+    </term>
+    <term name="chapter">
+      <single>ជំពូក</single>
+      <multiple>ជំពូក</multiple>
+    </term>
+    <term name="column">
+      <single>កាឡោន</single>
+      <multiple>កាឡោន</multiple>
+    </term>
+    <term name="figure">
+      <single>តួលេខ</single>
+      <multiple>តួលេខ</multiple>
+    </term>
+    <term name="folio">
+      <single>folio</single>
+      <multiple>folios</multiple>
+    </term>
+    <term name="issue">
+      <single>ចំនួន</single>
+      <multiple>ចំនួន</multiple>
+    </term>
+    <term name="line">
+      <single>បន្ទាត់</single>
+      <multiple>បន្ទាត់</multiple>
+    </term>
+    <term name="note">
+      <single>កំណត់ចំណាំ</single>
+      <multiple>កំណត់ចំណាំ</multiple>
+    </term>
+    <term name="opus">
+      <single>opus</single>
+      <multiple>opera</multiple>
+    </term>
+    <term name="page">
+      <single>ទំព័រ</single>
+      <multiple>ទំព័រ</multiple>
+    </term>
+    <term name="number-of-pages">
+      <single>ទំព័រ</single>
+      <multiple>ទំព័រ</multiple>
+    </term>
+    <term name="paragraph">
+      <single>កថាខណ្ឌ</single>
+      <multiple>កថាខណ្ឌ</multiple>
+    </term>
+    <term name="part">
+      <single>ជំពូក</single>
+      <multiple>ជំពូក</multiple>
+    </term>
+    <term name="section">
+      <single>ផ្នែក</single>
+      <multiple>ផ្នែក</multiple>
+    </term>
+    <term name="sub verbo">
+      <single>sub verbo</single>
+      <multiple>sub verbis</multiple>
+    </term>
+    <term name="verse">
+      <single>verse</single>
+      <multiple>verses</multiple>
+    </term>
+    <term name="volume">
+      <single>វ៉ុល</single>
+      <multiple>វ៉ុល</multiple>
+    </term>
+
+    <!-- SHORT LOCATOR FORMS -->
+    <term name="book" form="short">bk.</term>
+    <term name="chapter" form="short">chap.</term>
+    <term name="column" form="short">col.</term>
+    <term name="figure" form="short">fig.</term>
+    <term name="folio" form="short">f.</term>
+    <term name="issue" form="short">no.</term>
+    <term name="line" form="short">l.</term>
+    <term name="note" form="short">n.</term>
+    <term name="opus" form="short">op.</term>
+    <term name="page" form="short">
+      <single>p.</single>
+      <multiple>pp.</multiple>
+    </term>
+    <term name="number-of-pages" form="short">
+      <single>p.</single>
+      <multiple>pp.</multiple>
+    </term>
+    <term name="paragraph" form="short">para.</term>
+    <term name="part" form="short">pt.</term>
+    <term name="section" form="short">sec.</term>
+    <term name="sub verbo" form="short">
+      <single>s.v.</single>
+      <multiple>s.vv.</multiple>
+    </term>
+    <term name="verse" form="short">
+      <single>v.</single>
+      <multiple>vv.</multiple>
+    </term>
+    <term name="volume" form="short">
+      <single>vol.</single>
+      <multiple>vols.</multiple>
+    </term>
+
+    <!-- SYMBOL LOCATOR FORMS -->
+    <term name="paragraph" form="symbol">
+      <single>¶</single>
+      <multiple>¶¶</multiple>
+    </term>
+    <term name="section" form="symbol">
+      <single>§</single>
+      <multiple>§§</multiple>
+    </term>
+
+    <!-- LONG ROLE FORMS -->
+    <term name="director">
+      <single>director</single>
+      <multiple>directors</multiple>
+    </term>
+    <term name="editor">
+      <single>editor</single>
+      <multiple>editors</multiple>
+    </term>
+    <term name="editorial-director">
+      <single></single>
+      <multiple>editors</multiple>
+    </term>
+    <term name="illustrator">
+      <single>illustrator</single>
+      <multiple>illustrators</multiple>
+    </term>
+    <term name="translator">
+      <single>translator</single>
+      <multiple>translator</multiple>
+    </term>
+    <term name="editortranslator">
+      <single>editor & translator</single>
+      <multiple>editors & translators</multiple>
+    </term>
+
+    <!-- SHORT ROLE FORMS -->
+    <term name="director" form="short">
+      <single>dir.</single>
+      <multiple>dirs.</multiple>
+    </term>
+    <term name="editor" form="short">
+      <single>ed.</single>
+      <multiple>eds.</multiple>
+    </term>
+    <term name="editorial-director" form="short">
+      <single>ed.</single>
+      <multiple>eds.</multiple>
+    </term>
+    <term name="illustrator" form="short">
+      <single>ill.</single>
+      <multiple>ills.</multiple>
+    </term>
+    <term name="translator" form="short">
+      <single>tran.</single>
+      <multiple>trans.</multiple>
+    </term>
+    <term name="editortranslator" form="short">
+      <single>ed. & tran.</single>
+      <multiple>eds. & trans.</multiple>
+    </term>
+
+    <!-- VERB ROLE FORMS -->
+    <term name="container-author" form="verb">by</term>
+    <term name="director" form="verb">directed by</term>
+    <term name="editor" form="verb">edited by</term>
+    <term name="editorial-director" form="verb">edited by</term>
+    <term name="illustrator" form="verb">illustrated by</term>
+    <term name="interviewer" form="verb">interview by</term>
+    <term name="recipient" form="verb">to</term>
+    <term name="reviewed-author" form="verb">by</term>
+    <term name="translator" form="verb">translated by</term>
+    <term name="editortranslator" form="verb">edited & translated by</term>
+
+    <!-- SHORT VERB ROLE FORMS -->
+    <term name="director" form="verb-short">dir.</term>
+    <term name="editor" form="verb-short">ed.</term>
+    <term name="editorial-director" form="verb-short">ed.</term>
+    <term name="illustrator" form="verb-short">illus.</term>
+    <term name="translator" form="verb-short">trans.</term>
+    <term name="editortranslator" form="verb-short">ed. & trans. by</term>
+
+    <!-- LONG MONTH FORMS -->
+    <term name="month-01">មករា</term>
+    <term name="month-02">កុម្ភៈ</term>
+    <term name="month-03">មីនា</term>
+    <term name="month-04">មេសា</term>
+    <term name="month-05">ឧសភា</term>
+    <term name="month-06">មិថុនា</term>
+    <term name="month-07">កក្កដា</term>
+    <term name="month-08">សីហា</term>
+    <term name="month-09">កញ្ញា</term>
+    <term name="month-10">តុលា</term>
+    <term name="month-11">វិច្ឆិកា</term>
+    <term name="month-12">ធ្នូ</term>
+
+    <!-- SHORT MONTH FORMS -->
+    <term name="month-01" form="short">Jan.</term>
+    <term name="month-02" form="short">Feb.</term>
+    <term name="month-03" form="short">Mar.</term>
+    <term name="month-04" form="short">Apr.</term>
+    <term name="month-05" form="short">May</term>
+    <term name="month-06" form="short">Jun.</term>
+    <term name="month-07" form="short">Jul.</term>
+    <term name="month-08" form="short">Aug.</term>
+    <term name="month-09" form="short">Sep.</term>
+    <term name="month-10" form="short">Oct.</term>
+    <term name="month-11" form="short">Nov.</term>
+    <term name="month-12" form="short">Dec.</term>
+
+    <!-- SEASONS -->
+    <term name="season-01">Spring</term>
+    <term name="season-02">Summer</term>
+    <term name="season-03">Autumn</term>
+    <term name="season-04">Winter</term>
+  </terms>
+</locale>

Added: trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-ko-KR.xml
===================================================================
--- trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-ko-KR.xml	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-ko-KR.xml	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,312 @@
+<?xml version="1.0" encoding="utf-8"?>
+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="ko-KR">
+  <info>
+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
+    <updated>2015-10-15T14:41:06-04:00</updated>
+  </info>
+  <style-options punctuation-in-quote="false"/>
+  <date form="text">
+    <date-part name="year" suffix="년"/>
+    <date-part name="month" form="numeric" prefix=" " suffix="월"/>
+    <date-part name="day" prefix=" " suffix="일"/>
+  </date>
+  <date form="numeric">
+    <date-part name="year"/>
+    <date-part name="month" form="numeric-leading-zeros" prefix="/"/>
+    <date-part name="day" form="numeric-leading-zeros" prefix="/"/>
+  </date>
+  <terms>
+    <term name="accessed">접근된</term>
+    <term name="and">와/과</term>
+    <term name="and others">and others</term>
+    <term name="anonymous">anonymous</term>
+    <term name="anonymous" form="short">anon</term>
+    <term name="at">at</term>
+    <term name="available at">available at</term>
+    <term name="by">by</term>
+    <term name="circa">circa</term>
+    <term name="circa" form="short">c.</term>
+    <term name="cited">cited</term>
+    <term name="edition">
+      <single>edition</single>
+      <multiple>editions</multiple>
+    </term>
+    <term name="edition" form="short">ed</term>
+    <term name="et-al">기타</term>
+    <term name="forthcoming">근간</term>
+    <term name="from">(으)로부터</term>
+    <term name="ibid">ibid.</term>
+    <term name="in">in</term>
+    <term name="in press">in press</term>
+    <term name="internet">internet</term>
+    <term name="interview">interview</term>
+    <term name="letter">letter</term>
+    <term name="no date">no date</term>
+    <term name="no date" form="short">일자 없음</term>
+    <term name="online">online</term>
+    <term name="presented at">presented at the</term>
+    <term name="reference">
+      <single>reference</single>
+      <multiple>references</multiple>
+    </term>
+    <term name="reference" form="short">
+      <single>ref.</single>
+      <multiple>refs.</multiple>
+    </term>
+    <term name="retrieved">retrieved</term>
+    <term name="scale">scale</term>
+    <term name="version">version</term>
+
+    <!-- ANNO DOMINI; BEFORE CHRIST -->
+    <term name="ad">AD</term>
+    <term name="bc">BC</term>
+
+    <!-- PUNCTUATION -->
+    <term name="open-quote">“</term>
+    <term name="close-quote">”</term>
+    <term name="open-inner-quote">‘</term>
+    <term name="close-inner-quote">’</term>
+    <term name="page-range-delimiter">–</term>
+
+    <!-- ORDINALS -->
+    <term name="ordinal">th</term>
+    <term name="ordinal-01">st</term>
+    <term name="ordinal-02">nd</term>
+    <term name="ordinal-03">rd</term>
+    <term name="ordinal-11">th</term>
+    <term name="ordinal-12">th</term>
+    <term name="ordinal-13">th</term>
+
+    <!-- LONG ORDINALS -->
+    <term name="long-ordinal-01">first</term>
+    <term name="long-ordinal-02">second</term>
+    <term name="long-ordinal-03">third</term>
+    <term name="long-ordinal-04">fourth</term>
+    <term name="long-ordinal-05">fifth</term>
+    <term name="long-ordinal-06">sixth</term>
+    <term name="long-ordinal-07">seventh</term>
+    <term name="long-ordinal-08">eighth</term>
+    <term name="long-ordinal-09">ninth</term>
+    <term name="long-ordinal-10">tenth</term>
+
+    <!-- LONG LOCATOR FORMS -->
+    <term name="book">
+      <single>book</single>
+      <multiple>books</multiple>
+    </term>
+    <term name="chapter">
+      <single>chapter</single>
+      <multiple>chapters</multiple>
+    </term>
+    <term name="column">
+      <single>column</single>
+      <multiple>columns</multiple>
+    </term>
+    <term name="figure">
+      <single>figure</single>
+      <multiple>figures</multiple>
+    </term>
+    <term name="folio">
+      <single>folio</single>
+      <multiple>folios</multiple>
+    </term>
+    <term name="issue">
+      <single>number</single>
+      <multiple>numbers</multiple>
+    </term>
+    <term name="line">
+      <single>행</single>
+      <multiple>행</multiple>
+    </term>
+    <term name="note">
+      <single>note</single>
+      <multiple>notes</multiple>
+    </term>
+    <term name="opus">
+      <single>opus</single>
+      <multiple>opera</multiple>
+    </term>
+    <term name="page">
+      <single>페이지</single>
+      <multiple>페이지</multiple>
+    </term>
+    <term name="number-of-pages">
+      <single>페이지</single>
+      <multiple>페이지</multiple>
+    </term>
+    <term name="paragraph">
+      <single>단락</single>
+      <multiple>단락</multiple>
+    </term>
+    <term name="part">
+      <single>part</single>
+      <multiple>parts</multiple>
+    </term>
+    <term name="section">
+      <single>section</single>
+      <multiple>sections</multiple>
+    </term>
+    <term name="sub verbo">
+      <single>sub verbo</single>
+      <multiple>sub verbis</multiple>
+    </term>
+    <term name="verse">
+      <single>verse</single>
+      <multiple>verses</multiple>
+    </term>
+    <term name="volume">
+      <single>volume</single>
+      <multiple>volumes</multiple>
+    </term>
+
+    <!-- SHORT LOCATOR FORMS -->
+    <term name="book" form="short">bk</term>
+    <term name="chapter" form="short">chap</term>
+    <term name="column" form="short">col</term>
+    <term name="figure" form="short">fig</term>
+    <term name="folio" form="short">f</term>
+    <term name="issue" form="short">호</term>
+    <term name="line" form="short">l.</term>
+    <term name="note" form="short">n.</term>
+    <term name="opus" form="short">op</term>
+    <term name="page" form="short">
+      <single>p</single>
+      <multiple>pp</multiple>
+    </term>
+    <term name="number-of-pages" form="short">
+      <single>p</single>
+      <multiple>pp</multiple>
+    </term>
+    <term name="paragraph" form="short">para</term>
+    <term name="part" form="short">pt</term>
+    <term name="section" form="short">sec</term>
+    <term name="sub verbo" form="short">
+      <single>s.v.</single>
+      <multiple>s.vv.</multiple>
+    </term>
+    <term name="verse" form="short">
+      <single>v</single>
+      <multiple>vv</multiple>
+    </term>
+    <term name="volume" form="short">
+      <single>vol</single>
+      <multiple>vols</multiple>
+    </term>
+
+    <!-- SYMBOL LOCATOR FORMS -->
+    <term name="paragraph" form="symbol">
+      <single>¶</single>
+      <multiple>¶¶</multiple>
+    </term>
+    <term name="section" form="symbol">
+      <single>§</single>
+      <multiple>§§</multiple>
+    </term>
+
+    <!-- LONG ROLE FORMS -->
+    <term name="director">
+      <single>director</single>
+      <multiple>directors</multiple>
+    </term>
+    <term name="editor">
+      <single>편집자</single>
+      <multiple>편집자</multiple>
+    </term>
+    <term name="editorial-director">
+      <single>editor</single>
+      <multiple>editors</multiple>
+    </term>
+    <term name="illustrator">
+      <single>illustrator</single>
+      <multiple>illustrators</multiple>
+    </term>
+    <term name="translator">
+      <single>번역자</single>
+      <multiple>번역자</multiple>
+    </term>
+    <term name="editortranslator">
+      <single>editor & translator</single>
+      <multiple>editors & translators</multiple>
+    </term>
+
+    <!-- SHORT ROLE FORMS -->
+    <term name="director" form="short">
+      <single>dir.</single>
+      <multiple>dirs.</multiple>
+    </term>
+    <term name="editor" form="short">
+      <single>편집자</single>
+      <multiple>편집자</multiple>
+    </term>
+    <term name="editorial-director" form="short">
+      <single>ed.</single>
+      <multiple>eds.</multiple>
+    </term>
+    <term name="illustrator" form="short">
+      <single>ill.</single>
+      <multiple>ills.</multiple>
+    </term>
+    <term name="translator" form="short">
+      <single>번역자</single>
+      <multiple>번역자</multiple>
+    </term>
+    <term name="editortranslator" form="short">
+      <single>ed. & tran.</single>
+      <multiple>eds. & trans.</multiple>
+    </term>
+
+    <!-- VERB ROLE FORMS -->
+    <term name="container-author" form="verb">by</term>
+    <term name="director" form="verb">directed by</term>
+    <term name="editor" form="verb">편집자:</term>
+    <term name="editorial-director" form="verb">edited by</term>
+    <term name="illustrator" form="verb">illustrated by</term>
+    <term name="interviewer" form="verb">interview by</term>
+    <term name="recipient" form="verb">to</term>
+    <term name="reviewed-author" form="verb">by</term>
+    <term name="translator" form="verb">번역자:</term>
+    <term name="editortranslator" form="verb">edited & translated by</term>
+
+    <!-- SHORT VERB ROLE FORMS -->
+    <term name="director" form="verb-short">dir.</term>
+    <term name="editor" form="verb-short">ed</term>
+    <term name="editorial-director" form="verb-short">ed.</term>
+    <term name="illustrator" form="verb-short">illus.</term>
+    <term name="translator" form="verb-short">trans</term>
+    <term name="editortranslator" form="verb-short">ed. & trans. by</term>
+
+    <!-- LONG MONTH FORMS -->
+    <term name="month-01">1월</term>
+    <term name="month-02">2월</term>
+    <term name="month-03">3월</term>
+    <term name="month-04">4월</term>
+    <term name="month-05">5월</term>
+    <term name="month-06">6월</term>
+    <term name="month-07">7월</term>
+    <term name="month-08">8월</term>
+    <term name="month-09">9월</term>
+    <term name="month-10">10월</term>
+    <term name="month-11">11월</term>
+    <term name="month-12">12월</term>
+
+    <!-- SHORT MONTH FORMS -->
+    <term name="month-01" form="short">1</term>
+    <term name="month-02" form="short">2</term>
+    <term name="month-03" form="short">3</term>
+    <term name="month-04" form="short">4</term>
+    <term name="month-05" form="short">5</term>
+    <term name="month-06" form="short">6</term>
+    <term name="month-07" form="short">7</term>
+    <term name="month-08" form="short">8</term>
+    <term name="month-09" form="short">9</term>
+    <term name="month-10" form="short">10</term>
+    <term name="month-11" form="short">11</term>
+    <term name="month-12" form="short">12</term>
+
+    <!-- SEASONS -->
+    <term name="season-01">Spring</term>
+    <term name="season-02">Summer</term>
+    <term name="season-03">Autumn</term>
+    <term name="season-04">Winter</term>
+  </terms>
+</locale>

Added: trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-la.xml
===================================================================
--- trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-la.xml	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-la.xml	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,309 @@
+<?xml version="1.0" encoding="utf-8"?>
+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="la">
+  <info>
+    <translator>
+      <name>Andrew Dunning</name>
+    </translator>
+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
+    <updated>2019-01-22T23:20:59-05:00</updated>
+  </info>
+  <style-options punctuation-in-quote="false"/>
+  <date form="text">
+    <date-part name="day" suffix=" "/>
+    <date-part name="month" suffix=" "/>
+    <date-part name="year"/>
+  </date>
+  <date form="numeric">
+    <date-part name="day" form="numeric-leading-zeros" suffix="/"/>
+    <date-part name="month" form="numeric-leading-zeros" suffix="/"/>
+    <date-part name="year"/>
+  </date>
+  <terms>
+    <term name="accessed">consultatus</term>
+    <term name="and">et</term>
+    <term name="and others">et alii</term>
+    <term name="anonymous">anonymus</term>
+    <term name="anonymous" form="short">anon.</term>
+    <term name="at">ad</term>
+    <term name="available at">praestatus ad</term>
+    <term name="by">a</term>
+    <term name="circa">circa</term>
+    <term name="circa" form="short">c.</term>
+    <term name="cited">citatus</term>
+    <term name="edition">
+      <single>editio</single>
+      <multiple>editiones</multiple>
+    </term>
+    <term name="edition" form="short">ed.</term>
+    <term name="et-al">et al.</term>
+    <term name="forthcoming">futurus</term>
+    <term name="from">ab</term>
+    <term name="ibid">ibid.</term>
+    <term name="in">in</term>
+    <term name="in press">impressorio</term>
+    <term name="internet">interrete</term>
+    <term name="interview">congressus</term>
+    <term name="letter">epistula</term>
+    <term name="no date">sine die</term>
+    <term name="no date" form="short">s.d.</term>
+    <term name="online">in linea</term>
+    <term name="presented at">praebitus ad</term>
+    <term name="reference">
+      <single>relatio</single>
+      <multiple>relationes</multiple>
+    </term>
+    <term name="reference" form="short">
+      <single>rel.</single>
+      <multiple>rell.</multiple>
+    </term>
+    <term name="retrieved">recuperatus</term>
+    <term name="scale">scala</term>
+    <term name="version">uersio</term>
+
+    <!-- ANNO DOMINI; BEFORE CHRIST -->
+    <term name="ad">A.D.</term>
+    <term name="bc">A.C.</term>
+
+    <!-- PUNCTUATION -->
+    <term name="open-quote">‘</term>
+    <term name="close-quote">’</term>
+    <term name="open-inner-quote">“</term>
+    <term name="close-inner-quote">”</term>
+    <term name="page-range-delimiter">–</term>
+
+    <!-- ORDINALS -->
+    <term name="ordinal">º</term>
+
+    <!-- LONG ORDINALS -->
+    <term name="long-ordinal-01">primus</term>
+    <term name="long-ordinal-02">secundus</term>
+    <term name="long-ordinal-03">tertius</term>
+    <term name="long-ordinal-04">quartus</term>
+    <term name="long-ordinal-05">quintus</term>
+    <term name="long-ordinal-06">sextus</term>
+    <term name="long-ordinal-07">septimus</term>
+    <term name="long-ordinal-08">octauus</term>
+    <term name="long-ordinal-09">nonus</term>
+    <term name="long-ordinal-10">decimus</term>
+
+    <!-- LONG LOCATOR FORMS -->
+    <term name="book">
+      <single>liber</single>
+      <multiple>libri</multiple>
+    </term>
+    <term name="chapter">
+      <single>capitulum</single>
+      <multiple>capitula</multiple>
+    </term>
+    <term name="column">
+      <single>columna</single>
+      <multiple>columnae</multiple>
+    </term>
+    <term name="figure">
+      <single>figura</single>
+      <multiple>figurae</multiple>
+    </term>
+    <term name="folio">
+      <single>folium</single>
+      <multiple>folii</multiple>
+    </term>
+    <term name="issue">
+      <single>numerus</single>
+      <multiple>numeri</multiple>
+    </term>
+    <term name="line">
+      <single>linea</single>
+      <multiple>lineae</multiple>
+    </term>
+    <term name="note">
+      <single>nota</single>
+      <multiple>notae</multiple>
+    </term>
+    <term name="opus">
+      <single>opus</single>
+      <multiple>opera</multiple>
+    </term>
+    <term name="page">
+      <single>pagina</single>
+      <multiple>paginae</multiple>
+    </term>
+    <term name="number-of-pages">
+      <single>pagina</single>
+      <multiple>paginae</multiple>
+    </term>
+    <term name="paragraph">
+      <single>paragraphus</single>
+      <multiple>paragraphi</multiple>
+    </term>
+    <term name="part">
+      <single>pars</single>
+      <multiple>partes</multiple>
+    </term>
+    <term name="section">
+      <single>paragraphus</single>
+      <multiple>paragraphi</multiple>
+    </term>
+    <term name="sub verbo">
+      <single>sub uerbo</single>
+      <multiple>sub uerbis</multiple>
+    </term>
+    <term name="verse">
+      <single>versus</single>
+      <multiple>versus</multiple>
+    </term>
+    <term name="volume">
+      <single>tomus</single>
+      <multiple>tomi</multiple>
+    </term>
+
+    <!-- SHORT LOCATOR FORMS -->
+    <term name="book" form="short">lib.</term>
+    <term name="chapter" form="short">cap.</term>
+    <term name="column" form="short">col.</term>
+    <term name="figure" form="short">fig.</term>
+    <term name="folio" form="short">fol.</term>
+    <term name="issue" form="short">n.</term>
+    <term name="line" form="short">l.</term>
+    <term name="note" form="short">n.</term>
+    <term name="opus" form="short">op.</term>
+    <term name="page" form="short">
+      <single>p.</single>
+      <multiple>pp.</multiple>
+    </term>
+    <term name="number-of-pages" form="short">
+      <single>p.</single>
+      <multiple>pp.</multiple>
+    </term>
+    <term name="paragraph" form="short">par.</term>
+    <term name="part" form="short">pr.</term>
+    <term name="section" form="short">par.</term>
+    <term name="sub verbo" form="short">
+      <single>s.u.</single>
+      <multiple>s.uu.</multiple>
+    </term>
+    <term name="verse" form="short">
+      <single>u.</single>
+      <multiple>uu.</multiple>
+    </term>
+    <term name="volume" form="short">
+      <single>t.</single>
+      <multiple>tt.</multiple>
+    </term>
+
+    <!-- SYMBOL LOCATOR FORMS -->
+    <term name="paragraph" form="symbol">
+      <single>¶</single>
+      <multiple>¶¶</multiple>
+    </term>
+    <term name="section" form="symbol">
+      <single>§</single>
+      <multiple>§§</multiple>
+    </term>
+
+    <!-- LONG ROLE FORMS -->
+    <term name="director">
+      <single>director</single>
+      <multiple>directores</multiple>
+    </term>
+    <term name="editor">
+      <single>curator</single>
+      <multiple>curatores</multiple>
+    </term>
+    <term name="editorial-director">
+      <single>editor</single>
+      <multiple>editores</multiple>
+    </term>
+    <term name="illustrator">
+      <single>illustrator</single>
+      <multiple>illustratores</multiple>
+    </term>
+    <term name="translator">
+      <single>interpres</single>
+      <multiple>interpretes</multiple>
+    </term>
+    <term name="editortranslator">
+      <single>curator et interpres</single>
+      <multiple>curatores et interpretes</multiple>
+    </term>
+
+    <!-- SHORT ROLE FORMS -->
+    <term name="director" form="short">
+      <single>dir.</single>
+      <multiple>dirs.</multiple>
+    </term>
+    <term name="editor" form="short">
+      <single>cur.</single>
+      <multiple>curs.</multiple>
+    </term>
+    <term name="editorial-director" form="short">
+      <single>ed.</single>
+      <multiple>eds.</multiple>
+    </term>
+    <term name="illustrator" form="short">
+      <single>ill.</single>
+      <multiple>ills.</multiple>
+    </term>
+    <term name="translator" form="short">
+      <single>interp.</single>
+      <multiple>interps.</multiple>
+    </term>
+    <term name="editortranslator" form="short">
+      <single>cur. et interp.</single>
+      <multiple>curs. et interps.</multiple>
+    </term>
+
+    <!-- VERB ROLE FORMS -->
+    <term name="container-author" form="verb">a</term>
+    <term name="director" form="verb">a directione</term>
+    <term name="editor" form="verb">a cura</term>
+    <term name="editorial-director" form="verb">ab editione</term>
+    <term name="illustrator" form="verb">ab illustratione</term>
+    <term name="interviewer" form="verb">a congressione</term>
+    <term name="recipient" form="verb">a</term>
+    <term name="reviewed-author" form="verb">a</term>
+    <term name="translator" form="verb">a interpretatione</term>
+    <term name="editortranslator" form="verb">a cura et interpretatione</term>
+
+    <!-- SHORT VERB ROLE FORMS -->
+    <term name="director" form="verb-short">dir.</term>
+    <term name="editor" form="verb-short">cur.</term>
+    <term name="editorial-director" form="verb-short">ed.</term>
+    <term name="illustrator" form="verb-short">illus.</term>
+    <term name="translator" form="verb-short">interp.</term>
+    <term name="editortranslator" form="verb-short">a cur. et interp.</term>
+
+    <!-- LONG MONTH FORMS -->
+    <term name="month-01">ianuarius</term>
+    <term name="month-02">februarius</term>
+    <term name="month-03">martius</term>
+    <term name="month-04">aprilis</term>
+    <term name="month-05">maius</term>
+    <term name="month-06">iunius</term>
+    <term name="month-07">iulius</term>
+    <term name="month-08">augustus</term>
+    <term name="month-09">september</term>
+    <term name="month-10">october</term>
+    <term name="month-11">nouember</term>
+    <term name="month-12">december</term>
+
+    <!-- SHORT MONTH FORMS -->
+    <term name="month-01" form="short">ian.</term>
+    <term name="month-02" form="short">feb.</term>
+    <term name="month-03" form="short">mar.</term>
+    <term name="month-04" form="short">apr.</term>
+    <term name="month-05" form="short">mai.</term>
+    <term name="month-06" form="short">iun.</term>
+    <term name="month-07" form="short">iul.</term>
+    <term name="month-08" form="short">aug.</term>
+    <term name="month-09" form="short">sep.</term>
+    <term name="month-10" form="short">oct.</term>
+    <term name="month-11" form="short">nou.</term>
+    <term name="month-12" form="short">dec.</term>
+
+    <!-- SEASONS -->
+    <term name="season-01">uer</term>
+    <term name="season-02">aestas</term>
+    <term name="season-03">autumnus</term>
+    <term name="season-04">hiems</term>
+  </terms>
+</locale>

Added: trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-lt-LT.xml
===================================================================
--- trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-lt-LT.xml	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-lt-LT.xml	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,328 @@
+<?xml version="1.0" encoding="utf-8"?>
+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="lt-LT">
+  <info>
+    <translator>
+      <name>Valdemaras Klumbys</name>
+    </translator>
+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
+    <updated>2017-01-22T17:56:13-05:00</updated>
+  </info>
+  <style-options punctuation-in-quote="false"/>
+  <date form="text" delimiter=" ">
+    <!-- "2011 m. lapkričio 1 d." -->
+    <date-part name="year" suffix=" m."/>
+    <date-part name="month"/>
+    <date-part name="day" form="numeric" suffix=" d."/>
+  </date>
+  <date form="numeric" delimiter="-">
+    <!-- "2011-11-01" -->
+    <date-part name="year"/>
+    <date-part name="month" form="numeric-leading-zeros"/>
+    <date-part name="day" form="numeric-leading-zeros"/>
+  </date>
+  <terms>
+    <term name="accessed">žiūrėta</term>
+    <term name="and">ir</term>
+    <term name="and others">ir kt.</term>
+    <term name="anonymous">anonimas</term>
+    <term name="anonymous" form="short">anon.</term>
+    <term name="at"></term>
+    <term name="available at">adresas</term>
+    <term name="by"></term>
+    <term name="circa">apie</term>
+    <term name="circa" form="short">apie</term>
+    <term name="cited">žiūrėta</term>
+    <term name="edition" gender="masculine">
+      <single>leidimas</single>
+      <multiple>leidimai</multiple>
+    </term>
+    <term name="edition" form="short">leid.</term>
+    <term name="et-al">ir kt.</term>
+    <term name="forthcoming">ruošiamas</term>
+    <term name="from"></term>
+    <term name="ibid">ten pat</term>
+    <term name="in"></term>
+    <term name="in press">priimta spaudai</term>
+    <term name="internet">prieiga per internetą</term>
+    <term name="interview">interviu</term>
+    <term name="letter">laiškas</term>
+    <term name="no date">sine anno</term>
+    <term name="no date" form="short">s.a.</term>
+    <term name="online">interaktyvus</term>
+    <term name="presented at">pristatytas</term>
+    <term name="reference">
+      <single>nuoroda</single>
+      <multiple>nuorodos</multiple>
+    </term>
+    <term name="reference" form="short">
+      <single>nuor.</single>
+      <multiple>nuor.</multiple>
+    </term>
+    <term name="retrieved">gauta</term>
+    <term name="scale">mastelis</term>
+    <term name="version">versija</term>
+
+    <!-- ANNO DOMINI; BEFORE CHRIST -->
+    <term name="ad">po Kr.</term>
+    <term name="bc">pr. Kr.</term>
+
+    <!-- PUNCTUATION -->
+    <term name="open-quote">„</term>
+    <term name="close-quote">“</term>
+    <term name="open-inner-quote">,</term>
+    <term name="close-inner-quote">‘</term>
+    <term name="page-range-delimiter">–</term>
+
+    <!-- ORDINALS -->
+    <term name="ordinal">-asis</term>
+    <term name="ordinal" gender-form="masculine">-asis</term>
+    <term name="ordinal" gender-form="feminine">-oji</term>
+    <term name="ordinal-03" gender-form="masculine">-iasis</term>
+    <term name="ordinal-13" gender-form="masculine">-asis</term>
+    <term name="ordinal-03" gender-form="feminine">-ioji</term>
+    <term name="ordinal-13" gender-form="feminine">-oji</term>
+
+    <!-- LONG ORDINALS -->
+    <term name="long-ordinal-01">pirmasis</term>
+    <term name="long-ordinal-02">antrasis</term>
+    <term name="long-ordinal-03">trečiasis</term>
+    <term name="long-ordinal-04">ketvirtasis</term>
+    <term name="long-ordinal-05">penktasis</term>
+    <term name="long-ordinal-06">šeštasis</term>
+    <term name="long-ordinal-07">septintasis</term>
+    <term name="long-ordinal-08">aštuntasis</term>
+    <term name="long-ordinal-09">devintasis</term>
+    <term name="long-ordinal-10">dešimtasis</term>
+
+    <term name="long-ordinal-01" gender-form="feminine">pirmoji</term>
+    <term name="long-ordinal-02" gender-form="feminine">antroji</term>
+    <term name="long-ordinal-03" gender-form="feminine">trečioji</term>
+    <term name="long-ordinal-04" gender-form="feminine">ketvirtoji</term>
+    <term name="long-ordinal-05" gender-form="feminine">penktoji</term>
+    <term name="long-ordinal-06" gender-form="feminine">šeštoji</term>
+    <term name="long-ordinal-07" gender-form="feminine">septintoji</term>
+    <term name="long-ordinal-08" gender-form="feminine">aštuntoji</term>
+    <term name="long-ordinal-09" gender-form="feminine">devintoji</term>
+    <term name="long-ordinal-10" gender-form="feminine">dešimtoji</term>
+    
+    <!-- LONG LOCATOR FORMS -->
+    <term name="book">
+      <single>knyga</single>
+      <multiple>knygos</multiple>
+    </term>
+    <term name="chapter">
+      <single>skyrius</single>
+      <multiple>skyriai</multiple>
+    </term>
+    <term name="column">
+      <single>skiltis</single>
+      <multiple>skiltys</multiple>
+    </term>
+    <term name="figure">
+      <single>iliustracija</single>
+      <multiple>iliustracijos</multiple>
+    </term>
+    <term name="folio">
+      <single>lapas</single>
+      <multiple>lapai</multiple>
+    </term>
+    <term name="issue" gender="masculine">
+      <single>numeris</single>
+      <multiple>numeriai</multiple>
+    </term>
+    <term name="line">
+      <single>eilutė</single>
+      <multiple>eilutės</multiple>
+    </term>
+    <term name="note">
+      <single>pastaba</single>
+      <multiple>pastabos</multiple>
+    </term>
+    <term name="opus">
+      <single>kūrinys</single>
+      <multiple>kūriniai</multiple>
+    </term>
+    <term name="page">
+      <single>puslapis</single>
+      <multiple>puslapiai</multiple>
+    </term>
+    <term name="number-of-pages" gender="masculine">
+      <single>puslapis</single>
+      <multiple>puslapiai</multiple>
+    </term>
+    <term name="paragraph">
+      <single>pastraipa</single>
+      <multiple>pastraipos</multiple>
+    </term>
+    <term name="part">
+      <single>dalis</single>
+      <multiple>dalys</multiple>
+    </term>
+    <term name="section">
+      <single>poskyris</single>
+      <multiple>poskyriai</multiple>
+    </term>
+    <term name="sub verbo">
+      <single>žiūrėk</single>
+      <multiple>žiūrėk</multiple>
+    </term>
+    <term name="verse">
+      <single>eilėraštis</single>
+      <multiple>eilėraščiai</multiple>
+    </term>
+    <term name="volume" gender="masculine">
+      <single>tomas</single>
+      <multiple>tomai</multiple>
+    </term>
+
+    <!-- SHORT LOCATOR FORMS -->
+    <term name="book" form="short">kn.</term>
+    <term name="chapter" form="short">sk.</term>
+    <term name="column" form="short">skilt.</term>
+    <term name="figure" form="short">il.</term>
+    <term name="folio" form="short">l.</term>
+    <term name="issue" form="short">nr.</term>
+    <term name="line" form="short">eil.</term>
+    <term name="note" form="short">pstb.</term>
+    <term name="opus" form="short">kūr.</term>
+    <term name="page" form="short">
+      <single>p.</single>
+      <multiple>p.</multiple>
+    </term>
+    <term name="number-of-pages" form="short">
+      <single>p.</single>
+      <multiple>p.</multiple>
+    </term>
+    <term name="paragraph" form="short">pastr.</term>
+    <term name="part" form="short">d.</term>
+    <term name="section" form="short">posk.</term>
+    <term name="sub verbo" form="short">
+      <single>žr.</single>
+      <multiple>žr.</multiple>
+    </term>
+    <term name="verse" form="short">
+      <single>eilėr.</single>
+      <multiple>eilėr.</multiple>
+    </term>
+    <term name="volume" form="short">
+      <single>t.</single>
+      <multiple>t.</multiple>
+    </term>
+
+    <!-- SYMBOL LOCATOR FORMS -->
+    <term name="paragraph" form="symbol">
+      <single>¶</single>
+      <multiple>¶¶</multiple>
+    </term>
+    <term name="section" form="symbol">
+      <single>§</single>
+      <multiple>§§</multiple>
+    </term>
+
+    <!-- LONG ROLE FORMS -->
+    <term name="director">
+      <single>vadovas</single>
+      <multiple>vadovai</multiple>
+    </term>
+    <term name="editor">
+      <single>sudarytojas</single>
+      <multiple>sudarytojai</multiple>
+    </term>
+    <term name="editorial-director">
+      <single>atsakingasis redaktorius</single>
+      <multiple>atsakingieji redaktoriai</multiple>
+    </term>
+    <term name="illustrator">
+      <single>iliustratorius</single>
+      <multiple>iliustratoriai</multiple>
+    </term>
+    <term name="translator">
+      <single>vertėjas</single>
+      <multiple>vertėjai</multiple>
+    </term>
+    <term name="editortranslator">
+      <single>sudarytojas ir vertėjas</single>
+      <multiple>sudarytojai ir vertėjai</multiple>
+    </term>
+
+    <!-- SHORT ROLE FORMS -->
+    <term name="director" form="short">
+      <single>vad.</single>
+      <multiple>vad.</multiple>
+    </term>
+    <term name="editor" form="short">
+      <single>sud.</single>
+      <multiple>sud.</multiple>
+    </term>
+    <term name="editorial-director" form="short">
+      <single>ats. red.</single>
+      <multiple>ats. red.</multiple>
+    </term>
+    <term name="illustrator" form="short">
+      <single>iliustr.</single>
+      <multiple>iliustr.</multiple>
+    </term>
+    <term name="translator" form="short">
+      <single>vert.</single>
+      <multiple>vert.</multiple>
+    </term>
+    <term name="editortranslator" form="short">
+      <single>sud. ir vert.</single>
+      <multiple>sud. ir vert.</multiple>
+    </term>
+
+    <!-- VERB ROLE FORMS -->
+    <term name="container-author" form="verb"></term>
+    <term name="director" form="verb">vadovavo</term>
+    <term name="editor" form="verb">sudarė</term>
+    <term name="editorial-director" form="verb">parengė</term>
+    <term name="illustrator" form="verb">iliustravo</term>
+    <term name="interviewer" form="verb">interviu ėmė</term>
+    <term name="recipient" form="verb">gavo</term>
+    <term name="reviewed-author" form="verb">recenzavo</term>
+    <term name="translator" form="verb">vertė</term>
+    <term name="editortranslator" form="verb">sudarė ir vertė</term>
+
+    <!-- SHORT VERB ROLE FORMS -->
+    <term name="director" form="verb-short">vad.</term>
+    <term name="editor" form="verb-short">sud.</term>
+    <term name="editorial-director" form="verb-short">pareng.</term>
+    <term name="illustrator" form="verb-short">iliustr.</term>
+    <term name="translator" form="verb-short">vert.</term>
+    <term name="editortranslator" form="verb-short">sud. ir vert.</term>
+
+    <!-- LONG MONTH FORMS -->
+    <term name="month-01">sausio</term>
+    <term name="month-02">vasario</term>
+    <term name="month-03">kovo</term>
+    <term name="month-04">balandžio</term>
+    <term name="month-05">gegužės</term>
+    <term name="month-06">birželio</term>
+    <term name="month-07">liepos</term>
+    <term name="month-08">rugpjūčio</term>
+    <term name="month-09">rugsėjo</term>
+    <term name="month-10">spalio</term>
+    <term name="month-11">lapkričio</term>
+    <term name="month-12">gruodžio</term>
+
+    <!-- SHORT MONTH FORMS -->
+    <term name="month-01" form="short">saus.</term>
+    <term name="month-02" form="short">vas.</term>
+    <term name="month-03" form="short">kovo</term>
+    <term name="month-04" form="short">bal.</term>
+    <term name="month-05" form="short">geg.</term>
+    <term name="month-06" form="short">birž.</term>
+    <term name="month-07" form="short">liep.</term>
+    <term name="month-08" form="short">rugpj.</term>
+    <term name="month-09" form="short">rugs.</term>
+    <term name="month-10" form="short">spal.</term>
+    <term name="month-11" form="short">lapkr.</term>
+    <term name="month-12" form="short">gruodž.</term>
+
+    <!-- SEASONS -->
+    <term name="season-01">pavasaris</term>
+    <term name="season-02">vasara</term>
+    <term name="season-03">ruduo</term>
+    <term name="season-04">žiema</term>
+  </terms>
+</locale>

Added: trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-lv-LV.xml
===================================================================
--- trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-lv-LV.xml	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-lv-LV.xml	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,361 @@
+<?xml version="1.0" encoding="utf-8"?>
+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="lv-LV">
+  <info>
+    <translator>
+      <name>Andris Lupgins</name>
+    </translator>
+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
+    <updated>2015-10-15T16:51:15-04:00</updated>
+  </info>
+  <style-options punctuation-in-quote="false"/>
+  <date form="text" delimiter=" ">
+    <!-- "2012. gada 28. martā" -->
+    <date-part name="year" suffix=". gada"/>
+    <date-part name="day" form="numeric" suffix="."/>
+    <date-part name="month"/>
+  </date>
+  <date form="numeric" delimiter=".">
+    <!-- "28.03.2012." -->
+    <date-part name="day" form="numeric"/>
+    <date-part name="month" form="numeric"/>
+    <date-part name="year"/>
+  </date>
+  <terms>
+    <term name="accessed">skatīts</term>
+    <term name="ad">m.ē.</term>
+    <term name="and">un</term>
+    <term name="and others">un citi</term>
+    <term name="anonymous">anonīms</term>
+    <term name="anonymous" form="short">anon.</term>
+    <term name="at"></term>
+    <term name="available at">pieejams</term>
+    <term name="bc">p.m.ē.</term>
+    <term name="by"></term>
+    <term name="circa">apmēram</term>
+    <term name="circa" form="short">apm.</term>
+    <term name="cited">citēts</term>
+    <term name="edition" gender="feminine">
+      <single>redakcija</single>
+      <multiple>redakcijas</multiple>
+    </term>
+    <term name="edition" form="short">red.</term>
+    <term name="et-al">u.c.</term>
+    <term name="forthcoming">gaidāms</term>
+    <term name="from">no</term>
+    <term name="ibid">turpat</term>
+    <term name="in">no</term>
+    <term name="in press">presē</term>
+    <term name="internet">internets</term>
+    <term name="interview">intervija</term>
+    <term name="letter">vēstule</term>
+    <term name="no date">bez datuma</term>
+    <term name="no date" form="short">b.g.</term>
+    <term name="online">tiešsaiste</term>
+    <term name="presented at">iesniegts</term>
+    <term name="reference">
+      <single>atsauce</single>
+      <multiple>atsauces</multiple>
+    </term>
+    <term name="reference" form="short">
+      <single>ats.</single>
+      <multiple>ats.</multiple>
+    </term>
+    <term name="retrieved">iegūts</term>
+    <term name="scale">mērogs</term>
+    <term name="version">versija</term>
+
+    <!-- PUNCTUATION -->
+    <term name="open-quote">"</term>
+    <term name="close-quote">"</term>
+    <term name="open-inner-quote">"</term>
+    <term name="close-inner-quote">"</term>
+    <term name="page-range-delimiter">–</term>
+
+    <!-- ORDINALS -->
+    <term name="ordinal">-ais</term>
+    <term name="ordinal" gender-form="feminine">-ā</term>
+    
+    <!-- LONG ORDINALS -->
+    <term name="long-ordinal-01">pirmais</term>
+    <term name="long-ordinal-02">otrais</term>
+    <term name="long-ordinal-03">trešais</term>
+    <term name="long-ordinal-04">ceturtais</term>
+    <term name="long-ordinal-05">piektais</term>
+    <term name="long-ordinal-06">sestais</term>
+    <term name="long-ordinal-07">septītais</term>
+    <term name="long-ordinal-08">astotais</term>
+    <term name="long-ordinal-09">devītais</term>
+    <term name="long-ordinal-10">desmitais</term>
+
+    <term name="long-ordinal-01" gender-form="feminine">pirmā</term>
+    <term name="long-ordinal-02" gender-form="feminine">otrā</term>
+    <term name="long-ordinal-03" gender-form="feminine">trešā</term>
+    <term name="long-ordinal-04" gender-form="feminine">ceturtā</term>
+    <term name="long-ordinal-05" gender-form="feminine">piektā</term>
+    <term name="long-ordinal-06" gender-form="feminine">sestā</term>
+    <term name="long-ordinal-07" gender-form="feminine">septītā</term>
+    <term name="long-ordinal-08" gender-form="feminine">astotā</term>
+    <term name="long-ordinal-09" gender-form="feminine">devītā</term>
+    <term name="long-ordinal-10" gender-form="feminine">desmitā</term>
+
+    <!-- LONG LOCATOR FORMS -->
+    <term name="book">
+      <single>grāmata</single>
+      <multiple>grāmatas</multiple>
+    </term>
+    <term name="chapter">
+      <single>nodaļa</single>
+      <multiple>nodaļas</multiple>
+    </term>
+    <term name="column">
+      <single>sleja</single>
+      <multiple>slejas</multiple>
+    </term>
+    <term name="figure">
+      <single>ilustrācija</single>
+      <multiple>ilustrācijas</multiple>
+    </term>
+    <term name="folio">
+      <single>folio</single>
+      <multiple>folio</multiple>
+    </term>
+    <term name="issue">
+      <single>numurs</single>
+      <multiple>numuri</multiple>
+    </term>
+    <term name="line">
+      <single>rinda</single>
+      <multiple>rindas</multiple>
+    </term>
+    <term name="note">
+      <single>piezīme</single>
+      <multiple>piezīmes</multiple>
+    </term>
+    <term name="opus">
+      <single>opuss</single>
+      <multiple>opusi</multiple>
+    </term>
+    <term name="page">
+      <single>lappuse</single>
+      <multiple>lappuses</multiple>
+    </term>
+    <term name="number-of-pages">
+      <single>lappuse</single>
+      <multiple>lappuses</multiple>
+    </term>
+    <term name="paragraph">
+      <single>rindkopa</single>
+      <multiple>rindkopas</multiple>
+    </term>
+    <term name="part">
+      <single>daļa</single>
+      <multiple>daļas</multiple>
+    </term>
+    <term name="section">
+      <single>apakšnodaļa</single>
+      <multiple>apakšnodaļas</multiple>
+    </term>
+    <term name="sub verbo">
+      <single>skatīt</single>
+      <multiple>skatīt</multiple>
+    </term>
+    <term name="verse">
+      <single>pants</single>
+      <multiple>panti</multiple>
+    </term>
+    <term name="volume">
+      <single>sējums</single>
+      <multiple>sējumi</multiple>
+    </term>
+    
+    <!-- SHORT LOCATOR FORMS -->
+    <term name="book" form="short">grām.</term>
+    <term name="chapter" form="short">nod.</term>
+    <term name="column" form="short">sl.</term>
+    <term name="figure" form="short">il.</term>
+    <term name="folio" form="short">fo.</term>
+    <term name="issue" form="short">nr.</term>
+    <term name="line" form="short">r.</term>
+    <term name="note" form="short">piez.</term>
+    <term name="opus" form="short">op.</term>
+    <term name="page" form="short">
+      <single>lpp.</single>
+      <multiple>lpp.</multiple>
+    </term>
+    <term name="number-of-pages" form="short">
+      <single>lpp.</single>
+      <multiple>lpp.</multiple>
+    </term>
+    <term name="paragraph" form="short">rindk.</term>
+    <term name="part" form="short">d.</term>
+    <term name="section" form="short">apakšnod.</term>
+    <term name="sub verbo" form="short">
+      <single>sk.</single>
+      <multiple>sk.</multiple>
+    </term>
+    <term name="verse" form="short">
+      <single>p.</single>
+      <multiple>p.</multiple>
+    </term>
+    <term name="volume" form="short">
+      <single>sēj.</single>
+      <multiple>sēj.</multiple>
+    </term>
+
+    <!-- SYMBOL LOCATOR FORMS -->
+    <term name="paragraph" form="symbol">
+      <single>¶</single>
+      <multiple>¶¶</multiple>
+    </term>
+    <term name="section" form="symbol">
+      <single>§</single>
+      <multiple>§§</multiple>
+    </term>
+
+    <!-- LONG ROLE FORMS -->
+    <term name="collection-editor">
+      <single>krājuma redaktors</single>
+      <multiple>krājuma redaktori</multiple>
+    </term>
+    <term name="composer">
+      <single>sastādītājs</single>
+      <multiple>sastādītāji</multiple>
+    </term>
+    <term name="container-author">
+      <single>pamatmateriāla autors</single>
+      <multiple>pamatmateriāla autori</multiple>
+    </term>
+    <term name="director">
+      <single>vadītājs</single>
+      <multiple>vadītāji</multiple>
+    </term>
+    <term name="editor">
+      <single>redaktors</single>
+      <multiple>redaktors</multiple>
+    </term>
+    <term name="editorial-director">
+      <single>galvenais redaktors</single>
+      <multiple>galvenie redaktori</multiple>
+    </term>
+    <term name="editortranslator">
+      <single>redaktors un tulkotājs</single>
+      <multiple>redaktors un tulkotājs</multiple>
+    </term>
+    <term name="illustrator">
+      <single>ilustrators</single>
+      <multiple>ilustratori</multiple>
+    </term>
+    <term name="interviewer">
+      <single>intervētājs</single>
+      <multiple>intervētāji</multiple>
+    </term>
+    <term name="recipient">
+      <single>saņēmējs</single>
+      <multiple>saņēmēji</multiple>
+    </term>
+    <term name="translator">
+      <single>tulkotājs</single>
+      <multiple>tulkotāji</multiple>
+    </term>
+
+    <!-- SHORT ROLE FORMS -->
+    <term name="collection-editor" form="short">
+      <single>kr. red.</single>
+      <multiple>kr. red.</multiple>
+    </term>
+    <term name="composer" form="short">
+      <single>sast.</single>
+      <multiple>sast.</multiple>
+    </term>
+    <term name="container-author" form="short">
+      <single>pamatmat. aut.</single>
+      <multiple>pamatmat. aut.</multiple>
+    </term>
+    <term name="director" form="short">
+      <single>vad.</single>
+      <multiple>vad.</multiple>
+    </term>
+    <term name="editor" form="short">
+      <single>red.</single>
+      <multiple>red.</multiple>
+    </term>
+    <term name="editorial-director" form="short">
+      <single>galv. red.</single>
+      <multiple>galv. red.</multiple>
+    </term>
+    <term name="editortranslator" form="short">
+      <single>red. un tulk.</single>
+      <multiple>red. un tulk.</multiple>
+    </term>
+    <term name="illustrator" form="short">
+      <single>ilustr.</single>
+      <multiple>ilustr.</multiple>
+    </term>
+    <term name="interviewer" form="short">
+      <single>interv.</single>
+      <multiple>interv.</multiple>
+    </term>
+    <term name="recipient" form="short">
+      <single>saņ.</single>
+      <multiple>saņ.</multiple>
+    </term>
+    <term name="translator" form="short">
+      <single>tulk.</single>
+      <multiple>tulk.</multiple>
+    </term>
+
+    <!-- VERB ROLE FORMS -->
+    <term name="container-author" form="verb"></term>
+    <term name="composer" form="verb">sastādīja</term>
+    <term name="director" form="verb">vadīja</term>
+    <term name="editor" form="verb">sagatavoja</term>
+    <term name="editorial-director" form="verb">sagatavoja</term>
+    <term name="editortranslator" form="verb">sagatavoja un tulkoja</term>
+    <term name="illustrator" form="verb">ilustrēja</term>
+    <term name="interviewer" form="verb">intervēja</term>
+    <term name="recipient" form="verb">saņēma</term>
+    <term name="translator" form="verb">tulkoja</term>
+
+    <!-- SHORT VERB ROLE FORMS -->
+    <term name="director" form="verb-short">sast.</term>
+    <term name="editor" form="verb-short">sag.</term>
+    <term name="editorial-director" form="verb-short">sag.</term>
+    <term name="illustrator" form="verb-short">ilustr.</term>
+    <term name="translator" form="verb-short">tulk.</term>
+    <term name="editortranslator" form="verb-short">sag. un tulk.</term>
+
+    <!-- LONG MONTH FORMS -->
+    <term name="month-01">janvārī</term>
+    <term name="month-02">februārī</term>
+    <term name="month-03">martā</term>
+    <term name="month-04">aprīlī</term>
+    <term name="month-05">maijā</term>
+    <term name="month-06">jūnijā</term>
+    <term name="month-07">jūlijā</term>
+    <term name="month-08">augustā</term>
+    <term name="month-09">septembrī</term>
+    <term name="month-10">oktobrī</term>
+    <term name="month-11">novembrī</term>
+    <term name="month-12">decembrī</term>
+
+    <!-- SHORT MONTH FORMS -->
+    <term name="month-01" form="short">janv.</term>
+    <term name="month-02" form="short">febr.</term>
+    <term name="month-03" form="short">mar.</term>
+    <term name="month-04" form="short">apr.</term>
+    <term name="month-05" form="short">mai.</term>
+    <term name="month-06" form="short">jūn.</term>
+    <term name="month-07" form="short">jūl.</term>
+    <term name="month-08" form="short">aug.</term>
+    <term name="month-09" form="short">sept.</term>
+    <term name="month-10" form="short">okt.</term>
+    <term name="month-11" form="short">nov.</term>
+    <term name="month-12" form="short">dec.</term>
+
+    <!-- SEASONS -->
+    <term name="season-01">pavasaris</term>
+    <term name="season-02">vasara</term>
+    <term name="season-03">rudens</term>
+    <term name="season-04">ziema</term>
+  </terms>
+</locale>

Added: trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-mn-MN.xml
===================================================================
--- trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-mn-MN.xml	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-mn-MN.xml	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,306 @@
+<?xml version="1.0" encoding="utf-8"?>
+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="mn-MN">
+  <info>
+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
+    <updated>2019-02-17T22:59:29-05:00</updated>
+  </info>
+  <style-options punctuation-in-quote="false"/>
+  <date form="text">
+    <date-part name="day" suffix=" "/>
+    <date-part name="month" suffix=" "/>
+    <date-part name="year"/>
+  </date>
+  <date form="numeric">
+    <date-part name="year"/>
+    <date-part name="month" form="numeric-leading-zeros" prefix="."/>
+    <date-part name="day" form="numeric-leading-zeros" prefix="."/>
+  </date>
+  <terms>
+    <term name="accessed">accessed</term>
+    <term name="and">and</term>
+    <term name="and others">and others</term>
+    <term name="anonymous">anonymous</term>
+    <term name="anonymous" form="short">anon</term>
+    <term name="at">at</term>
+    <term name="available at">available at</term>
+    <term name="by">by</term>
+    <term name="circa">circa</term>
+    <term name="circa" form="short">c.</term>
+    <term name="cited">cited</term>
+    <term name="edition">
+      <single>edition</single>
+      <multiple>editions</multiple>
+    </term>
+    <term name="edition" form="short">ed</term>
+    <term name="et-al">et al.</term>
+    <term name="forthcoming">forthcoming</term>
+    <term name="from">from</term>
+    <term name="ibid">ibid.</term>
+    <term name="in">in</term>
+    <term name="in press">in press</term>
+    <term name="internet">internet</term>
+    <term name="interview">interview</term>
+    <term name="letter">letter</term>
+    <term name="no date">no date</term>
+    <term name="no date" form="short">n.d.</term>
+    <term name="online">online</term>
+    <term name="presented at">presented at the</term>
+    <term name="reference">
+      <single>reference</single>
+      <multiple>references</multiple>
+    </term>
+    <term name="reference" form="short">
+      <single>ref.</single>
+      <multiple>refs.</multiple>
+    </term>
+    <term name="retrieved">retrieved</term>
+    <term name="scale">scale</term>
+    <term name="version">version</term>
+
+    <!-- ANNO DOMINI; BEFORE CHRIST -->
+    <term name="ad">AD</term>
+    <term name="bc">BC</term>
+
+    <!-- PUNCTUATION -->
+    <term name="open-quote">«</term>
+    <term name="close-quote">»</term>
+    <term name="open-inner-quote">„</term>
+    <term name="close-inner-quote">“</term>
+    <term name="page-range-delimiter">–</term>
+
+    <!-- ORDINALS -->
+    <term name="ordinal">-p</term>
+
+    <!-- LONG ORDINALS -->
+    <term name="long-ordinal-01">нэгдүгээр</term>
+    <term name="long-ordinal-02">хоёрдугаар</term>
+    <term name="long-ordinal-03">гуравдугаар</term>
+    <term name="long-ordinal-04">дөрөвдүгээр</term>
+    <term name="long-ordinal-05">тавдугаар</term>
+    <term name="long-ordinal-06">зургаадугаар</term>
+    <term name="long-ordinal-07">долоодугаар</term>
+    <term name="long-ordinal-08">наймдугаар</term>
+    <term name="long-ordinal-09">есдүгээр</term>
+    <term name="long-ordinal-10">аравдугаар</term>
+
+    <!-- LONG LOCATOR FORMS -->
+    <term name="book">
+      <single>ном</single>
+      <multiple>номнууд</multiple>
+    </term>
+    <term name="chapter">
+      <single>chapter</single>
+      <multiple>chapters</multiple>
+    </term>
+    <term name="column">
+      <single>багана</single>
+      <multiple>баганууд</multiple>
+    </term>
+    <term name="figure">
+      <single>figure</single>
+      <multiple>figures</multiple>
+    </term>
+    <term name="folio">
+      <single>folio</single>
+      <multiple>folios</multiple>
+    </term>
+    <term name="issue">
+      <single>тоо</single>
+      <multiple>тоонууд</multiple>
+    </term>
+    <term name="line">
+      <single>шугам</single>
+      <multiple>шугамнууд</multiple>
+    </term>
+    <term name="note">
+      <single>note</single>
+      <multiple>notes</multiple>
+    </term>
+    <term name="opus">
+      <single>opus</single>
+      <multiple>opera</multiple>
+    </term>
+    <term name="page">
+      <single>хуудас</single>
+      <multiple>хуудаснууд</multiple>
+    </term>
+    <term name="number-of-pages">
+      <single>хуудас</single>
+      <multiple>хуудаснууд</multiple>
+    </term>
+    <term name="paragraph">
+      <single>paragraph</single>
+      <multiple>paragraph</multiple>
+    </term>
+    <term name="part">
+      <single>part</single>
+      <multiple>parts</multiple>
+    </term>
+    <term name="section">
+      <single>section</single>
+      <multiple>sections</multiple>
+    </term>
+    <term name="sub verbo">
+      <single>sub verbo</single>
+      <multiple>sub verbis</multiple>
+    </term>
+    <term name="verse">
+      <single>verse</single>
+      <multiple>verses</multiple>
+    </term>
+    <term name="volume">
+      <single>volume</single>
+      <multiple>volumes</multiple>
+    </term>
+
+    <!-- SHORT LOCATOR FORMS -->
+    <term name="book" form="short">bk</term>
+    <term name="chapter" form="short">chap</term>
+    <term name="column" form="short">col</term>
+    <term name="figure" form="short">fig</term>
+    <term name="folio" form="short">f</term>
+    <term name="issue" form="short">no</term>
+    <term name="line" form="short">l.</term>
+    <term name="note" form="short">n.</term>
+    <term name="opus" form="short">op</term>
+    <term name="page" form="short">
+      <single>p</single>
+      <multiple>pp</multiple>
+    </term>
+    <term name="number-of-pages" form="short">
+      <single>p</single>
+      <multiple>pp</multiple>
+    </term>
+    <term name="paragraph" form="short">para</term>
+    <term name="part" form="short">pt</term>
+    <term name="section" form="short">sec</term>
+    <term name="sub verbo" form="short">
+      <single>s.v.</single>
+      <multiple>s.vv.</multiple>
+    </term>
+    <term name="verse" form="short">
+      <single>v</single>
+      <multiple>vv</multiple>
+    </term>
+    <term name="volume" form="short">
+      <single>vol</single>
+      <multiple>vols</multiple>
+    </term>
+
+    <!-- SYMBOL LOCATOR FORMS -->
+    <term name="paragraph" form="symbol">
+      <single>¶</single>
+      <multiple>¶¶</multiple>
+    </term>
+    <term name="section" form="symbol">
+      <single>§</single>
+      <multiple>§§</multiple>
+    </term>
+
+    <!-- LONG ROLE FORMS -->
+    <term name="director">
+      <single>director</single>
+      <multiple>directors</multiple>
+    </term>
+    <term name="editor">
+      <single>редактор</single>
+      <multiple>редакторууд</multiple>
+    </term>
+    <term name="editorial-director">
+      <single>редактор</single>
+      <multiple>редакторууд</multiple>
+    </term>
+    <term name="illustrator">
+      <single>illustrator</single>
+      <multiple>illustrators</multiple>
+    </term>
+    <term name="translator">
+      <single>орчуулагч</single>
+      <multiple>орчуулагчид</multiple>
+    </term>
+    <term name="editortranslator">
+      <single>редактор ба орчуулагч</single>
+      <multiple>редакторууд ба орчуулагчид</multiple>
+    </term>
+
+    <!-- SHORT ROLE FORMS -->
+    <term name="director" form="short">
+      <single>dir.</single>
+      <multiple>dirs.</multiple>
+    </term>
+    <term name="editor" form="short">
+      <single>ред.</single>
+      <multiple>ред.</multiple>
+    </term>
+    <term name="editorial-director" form="short">
+      <single>ред.</single>
+      <multiple>ред.</multiple>
+    </term>
+    <term name="illustrator" form="short">
+      <single>ill.</single>
+      <multiple>ills.</multiple>
+    </term>
+    <term name="translator" form="short">
+      <single>орч</single>
+      <multiple>орч</multiple>
+    </term>
+    <term name="editortranslator" form="short">
+      <single>ред. ба орч.</single>
+      <multiple>ред. ба орч.</multiple>
+    </term>
+
+    <!-- VERB ROLE FORMS -->
+    <term name="container-author" form="verb">by</term>
+    <term name="director" form="verb">directed by</term>
+    <term name="editor" form="verb">edited by</term>
+    <term name="editorial-director" form="verb">edited by</term>
+    <term name="illustrator" form="verb">illustrated by</term>
+    <term name="interviewer" form="verb">interview by</term>
+    <term name="recipient" form="verb">to</term>
+    <term name="reviewed-author" form="verb">by</term>
+    <term name="translator" form="verb">translated by</term>
+    <term name="editortranslator" form="verb">edited & translated by</term>
+
+    <!-- SHORT VERB ROLE FORMS -->
+    <term name="director" form="verb-short">dir.</term>
+    <term name="editor" form="verb-short">ed</term>
+    <term name="editorial-director" form="verb-short">ed.</term>
+    <term name="illustrator" form="verb-short">illus.</term>
+    <term name="translator" form="verb-short">trans</term>
+    <term name="editortranslator" form="verb-short">ed. & trans. by</term>
+
+    <!-- LONG MONTH FORMS -->
+    <term name="month-01">Нэгдүгээр сар</term>
+    <term name="month-02">Хоёрдугаар сар</term>
+    <term name="month-03">Гуравдугаар сар</term>
+    <term name="month-04">Дөрөвдүгээр сар</term>
+    <term name="month-05">Тавдугаар сар</term>
+    <term name="month-06">Зургаадугаар сар</term>
+    <term name="month-07">Долдугаар сар</term>
+    <term name="month-08">Наймдугаар сар</term>
+    <term name="month-09">Есдүгээр сар</term>
+    <term name="month-10">Аравдугаар сар</term>
+    <term name="month-11">Арван нэгдүгээр сар</term>
+    <term name="month-12">Арван хоёрдугаар сар</term>
+
+    <!-- SHORT MONTH FORMS -->
+    <term name="month-01" form="short">1-р сар</term>
+    <term name="month-02" form="short">2-р сар</term>
+    <term name="month-03" form="short">3-р сар</term>
+    <term name="month-04" form="short">4-р сар</term>
+    <term name="month-05" form="short">5-р сар</term>
+    <term name="month-06" form="short">6-р сар</term>
+    <term name="month-07" form="short">7-р сар</term>
+    <term name="month-08" form="short">8-р сар</term>
+    <term name="month-09" form="short">9-р сар</term>
+    <term name="month-10" form="short">10-р сар</term>
+    <term name="month-11" form="short">11-р сар</term>
+    <term name="month-12" form="short">12-р сар</term>
+
+    <!-- SEASONS -->
+    <term name="season-01">Хавар</term>
+    <term name="season-02">Зун</term>
+    <term name="season-03">Намар</term>
+    <term name="season-04">Өвөл</term>
+  </terms>
+</locale>

Added: trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-nb-NO.xml
===================================================================
--- trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-nb-NO.xml	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-nb-NO.xml	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,309 @@
+<?xml version="1.0" encoding="utf-8"?>
+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="nb-NO">
+  <info>
+    <translator>
+      <name>Guttorm Flatabø</name>
+    </translator>
+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
+    <updated>2020-01-18T15:35:53+01:00</updated>
+  </info>
+  <style-options punctuation-in-quote="false"/>
+  <date form="text">
+    <date-part name="day" form="ordinal" suffix=" "/>
+    <date-part name="month" suffix=" "/>
+    <date-part name="year"/>
+  </date>
+  <date form="numeric">
+    <date-part name="year"/>
+    <date-part name="month" form="numeric-leading-zeros" prefix="-" range-delimiter="/"/>
+    <date-part name="day" form="numeric-leading-zeros" prefix="-" range-delimiter="/"/>
+  </date>
+  <terms>
+    <term name="accessed">åpnet</term>
+    <term name="and">og</term>
+    <term name="and others">med flere</term>
+    <term name="anonymous">anonym</term>
+    <term name="anonymous" form="short">anon.</term>
+    <term name="at">på</term>
+    <term name="available at">tilgjengelig på</term>
+    <term name="by">av</term>
+    <term name="circa">circa</term>
+    <term name="circa" form="short">ca.</term>
+    <term name="cited">sitert</term>
+    <term name="edition">
+      <single>utgave</single>
+      <multiple>utgaver</multiple>
+    </term>
+    <term name="edition" form="short">utg.</term>
+    <term name="et-al">mfl.</term>
+    <term name="forthcoming">kommende</term>
+    <term name="from">fra</term>
+    <term name="ibid">ibid.</term>
+    <term name="in">i</term>
+    <term name="in press">i trykk</term>
+    <term name="internet">Internett</term>
+    <term name="interview">intervju</term>
+    <term name="letter">brev</term>
+    <term name="no date">ingen dato</term>
+    <term name="no date" form="short">u.å.</term>
+    <term name="online">online</term>
+    <term name="presented at">presentert på</term>
+    <term name="reference">
+      <single>referanse</single>
+      <multiple>referanser</multiple>
+    </term>
+    <term name="reference" form="short">
+      <single>ref.</single>
+      <multiple>refr.</multiple>
+    </term>
+    <term name="retrieved">hentet</term>
+    <term name="scale">målestokk</term>
+    <term name="version">versjon</term>
+
+    <!-- ANNO DOMINI; BEFORE CHRIST -->
+    <term name="ad">fvt.</term>
+    <term name="bc">evt.</term>
+
+    <!-- PUNCTUATION -->
+    <term name="open-quote">«</term>
+    <term name="close-quote">»</term>
+    <term name="open-inner-quote">‘</term>
+    <term name="close-inner-quote">’</term>
+    <term name="page-range-delimiter">–</term>
+
+    <!-- ORDINALS -->
+    <term name="ordinal">.</term>
+
+    <!-- LONG ORDINALS -->
+    <term name="long-ordinal-01">første</term>
+    <term name="long-ordinal-02">andre</term>
+    <term name="long-ordinal-03">tredje</term>
+    <term name="long-ordinal-04">fjerde</term>
+    <term name="long-ordinal-05">femte</term>
+    <term name="long-ordinal-06">sjette</term>
+    <term name="long-ordinal-07">sjuende</term>
+    <term name="long-ordinal-08">åttende</term>
+    <term name="long-ordinal-09">niende</term>
+    <term name="long-ordinal-10">tiende</term>
+
+    <!-- LONG LOCATOR FORMS -->
+    <term name="book">
+      <single>bok</single>
+      <multiple>bøker</multiple>
+    </term>
+    <term name="chapter">
+      <single>kapittel</single>
+      <multiple>kapitler</multiple>
+    </term>
+    <term name="column">
+      <single>kolonne</single>
+      <multiple>kolonner</multiple>
+    </term>
+    <term name="figure">
+      <single>figur</single>
+      <multiple>figurer</multiple>
+    </term>
+    <term name="folio">
+      <single>folio</single>
+      <multiple>folioer</multiple>
+    </term>
+    <term name="issue">
+      <single>nummer</single>
+      <multiple>numre</multiple>
+    </term>
+    <term name="line">
+      <single>linje</single>
+      <multiple>linjer</multiple>
+    </term>
+    <term name="note">
+      <single>note</single>
+      <multiple>noter</multiple>
+    </term>
+    <term name="opus">
+      <single>opus</single>
+      <multiple>opus</multiple>
+    </term>
+    <term name="page">
+      <single>side</single>
+      <multiple>side</multiple>
+    </term>
+    <term name="number-of-pages">
+      <single>side</single>
+      <multiple>sider</multiple>
+    </term>
+    <term name="paragraph">
+      <single>avsnitt</single>
+      <multiple>avsnitt</multiple>
+    </term>
+    <term name="part">
+      <single>del</single>
+      <multiple>deler</multiple>
+    </term>
+    <term name="section">
+      <single>paragraf</single>
+      <multiple>paragrafer</multiple>
+    </term>
+    <term name="sub verbo">
+      <single>sub verbo</single>
+      <multiple>sub verbis</multiple>
+    </term>
+    <term name="verse">
+      <single>vers</single>
+      <multiple>vers</multiple>
+    </term>
+    <term name="volume">
+      <single>bind</single>
+      <multiple>bind</multiple>
+    </term>
+
+    <!-- SHORT LOCATOR FORMS -->
+    <term name="book" form="short">b.</term>
+    <term name="chapter" form="short">kap.</term>
+    <term name="column" form="short">kol.</term>
+    <term name="figure" form="short">fig.</term>
+    <term name="folio" form="short">fol.</term>
+    <term name="issue" form="short">nr.</term>
+    <term name="line" form="short">l.</term>
+    <term name="note" form="short">n.</term>
+    <term name="opus" form="short">op.</term>
+    <term name="page" form="short">
+      <single>s.</single>
+      <multiple>s.</multiple>
+    </term>
+    <term name="number-of-pages" form="short">
+      <single>s.</single>
+      <multiple>s.</multiple>
+    </term>
+    <term name="paragraph" form="short">avsn.</term>
+    <term name="part" form="short">d.</term>
+    <term name="section" form="short">pargr.</term>
+    <term name="sub verbo" form="short">
+      <single>s.v.</single>
+      <multiple>s.vv.</multiple>
+    </term>
+    <term name="verse" form="short">
+      <single>v.</single>
+      <multiple>v.</multiple>
+    </term>
+    <term name="volume" form="short">
+      <single>bd.</single>
+      <multiple>bd.</multiple>
+    </term>
+
+    <!-- SYMBOL LOCATOR FORMS -->
+    <term name="paragraph" form="symbol">
+      <single>¶</single>
+      <multiple>¶¶</multiple>
+    </term>
+    <term name="section" form="symbol">
+      <single>§</single>
+      <multiple>§§</multiple>
+    </term>
+
+    <!-- LONG ROLE FORMS -->
+    <term name="director">
+      <single>regissør</single>
+      <multiple>regissører</multiple>
+    </term>
+    <term name="editor">
+      <single>redaktør</single>
+      <multiple>redaktører</multiple>
+    </term>
+    <term name="editorial-director">
+      <single>redaktør</single>
+      <multiple>redaktører</multiple>
+    </term>
+    <term name="illustrator">
+      <single>illustratør</single>
+      <multiple>illustratører</multiple>
+    </term>
+    <term name="translator">
+      <single>oversetter</single>
+      <multiple>oversettere</multiple>
+    </term>
+    <term name="editortranslator">
+      <single>redaktør & oversetter</single>
+      <multiple>redaktører & oversettere</multiple>
+    </term>
+
+    <!-- SHORT ROLE FORMS -->
+    <term name="director" form="short">
+      <single>regi</single>
+      <multiple>regi</multiple>
+    </term>
+    <term name="editor" form="short">
+      <single>red.</single>
+      <multiple>red.</multiple>
+    </term>
+    <term name="editorial-director" form="short">
+      <single>red.</single>
+      <multiple>red.</multiple>
+    </term>
+    <term name="illustrator" form="short">
+      <single>ill.</single>
+      <multiple>ills.</multiple>
+    </term>
+    <term name="translator" form="short">
+      <single>overs.</single>
+      <multiple>overs.</multiple>
+    </term>
+    <term name="editortranslator" form="short">
+      <single>red. & overs.</single>
+      <multiple>red. & overs.</multiple>
+    </term>
+
+    <!-- VERB ROLE FORMS -->
+    <term name="container-author" form="verb">av</term>
+    <term name="director" form="verb">regissert av</term>
+    <term name="editor" form="verb">redigert av</term>
+    <term name="editorial-director" form="verb">redigert av</term>
+    <term name="illustrator" form="verb">illustrert av</term>
+    <term name="interviewer" form="verb">intervjuet av</term>
+    <term name="recipient" form="verb">til</term>
+    <term name="reviewed-author" form="verb">av</term>
+    <term name="translator" form="verb">oversatt av</term>
+    <term name="editortranslator" form="verb">redigert & oversatt av</term>
+
+    <!-- SHORT VERB ROLE FORMS -->
+    <term name="director" form="verb-short">regi</term>
+    <term name="editor" form="verb-short">red.</term>
+    <term name="editorial-director" form="verb-short">red.</term>
+    <term name="illustrator" form="verb-short">illus.</term>
+    <term name="translator" form="verb-short">overs.</term>
+    <term name="editortranslator" form="verb-short">red. & overs. av</term>
+
+    <!-- LONG MONTH FORMS -->
+    <term name="month-01">januar</term>
+    <term name="month-02">februar</term>
+    <term name="month-03">mars</term>
+    <term name="month-04">april</term>
+    <term name="month-05">mai</term>
+    <term name="month-06">juni</term>
+    <term name="month-07">juli</term>
+    <term name="month-08">august</term>
+    <term name="month-09">september</term>
+    <term name="month-10">oktober</term>
+    <term name="month-11">november</term>
+    <term name="month-12">desember</term>
+
+    <!-- SHORT MONTH FORMS -->
+    <term name="month-01" form="short">jan.</term>
+    <term name="month-02" form="short">feb.</term>
+    <term name="month-03" form="short">mar.</term>
+    <term name="month-04" form="short">apr.</term>
+    <term name="month-05" form="short">mai</term>
+    <term name="month-06" form="short">jun.</term>
+    <term name="month-07" form="short">jul.</term>
+    <term name="month-08" form="short">aug.</term>
+    <term name="month-09" form="short">sep.</term>
+    <term name="month-10" form="short">okt.</term>
+    <term name="month-11" form="short">nov.</term>
+    <term name="month-12" form="short">des.</term>
+
+    <!-- SEASONS -->
+    <term name="season-01">vår</term>
+    <term name="season-02">sommer</term>
+    <term name="season-03">høst</term>
+    <term name="season-04">vinter</term>
+  </terms>
+</locale>

Added: trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-nl-NL.xml
===================================================================
--- trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-nl-NL.xml	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-nl-NL.xml	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,328 @@
+<?xml version="1.0" encoding="utf-8"?>
+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="nl-NL">
+  <info>
+    <translator>
+      <name>Rintze M. Zelle</name>
+      <uri>http://twitter.com/rintzezelle</uri>
+    </translator>
+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
+    <updated>2020-04-16T13:27:31-04:00</updated>
+  </info>
+  <style-options punctuation-in-quote="false"/>
+  <date form="text">
+    <date-part name="day" suffix=" "/>
+    <date-part name="month" suffix=" "/>
+    <date-part name="year"/>
+  </date>
+  <date form="numeric">
+    <date-part name="day" suffix="-" range-delimiter="/"/>
+    <date-part name="month" form="numeric" suffix="-" range-delimiter="/"/>
+    <date-part name="year"/>
+  </date>
+  <terms>
+    <term name="accessed">geraadpleegd</term>
+    <term name="and">en</term>
+    <term name="and others">en anderen</term>
+    <term name="anonymous">anoniem</term>
+    <term name="anonymous" form="short">anon.</term>
+    <term name="at">bij</term>
+    <term name="available at">beschikbaar op</term>
+    <term name="by">door</term>
+    <term name="circa">circa</term>
+    <term name="circa" form="short">c.</term>
+    <term name="cited">geciteerd</term>
+    <term name="edition">
+      <single>druk</single>
+      <multiple>drukken</multiple>
+    </term>
+    <term name="edition" form="short">dr.</term>
+    <term name="et-al">e.a.</term>
+    <term name="forthcoming">in voorbereiding</term>
+    <term name="from">van</term>
+    <term name="ibid">ibid.</term>
+    <term name="in">in</term>
+    <term name="in press">in druk</term>
+    <term name="internet">internet</term>
+    <term name="interview">interview</term>
+    <term name="letter">brief</term>
+    <term name="no date">zonder datum</term>
+    <term name="no date" form="short">z.d.</term>
+    <term name="online">online</term>
+    <term name="presented at">gepresenteerd bij</term>
+    <term name="reference">
+      <single>referentie</single>
+      <multiple>referenties</multiple>
+    </term>
+    <term name="reference" form="short">
+      <single>ref.</single>
+      <multiple>refs.</multiple>
+    </term>
+    <term name="retrieved">geraadpleegd</term>
+    <term name="scale">schaal</term>
+    <term name="version">versie</term>
+
+    <!-- ANNO DOMINI; BEFORE CHRIST -->
+    <term name="ad">AD</term>
+    <term name="bc">BC</term>
+
+    <!-- PUNCTUATION -->
+    <term name="open-quote">‘</term>
+    <term name="close-quote">’</term>
+    <term name="open-inner-quote">“</term>
+    <term name="close-inner-quote">”</term>
+    <term name="page-range-delimiter">–</term>
+
+    <!-- ORDINALS -->
+    <term name="ordinal">ste</term>
+    <term name="ordinal-00" match="whole-number">de</term>
+    <term name="ordinal-02" match="last-two-digits">de</term>
+    <term name="ordinal-03" match="last-two-digits">de</term>
+    <term name="ordinal-04" match="last-two-digits">de</term>
+    <term name="ordinal-05" match="last-two-digits">de</term>
+    <term name="ordinal-06" match="last-two-digits">de</term>
+    <term name="ordinal-07" match="last-two-digits">de</term>
+    <term name="ordinal-09" match="last-two-digits">de</term>
+    <term name="ordinal-10">de</term>
+    <term name="ordinal-11">de</term>
+    <term name="ordinal-12">de</term>
+    <term name="ordinal-13">de</term>
+    <term name="ordinal-14">de</term>
+    <term name="ordinal-15">de</term>
+    <term name="ordinal-16">de</term>
+    <term name="ordinal-17">de</term>
+    <term name="ordinal-18">de</term>
+    <term name="ordinal-19">de</term>
+
+    <!-- LONG ORDINALS -->
+    <term name="long-ordinal-01">eerste</term>
+    <term name="long-ordinal-02">tweede</term>
+    <term name="long-ordinal-03">derde</term>
+    <term name="long-ordinal-04">vierde</term>
+    <term name="long-ordinal-05">vijfde</term>
+    <term name="long-ordinal-06">zesde</term>
+    <term name="long-ordinal-07">zevende</term>
+    <term name="long-ordinal-08">achtste</term>
+    <term name="long-ordinal-09">negende</term>
+    <term name="long-ordinal-10">tiende</term>
+
+    <!-- LONG LOCATOR FORMS -->
+    <term name="book">
+      <single>boek</single>
+      <multiple>boeken</multiple>
+    </term>
+    <term name="chapter">
+      <single>hoofdstuk</single>
+      <multiple>hoofdstukken</multiple>
+    </term>
+    <term name="column">
+      <single>column</single>
+      <multiple>columns</multiple>
+    </term>
+    <term name="figure">
+      <single>figuur</single>
+      <multiple>figuren</multiple>
+    </term>
+    <term name="folio">
+      <single>folio</single>
+      <multiple>folio's</multiple>
+    </term>
+    <term name="issue">
+      <single>nummer</single>
+      <multiple>nummers</multiple>
+    </term>
+    <term name="line">
+      <single>regel</single>
+      <multiple>regels</multiple>
+    </term>
+    <term name="note">
+      <single>aantekening</single>
+      <multiple>aantekeningen</multiple>
+    </term>
+    <term name="opus">
+      <single>opus</single>
+      <multiple>opera</multiple>
+    </term>
+    <term name="page">
+      <single>pagina</single>
+      <multiple>pagina's</multiple>
+    </term>
+    <term name="number-of-pages">
+      <single>pagina</single>
+      <multiple>pagina's</multiple>
+    </term>
+    <term name="paragraph">
+      <single>paragraaf</single>
+      <multiple>paragrafen</multiple>
+    </term>
+    <term name="part">
+      <single>deel</single>
+      <multiple>delen</multiple>
+    </term>
+    <term name="section">
+      <single>sectie</single>
+      <multiple>secties</multiple>
+    </term>
+    <term name="sub verbo">
+      <single>sub verbo</single>
+      <multiple>sub verbis</multiple>
+    </term>
+    <term name="verse">
+      <single>vers</single>
+      <multiple>versen</multiple>
+    </term>
+    <term name="volume">
+      <single>volume</single>
+      <multiple>volumes</multiple>
+    </term>
+
+    <!-- SHORT LOCATOR FORMS -->
+    <term name="book" form="short">bk.</term>
+    <term name="chapter" form="short">hfdst.</term>
+    <term name="column" form="short">col.</term>
+    <term name="figure" form="short">fig.</term>
+    <term name="folio" form="short">f.</term>
+    <term name="issue" form="short">nr.</term>
+    <term name="line" form="short">l.</term>
+    <term name="note" form="short">n.</term>
+    <term name="opus" form="short">op.</term>
+    <term name="page" form="short">
+      <single>p.</single>
+      <multiple>pp.</multiple>
+    </term>
+    <term name="number-of-pages" form="short">
+      <single>p.</single>
+      <multiple>pp.</multiple>
+    </term>
+    <term name="paragraph" form="short">par.</term>
+    <term name="part" form="short">deel</term>
+    <term name="section" form="short">sec.</term>
+    <term name="sub verbo" form="short">
+      <single>s.v.</single>
+      <multiple>s.vv.</multiple>
+    </term>
+    <term name="verse" form="short">
+      <single>v.</single>
+      <multiple>vv.</multiple>
+    </term>
+    <term name="volume" form="short">
+      <single>vol.</single>
+      <multiple>vols.</multiple>
+    </term>
+
+    <!-- SYMBOL LOCATOR FORMS -->
+    <term name="paragraph" form="symbol">
+      <single>¶</single>
+      <multiple>¶¶</multiple>
+    </term>
+    <term name="section" form="symbol">
+      <single>§</single>
+      <multiple>§§</multiple>
+    </term>
+
+    <!-- LONG ROLE FORMS -->
+    <term name="director">
+      <single>regisseur</single>
+      <multiple>regisseurs</multiple>
+    </term>
+    <term name="editor">
+      <single>redacteur</single>
+      <multiple>redacteuren</multiple>
+    </term>
+    <term name="editorial-director">
+      <single>redacteur</single>
+      <multiple>redacteuren</multiple>
+    </term>
+    <term name="illustrator">
+      <single>illustrator</single>
+      <multiple>illustrators</multiple>
+    </term>
+    <term name="translator">
+      <single>vertaler</single>
+      <multiple>vertalers</multiple>
+    </term>
+    <term name="editortranslator">
+      <single>redacteur & vertaler</single>
+      <multiple>redacteuren & vertalers</multiple>
+    </term>
+
+    <!-- SHORT ROLE FORMS -->
+    <term name="director" form="short">
+      <single>reg.</single>
+      <multiple>reg.</multiple>
+    </term>
+    <term name="editor" form="short">
+      <single>red.</single>
+      <multiple>red.</multiple>
+    </term>
+    <term name="editorial-director" form="short">
+      <single>red.</single>
+      <multiple>red.</multiple>
+    </term>
+    <term name="illustrator" form="short">
+      <single>ill.</single>
+      <multiple>ill.</multiple>
+    </term>
+    <term name="translator" form="short">
+      <single>vert.</single>
+      <multiple>vert.</multiple>
+    </term>
+    <term name="editortranslator" form="short">
+      <single>red. & vert.</single>
+      <multiple>red. & vert.</multiple>
+    </term>
+
+    <!-- VERB ROLE FORMS -->
+    <term name="container-author" form="verb">door</term>
+    <term name="director" form="verb">geregisseerd door</term>
+    <term name="editor" form="verb">onder redactie van</term>
+    <term name="editorial-director" form="verb">onder redactie van</term>
+    <term name="illustrator" form="verb">geïllustreerd door</term>
+    <term name="interviewer" form="verb">geïnterviewd door</term>
+    <term name="recipient" form="verb">ontvangen door</term>
+    <term name="reviewed-author" form="verb">door</term>
+    <term name="translator" form="verb">vertaald door</term>
+    <term name="editortranslator" form="verb">bewerkt & vertaald door</term>
+
+    <!-- SHORT VERB ROLE FORMS -->
+    <term name="director" form="verb-short">geregisseerd door</term>
+    <term name="editor" form="verb-short">onder redactie van</term>
+    <term name="editorial-director" form="verb-short">bewerkt door</term>
+    <term name="illustrator" form="verb-short">geïllustreerd door</term>
+    <term name="translator" form="verb-short">vertaald door</term>
+    <term name="editortranslator" form="verb-short">bewerkt & vertaald door</term>
+
+    <!-- LONG MONTH FORMS -->
+    <term name="month-01">januari</term>
+    <term name="month-02">februari</term>
+    <term name="month-03">maart</term>
+    <term name="month-04">april</term>
+    <term name="month-05">mei</term>
+    <term name="month-06">juni</term>
+    <term name="month-07">juli</term>
+    <term name="month-08">augustus</term>
+    <term name="month-09">september</term>
+    <term name="month-10">oktober</term>
+    <term name="month-11">november</term>
+    <term name="month-12">december</term>
+
+    <!-- SHORT MONTH FORMS -->
+    <term name="month-01" form="short">jan.</term>
+    <term name="month-02" form="short">feb.</term>
+    <term name="month-03" form="short">mrt.</term>
+    <term name="month-04" form="short">apr.</term>
+    <term name="month-05" form="short">mei</term>
+    <term name="month-06" form="short">jun.</term>
+    <term name="month-07" form="short">jul.</term>
+    <term name="month-08" form="short">aug.</term>
+    <term name="month-09" form="short">sep.</term>
+    <term name="month-10" form="short">okt.</term>
+    <term name="month-11" form="short">nov.</term>
+    <term name="month-12" form="short">dec.</term>
+
+    <!-- SEASONS -->
+    <term name="season-01">lente</term>
+    <term name="season-02">zomer</term>
+    <term name="season-03">herst</term>
+    <term name="season-04">winter</term>
+  </terms>
+</locale>

Added: trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-nn-NO.xml
===================================================================
--- trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-nn-NO.xml	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-nn-NO.xml	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,309 @@
+<?xml version="1.0" encoding="utf-8"?>
+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="nn-NO">
+  <info>
+    <translator>
+      <name>Guttorm Flatabø</name>
+    </translator>
+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
+    <updated>2020-01-18T15:35:53+01:00</updated>
+  </info>
+  <style-options punctuation-in-quote="false"/>
+  <date form="text">
+    <date-part name="day" form="ordinal" suffix=" "/>
+    <date-part name="month" suffix=" "/>
+    <date-part name="year"/>
+  </date>
+  <date form="numeric">
+    <date-part name="year"/>
+    <date-part name="month" form="numeric-leading-zeros" prefix="-" range-delimiter="/"/>
+    <date-part name="day" form="numeric-leading-zeros" prefix="-" range-delimiter="/"/>
+  </date>
+  <terms>
+    <term name="accessed">vitja</term>
+    <term name="and">og</term>
+    <term name="and others">med fleire</term>
+    <term name="anonymous">anonym</term>
+    <term name="anonymous" form="short">anon.</term>
+    <term name="at">på</term>
+    <term name="available at">tilgjengeleg på</term>
+    <term name="by">av</term>
+    <term name="circa">circa</term>
+    <term name="circa" form="short">ca.</term>
+    <term name="cited">sitert</term>
+    <term name="edition">
+      <single>utgåve</single>
+      <multiple>utgåver</multiple>
+    </term>
+    <term name="edition" form="short">utg.</term>
+    <term name="et-al">mfl.</term>
+    <term name="forthcoming">kommande</term>
+    <term name="from">frå</term>
+    <term name="ibid">ibid.</term>
+    <term name="in">i</term>
+    <term name="in press">i trykk</term>
+    <term name="internet">Internett</term>
+    <term name="interview">intervju</term>
+    <term name="letter">brev</term>
+    <term name="no date">ingen dato</term>
+    <term name="no date" form="short">u.å.</term>
+    <term name="online">online</term>
+    <term name="presented at">presentert på</term>
+    <term name="reference">
+      <single>referanse</single>
+      <multiple>referansar</multiple>
+    </term>
+    <term name="reference" form="short">
+      <single>ref.</single>
+      <multiple>refr.</multiple>
+    </term>
+    <term name="retrieved">henta</term>
+    <term name="scale">målestokk</term>
+    <term name="version">versjon</term>
+
+    <!-- ANNO DOMINI; BEFORE CHRIST -->
+    <term name="ad">fvt.</term>
+    <term name="bc">evt.</term>
+
+    <!-- PUNCTUATION -->
+    <term name="open-quote">«</term>
+    <term name="close-quote">»</term>
+    <term name="open-inner-quote">‘</term>
+    <term name="close-inner-quote">’</term>
+    <term name="page-range-delimiter">–</term>
+
+    <!-- ORDINALS -->
+    <term name="ordinal">.</term>
+
+    <!-- LONG ORDINALS -->
+    <term name="long-ordinal-01">første</term>
+    <term name="long-ordinal-02">andre</term>
+    <term name="long-ordinal-03">tredje</term>
+    <term name="long-ordinal-04">fjerde</term>
+    <term name="long-ordinal-05">femte</term>
+    <term name="long-ordinal-06">sjette</term>
+    <term name="long-ordinal-07">sjuande</term>
+    <term name="long-ordinal-08">åttande</term>
+    <term name="long-ordinal-09">niande</term>
+    <term name="long-ordinal-10">tiande</term>
+
+    <!-- LONG LOCATOR FORMS -->
+    <term name="book">
+      <single>bok</single>
+      <multiple>bøker</multiple>
+    </term>
+    <term name="chapter">
+      <single>kapittel</single>
+      <multiple>kapittel</multiple>
+    </term>
+    <term name="column">
+      <single>kolonne</single>
+      <multiple>kolonner</multiple>
+    </term>
+    <term name="figure">
+      <single>figur</single>
+      <multiple>figurar</multiple>
+    </term>
+    <term name="folio">
+      <single>folio</single>
+      <multiple>folioar</multiple>
+    </term>
+    <term name="issue">
+      <single>nummer</single>
+      <multiple>nummer</multiple>
+    </term>
+    <term name="line">
+      <single>linje</single>
+      <multiple>linjer</multiple>
+    </term>
+    <term name="note">
+      <single>note</single>
+      <multiple>notar</multiple>
+    </term>
+    <term name="opus">
+      <single>opus</single>
+      <multiple>opus</multiple>
+    </term>
+    <term name="page">
+      <single>side</single>
+      <multiple>side</multiple>
+    </term>
+    <term name="number-of-pages">
+      <single>side</single>
+      <multiple>sider</multiple>
+    </term>
+    <term name="paragraph">
+      <single>avsnitt</single>
+      <multiple>avsnitt</multiple>
+    </term>
+    <term name="part">
+      <single>del</single>
+      <multiple>deler</multiple>
+    </term>
+    <term name="section">
+      <single>paragraf</single>
+      <multiple>paragrafar</multiple>
+    </term>
+    <term name="sub verbo">
+      <single>sub verbo</single>
+      <multiple>sub verbis</multiple>
+    </term>
+    <term name="verse">
+      <single>vers</single>
+      <multiple>vers</multiple>
+    </term>
+    <term name="volume">
+      <single>bind</single>
+      <multiple>bind</multiple>
+    </term>
+
+    <!-- SHORT LOCATOR FORMS -->
+    <term name="book" form="short">b.</term>
+    <term name="chapter" form="short">kap.</term>
+    <term name="column" form="short">kol.</term>
+    <term name="figure" form="short">fig.</term>
+    <term name="folio" form="short">fol.</term>
+    <term name="issue" form="short">nr.</term>
+    <term name="line" form="short">l.</term>
+    <term name="note" form="short">n.</term>
+    <term name="opus" form="short">op.</term>
+    <term name="page" form="short">
+      <single>s.</single>
+      <multiple>s.</multiple>
+    </term>
+    <term name="number-of-pages" form="short">
+      <single>s.</single>
+      <multiple>s.</multiple>
+    </term>
+    <term name="paragraph" form="short">avsn.</term>
+    <term name="part" form="short">d.</term>
+    <term name="section" form="short">par.</term>
+    <term name="sub verbo" form="short">
+      <single>s.v.</single>
+      <multiple>s.vv.</multiple>
+    </term>
+    <term name="verse" form="short">
+      <single>v.</single>
+      <multiple>v.</multiple>
+    </term>
+    <term name="volume" form="short">
+      <single>bd.</single>
+      <multiple>bd.</multiple>
+    </term>
+
+    <!-- SYMBOL LOCATOR FORMS -->
+    <term name="paragraph" form="symbol">
+      <single>¶</single>
+      <multiple>¶¶</multiple>
+    </term>
+    <term name="section" form="symbol">
+      <single>§</single>
+      <multiple>§§</multiple>
+    </term>
+
+    <!-- LONG ROLE FORMS -->
+    <term name="director">
+      <single>regissør</single>
+      <multiple>regissørar</multiple>
+    </term>
+    <term name="editor">
+      <single>redaktør</single>
+      <multiple>redaktørar</multiple>
+    </term>
+    <term name="editorial-director">
+      <single>redaktør</single>
+      <multiple>redaktørar</multiple>
+    </term>
+    <term name="illustrator">
+      <single>illustratør</single>
+      <multiple>illustratørar</multiple>
+    </term>
+    <term name="translator">
+      <single>omsetjar</single>
+      <multiple>omsetjarar</multiple>
+    </term>
+    <term name="editortranslator">
+      <single>redaktør & omsetjar</single>
+      <multiple>redaktørar & omsetjarar</multiple>
+    </term>
+
+    <!-- SHORT ROLE FORMS -->
+    <term name="director" form="short">
+      <single>regi</single>
+      <multiple>regi</multiple>
+    </term>
+    <term name="editor" form="short">
+      <single>red.</single>
+      <multiple>red.</multiple>
+    </term>
+    <term name="editorial-director" form="short">
+      <single>red.</single>
+      <multiple>red.</multiple>
+    </term>
+    <term name="illustrator" form="short">
+      <single>ill.</single>
+      <multiple>ills.</multiple>
+    </term>
+    <term name="translator" form="short">
+      <single>oms.</single>
+      <multiple>oms.</multiple>
+    </term>
+    <term name="editortranslator" form="short">
+      <single>red. & oms.</single>
+      <multiple>red. & oms.</multiple>
+    </term>
+
+    <!-- VERB ROLE FORMS -->
+    <term name="container-author" form="verb">av</term>
+    <term name="director" form="verb">regissert av</term>
+    <term name="editor" form="verb">redigert av</term>
+    <term name="editorial-director" form="verb">redigert av</term>
+    <term name="illustrator" form="verb">illustrert av</term>
+    <term name="interviewer" form="verb">intervjua av</term>
+    <term name="recipient" form="verb">til</term>
+    <term name="reviewed-author" form="verb">av</term>
+    <term name="translator" form="verb">omsett av</term>
+    <term name="editortranslator" form="verb">redigert & omsett av</term>
+
+    <!-- SHORT VERB ROLE FORMS -->
+    <term name="director" form="verb-short">regi</term>
+    <term name="editor" form="verb-short">red.</term>
+    <term name="editorial-director" form="verb-short">red.</term>
+    <term name="illustrator" form="verb-short">illus.</term>
+    <term name="translator" form="verb-short">oms.</term>
+    <term name="editortranslator" form="verb-short">red. & oms. av</term>
+
+    <!-- LONG MONTH FORMS -->
+    <term name="month-01">januar</term>
+    <term name="month-02">februar</term>
+    <term name="month-03">mars</term>
+    <term name="month-04">april</term>
+    <term name="month-05">mai</term>
+    <term name="month-06">juni</term>
+    <term name="month-07">juli</term>
+    <term name="month-08">august</term>
+    <term name="month-09">september</term>
+    <term name="month-10">oktober</term>
+    <term name="month-11">november</term>
+    <term name="month-12">desember</term>
+
+    <!-- SHORT MONTH FORMS -->
+    <term name="month-01" form="short">jan.</term>
+    <term name="month-02" form="short">feb.</term>
+    <term name="month-03" form="short">mar.</term>
+    <term name="month-04" form="short">apr.</term>
+    <term name="month-05" form="short">mai</term>
+    <term name="month-06" form="short">jun.</term>
+    <term name="month-07" form="short">jul.</term>
+    <term name="month-08" form="short">aug.</term>
+    <term name="month-09" form="short">sep.</term>
+    <term name="month-10" form="short">okt.</term>
+    <term name="month-11" form="short">nov.</term>
+    <term name="month-12" form="short">des.</term>
+
+    <!-- SEASONS -->
+    <term name="season-01">vår</term>
+    <term name="season-02">sommar</term>
+    <term name="season-03">haust</term>
+    <term name="season-04">vinter</term>
+  </terms>
+</locale>

Added: trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-pl-PL.xml
===================================================================
--- trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-pl-PL.xml	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-pl-PL.xml	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,315 @@
+<?xml version="1.0" encoding="utf-8"?>
+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="pl-PL">
+  <info>
+    <translator>
+      <name>pAo</name>
+    </translator>
+    <translator>
+      <name>Michal</name>
+    </translator>
+    <translator>
+      <name>Pendzoncymisio</name>
+    </translator>
+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
+    <updated>2021-06-23T23:06:42-04:00</updated>
+  </info>
+  <style-options punctuation-in-quote="false"/>
+  <date form="text">
+    <date-part name="day" suffix=" "/>
+    <date-part name="month" suffix=" "/>
+    <date-part name="year"/>
+  </date>
+  <date form="numeric">
+    <date-part name="day" form="numeric-leading-zeros" suffix="."/>
+    <date-part name="month" form="numeric-leading-zeros" suffix="."/>
+    <date-part name="year"/>
+  </date>
+  <terms>
+    <term name="accessed">dostęp</term>
+    <term name="and">i</term>
+    <term name="and others">i inni</term>
+    <term name="anonymous">anonim</term>
+    <term name="anonymous" form="short">anon.</term>
+    <term name="at">na</term>
+    <term name="available at">dostępne na</term>
+    <term name="by">przez</term>
+    <term name="circa">około</term>
+    <term name="circa" form="short">ok</term>
+    <term name="cited">cytowane</term>
+    <term name="edition">
+      <single>wydanie</single>
+      <multiple>wydania</multiple>
+    </term>
+    <term name="edition" form="short">wyd.</term>
+    <term name="et-al">i in.</term>
+    <term name="forthcoming">w przygotowaniu</term>
+    <term name="from">z</term>
+    <term name="ibid">ibid.</term>
+    <term name="in">w</term>
+    <term name="in press">w druku</term>
+    <term name="internet">internet</term>
+    <term name="interview">wywiad</term>
+    <term name="letter">list</term>
+    <term name="no date">brak daty</term>
+    <term name="no date" form="short">b.d.</term>
+    <term name="online">online</term>
+    <term name="presented at">zaprezentowano na</term>
+    <term name="reference">
+      <single>referencja</single>
+      <multiple>referencje</multiple>
+    </term>
+    <term name="reference" form="short">
+      <single>ref.</single>
+      <multiple>ref.</multiple>
+    </term>
+    <term name="retrieved">pobrano</term>
+    <term name="scale">skala</term>
+    <term name="version">wersja</term>
+
+    <!-- ANNO DOMINI; BEFORE CHRIST -->
+    <term name="ad">n.e.</term>
+    <term name="bc">p.n.e.</term>
+
+    <!-- PUNCTUATION -->
+    <term name="open-quote">„</term>
+    <term name="close-quote">”</term>
+    <term name="open-inner-quote">«</term>
+    <term name="close-inner-quote">»</term>
+    <term name="page-range-delimiter">–</term>
+
+    <!-- ORDINALS -->
+    <term name="ordinal">.</term>
+
+    <!-- LONG ORDINALS -->
+    <term name="long-ordinal-01">pierwszy</term>
+    <term name="long-ordinal-02">drugi</term>
+    <term name="long-ordinal-03">trzeci</term>
+    <term name="long-ordinal-04">czwarty</term>
+    <term name="long-ordinal-05">piąty</term>
+    <term name="long-ordinal-06">szósty</term>
+    <term name="long-ordinal-07">siódmy</term>
+    <term name="long-ordinal-08">ósmy</term>
+    <term name="long-ordinal-09">dziewiąty</term>
+    <term name="long-ordinal-10">dziesiąty</term>
+
+    <!-- LONG LOCATOR FORMS -->
+    <term name="book">
+      <single>książka</single>
+      <multiple>książki</multiple>
+    </term>
+    <term name="chapter">
+      <single>rozdział</single>
+      <multiple>rozdziały</multiple>
+    </term>
+    <term name="column">
+      <single>kolumna</single>
+      <multiple>kolumny</multiple>
+    </term>
+    <term name="figure">
+      <single>rycina</single>
+      <multiple>ryciny</multiple>
+    </term>
+    <term name="folio">
+      <single>folio</single>
+      <multiple>folio</multiple>
+    </term>
+    <term name="issue">
+      <single>numer</single>
+      <multiple>numery</multiple>
+    </term>
+    <term name="line">
+      <single>wiersz</single>
+      <multiple>wiersze</multiple>
+    </term>
+    <term name="note">
+      <single>notatka</single>
+      <multiple>notatki</multiple>
+    </term>
+    <term name="opus">
+      <single>opus</single>
+      <multiple>opera</multiple>
+    </term>
+    <term name="page">
+      <single>strona</single>
+      <multiple>strony</multiple>
+    </term>
+    <term name="number-of-pages">
+      <single>strona</single>
+      <multiple>strony</multiple>
+    </term>
+    <term name="paragraph">
+      <single>akapit</single>
+      <multiple>akapity</multiple>
+    </term>
+    <term name="part">
+      <single>część</single>
+      <multiple>części</multiple>
+    </term>
+    <term name="section">
+      <single>sekcja</single>
+      <multiple>sekcje</multiple>
+    </term>
+    <term name="sub verbo">
+      <single>sub verbo</single>
+      <multiple>sub verbis</multiple>
+    </term>
+    <term name="verse">
+      <single>wers</single>
+      <multiple>wersy</multiple>
+    </term>
+    <term name="volume">
+      <single>tom</single>
+      <multiple>tomy</multiple>
+    </term>
+
+    <!-- SHORT LOCATOR FORMS -->
+    <term name="book" form="short">książka</term>
+    <term name="chapter" form="short">rozdz.</term>
+    <term name="column" form="short">kol.</term>
+    <term name="figure" form="short">ryc.</term>
+    <term name="folio" form="short">fol.</term>
+    <term name="issue" form="short">nr</term>
+    <term name="line" form="short">l.</term>
+    <term name="note" form="short">n.</term>
+    <term name="opus" form="short">op.</term>
+    <term name="page" form="short">
+      <single>s.</single>
+      <multiple>s.</multiple>
+    </term>
+    <term name="number-of-pages" form="short">
+      <single>s.</single>
+      <multiple>ss.</multiple>
+    </term>
+    <term name="paragraph" form="short">akap.</term>
+    <term name="part" form="short">cz.</term>
+    <term name="section" form="short">sekc.</term>
+    <term name="sub verbo" form="short">
+      <single>s.v.</single>
+      <multiple>s.vv.</multiple>
+    </term>
+    <term name="verse" form="short">
+      <single>w.</single>
+      <multiple>w.</multiple>
+    </term>
+    <term name="volume" form="short">
+      <single>t.</single>
+      <multiple>t.</multiple>
+    </term>
+
+    <!-- SYMBOL LOCATOR FORMS -->
+    <term name="paragraph" form="symbol">
+      <single>¶</single>
+      <multiple>¶¶</multiple>
+    </term>
+    <term name="section" form="symbol">
+      <single>§</single>
+      <multiple>§§</multiple>
+    </term>
+
+    <!-- LONG ROLE FORMS -->
+    <term name="director">
+      <single>reżyser</single>
+      <multiple>reżyserzy</multiple>
+    </term>
+    <term name="editor">
+      <single>redaktor</single>
+      <multiple>redaktorzy</multiple>
+    </term>
+    <term name="editorial-director">
+      <single>edytor</single>
+      <multiple>edytorzy</multiple>
+    </term>
+    <term name="illustrator">
+      <single>ilustrator</single>
+      <multiple>ilustratorzy</multiple>
+    </term>
+    <term name="translator">
+      <single>tłumacz</single>
+      <multiple>tłumacze</multiple>
+    </term>
+    <term name="editortranslator">
+      <single>redaktor & tłumacz</single>
+      <multiple>redaktorzy & tłumacze</multiple>
+    </term>
+
+    <!-- SHORT ROLE FORMS -->
+    <term name="director" form="short">
+      <single>reż.</single>
+      <multiple>reż.</multiple>
+    </term>
+    <term name="editor" form="short">
+      <single>red.</single>
+      <multiple>red.</multiple>
+    </term>
+    <term name="editorial-director" form="short">
+      <single>red.</single>
+      <multiple>red.</multiple>
+    </term>
+    <term name="illustrator" form="short">
+      <single>il.</single>
+      <multiple>il.</multiple>
+    </term>
+    <term name="translator" form="short">
+      <single>tłum.</single>
+      <multiple>tłum.</multiple>
+    </term>
+    <term name="editortranslator" form="short">
+      <single>red.tłum.</single>
+      <multiple>red.tłum.</multiple>
+    </term>
+
+    <!-- VERB ROLE FORMS -->
+    <term name="container-author" form="verb">przez</term>
+    <term name="director" form="verb">reżyserowane przez</term>
+    <term name="editor" form="verb">zredagowane przez</term>
+    <term name="editorial-director" form="verb">zredagowane przez</term>
+    <term name="illustrator" form="verb">ilustrowane przez</term>
+    <term name="interviewer" form="verb">przeprowadzony przez</term>
+    <term name="recipient" form="verb">dla</term>
+    <term name="reviewed-author" form="verb">przez</term>
+    <term name="translator" form="verb">przetłumaczone przez</term>
+    <term name="editortranslator" form="verb">zredagowane i przetłumaczone przez</term>
+
+    <!-- SHORT VERB ROLE FORMS -->
+    <term name="director" form="verb-short">reż.</term>
+    <term name="editor" form="verb-short">red.</term>
+    <term name="editorial-director" form="verb-short">red.</term>
+    <term name="illustrator" form="verb-short">il.</term>
+    <term name="translator" form="verb-short">tłum.</term>
+    <term name="editortranslator" form="verb-short">red.tłum.</term>
+
+    <!-- LONG MONTH FORMS -->
+    <term name="month-01">styczeń</term>
+    <term name="month-02">luty</term>
+    <term name="month-03">marzec</term>
+    <term name="month-04">kwiecień</term>
+    <term name="month-05">maj</term>
+    <term name="month-06">czerwiec</term>
+    <term name="month-07">lipiec</term>
+    <term name="month-08">sierpień</term>
+    <term name="month-09">wrzesień</term>
+    <term name="month-10">październik</term>
+    <term name="month-11">listopad</term>
+    <term name="month-12">grudzień</term>
+
+    <!-- SHORT MONTH FORMS -->
+    <term name="month-01" form="short">sty.</term>
+    <term name="month-02" form="short">luty</term>
+    <term name="month-03" form="short">mar.</term>
+    <term name="month-04" form="short">kwi.</term>
+    <term name="month-05" form="short">maj</term>
+    <term name="month-06" form="short">cze.</term>
+    <term name="month-07" form="short">lip.</term>
+    <term name="month-08" form="short">sie.</term>
+    <term name="month-09" form="short">wrz.</term>
+    <term name="month-10" form="short">paź.</term>
+    <term name="month-11" form="short">lis.</term>
+    <term name="month-12" form="short">grudz.</term>
+
+    <!-- SEASONS -->
+    <term name="season-01">wiosna</term>
+    <term name="season-02">lato</term>
+    <term name="season-03">jesień</term>
+    <term name="season-04">zima</term>
+  </terms>
+</locale>

Added: trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-pt-BR.xml
===================================================================
--- trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-pt-BR.xml	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-pt-BR.xml	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,324 @@
+<?xml version="1.0" encoding="utf-8"?>
+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="pt-BR">
+  <info>
+    <translator>
+      <name>José Antonio Meira da Rocha</name>
+    </translator>
+    <translator>
+      <name>Meira da Rocha</name>
+    </translator>
+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
+    <updated>2021-12-16T08:33:10-03:00</updated>
+  </info>
+  <style-options punctuation-in-quote="false" limit-day-ordinals-to-day-1="true"/>
+  <date form="text">
+    <date-part name="day" form="ordinal" suffix=" de "/>
+    <date-part name="month" suffix=" de "/>
+    <date-part name="year"/>
+  </date>
+  <date form="numeric">
+    <date-part name="day" form="numeric-leading-zeros" suffix="/"/>
+    <date-part name="month" form="numeric-leading-zeros" suffix="/"/>
+    <date-part name="year"/>
+  </date>
+  <terms>
+    <term name="accessed">acessado</term>
+    <term name="and">e</term>
+    <term name="and others">e outros</term>
+    <term name="anonymous">anônimo</term>
+    <term name="anonymous" form="short">anon</term>
+    <term name="at">em</term>
+    <term name="available at">disponível em</term>
+    <term name="by">por</term>
+    <term name="circa">circa</term>
+    <term name="circa" form="short">c.</term>
+    <term name="cited">citado</term>
+    <term name="edition">
+      <single>edição</single>
+      <multiple>edições</multiple>
+    </term>
+    <term name="edition" form="short">ed</term>
+    <term name="et-al">et al.</term>
+    <term name="forthcoming">a ser publicado</term>
+    <term name="from">de</term>
+    <term name="ibid">ibidem</term>
+    <term name="in">em</term>
+    <term name="in press">no prelo</term>
+    <term name="internet">internet</term>
+    <term name="interview">entrevista</term>
+    <term name="letter">carta</term>
+    <term name="no date">sem data</term>
+    <term name="no date" form="short">[s.d.]</term>
+    <term name="online">online</term>
+    <term name="presented at">apresentado em</term>
+    <term name="reference">
+      <single>referência</single>
+      <multiple>referências</multiple>
+    </term>
+    <term name="reference" form="short">
+      <single>ref.</single>
+      <multiple>refs.</multiple>
+    </term>
+    <term name="retrieved">recuperado</term>
+    <term name="scale">escala</term>
+    <term name="version">versão</term>
+
+    <!-- ANNO DOMINI; BEFORE CHRIST -->
+    <term name="ad">DC</term>
+    <term name="bc">AC</term>
+
+    <!-- PUNCTUATION -->
+    <term name="open-quote">“</term>
+    <term name="close-quote">”</term>
+    <term name="open-inner-quote">‘</term>
+    <term name="close-inner-quote">’</term>
+    <term name="page-range-delimiter">–</term>
+
+    <!-- ORDINALS -->
+    <term name="ordinal">º</term>
+    <term name="ordinal-01" gender-form="feminine" match="whole-number">ª</term>
+    <term name="ordinal-01" gender-form="masculine" match="whole-number">º</term>
+
+    <!-- LONG ORDINALS -->
+    <term name="long-ordinal-01" gender-form="masculine">primeiro</term>
+    <term name="long-ordinal-02" gender-form="masculine">segundo</term>
+    <term name="long-ordinal-03" gender-form="masculine">terceiro</term>
+    <term name="long-ordinal-04" gender-form="masculine">quarto</term>
+    <term name="long-ordinal-05" gender-form="masculine">quinto</term>
+    <term name="long-ordinal-06" gender-form="masculine">sexto</term>
+    <term name="long-ordinal-07" gender-form="masculine">sétimo</term>
+    <term name="long-ordinal-08" gender-form="masculine">oitavo</term>
+    <term name="long-ordinal-09" gender-form="masculine">nono</term>
+    <term name="long-ordinal-10" gender-form="masculine">décimo</term>
+    <term name="long-ordinal-01" gender-form="feminine">primeira</term>
+    <term name="long-ordinal-02" gender-form="feminine">segunda</term>
+    <term name="long-ordinal-03" gender-form="feminine">terceira</term>
+    <term name="long-ordinal-04" gender-form="feminine">quarta</term>
+    <term name="long-ordinal-05" gender-form="feminine">quinta</term>
+    <term name="long-ordinal-06" gender-form="feminine">sexta</term>
+    <term name="long-ordinal-07" gender-form="feminine">sétima</term>
+    <term name="long-ordinal-08" gender-form="feminine">oitava</term>
+    <term name="long-ordinal-09" gender-form="feminine">nona</term>
+    <term name="long-ordinal-10" gender-form="feminine">décima</term>
+
+    <!-- LONG LOCATOR FORMS -->
+    <term name="book">
+      <single>livro</single>
+      <multiple>livros</multiple>
+    </term>
+    <term name="chapter">
+      <single>capítulo</single>
+      <multiple>capítulos</multiple>
+    </term>
+    <term name="column">
+      <single>coluna</single>
+      <multiple>colunas</multiple>
+    </term>
+    <term name="figure">
+      <single>figura</single>
+      <multiple>figuras</multiple>
+    </term>
+    <term name="folio">
+      <single>folio</single>
+      <multiple>folios</multiple>
+    </term>
+    <term name="issue">
+      <single>número</single>
+      <multiple>números</multiple>
+    </term>
+    <term name="line">
+      <single>linha</single>
+      <multiple>linhas</multiple>
+    </term>
+    <term name="note">
+      <single>nota</single>
+      <multiple>notas</multiple>
+    </term>
+    <term name="opus">
+      <single>opus</single>
+      <multiple>opera</multiple>
+    </term>
+    <term name="page">
+      <single>página</single>
+      <multiple>páginas</multiple>
+    </term>
+    <term name="number-of-pages">
+      <single>página</single>
+      <multiple>páginas</multiple>
+    </term>
+    <term name="paragraph">
+      <single>parágrafo</single>
+      <multiple>parágrafos</multiple>
+    </term>
+    <term name="part">
+      <single>parte</single>
+      <multiple>partes</multiple>
+    </term>
+    <term name="section">
+      <single>seção</single>
+      <multiple>seções</multiple>
+    </term>
+    <term name="sub verbo">
+      <single>sub verbo</single>
+      <multiple>sub verbis</multiple>
+    </term>
+    <term name="verse">
+      <single>verso</single>
+      <multiple>versos</multiple>
+    </term>
+    <term name="volume">
+      <single>volume</single>
+      <multiple>volumes</multiple>
+    </term>
+
+    <!-- SHORT LOCATOR FORMS -->
+    <term name="book" form="short">liv.</term>
+    <term name="chapter" form="short">cap.</term>
+    <term name="column" form="short">col.</term>
+    <term name="figure" form="short">fig.</term>
+    <term name="folio" form="short">f.</term>
+    <term name="issue" form="short">nº</term>
+    <term name="line" form="short">l.</term>
+    <term name="note" form="short">n.</term>
+    <term name="opus" form="short">op.</term>
+    <term name="page" form="short">
+      <single>p.</single>
+      <multiple>p.</multiple>
+    </term>
+    <term name="number-of-pages" form="short">
+      <single>p.</single>
+      <multiple>p.</multiple>
+    </term>
+    <term name="paragraph" form="short">parag.</term>
+    <term name="part" form="short">pt.</term>
+    <term name="section" form="short">seç.</term>
+    <term name="sub verbo" form="short">
+      <single>s.v.</single>
+      <multiple>s.vv.</multiple>
+    </term>
+    <term name="verse" form="short">
+      <single>v.</single>
+      <multiple>vv.</multiple>
+    </term>
+    <term name="volume" form="short">
+      <single>vol.</single>
+      <multiple>vols.</multiple>
+    </term>
+
+    <!-- SYMBOL LOCATOR FORMS -->
+    <term name="paragraph" form="symbol">
+      <single>¶</single>
+      <multiple>¶¶</multiple>
+    </term>
+    <term name="section" form="symbol">
+      <single>§</single>
+      <multiple>§§</multiple>
+    </term>
+
+    <!-- LONG ROLE FORMS -->
+    <term name="director">
+      <single>diretor</single>
+      <multiple>diretores</multiple>
+    </term>
+    <term name="editor">
+      <single>organizador</single>
+      <multiple>organizadores</multiple>
+    </term>
+    <term name="editorial-director">
+      <single>editor</single>
+      <multiple>editores</multiple>
+    </term>
+    <term name="illustrator">
+      <single>ilustrador</single>
+      <multiple>ilustradores</multiple>
+    </term>
+    <term name="translator">
+      <single>tradutor</single>
+      <multiple>tradutores</multiple>
+    </term>
+    <term name="editortranslator">
+      <single>editor e tradutor</single>
+      <multiple>editores e tradutores</multiple>
+    </term>
+
+    <!-- SHORT ROLE FORMS -->
+    <term name="director" form="short">
+      <single>dir.</single>
+      <multiple>dirs.</multiple>
+    </term>
+    <term name="editor" form="short">
+      <single>org.</single>
+      <multiple>orgs.</multiple>
+    </term>
+    <term name="editorial-director" form="short">
+      <single>ed.</single>
+      <multiple>eds.</multiple>
+    </term>
+    <term name="illustrator" form="short">
+      <single>il.</single>
+      <multiple>ils.</multiple>
+    </term>
+    <term name="translator" form="short">
+      <single>trad.</single>
+      <multiple>trads.</multiple>
+    </term>
+    <term name="editortranslator" form="short">
+      <single>ed. e trad.</single>
+      <multiple>eds. e trads.</multiple>
+    </term>
+
+    <!-- VERB ROLE FORMS -->
+    <term name="container-author" form="verb">por</term>
+    <term name="director" form="verb">dirigido por</term>
+    <term name="editor" form="verb">organizado por</term>
+    <term name="editorial-director" form="verb">editado por</term>
+    <term name="illustrator" form="verb">ilustrado por</term>
+    <term name="interviewer" form="verb">entrevista de</term>
+    <term name="recipient" form="verb">para</term>
+    <term name="reviewed-author" form="verb">por</term>
+    <term name="translator" form="verb">traduzido por</term>
+    <term name="editortranslator" form="verb">editado e traduzido por</term>
+
+    <!-- SHORT VERB ROLE FORMS -->
+    <term name="director" form="verb-short">dir.</term>
+    <term name="editor" form="verb-short">org.</term>
+    <term name="editorial-director" form="verb-short">ed.</term>
+    <term name="illustrator" form="verb-short">ilus.</term>
+    <term name="translator" form="verb-short">trad.</term>
+    <term name="editortranslator" form="verb-short">ed. e trad. por</term>
+
+    <!-- LONG MONTH FORMS -->
+    <term name="month-01">janeiro</term>
+    <term name="month-02">fevereiro</term>
+    <term name="month-03">março</term>
+    <term name="month-04">abril</term>
+    <term name="month-05">maio</term>
+    <term name="month-06">junho</term>
+    <term name="month-07">julho</term>
+    <term name="month-08">agosto</term>
+    <term name="month-09">setembro</term>
+    <term name="month-10">outubro</term>
+    <term name="month-11">novembro</term>
+    <term name="month-12">dezembro</term>
+
+    <!-- SHORT MONTH FORMS -->
+    <term name="month-01" form="short">jan.</term>
+    <term name="month-02" form="short">fev.</term>
+    <term name="month-03" form="short">mar.</term>
+    <term name="month-04" form="short">abr.</term>
+    <term name="month-05" form="short">maio</term>
+    <term name="month-06" form="short">jun.</term>
+    <term name="month-07" form="short">jul.</term>
+    <term name="month-08" form="short">ago.</term>
+    <term name="month-09" form="short">set.</term>
+    <term name="month-10" form="short">out.</term>
+    <term name="month-11" form="short">nov.</term>
+    <term name="month-12" form="short">dez.</term>
+
+    <!-- SEASONS -->
+    <term name="season-01">Primavera</term>
+    <term name="season-02">Verão</term>
+    <term name="season-03">Outono</term>
+    <term name="season-04">Inverno</term>
+  </terms>
+</locale>

Added: trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-pt-PT.xml
===================================================================
--- trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-pt-PT.xml	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-pt-PT.xml	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,320 @@
+<?xml version="1.0" encoding="utf-8"?>
+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="pt-PT">
+  <info>
+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
+    <updated>2015-10-15T14:41:06-04:00</updated>
+    <translator>
+      <name>Jonadabe PT</name>
+    </translator>
+  </info>
+  <style-options punctuation-in-quote="false"/>
+  <date form="text">
+    <date-part name="day" suffix=" de "/>
+    <date-part name="month" suffix=" de "/>
+    <date-part name="year"/>
+  </date>
+  <date form="numeric">
+    <date-part name="day" form="numeric-leading-zeros" suffix="/"/>
+    <date-part name="month" form="numeric-leading-zeros" suffix="/"/>
+    <date-part name="year"/>
+  </date>
+  <terms>
+    <term name="accessed">acedido</term>
+    <term name="and">e</term>
+    <term name="and others">e outros</term>
+    <term name="anonymous">anónimo</term>
+    <term name="anonymous" form="short">anón.</term>
+    <term name="at">em</term>
+    <term name="available at">disponível em</term>
+    <term name="by">por</term>
+    <term name="circa">circa</term>
+    <term name="circa" form="short">c.</term>
+    <term name="cited">citado</term>
+    <term name="edition">
+      <single>edição</single>
+      <multiple>edições</multiple>
+    </term>
+    <term name="edition" form="short">ed.</term>
+    <term name="et-al">et al.</term>
+    <term name="forthcoming">a publicar</term>
+    <term name="from">de</term>
+    <term name="ibid">ibid.</term>
+    <term name="in">em</term>
+    <term name="in press">no prelo</term>
+    <term name="internet">internet</term>
+    <term name="interview">entrevista</term>
+    <term name="letter">carta</term>
+    <term name="no date">sem data</term>
+    <term name="no date" form="short">sem data</term>
+    <term name="online">em linha</term>
+    <term name="presented at">apresentado na</term>
+    <term name="reference">
+      <single>referência</single>
+      <multiple>referências</multiple>
+    </term>
+    <term name="reference" form="short">
+      <single>ref.</single>
+      <multiple>refs.</multiple>
+    </term>
+    <term name="retrieved">obtido</term>
+    <term name="scale">scale</term>
+    <term name="version">versão</term>
+
+    <!-- ANNO DOMINI; BEFORE CHRIST -->
+    <term name="ad">AD</term>
+    <term name="bc">BC</term>
+
+    <!-- PUNCTUATION -->
+    <term name="open-quote">«</term>
+    <term name="close-quote">»</term>
+    <term name="open-inner-quote">“</term>
+    <term name="close-inner-quote">”</term>
+    <term name="page-range-delimiter">–</term>
+
+    <!-- ORDINALS -->
+    <term name="ordinal" gender-form="masculine" match="whole-number">.º</term>
+    <term name="ordinal" gender-form="feminine" match="whole-number">.ª</term>
+
+    <!-- LONG ORDINALS -->
+    <term name="long-ordinal-01" gender-form="masculine">primeiro</term>
+    <term name="long-ordinal-01" gender-form="feminine">primeira</term>
+    <term name="long-ordinal-02" gender-form="masculine">segundo</term>
+    <term name="long-ordinal-02" gender-form="feminine">segunda</term>    
+    <term name="long-ordinal-03" gender-form="masculine">terceiro</term>
+    <term name="long-ordinal-03" gender-form="feminine">terceira</term>    
+    <term name="long-ordinal-04" gender-form="masculine">quarto</term>
+    <term name="long-ordinal-04" gender-form="feminine">quarta</term>
+    <term name="long-ordinal-05" gender-form="masculine">quinto</term>
+    <term name="long-ordinal-05" gender-form="feminine">quinta</term>
+    <term name="long-ordinal-06" gender-form="masculine">sexto</term>
+    <term name="long-ordinal-06" gender-form="feminine">sexta</term>
+    <term name="long-ordinal-07" gender-form="masculine">sétimo</term>
+    <term name="long-ordinal-07" gender-form="feminine">sétima</term>
+    <term name="long-ordinal-08" gender-form="masculine">oitavo</term>
+    <term name="long-ordinal-08" gender-form="feminine">oitava</term>
+    <term name="long-ordinal-09" gender-form="masculine">nono</term>
+    <term name="long-ordinal-09" gender-form="feminine">nona</term>
+    <term name="long-ordinal-10" gender-form="masculine">décimo</term>
+    <term name="long-ordinal-10" gender-form="feminine">décima</term>
+
+    <!-- LONG LOCATOR FORMS -->
+    <term name="book">
+      <single>livro</single>
+      <multiple>livros</multiple>
+    </term>
+    <term name="chapter">
+      <single>capítulo</single>
+      <multiple>capítulos</multiple>
+    </term>
+    <term name="column">
+      <single>coluna</single>
+      <multiple>colunas</multiple>
+    </term>
+    <term name="figure">
+      <single>figura</single>
+      <multiple>figuras</multiple>
+    </term>
+    <term name="folio">
+      <single>fólio</single>
+      <multiple>fólios</multiple>
+    </term>
+    <term name="issue">
+      <single>número</single>
+      <multiple>números</multiple>
+    </term>
+    <term name="line">
+      <single>linha</single>
+      <multiple>linhas</multiple>
+    </term>
+    <term name="note">
+      <single>nota</single>
+      <multiple>notas</multiple>
+    </term>
+    <term name="opus">
+      <single>opus</single>
+      <multiple>opera</multiple>
+    </term>
+    <term name="page">
+      <single>página</single>
+      <multiple>páginas</multiple>
+    </term>
+    <term name="number-of-pages">
+      <single>página</single>
+      <multiple>páginas</multiple>
+    </term>
+    <term name="paragraph">
+      <single>parágrafo</single>
+      <multiple>parágrafos</multiple>
+    </term>
+    <term name="part">
+      <single>parte</single>
+      <multiple>partes</multiple>
+    </term>
+    <term name="section">
+      <single>secção</single>
+      <multiple>secções</multiple>
+    </term>
+    <term name="sub verbo">
+      <single>sub verbo</single>
+      <multiple>sub verbis</multiple>
+    </term>
+    <term name="verse">
+      <single>versículo</single>
+      <multiple>versículos</multiple>
+    </term>
+    <term name="volume">
+      <single>volume</single>
+      <multiple>volumes</multiple>
+    </term>
+
+    <!-- SHORT LOCATOR FORMS -->
+    <term name="book" form="short">liv.</term>
+    <term name="chapter" form="short">cap.</term>
+    <term name="column" form="short">col.</term>
+    <term name="figure" form="short">fig.</term>
+    <term name="folio" form="short">f.</term>
+    <term name="issue" form="short">n.</term>
+    <term name="line" form="short">l.</term>
+    <term name="note" form="short">n.</term>
+    <term name="opus" form="short">op.</term>
+    <term name="page" form="short">
+      <single>p.</single>
+      <multiple>pp.</multiple>
+    </term>
+    <term name="number-of-pages" form="short">
+      <single>p.</single>
+      <multiple>pp.</multiple>
+    </term>
+    <term name="paragraph" form="short">par.</term>
+    <term name="part" form="short">pt.</term>
+    <term name="section" form="short">sec.</term>
+    <term name="sub verbo" form="short">
+      <single>s.v.</single>
+      <multiple>s.vv.</multiple>
+    </term>
+    <term name="verse" form="short">
+      <single>v</single>
+      <multiple>vv</multiple>
+    </term>
+    <term name="volume" form="short">
+      <single>vol.</single>
+      <multiple>vols.</multiple>
+    </term>
+
+    <!-- SYMBOL LOCATOR FORMS -->
+    <term name="paragraph" form="symbol">
+      <single>¶</single>
+      <multiple>¶¶</multiple>
+    </term>
+    <term name="section" form="symbol">
+      <single>§</single>
+      <multiple>§§</multiple>
+    </term>
+
+    <!-- LONG ROLE FORMS -->
+    <term name="director">
+      <single>director</single>
+      <multiple>directores</multiple>
+    </term>
+    <term name="editor">
+      <single>editor</single>
+      <multiple>editores</multiple>
+    </term>
+    <term name="editorial-director">
+      <single>editor</single>
+      <multiple>editores</multiple>
+    </term>
+    <term name="illustrator">
+      <single>ilustrador</single>
+      <multiple>ilustradores</multiple>
+    </term>
+    <term name="translator">
+      <single>tradutor</single>
+      <multiple>tradutores</multiple>
+    </term>
+    <term name="editortranslator">
+      <single>editor & tradutor</single>
+      <multiple>editores & tradutores</multiple>
+    </term>
+
+    <!-- SHORT ROLE FORMS -->
+    <term name="director" form="short">
+      <single>dir.</single>
+      <multiple>dirs.</multiple>
+    </term>
+    <term name="editor" form="short">
+      <single>ed.</single>
+      <multiple>eds.</multiple>
+    </term>
+    <term name="editorial-director" form="short">
+      <single>ed.</single>
+      <multiple>eds.</multiple>
+    </term>
+    <term name="illustrator" form="short">
+      <single>il.</single>
+      <multiple>ils.</multiple>
+    </term>
+    <term name="translator" form="short">
+      <single>trad.</single>
+      <multiple>trads.</multiple>
+    </term>
+    <term name="editortranslator" form="short">
+      <single>ed. & trad.</single>
+      <multiple>eds. & trads.</multiple>
+    </term>
+
+    <!-- VERB ROLE FORMS -->
+    <term name="container-author" form="verb">por</term>
+    <term name="director" form="verb">dirigido por</term>
+    <term name="editor" form="verb">editado por</term>
+    <term name="editorial-director" form="verb">editorial de</term>
+    <term name="illustrator" form="verb">ilustrado por</term>
+    <term name="interviewer" form="verb">entrevistado por</term>
+    <term name="recipient" form="verb">para</term>
+    <term name="reviewed-author" form="verb">revisto por</term>
+    <term name="translator" form="verb">traduzido por</term>
+    <term name="editortranslator" form="verb">editado & traduzido por</term>
+
+    <!-- SHORT VERB ROLE FORMS -->
+    <term name="director" form="verb-short">dir.</term>
+    <term name="editor" form="verb-short">ed.</term>
+    <term name="editorial-director" form="verb-short">ed.</term>
+    <term name="illustrator" form="verb-short">ilus.</term>
+    <term name="translator" form="verb-short">trad.</term>
+    <term name="editortranslator" form="verb-short">ed. & trad. por</term>
+
+    <!-- LONG MONTH FORMS -->
+    <term name="month-01">Janeiro</term>
+    <term name="month-02">Fevereiro</term>
+    <term name="month-03">Março</term>
+    <term name="month-04">Abril</term>
+    <term name="month-05">Maio</term>
+    <term name="month-06">Junho</term>
+    <term name="month-07">Julho</term>
+    <term name="month-08">Agosto</term>
+    <term name="month-09">Setembro</term>
+    <term name="month-10">Outubro</term>
+    <term name="month-11">Novembro</term>
+    <term name="month-12">Dezembro</term>
+
+    <!-- SHORT MONTH FORMS -->
+    <term name="month-01" form="short">Jan.</term>
+    <term name="month-02" form="short">Fev.</term>
+    <term name="month-03" form="short">Mar.</term>
+    <term name="month-04" form="short">Abr.</term>
+    <term name="month-05" form="short">Mai.</term>
+    <term name="month-06" form="short">Jun.</term>
+    <term name="month-07" form="short">Jul.</term>
+    <term name="month-08" form="short">Ago.</term>
+    <term name="month-09" form="short">Set.</term>
+    <term name="month-10" form="short">Out.</term>
+    <term name="month-11" form="short">Nov.</term>
+    <term name="month-12" form="short">Dez.</term>
+
+    <!-- SEASONS -->
+    <term name="season-01">Primavera</term>
+    <term name="season-02">Verão</term>
+    <term name="season-03">Outono</term>
+    <term name="season-04">Inverno</term>
+  </terms>
+</locale>

Added: trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-ro-RO.xml
===================================================================
--- trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-ro-RO.xml	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-ro-RO.xml	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,311 @@
+<?xml version="1.0" encoding="utf-8"?>
+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="ro-RO">
+  <info>
+    <translator>
+      <name>Nicolae Turcan</name>
+      <email>nturcan at gmail.com</email>
+    </translator>
+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
+    <updated>2019-02-23T11:26:39+02:00</updated>
+  </info>
+  <style-options punctuation-in-quote="false"/>
+  <date form="text">
+    <date-part name="day" suffix=" "/>
+    <date-part name="month" suffix=" "/>
+    <date-part name="year"/>
+  </date>
+  <date form="numeric">
+    <date-part name="day" suffix="."/>
+    <date-part name="month" form="numeric" suffix="."/>
+    <date-part name="year"/>
+  </date>
+  <terms>
+    <term name="accessed">data accesării</term>
+    <term name="and">și</term>
+    <term name="and others">și alții</term>
+    <term name="anonymous">anonim</term>
+    <term name="anonymous" form="short">anon.</term>
+    <term name="at">la</term>
+    <term name="available at">disponibil la</term>
+    <term name="by">de</term>
+    <term name="circa">circa</term>
+    <term name="circa" form="short">cca.</term>
+    <term name="cited">citat</term>
+    <term name="edition">
+      <single>ediția</single>
+      <multiple>edițiile</multiple>
+    </term>
+    <term name="edition" form="short">ed</term>
+    <term name="et-al">et al.</term>
+    <term name="forthcoming">în curs de apariție</term>
+    <term name="from">din</term>
+    <term name="ibid">ibidem</term>
+    <term name="in">în</term>
+    <term name="in press">sub tipar</term>
+    <term name="internet">internet</term>
+    <term name="interview">interviu</term>
+    <term name="letter">scrisoare</term>
+    <term name="no date">fără dată</term>
+    <term name="no date" form="short">f.a.</term>
+    <term name="online">online</term>
+    <term name="presented at">prezentat la</term>
+    <term name="reference">
+      <single>referință</single>
+      <multiple>referințe</multiple>
+    </term>
+    <term name="reference" form="short">
+      <single>ref.</single>
+      <multiple>ref.</multiple>
+    </term>
+    <term name="retrieved">preluat în</term>
+    <term name="scale">scală</term>
+    <term name="version">versiunea</term>
+
+    <!-- ANNO DOMINI; BEFORE CHRIST -->
+    <term name="ad">d.Hr.</term>
+    <term name="bc">î.Hr.</term>
+
+    <!-- PUNCTUATION -->
+    <term name="open-quote">„</term>
+    <term name="close-quote">”</term>
+    <term name="open-inner-quote">«</term>
+    <term name="close-inner-quote">»</term>
+    <term name="page-range-delimiter">–</term>
+
+    <!-- ORDINALS -->
+    <term name="ordinal">-lea</term>
+    <term name="ordinal-01" match="whole-number"></term>
+
+    <!-- LONG ORDINALS -->
+    <term name="long-ordinal-01">primul</term>
+    <term name="long-ordinal-02">al doilea</term>
+    <term name="long-ordinal-03">al treilea</term>
+    <term name="long-ordinal-04">al patrulea</term>
+    <term name="long-ordinal-05">al cincilea</term>
+    <term name="long-ordinal-06">al șaselea</term>
+    <term name="long-ordinal-07">al șaptelea</term>
+    <term name="long-ordinal-08">al optulea</term>
+    <term name="long-ordinal-09">al nouălea</term>
+    <term name="long-ordinal-10">al zecelea</term>
+
+    <!-- LONG LOCATOR FORMS -->
+    <term name="book">
+      <single>cartea</single>
+      <multiple>cărțile</multiple>
+    </term>
+    <term name="chapter">
+      <single>capitolul</single>
+      <multiple>capitolele</multiple>
+    </term>
+    <term name="column">
+      <single>coloana</single>
+      <multiple>coloanele</multiple>
+    </term>
+    <term name="figure">
+      <single>figura</single>
+      <multiple>figurile</multiple>
+    </term>
+    <term name="folio">
+      <single>folio</single>
+      <multiple>folio</multiple>
+    </term>
+    <term name="issue">
+      <single>numărul</single>
+      <multiple>numerele</multiple>
+    </term>
+    <term name="line">
+      <single>linia</single>
+      <multiple>liniile</multiple>
+    </term>
+    <term name="note">
+      <single>nota</single>
+      <multiple>notele</multiple>
+    </term>
+    <term name="opus">
+      <single>opusul</single>
+      <multiple>opusurile</multiple>
+    </term>
+    <term name="page">
+      <single>pagina</single>
+      <multiple>paginile</multiple>
+    </term>
+    <term name="number-of-pages">
+      <single>pagina</single>
+      <multiple>paginile</multiple>
+    </term>
+    <term name="paragraph">
+      <single>paragraful</single>
+      <multiple>paragrafele</multiple>
+    </term>
+    <term name="part">
+      <single>partea</single>
+      <multiple>părțile</multiple>
+    </term>
+    <term name="section">
+      <single>secțiunea</single>
+      <multiple>secțiunile</multiple>
+    </term>
+    <term name="sub verbo">
+      <single>sub verbo</single>
+      <multiple>sub verbis</multiple>
+    </term>
+    <term name="verse">
+      <single>versetul</single>
+      <multiple>versetele</multiple>
+    </term>
+    <term name="volume">
+      <single>volumul</single>
+      <multiple>volumele</multiple>
+    </term>
+
+    <!-- SHORT LOCATOR FORMS -->
+    <term name="book" form="short">cart.</term>
+    <term name="chapter" form="short">cap.</term>
+    <term name="column" form="short">col.</term>
+    <term name="figure" form="short">fig.</term>
+    <term name="folio" form="short">fol.</term>
+    <term name="issue" form="short">nr.</term>
+    <term name="line" form="short">l.</term>
+    <term name="note" form="short">n.</term>
+    <term name="opus" form="short">op.</term>
+    <term name="page" form="short">
+      <single>p.</single>
+      <multiple>pp.</multiple>
+    </term>
+    <term name="number-of-pages" form="short">
+      <single>p.</single>
+      <multiple>pp.</multiple>
+    </term>
+    <term name="paragraph" form="short">par.</term>
+    <term name="part" form="short">part.</term>
+    <term name="section" form="short">sec.</term>
+    <term name="sub verbo" form="short">
+      <single>s.v.</single>
+      <multiple>s.vv.</multiple>
+    </term>
+    <term name="verse" form="short">
+      <single>v.</single>
+      <multiple>vv.</multiple>
+    </term>
+    <term name="volume" form="short">
+      <single>vol.</single>
+      <multiple>vol.</multiple>
+    </term>
+
+    <!-- SYMBOL LOCATOR FORMS -->
+    <term name="paragraph" form="symbol">
+      <single>¶</single>
+      <multiple>¶¶</multiple>
+    </term>
+    <term name="section" form="symbol">
+      <single>§</single>
+      <multiple>§§</multiple>
+    </term>
+
+    <!-- LONG ROLE FORMS -->
+    <term name="director">
+      <single>director</single>
+      <multiple>directori</multiple>
+    </term>
+    <term name="editor">
+      <single>editor</single>
+      <multiple>editori</multiple>
+    </term>
+    <term name="editorial-director">
+      <single>coordonator</single>
+      <multiple>coordonatori</multiple>
+    </term>
+    <term name="illustrator">
+      <single>ilustrator</single>
+      <multiple>ilustratori</multiple>
+    </term>
+    <term name="translator">
+      <single>traducător</single>
+      <multiple>traducători</multiple>
+    </term>
+    <term name="editortranslator">
+      <single>editor și traducător</single>
+      <multiple>editori și traducători</multiple>
+    </term>
+
+    <!-- SHORT ROLE FORMS -->
+    <term name="director" form="short">
+      <single>dir.</single>
+      <multiple>dir.</multiple>
+    </term>
+    <term name="editor" form="short">
+      <single>ed.</single>
+      <multiple>ed.</multiple>
+    </term>
+    <term name="editorial-director" form="short">
+      <single>coord.</single>
+      <multiple>coord.</multiple>
+    </term>
+    <term name="illustrator" form="short">
+      <single>ilustr.</single>
+      <multiple>ilustr.</multiple>
+    </term>
+    <term name="translator" form="short">
+      <single>trad.</single>
+      <multiple>trad.</multiple>
+    </term>
+    <term name="editortranslator" form="short">
+      <single>ed. și trad.</single>
+      <multiple>ed. și trad.</multiple>
+    </term>
+
+    <!-- VERB ROLE FORMS -->
+    <term name="container-author" form="verb">de</term>
+    <term name="director" form="verb">coordonat de</term>
+    <term name="editor" form="verb">ediție de</term>
+    <term name="editorial-director" form="verb">coordonator</term>
+    <term name="illustrator" form="verb">ilustrații de</term>
+    <term name="interviewer" form="verb">interviu de</term>
+    <term name="recipient" form="verb">în</term>
+    <term name="reviewed-author" form="verb">de</term>
+    <term name="translator" form="verb">traducere de</term>
+    <term name="editortranslator" form="verb">ediție și traducere de</term>
+
+    <!-- SHORT VERB ROLE FORMS -->
+    <term name="director" form="verb-short">dir.</term>
+    <term name="editor" form="verb-short">ed.</term>
+    <term name="editorial-director" form="verb-short">coord.</term>
+    <term name="illustrator" form="verb-short">ilustr.</term>
+    <term name="translator" form="verb-short">trad.</term>
+    <term name="editortranslator" form="verb-short">ed. și trad. de</term>
+
+    <!-- LONG MONTH FORMS -->
+    <term name="month-01">ianuarie</term>
+    <term name="month-02">februarie</term>
+    <term name="month-03">martie</term>
+    <term name="month-04">aprilie</term>
+    <term name="month-05">mai</term>
+    <term name="month-06">iunie</term>
+    <term name="month-07">iulie</term>
+    <term name="month-08">august</term>
+    <term name="month-09">septembrie</term>
+    <term name="month-10">octombrie</term>
+    <term name="month-11">noiembrie</term>
+    <term name="month-12">decembrie</term>
+
+    <!-- SHORT MONTH FORMS -->
+    <term name="month-01" form="short">ian.</term>
+    <term name="month-02" form="short">feb.</term>
+    <term name="month-03" form="short">mar.</term>
+    <term name="month-04" form="short">apr.</term>
+    <term name="month-05" form="short">mai</term>
+    <term name="month-06" form="short">iun.</term>
+    <term name="month-07" form="short">iul.</term>
+    <term name="month-08" form="short">aug.</term>
+    <term name="month-09" form="short">sep.</term>
+    <term name="month-10" form="short">oct.</term>
+    <term name="month-11" form="short">nov.</term>
+    <term name="month-12" form="short">dec.</term>
+
+    <!-- SEASONS -->
+    <term name="season-01">primăvara</term>
+    <term name="season-02">vara</term>
+    <term name="season-03">toamna</term>
+    <term name="season-04">iarna</term>
+  </terms>
+</locale>

Added: trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-ru-RU.xml
===================================================================
--- trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-ru-RU.xml	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-ru-RU.xml	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,321 @@
+<?xml version="1.0" encoding="utf-8"?>
+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="ru-RU">
+  <info>
+    <translator>
+      <name>Alexei Kouprianov</name>
+      <email>alexei.kouprianov at gmail.com</email>
+    </translator>
+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
+    <updated>2015-10-15T16:51:15-04:00</updated>
+  </info>
+  <style-options punctuation-in-quote="false"/>
+  <date form="text">
+    <date-part name="day" suffix=" "/>
+    <date-part name="month" suffix=" "/>
+    <date-part name="year" suffix=" г."/>
+  </date>
+  <date form="numeric">
+    <date-part name="day" form="numeric-leading-zeros" suffix="."/>
+    <date-part name="month" form="numeric-leading-zeros" suffix="."/>
+    <date-part name="year"/>
+  </date>
+  <terms>
+    <term name="accessed">просмотрено</term>
+    <term name="and">и</term>
+    <term name="and others">и др.</term>
+    <term name="anonymous">аноним</term>
+    <term name="anonymous" form="short">анон.</term>
+    <term name="at">на</term>
+    <term name="available at">доступно на</term>
+    <term name="by"></term>
+    <term name="circa">около</term>
+    <term name="circa" form="short">ок.</term>
+    <term name="cited">цитируется по</term>
+    <term name="cited" form="short">цит. по</term>
+    <term name="edition"> <!-- gender="neuter" -->
+      <single>издание</single>
+      <multiple>издания</multiple>
+    </term>
+    <term name="edition" form="short">изд.</term>
+    <term name="et-al">и др.</term>
+    <term name="forthcoming">ожидается</term>
+    <term name="from">от</term>
+    <term name="ibid">там же</term>
+    <term name="in">в</term>
+    <term name="in press">в печати</term>
+    <term name="internet">Интернет</term>
+    <term name="interview">интервью</term>
+    <term name="letter">письмо</term>
+    <term name="no date">без даты</term>
+    <term name="no date" form="short">б. д.</term>
+    <term name="online">онлайн</term>
+    <term name="presented at">представлено на</term>
+    <!-- Сложно подобрать один перевод для следующего термина. В зависимости от контекста это может быть "работа" или "источник" или вообще опускаться -->
+    <term name="reference">
+      <single>ссылка</single>
+      <multiple>ссылки</multiple>
+    </term>
+    <!-- сокращения для "ссылка" не используются, но для некоторых случаев может подойти "ист." -->
+    <term name="reference" form="short">
+      <single>ссылка</single>
+      <multiple>ссылки</multiple>
+    </term>
+    <term name="retrieved">извлечено</term>
+    <term name="scale">масштаб</term>
+    <term name="version">версия</term>
+
+    <!-- ANNO DOMINI; BEFORE CHRIST -->
+    <term name="ad">н. э.</term>
+    <term name="bc">до н. э.</term>
+
+    <!-- PUNCTUATION -->
+    <term name="open-quote">«</term>
+    <term name="close-quote">»</term>
+    <term name="open-inner-quote">„</term>
+    <term name="close-inner-quote">“</term>
+    <term name="page-range-delimiter">–</term>
+
+    <!-- ORDINALS -->
+    <term name="ordinal">-е</term>
+    <term name="ordinal" gender-form="masculine">-й</term>
+    <term name="ordinal" gender-form="feminine">-я</term>
+
+    <!-- LONG ORDINALS -->
+    <term name="long-ordinal-01">первое</term>
+    <term name="long-ordinal-02">второе</term>
+    <term name="long-ordinal-03">третье</term>
+    <term name="long-ordinal-04">четвертое</term>
+    <term name="long-ordinal-05">пятое</term>
+    <term name="long-ordinal-06">шестое</term>
+    <term name="long-ordinal-07">седьмое</term>
+    <term name="long-ordinal-08">восьмое</term>
+    <term name="long-ordinal-09">девятое</term>
+    <term name="long-ordinal-10">десятое</term>
+    <term name="long-ordinal-01" gender-form="masculine">первый</term>
+    <term name="long-ordinal-02" gender-form="masculine">второй</term>
+    <term name="long-ordinal-03" gender-form="masculine">третий</term>
+    <term name="long-ordinal-04" gender-form="masculine">четвертый</term>
+    <term name="long-ordinal-05" gender-form="masculine">пятый</term>
+    <term name="long-ordinal-06" gender-form="masculine">шестой</term>
+    <term name="long-ordinal-07" gender-form="masculine">седьмой</term>
+    <term name="long-ordinal-08" gender-form="masculine">восьмой</term>
+    <term name="long-ordinal-09" gender-form="masculine">девятый</term>
+    <term name="long-ordinal-10" gender-form="masculine">десятый</term>
+    <term name="long-ordinal-01" gender-form="feminine">первая</term>
+    <term name="long-ordinal-02" gender-form="feminine">вторая</term>
+    <term name="long-ordinal-03" gender-form="feminine">третья</term>
+    <term name="long-ordinal-04" gender-form="feminine">четвертая</term>
+    <term name="long-ordinal-05" gender-form="feminine">пятая</term>
+    <term name="long-ordinal-06" gender-form="feminine">шестая</term>
+    <term name="long-ordinal-07" gender-form="feminine">седьмая</term>
+    <term name="long-ordinal-08" gender-form="feminine">восьмая</term>
+    <term name="long-ordinal-09" gender-form="feminine">девятая</term>
+    <term name="long-ordinal-10" gender-form="feminine">десятая</term>
+    <!-- LONG LOCATOR FORMS -->
+    <!-- Currently only a few of locator terms are gender-assignable -->
+    <term name="book">
+      <single>книга</single>
+      <multiple>книги</multiple>
+    </term>
+    <term name="chapter">
+      <single>глава</single>
+      <multiple>главы</multiple>
+    </term>
+    <term name="column">
+      <single>столбец</single>
+      <multiple>столбцы</multiple>
+    </term>
+    <term name="figure">
+      <single>рисунок</single>
+      <multiple>рисунки</multiple>
+    </term>
+    <term name="folio">
+      <single>лист</single>
+      <multiple>листы</multiple>
+    </term>
+    <term name="issue" gender="masculine">
+      <single>выпуск</single>
+      <multiple>выпуски</multiple>
+    </term>
+    <term name="line">
+      <single>строка</single>
+      <multiple>строки</multiple>
+    </term>
+    <term name="note">
+      <single>примечание</single>
+      <multiple>примечания</multiple>
+    </term>
+    <term name="opus">
+      <single>сочинение</single>
+      <multiple>сочинения</multiple>
+    </term>
+    <term name="page">
+      <single>страница</single>
+      <multiple>страницы</multiple>
+    </term>
+    <!-- для однообразности здесь тоже указали род, но использование кол-ва страниц с порядковым числительным маловероятно -->
+    <term name="number-of-pages" gender="feminine">
+      <single>страница</single>
+      <multiple>страницы</multiple>
+    </term>
+    <term name="paragraph">
+      <single>параграф</single>
+      <multiple>параграфы</multiple>
+    </term>
+    <term name="part">
+      <single>часть</single>
+      <multiple>части</multiple>
+    </term>
+    <term name="section">
+      <single>раздел</single>
+      <multiple>разделы</multiple>
+    </term>
+    <term name="sub verbo">смотри</term>
+    <term name="verse">
+      <single>стих</single>
+      <multiple>стихи</multiple>
+    </term>
+    <term name="volume" gender="masculine">
+      <single>том</single>
+      <multiple>тома</multiple>
+    </term>
+
+    <!-- SHORT LOCATOR FORMS -->
+    <!-- Ниже для всех однобуквенных сокращений приведены двухбуквенные варианты множественного числа. Если последние нежелательны (например, по ГОСТу для библиографии "С. 23-35") то это должно определяться в самом стиле (plural="never") -->
+    <term name="book" form="short">кн.</term>
+    <term name="chapter" form="short">гл.</term>
+    <term name="column" form="short">стб.</term>
+    <term name="figure" form="short">рис.</term>
+    <term name="folio" form="short">
+      <single>л.</single>
+      <multiple>лл.</multiple>
+    </term>
+    <term name="issue" form="short">вып.</term>
+    <term name="line" form="short">стр.</term>
+    <term name="note" form="short">прим.</term>
+    <term name="opus" form="short">соч.</term>
+    <term name="page" form="short">
+      <single>с.</single>
+      <multiple>сс.</multiple>
+    </term>
+    <term name="number-of-pages" form="short">
+      <single>с.</single>
+      <multiple>сс.</multiple>
+    </term>
+    <term name="paragraph" form="short">
+      <single>п.</single>
+      <multiple>пп.</multiple>
+    </term>
+    <term name="part" form="short">
+      <single>ч.</single>
+      <multiple>чч.</multiple>
+    </term>
+    <term name="section" form="short">разд.</term>
+    <term name="sub verbo" form="short">см.</term>
+    <term name="verse" form="short">ст.</term>
+    <term name="volume" form="short">
+      <single>т.</single>
+      <multiple>тт.</multiple>
+    </term>
+
+    <!-- SYMBOL LOCATOR FORMS -->
+    <term name="paragraph" form="symbol">
+      <single>¶</single>
+      <multiple>¶¶</multiple>
+    </term>
+    <term name="section" form="symbol">
+      <single>§</single>
+      <multiple>§§</multiple>
+    </term>
+
+    <!-- LONG ROLE FORMS -->
+    <term name="director">
+      <single>режиссер</single>
+      <multiple>режиссеры</multiple>
+    </term>
+    <term name="editor">
+      <single>редактор</single>
+      <multiple>редакторы</multiple>
+    </term>
+    <term name="editorial-director">
+      <single>ответственный редактор</single>
+      <multiple>ответственные редакторы</multiple>
+    </term>
+    <term name="illustrator">
+      <single>иллюстратор</single>
+      <multiple>иллюстраторы</multiple>
+    </term>
+    <term name="translator">
+      <single>переводчик</single>
+      <multiple>переводчики</multiple>
+    </term>
+    <term name="editortranslator">
+      <single>редактор и переводчик</single>
+      <multiple>редакторы и переводчики</multiple>
+    </term>
+
+    <!-- SHORT ROLE FORMS -->
+    <term name="director" form="short">реж.</term>
+    <term name="editor" form="short">ред.</term>
+    <term name="editorial-director" form="short">отв. ред.</term>
+    <term name="illustrator" form="short">ил.</term>
+    <term name="translator" form="short">пер.</term>
+    <term name="editortranslator" form="short">ред. и пер.</term>
+
+    <!-- VERB ROLE FORMS -->
+    <!-- В этом и следующем разделе приведены наиболее широко используемые термины (например, "под редакцией" вместо "отредактировано"). Единственным недостатком является то, что разные термины требует разного падежа для последующих фамилий -->
+    <term name="container-author" form="verb"></term>
+    <term name="director" form="verb">режиссировано</term>
+    <term name="editor" form="verb">под редакцией</term>
+    <term name="editorial-director" form="verb">под ответственной редакцией</term>
+    <term name="illustrator" form="verb">иллюстрировано</term>
+    <term name="interviewer" form="verb">интервью проведено</term>
+    <term name="recipient" form="verb">к</term>
+    <term name="reviewed-author" form="verb"></term>
+    <term name="translator" form="verb">переведено</term>
+    <term name="editortranslator" form="verb">под редакцией и переведено</term>
+
+    <!-- SHORT VERB ROLE FORMS -->
+    <term name="director" form="verb-short">реж.</term>
+    <term name="editor" form="verb-short">под ред.</term>
+    <term name="editorial-director" form="verb-short">под отв. ред.</term>
+    <term name="illustrator" form="verb-short">ил.</term>
+    <term name="translator" form="verb-short">пер.</term>
+    <term name="editortranslator" form="verb-short">под ред. и пер.</term>
+
+    <!-- LONG MONTH FORMS -->
+    <!-- род месяцев не указываем, поскольку даже если использовать порядковые числительные в дате, то они должны соответствовать среднему роду, например "второе февраля" -->
+    <term name="month-01">январь</term>
+    <term name="month-02">февраль</term>
+    <term name="month-03">март</term>
+    <term name="month-04">апрель</term>
+    <term name="month-05">май</term>
+    <term name="month-06">июнь</term>
+    <term name="month-07">июль</term>
+    <term name="month-08">август</term>
+    <term name="month-09">сентябрь</term>
+    <term name="month-10">октябрь</term>
+    <term name="month-11">ноябрь</term>
+    <term name="month-12">декабрь</term>
+
+    <!-- SHORT MONTH FORMS -->
+    <term name="month-01" form="short">янв.</term>
+    <term name="month-02" form="short">фев.</term>
+    <term name="month-03" form="short">мар.</term>
+    <term name="month-04" form="short">апр.</term>
+    <term name="month-05" form="short">май</term>
+    <term name="month-06" form="short">июн.</term>
+    <term name="month-07" form="short">июл.</term>
+    <term name="month-08" form="short">авг.</term>
+    <term name="month-09" form="short">сен.</term>
+    <term name="month-10" form="short">окт.</term>
+    <term name="month-11" form="short">ноя.</term>
+    <term name="month-12" form="short">дек.</term>
+
+    <!-- SEASONS -->
+    <term name="season-01">весна</term>
+    <term name="season-02">лето</term>
+    <term name="season-03">осень</term>
+    <term name="season-04">зима</term>
+  </terms>
+</locale>

Added: trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-sk-SK.xml
===================================================================
--- trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-sk-SK.xml	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-sk-SK.xml	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,318 @@
+<?xml version="1.0" encoding="utf-8"?>
+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="sk-SK">
+  <info>
+    <translator>
+      <name>Tomáš Ferianc</name>
+    </translator>
+    <translator>
+      <name>kohafan</name>
+    </translator>
+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
+    <updated>2017-12-29T16:29:13+01:00</updated>
+  </info>
+  <style-options punctuation-in-quote="false"/>
+  <date form="text">
+    <date-part name="day" form="numeric-leading-zeros" suffix=". "/>
+    <date-part name="month" suffix=" "/>
+    <date-part name="year"/>
+  </date>
+  <date form="numeric">
+    <date-part name="day" suffix="."/>
+    <date-part name="month" form="numeric" suffix="."/>
+    <date-part name="year"/>
+  </date>
+  <terms>
+    <term name="accessed">cit</term>
+    <term name="and">a</term>
+    <term name="and others">a ďalší</term>
+    <term name="anonymous">anonym</term>
+    <term name="anonymous" form="short">anon.</term>
+    <term name="at">v</term>
+    <term name="available at">available at</term>
+    <term name="by">by</term>
+    <term name="circa">circa</term>
+    <term name="circa" form="short">cca.</term>
+    <term name="cited">cit</term>
+    <term name="edition">
+      <single>vydanie</single>
+      <multiple>vydania</multiple>
+    </term>
+    <term name="edition" form="short">vyd.</term>
+    <term name="et-al">et al.</term>
+    <term name="forthcoming">nadchádzajúci</term>
+    <term name="from">z</term>
+    <term name="ibid">ibid.</term>
+    <term name="in">v</term>
+    <term name="in press">v tlači</term>
+    <term name="internet">internet</term>
+    <term name="interview">osobná komunikácia</term>
+    <term name="letter">list</term>
+    <term name="no date">no date</term>
+    <term name="no date" form="short">n.d.</term>
+    <term name="online">online</term>
+    <term name="presented at">prezentované na</term>
+    <term name="reference">
+      <single>reference</single>
+      <multiple>references</multiple>
+    </term>
+    <term name="reference" form="short">
+      <single>ref.</single>
+      <multiple>refs.</multiple>
+    </term>
+    <term name="retrieved">cit</term>
+    <term name="scale">scale</term>
+    <term name="version">version</term>
+
+    <!-- ANNO DOMINI; BEFORE CHRIST -->
+    <term name="ad">po Kr.</term>
+    <term name="bc">pred Kr.</term>
+
+    <!-- PUNCTUATION -->
+    <term name="open-quote">“</term>
+    <term name="close-quote">”</term>
+    <term name="open-inner-quote">‘</term>
+    <term name="close-inner-quote">’</term>
+    <term name="page-range-delimiter">–</term>
+
+    <!-- ORDINALS -->
+    <term name="ordinal">th</term>
+    <term name="ordinal-01">st</term>
+    <term name="ordinal-02">nd</term>
+    <term name="ordinal-03">rd</term>
+    <term name="ordinal-11">th</term>
+    <term name="ordinal-12">th</term>
+    <term name="ordinal-13">th</term>
+
+    <!-- LONG ORDINALS -->
+    <term name="long-ordinal-01">first</term>
+    <term name="long-ordinal-02">second</term>
+    <term name="long-ordinal-03">third</term>
+    <term name="long-ordinal-04">fourth</term>
+    <term name="long-ordinal-05">fifth</term>
+    <term name="long-ordinal-06">sixth</term>
+    <term name="long-ordinal-07">seventh</term>
+    <term name="long-ordinal-08">eighth</term>
+    <term name="long-ordinal-09">ninth</term>
+    <term name="long-ordinal-10">tenth</term>
+
+    <!-- LONG LOCATOR FORMS -->
+    <term name="book">
+      <single>kniha</single>
+      <multiple>knihy</multiple>
+    </term>
+    <term name="chapter">
+      <single>kapitola</single>
+      <multiple>kapitoly</multiple>
+    </term>
+    <term name="column">
+      <single>stĺpec</single>
+      <multiple>stĺpce</multiple>
+    </term>
+    <term name="figure">
+      <single>obrázok</single>
+      <multiple>obrázky</multiple>
+    </term>
+    <term name="folio">
+      <single>list</single>
+      <multiple>listy</multiple>
+    </term>
+    <term name="issue">
+      <single>číslo</single>
+      <multiple>čísla</multiple>
+    </term>
+    <term name="line">
+      <single>riadok</single>
+      <multiple>riadky</multiple>
+    </term>
+    <term name="note">
+      <single>poznámka</single>
+      <multiple>poznámky</multiple>
+    </term>
+    <term name="opus">
+      <single>opus</single>
+      <multiple>opera</multiple>
+    </term>
+    <term name="page">
+      <single>strana</single>
+      <multiple>strany</multiple>
+    </term>
+    <term name="number-of-pages">
+      <single>strana</single>
+      <multiple>strany</multiple>
+    </term>
+    <term name="paragraph">
+      <single>odstavec</single>
+      <multiple>odstavce</multiple>
+    </term>
+    <term name="part">
+      <single>časť</single>
+      <multiple>časti</multiple>
+    </term>
+    <term name="section">
+      <single>sekcia</single>
+      <multiple>sekcie</multiple>
+    </term>
+    <term name="sub verbo">
+      <single>sub verbo</single>
+      <multiple>sub verbis</multiple>
+    </term>
+    <term name="verse">
+      <single>verš</single>
+      <multiple>verše</multiple>
+    </term>
+    <term name="volume">
+      <single>ročník</single>
+      <multiple>ročníky</multiple>
+    </term>
+
+    <!-- SHORT LOCATOR FORMS -->
+    <term name="book" form="short">k.</term>
+    <term name="chapter" form="short">kap.</term>
+    <term name="column" form="short">stĺp.</term>
+    <term name="figure" form="short">obr.</term>
+    <term name="folio" form="short">l.</term>
+    <term name="issue" form="short">č.</term>
+    <term name="line" form="short">l.</term>
+    <term name="note" form="short">n.</term>
+    <term name="opus" form="short">op.</term>
+    <term name="page" form="short">
+      <single>s.</single>
+      <multiple>s.</multiple>
+    </term>
+    <term name="number-of-pages" form="short">
+      <single>s.</single>
+      <multiple>s.</multiple>
+    </term>
+    <term name="paragraph" form="short">par.</term>
+    <term name="part" form="short">č.</term>
+    <term name="section" form="short">sek.</term>
+    <term name="sub verbo" form="short">
+      <single>s.v.</single>
+      <multiple>s.vv.</multiple>
+    </term>
+    <term name="verse" form="short">
+      <single>v.</single>
+      <multiple>v.</multiple>
+    </term>
+    <term name="volume" form="short">
+      <single>roč.</single>
+      <multiple>roč.</multiple>
+    </term>
+
+    <!-- SYMBOL LOCATOR FORMS -->
+    <term name="paragraph" form="symbol">
+      <single>¶</single>
+      <multiple>¶</multiple>
+    </term>
+    <term name="section" form="symbol">
+      <single>§</single>
+      <multiple>§</multiple>
+    </term>
+
+    <!-- LONG ROLE FORMS -->
+    <term name="director">
+      <single>director</single>
+      <multiple>directors</multiple>
+    </term>
+    <term name="editor">
+      <single>editor</single>
+      <multiple>editori</multiple>
+    </term>
+    <term name="editorial-director">
+      <single>zostavovateľ</single>
+      <multiple>zostavovatelia</multiple>
+    </term>
+    <term name="illustrator">
+      <single>illustrator</single>
+      <multiple>illustrators</multiple>
+    </term>
+    <term name="translator">
+      <single>prekladateľ</single>
+      <multiple>prekladatelia</multiple>
+    </term>
+    <term name="editortranslator">
+      <single>zostavovateľ & prekladateľ</single>
+      <multiple>zostavovatelia & prekladatelia</multiple>
+    </term>
+
+    <!-- SHORT ROLE FORMS -->
+    <term name="director" form="short">
+      <single>dir.</single>
+      <multiple>dirs.</multiple>
+    </term>
+    <term name="editor" form="short">
+      <single>ed.</single>
+      <multiple>ed.</multiple>
+    </term>
+    <term name="editorial-director" form="short">
+      <single>zost.</single>
+      <multiple>zost.</multiple>
+    </term>
+    <term name="illustrator" form="short">
+      <single>ill.</single>
+      <multiple>ills.</multiple>
+    </term>
+    <term name="translator" form="short">
+      <single>prel.</single>
+      <multiple>prel.</multiple>
+    </term>
+    <term name="editortranslator" form="short">
+      <single>ed. & tran.</single>
+      <multiple>eds. & trans.</multiple>
+    </term>
+
+    <!-- VERB ROLE FORMS -->
+    <term name="container-author" form="verb">by</term>
+    <term name="director" form="verb">directed by</term>
+    <term name="editor" form="verb">zostavil</term>
+    <term name="editorial-director" form="verb">zostavil</term>
+    <term name="illustrator" form="verb">illustrated by</term>
+    <term name="interviewer" form="verb">rozhovor urobil</term>
+    <term name="recipient" form="verb">adresát</term>
+    <term name="reviewed-author" form="verb">by</term>
+    <term name="translator" form="verb">preložil</term>
+    <term name="editortranslator" form="verb">zostavil & preložil</term>
+
+    <!-- SHORT VERB ROLE FORMS -->
+    <term name="director" form="verb-short">dir.</term>
+    <term name="editor" form="verb-short">ed.</term>
+    <term name="editorial-director" form="verb-short">ed.</term>
+    <term name="illustrator" form="verb-short">illus.</term>
+    <term name="translator" form="verb-short">prel.</term>
+    <term name="editortranslator" form="verb-short">zost. & prel.</term>
+
+    <!-- LONG MONTH FORMS -->
+    <term name="month-01">január</term>
+    <term name="month-02">február</term>
+    <term name="month-03">marec</term>
+    <term name="month-04">apríl</term>
+    <term name="month-05">máj</term>
+    <term name="month-06">jún</term>
+    <term name="month-07">júl</term>
+    <term name="month-08">august</term>
+    <term name="month-09">september</term>
+    <term name="month-10">október</term>
+    <term name="month-11">november</term>
+    <term name="month-12">december</term>
+
+    <!-- SHORT MONTH FORMS -->
+    <term name="month-01" form="short">jan.</term>
+    <term name="month-02" form="short">feb.</term>
+    <term name="month-03" form="short">mar.</term>
+    <term name="month-04" form="short">apr.</term>
+    <term name="month-05" form="short">máj.</term>
+    <term name="month-06" form="short">jún.</term>
+    <term name="month-07" form="short">júl.</term>
+    <term name="month-08" form="short">aug.</term>
+    <term name="month-09" form="short">sep.</term>
+    <term name="month-10" form="short">okt.</term>
+    <term name="month-11" form="short">nov.</term>
+    <term name="month-12" form="short">dec.</term>
+
+    <!-- SEASONS -->
+    <term name="season-01">Jar</term>
+    <term name="season-02">Leto</term>
+    <term name="season-03">Jeseň</term>
+    <term name="season-04">Zima</term>
+  </terms>
+</locale>

Added: trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-sl-SI.xml
===================================================================
--- trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-sl-SI.xml	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-sl-SI.xml	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,312 @@
+<?xml version="1.0" encoding="utf-8"?>
+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="sl-SI">
+  <info>
+    <translator>
+      <name>Kristof Ostir</name>
+    </translator>
+    <translator>
+      <name>ratek1</name>
+    </translator>
+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
+    <updated>2020-05-06T22:40:25+02:00</updated>
+  </info>
+  <style-options punctuation-in-quote="false"/>
+  <date form="text">
+    <date-part name="day" form="numeric" suffix=". "/>
+    <date-part name="month" suffix=" "/>
+    <date-part name="year"/>
+  </date>
+  <date form="numeric">
+    <date-part name="day" form="numeric" suffix=". "/>
+    <date-part name="month" form="numeric" suffix=". "/>
+    <date-part name="year"/>
+  </date>
+  <terms>
+    <term name="accessed">pridobljeno</term>
+    <term name="and">in</term>
+    <term name="and others">in drugi</term>
+    <term name="anonymous">anonimni</term>
+    <term name="anonymous" form="short">anon.</term>
+    <term name="at">pri</term>
+    <term name="available at">dostopno na</term>
+    <term name="by"></term>
+    <term name="circa">približno</term>
+    <term name="circa" form="short">prib.</term>
+    <term name="cited">citirano</term>
+    <term name="edition">
+      <single>izdaja</single>
+      <multiple>izdaje</multiple>
+    </term>
+    <term name="edition" form="short">izd.</term>
+    <term name="et-al">idr.</term>
+    <term name="forthcoming">pred izidom</term>
+    <term name="from">s</term>
+    <term name="ibid">isto</term>
+    <term name="in">v</term>
+    <term name="in press">v tisku</term>
+    <term name="internet">internet</term>
+    <term name="interview">intervju</term>
+    <term name="letter">pismo</term>
+    <term name="no date">brez datuma</term>
+    <term name="no date" form="short">b. d.</term>
+    <term name="online">na spletu</term>
+    <term name="presented at">predstavljeno na</term>
+    <term name="reference">
+      <single>referenca</single>
+      <multiple>reference</multiple>
+    </term>
+    <term name="reference" form="short">
+      <single>ref.</single>
+      <multiple>ref.</multiple>
+    </term>
+    <term name="retrieved">pridobljeno</term>
+    <term name="scale">merilo</term>
+    <term name="version">različica</term>
+
+    <!-- ANNO DOMINI; BEFORE CHRIST -->
+    <term name="ad">n. št.</term>
+    <term name="bc">pr. n. št.</term>
+
+    <!-- PUNCTUATION -->
+    <term name="open-quote">„</term>
+    <term name="close-quote">“</term>
+    <term name="open-inner-quote">‚</term>
+    <term name="close-inner-quote">‘</term>
+    <term name="page-range-delimiter">–</term>
+
+    <!-- ORDINALS -->
+    <term name="ordinal">.</term>
+
+    <!-- LONG ORDINALS -->
+    <term name="long-ordinal-01">prva</term>
+    <term name="long-ordinal-02">druga</term>
+    <term name="long-ordinal-03">tretja</term>
+    <term name="long-ordinal-04">četrta</term>
+    <term name="long-ordinal-05">peta</term>
+    <term name="long-ordinal-06">šesta</term>
+    <term name="long-ordinal-07">sedma</term>
+    <term name="long-ordinal-08">osma</term>
+    <term name="long-ordinal-09">deveta</term>
+    <term name="long-ordinal-10">deseta</term>
+
+    <!-- LONG LOCATOR FORMS -->
+    <term name="book">
+      <single>knjiga</single>
+      <multiple>knjige</multiple>
+    </term>
+    <term name="chapter">
+      <single>poglavje</single>
+      <multiple>poglavja</multiple>
+    </term>
+    <term name="column">
+      <single>stolpec</single>
+      <multiple>stolpci</multiple>
+    </term>
+    <term name="figure">
+      <single>slika</single>
+      <multiple>slike</multiple>
+    </term>
+    <term name="folio">
+      <single>folio</single>
+      <multiple>folii</multiple>
+    </term>
+    <term name="issue">
+      <single>številka</single>
+      <multiple>številke</multiple>
+    </term>
+    <term name="line">
+      <single>vrstica</single>
+      <multiple>vrstice</multiple>
+    </term>
+    <term name="note">
+      <single>opomba</single>
+      <multiple>opombe</multiple>
+    </term>
+    <term name="opus">
+      <single>opus</single>
+      <multiple>opusi</multiple>
+    </term>
+    <term name="page">
+      <single>stran</single>
+      <multiple>strani</multiple>
+    </term>
+    <term name="number-of-pages">
+      <single>stran</single>
+      <multiple>strani</multiple>
+    </term>
+    <term name="paragraph">
+      <single>odstavek</single>
+      <multiple>odstavki</multiple>
+    </term>
+    <term name="part">
+      <single>del</single>
+      <multiple>deli</multiple>
+    </term>
+    <term name="section">
+      <single>odsek</single>
+      <multiple>odseki</multiple>
+    </term>
+    <term name="sub verbo">
+      <single>sub verbo</single>
+      <multiple>sub verbis</multiple>
+    </term>
+    <term name="verse">
+      <single>verz</single>
+      <multiple>verzi</multiple>
+    </term>
+    <term name="volume">
+      <single>letnik</single>
+      <multiple>letniki</multiple>
+    </term>
+
+    <!-- SHORT LOCATOR FORMS -->
+    <term name="book" form="short">knj.</term>
+    <term name="chapter" form="short">pogl.</term>
+    <term name="column" form="short">stolp.</term>
+    <term name="figure" form="short">sl.</term>
+    <term name="folio" form="short">fol.</term>
+    <term name="issue" form="short">št.</term>
+    <term name="line" form="short">vrst.</term>
+    <term name="note" form="short">op.</term>
+    <term name="opus" form="short">opus</term>
+    <term name="page" form="short">
+      <single>str.</single>
+      <multiple>str.</multiple>
+    </term>
+    <term name="number-of-pages" form="short">
+      <single>str.</single>
+      <multiple>str.</multiple>
+    </term>
+    <term name="paragraph" form="short">odst.</term>
+    <term name="part" form="short">del</term>
+    <term name="section" form="short">ods.</term>
+    <term name="sub verbo" form="short">
+      <single>s. v.</single>
+      <multiple>s. v.</multiple>
+    </term>
+    <term name="verse" form="short">
+      <single>v.</single>
+      <multiple>v.</multiple>
+    </term>
+    <term name="volume" form="short">
+      <single>let.</single>
+      <multiple>let.</multiple>
+    </term>
+
+    <!-- SYMBOL LOCATOR FORMS -->
+    <term name="paragraph" form="symbol">
+      <single>¶</single>
+      <multiple>¶¶</multiple>
+    </term>
+    <term name="section" form="symbol">
+      <single>§</single>
+      <multiple>§§</multiple>
+    </term>
+
+    <!-- LONG ROLE FORMS -->
+    <term name="director">
+      <single>režiser</single>
+      <multiple>režiserji</multiple>
+    </term>
+    <term name="editor">
+      <single>urednik</single>
+      <multiple>uredniki</multiple>
+    </term>
+    <term name="editorial-director">
+      <single>glavni urednik</single>
+      <multiple>glavni uredniki</multiple>
+    </term>
+    <term name="illustrator">
+      <single>ilustrator</single>
+      <multiple>ilustratorji</multiple>
+    </term>
+    <term name="translator">
+      <single>prevajalec</single>
+      <multiple>prevajalci</multiple>
+    </term>
+    <term name="editortranslator">
+      <single>urednik & prevajalec</single>
+      <multiple>uredniki & prevajalci</multiple>
+    </term>
+
+    <!-- SHORT ROLE FORMS -->
+    <term name="director" form="short">
+      <single>rež.</single>
+      <multiple>rež.</multiple>
+    </term>
+    <term name="editor" form="short">
+      <single>ur.</single>
+      <multiple>ur.</multiple>
+    </term>
+    <term name="editorial-director" form="short">
+      <single>gl. ur.</single>
+      <multiple>gl. ur.</multiple>
+    </term>
+    <term name="illustrator" form="short">
+      <single>ilus.</single>
+      <multiple>ilus.</multiple>
+    </term>
+    <term name="translator" form="short">
+      <single>prev.</single>
+      <multiple>prev.</multiple>
+    </term>
+    <term name="editortranslator" form="short">
+      <single>ur. & prev.</single>
+      <multiple>ur. & prev.</multiple>
+    </term>
+
+    <!-- VERB ROLE FORMS -->
+    <term name="container-author" form="verb"></term>
+    <term name="director" form="verb">režiral</term>
+    <term name="editor" form="verb">uredil</term>
+    <term name="editorial-director" form="verb">uredil</term>
+    <term name="illustrator" form="verb">ilustriral</term>
+    <term name="interviewer" form="verb">intervjuval</term>
+    <term name="recipient" form="verb">za</term>
+    <term name="reviewed-author" form="verb">od</term>
+    <term name="translator" form="verb">prevedel</term>
+    <term name="editortranslator" form="verb">uredil & prevedel</term>
+
+    <!-- SHORT VERB ROLE FORMS -->
+    <term name="director" form="verb-short">rež.</term>
+    <term name="editor" form="verb-short">ured.</term>
+    <term name="editorial-director" form="verb-short">ured.</term>
+    <term name="illustrator" form="verb-short">ilus.</term>
+    <term name="translator" form="verb-short">prev.</term>
+    <term name="editortranslator" form="verb-short">ured. & prev. by</term>
+
+    <!-- LONG MONTH FORMS -->
+    <term name="month-01">januar</term>
+    <term name="month-02">februar</term>
+    <term name="month-03">marec</term>
+    <term name="month-04">april</term>
+    <term name="month-05">maj</term>
+    <term name="month-06">junij</term>
+    <term name="month-07">julij</term>
+    <term name="month-08">avgust</term>
+    <term name="month-09">september</term>
+    <term name="month-10">oktober</term>
+    <term name="month-11">november</term>
+    <term name="month-12">december</term>
+
+    <!-- SHORT MONTH FORMS -->
+    <term name="month-01" form="short">jan.</term>
+    <term name="month-02" form="short">feb.</term>
+    <term name="month-03" form="short">mar.</term>
+    <term name="month-04" form="short">apr.</term>
+    <term name="month-05" form="short">maj</term>
+    <term name="month-06" form="short">jun.</term>
+    <term name="month-07" form="short">jul.</term>
+    <term name="month-08" form="short">avg.</term>
+    <term name="month-09" form="short">sep.</term>
+    <term name="month-10" form="short">okt.</term>
+    <term name="month-11" form="short">nov.</term>
+    <term name="month-12" form="short">dec.</term>
+
+    <!-- SEASONS -->
+    <term name="season-01">pomlad</term>
+    <term name="season-02">poletje</term>
+    <term name="season-03">jesen</term>
+    <term name="season-04">zima</term>
+  </terms>
+</locale>

Added: trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-sr-RS.xml
===================================================================
--- trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-sr-RS.xml	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-sr-RS.xml	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,312 @@
+<?xml version="1.0" encoding="utf-8"?>
+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="sr-RS">
+  <info>
+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
+    <updated>2015-10-15T14:41:06-04:00</updated>
+  </info>
+  <style-options punctuation-in-quote="false"/>
+  <date form="text">
+    <date-part name="day" form="numeric-leading-zeros" suffix=". "/>
+    <date-part name="month" suffix=" "/>
+    <date-part name="year" suffix="."/>
+  </date>
+  <date form="numeric">
+    <date-part name="year"/>
+    <date-part name="month" form="numeric-leading-zeros" prefix="-" range-delimiter="/"/>
+    <date-part name="day" form="numeric-leading-zeros" prefix="-" range-delimiter="/"/>
+  </date>
+  <terms>
+    <term name="accessed">приступљено</term>
+    <term name="and">и</term>
+    <term name="and others">и остали</term>
+    <term name="anonymous">анонимна</term>
+    <term name="anonymous" form="short">анон.</term>
+    <term name="at">на</term>
+    <term name="available at">available at</term>
+    <term name="by">by</term>
+    <term name="circa">circa</term>
+    <term name="circa" form="short">c.</term>
+    <term name="cited">цитирано</term>
+    <term name="edition">
+      <single>издање</single>
+      <multiple>издања</multiple>
+    </term>
+    <term name="edition" form="short">изд.</term>
+    <term name="et-al">и остали</term>
+    <term name="forthcoming">долазећи</term>
+    <term name="from">од</term>
+    <term name="ibid">ibid.</term>
+    <term name="in">у</term>
+    <term name="in press">у штампи</term>
+    <term name="internet">Интернет</term>
+    <term name="interview">интервју</term>
+    <term name="letter">писмо</term>
+    <term name="no date">no date</term>
+    <term name="no date" form="short">без датума</term>
+    <term name="online">на Интернету</term>
+    <term name="presented at">представљено на</term>
+    <term name="reference">
+      <single>reference</single>
+      <multiple>references</multiple>
+    </term>
+    <term name="reference" form="short">
+      <single>ref.</single>
+      <multiple>refs.</multiple>
+    </term>
+    <term name="retrieved">преузето</term>
+    <term name="scale">scale</term>
+    <term name="version">version</term>
+
+    <!-- ANNO DOMINI; BEFORE CHRIST -->
+    <term name="ad">AD</term>
+    <term name="bc">BC</term>
+
+    <!-- PUNCTUATION -->
+    <term name="open-quote">„</term>
+    <term name="close-quote">“</term>
+    <term name="open-inner-quote">‚</term>
+    <term name="close-inner-quote">‘</term>
+    <term name="page-range-delimiter">–</term>
+
+    <!-- ORDINALS -->
+    <term name="ordinal">th</term>
+    <term name="ordinal-01">st</term>
+    <term name="ordinal-02">nd</term>
+    <term name="ordinal-03">rd</term>
+    <term name="ordinal-11">th</term>
+    <term name="ordinal-12">th</term>
+    <term name="ordinal-13">th</term>
+
+    <!-- LONG ORDINALS -->
+    <term name="long-ordinal-01">first</term>
+    <term name="long-ordinal-02">second</term>
+    <term name="long-ordinal-03">third</term>
+    <term name="long-ordinal-04">fourth</term>
+    <term name="long-ordinal-05">fifth</term>
+    <term name="long-ordinal-06">sixth</term>
+    <term name="long-ordinal-07">seventh</term>
+    <term name="long-ordinal-08">eighth</term>
+    <term name="long-ordinal-09">ninth</term>
+    <term name="long-ordinal-10">tenth</term>
+
+    <!-- LONG LOCATOR FORMS -->
+    <term name="book">
+      <single>књига</single>
+      <multiple>књиге</multiple>
+    </term>
+    <term name="chapter">
+      <single>поглавље</single>
+      <multiple>поглавља</multiple>
+    </term>
+    <term name="column">
+      <single>колона</single>
+      <multiple>колоне</multiple>
+    </term>
+    <term name="figure">
+      <single>цртеж</single>
+      <multiple>цртежи</multiple>
+    </term>
+    <term name="folio">
+      <single>фолио</single>
+      <multiple>фолији</multiple>
+    </term>
+    <term name="issue">
+      <single>број</single>
+      <multiple>бројеви</multiple>
+    </term>
+    <term name="line">
+      <single>линија</single>
+      <multiple>линије</multiple>
+    </term>
+    <term name="note">
+      <single>белешка</single>
+      <multiple>белешке</multiple>
+    </term>
+    <term name="opus">
+      <single>опус</single>
+      <multiple>опера</multiple>
+    </term>
+    <term name="page">
+      <single>страница</single>
+      <multiple>странице</multiple>
+    </term>
+    <term name="number-of-pages">
+      <single>страница</single>
+      <multiple>странице</multiple>
+    </term>
+    <term name="paragraph">
+      <single>параграф</single>
+      <multiple>параграфи</multiple>
+    </term>
+    <term name="part">
+      <single>део</single>
+      <multiple>делова</multiple>
+    </term>
+    <term name="section">
+      <single>одељак</single>
+      <multiple>одељака</multiple>
+    </term>
+    <term name="sub verbo">
+      <single>sub verbo</single>
+      <multiple>sub verbis</multiple>
+    </term>
+    <term name="verse">
+      <single>строфа</single>
+      <multiple>строфе</multiple>
+    </term>
+    <term name="volume">
+      <single>том</single>
+      <multiple>томова</multiple>
+    </term>
+
+    <!-- SHORT LOCATOR FORMS -->
+    <term name="book" form="short">књига</term>
+    <term name="chapter" form="short">Пог.</term>
+    <term name="column" form="short">кол.</term>
+    <term name="figure" form="short">црт.</term>
+    <term name="folio" form="short">фолио</term>
+    <term name="issue" form="short">изд.</term>
+    <term name="line" form="short">l.</term>
+    <term name="note" form="short">n.</term>
+    <term name="opus" form="short">оп.</term>
+    <term name="page" form="short">
+      <single>стр.</single>
+      <multiple>стр.</multiple>
+    </term>
+    <term name="number-of-pages" form="short">
+      <single>стр.</single>
+      <multiple>стр.</multiple>
+    </term>
+    <term name="paragraph" form="short">пар.</term>
+    <term name="part" form="short">део</term>
+    <term name="section" form="short">од.</term>
+    <term name="sub verbo" form="short">
+      <single>s.v.</single>
+      <multiple>s.vv.</multiple>
+    </term>
+    <term name="verse" form="short">
+      <single>стр.</single>
+      <multiple>стр.</multiple>
+    </term>
+    <term name="volume" form="short">
+      <single>том</single>
+      <multiple>томови</multiple>
+    </term>
+
+    <!-- SYMBOL LOCATOR FORMS -->
+    <term name="paragraph" form="symbol">
+      <single>¶</single>
+      <multiple>¶¶</multiple>
+    </term>
+    <term name="section" form="symbol">
+      <single>§</single>
+      <multiple>§§</multiple>
+    </term>
+
+    <!-- LONG ROLE FORMS -->
+    <term name="director">
+      <single>director</single>
+      <multiple>directors</multiple>
+    </term>
+    <term name="editor">
+      <single>уредник</single>
+      <multiple>урединици</multiple>
+    </term>
+    <term name="editorial-director">
+      <single>editor</single>
+      <multiple>editors</multiple>
+    </term>
+    <term name="illustrator">
+      <single>illustrator</single>
+      <multiple>illustrators</multiple>
+    </term>
+    <term name="translator">
+      <single>преводилац</single>
+      <multiple>преводиоци</multiple>
+    </term>
+    <term name="editortranslator">
+      <single>editor & translator</single>
+      <multiple>editors & translators</multiple>
+    </term>
+
+    <!-- SHORT ROLE FORMS -->
+    <term name="director" form="short">
+      <single>dir.</single>
+      <multiple>dirs.</multiple>
+    </term>
+    <term name="editor" form="short">
+      <single>ур.</single>
+      <multiple>ур.</multiple>
+    </term>
+    <term name="editorial-director" form="short">
+      <single>ed.</single>
+      <multiple>eds.</multiple>
+    </term>
+    <term name="illustrator" form="short">
+      <single>ill.</single>
+      <multiple>ills.</multiple>
+    </term>
+    <term name="translator" form="short">
+      <single>прев.</single>
+      <multiple>прев.</multiple>
+    </term>
+    <term name="editortranslator" form="short">
+      <single>ed. & tran.</single>
+      <multiple>eds. & trans.</multiple>
+    </term>
+
+    <!-- VERB ROLE FORMS -->
+    <term name="container-author" form="verb">by</term>
+    <term name="director" form="verb">directed by</term>
+    <term name="editor" form="verb">уредио</term>
+    <term name="editorial-director" form="verb">edited by</term>
+    <term name="illustrator" form="verb">illustrated by</term>
+    <term name="interviewer" form="verb">интервјуисао</term>
+    <term name="recipient" form="verb">прима</term>
+    <term name="reviewed-author" form="verb">by</term>
+    <term name="translator" form="verb">превео</term>
+    <term name="editortranslator" form="verb">edited & translated by</term>
+
+    <!-- SHORT VERB ROLE FORMS -->
+    <term name="director" form="verb-short">dir.</term>
+    <term name="editor" form="verb-short">ур.</term>
+    <term name="editorial-director" form="verb-short">ed.</term>
+    <term name="illustrator" form="verb-short">illus.</term>
+    <term name="translator" form="verb-short">прев.</term>
+    <term name="editortranslator" form="verb-short">ed. & trans. by</term>
+
+    <!-- LONG MONTH FORMS -->
+    <term name="month-01">Јануар</term>
+    <term name="month-02">Фебруар</term>
+    <term name="month-03">Март</term>
+    <term name="month-04">Април</term>
+    <term name="month-05">Мај</term>
+    <term name="month-06">Јуни</term>
+    <term name="month-07">Јули</term>
+    <term name="month-08">Август</term>
+    <term name="month-09">Септембар</term>
+    <term name="month-10">Октобар</term>
+    <term name="month-11">Новембар</term>
+    <term name="month-12">Децембар</term>
+
+    <!-- SHORT MONTH FORMS -->
+    <term name="month-01" form="short">Јан.</term>
+    <term name="month-02" form="short">Феб.</term>
+    <term name="month-03" form="short">Март</term>
+    <term name="month-04" form="short">Апр.</term>
+    <term name="month-05" form="short">Мај</term>
+    <term name="month-06" form="short">Јуни</term>
+    <term name="month-07" form="short">Јули</term>
+    <term name="month-08" form="short">Авг.</term>
+    <term name="month-09" form="short">Сеп.</term>
+    <term name="month-10" form="short">Окт.</term>
+    <term name="month-11" form="short">Нов.</term>
+    <term name="month-12" form="short">Дец.</term>
+
+    <!-- SEASONS -->
+    <term name="season-01">Spring</term>
+    <term name="season-02">Summer</term>
+    <term name="season-03">Autumn</term>
+    <term name="season-04">Winter</term>
+  </terms>
+</locale>

Added: trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-sv-SE.xml
===================================================================
--- trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-sv-SE.xml	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-sv-SE.xml	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,322 @@
+<?xml version="1.0" encoding="utf-8"?>
+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="sv-SE">
+  <info>
+    <translator>
+      <name>torfeur</name>
+    </translator>
+    <translator>
+      <name>Sylvester Keil</name>
+    </translator>
+    <translator>
+      <name>Sebastian Karcher</name>
+    </translator>
+    <translator>
+      <name>Ulf Harnhammar</name>
+    </translator>
+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
+    <updated>2017-12-29T13:02:03-05:00</updated>
+  </info>
+  <style-options punctuation-in-quote="false"/>
+  <date form="text">
+    <date-part name="day" form="numeric-leading-zeros" suffix=" "/>
+    <date-part name="month" suffix=" "/>
+    <date-part name="year"/>
+  </date>
+  <date form="numeric">
+    <date-part name="year"/>
+    <date-part name="month" form="numeric-leading-zeros" prefix="-" range-delimiter="/"/>
+    <date-part name="day" form="numeric-leading-zeros" prefix="-" range-delimiter="/"/>
+  </date>
+  <terms>
+    <term name="accessed">åtkomstdatum</term>
+    <term name="and">och</term>
+    <term name="and others">och andra</term>
+    <term name="anonymous">anonym</term>
+    <term name="anonymous" form="short">anon.</term>
+    <term name="at">vid</term>
+    <term name="available at">tillgänglig vid</term>
+    <term name="by">av</term>
+    <term name="circa">cirka</term>
+    <term name="circa" form="short">ca</term>
+    <term name="cited">citerad</term>
+    <term name="edition">
+      <single>upplaga</single>
+      <multiple>upplagor</multiple>
+    </term>
+    <term name="edition" form="short">uppl.</term>
+    <term name="et-al">m.fl.</term>
+    <term name="forthcoming">kommande</term>
+    <term name="from">från</term>
+    <term name="ibid">ibid.</term>
+    <term name="in">i</term>
+    <term name="in press">i tryck</term>
+    <term name="internet">internet</term>
+    <term name="interview">intervju</term>
+    <term name="letter">brev</term>
+    <term name="no date">utan årtal</term>
+    <term name="no date" form="short">u.å.</term>
+    <term name="online">online</term>
+    <term name="presented at">presenterad vid</term>
+    <term name="reference">
+      <single>referens</single>
+      <multiple>referenser</multiple>
+    </term>
+    <term name="reference" form="short">
+      <single>ref.</single>
+      <multiple>ref.</multiple>
+    </term>
+    <term name="retrieved">hämtad</term>
+    <term name="scale">scale</term>
+    <term name="version">version</term>
+
+    <!-- ANNO DOMINI; BEFORE CHRIST -->
+    <term name="ad">e.Kr.</term>
+    <term name="bc">f.Kr.</term>
+
+    <!-- PUNCTUATION -->
+    <term name="open-quote">”</term>
+    <term name="close-quote">”</term>
+    <term name="open-inner-quote">’</term>
+    <term name="close-inner-quote">’</term>
+    <term name="page-range-delimiter">–</term>
+
+    <!-- ORDINALS -->
+    <term name="ordinal">:e</term>
+    <term name="ordinal-01">:a</term>
+    <term name="ordinal-02">:a</term>
+    <term name="ordinal-11">:e</term>
+    <term name="ordinal-12">:e</term>
+
+    <!-- LONG ORDINALS -->
+    <term name="long-ordinal-01">första</term>
+    <term name="long-ordinal-02">andra</term>
+    <term name="long-ordinal-03">tredje</term>
+    <term name="long-ordinal-04">fjärde</term>
+    <term name="long-ordinal-05">femte</term>
+    <term name="long-ordinal-06">sjätte</term>
+    <term name="long-ordinal-07">sjunde</term>
+    <term name="long-ordinal-08">åttonde</term>
+    <term name="long-ordinal-09">nionde</term>
+    <term name="long-ordinal-10">tionde</term>
+
+    <!-- LONG LOCATOR FORMS -->
+    <term name="book">
+      <single>bok</single>
+      <multiple>böcker</multiple>
+    </term>
+    <term name="chapter">
+      <single>kapitel</single>
+      <multiple>kapitel</multiple>
+    </term>
+    <term name="column">
+      <single>kolumn</single>
+      <multiple>kolumner</multiple>
+    </term>
+    <term name="figure">
+      <single>figur</single>
+      <multiple>figurer</multiple>
+    </term>
+    <term name="folio">
+      <single>folio</single>
+      <multiple>folios</multiple>
+    </term>
+    <term name="issue">
+      <single>nummer</single>
+      <multiple>nummer</multiple>
+    </term>
+    <term name="line">
+      <single>rad</single>
+      <multiple>rader</multiple>
+    </term>
+    <term name="note">
+      <single>not</single>
+      <multiple>noter</multiple>
+    </term>
+    <term name="opus">
+      <single>opus</single>
+      <multiple>opera</multiple>
+    </term>
+    <term name="page">
+      <single>sida</single>
+      <multiple>sidor</multiple>
+    </term>
+    <term name="number-of-pages">
+      <single>sida</single>
+      <multiple>sidor</multiple>
+    </term>
+    <term name="paragraph">
+      <single>stycke</single>
+      <multiple>stycken</multiple>
+    </term>
+    <term name="part">
+      <single>del</single>
+      <multiple>delar</multiple>
+    </term>
+    <term name="section">
+      <single>avsnitt</single>
+      <multiple>avsnitt</multiple>
+    </term>
+    <term name="sub verbo">
+      <single>sub verbo</single>
+      <multiple>sub verbis</multiple>
+    </term>
+    <term name="verse">
+      <single>vers</single>
+      <multiple>verser</multiple>
+    </term>
+    <term name="volume">
+      <single>volym</single>
+      <multiple>volymer</multiple>
+    </term>
+
+    <!-- SHORT LOCATOR FORMS -->
+    <term name="book" form="short">bok</term>
+    <term name="chapter" form="short">kap.</term>
+    <term name="column" form="short">kol.</term>
+    <term name="figure" form="short">fig.</term>
+    <term name="folio" form="short">f.</term>
+    <term name="issue" form="short">nr</term>
+    <term name="line" form="short">l.</term>
+    <term name="note" form="short">n.</term>
+    <term name="opus" form="short">op.</term>
+    <term name="page" form="short">
+      <single>s.</single>
+      <multiple>s.</multiple>
+    </term>
+    <term name="number-of-pages" form="short">
+      <single>s.</single>
+      <multiple>s.</multiple>
+    </term>
+    <term name="paragraph" form="short">st.</term>
+    <term name="part" form="short">del</term>
+    <term name="section" form="short">avs.</term>
+    <term name="sub verbo" form="short">
+      <single>s.v.</single>
+      <multiple>s.vv.</multiple>
+    </term>
+    <term name="verse" form="short">
+      <single>vers</single>
+      <multiple>verser</multiple>
+    </term>
+    <term name="volume" form="short">
+      <single>vol.</single>
+      <multiple>vol.</multiple>
+    </term>
+
+    <!-- SYMBOL LOCATOR FORMS -->
+    <term name="paragraph" form="symbol">
+      <single>¶</single>
+      <multiple>¶¶</multiple>
+    </term>
+    <term name="section" form="symbol">
+      <single>§</single>
+      <multiple>§§</multiple>
+    </term>
+
+    <!-- LONG ROLE FORMS -->
+    <term name="director">
+      <single>director</single>
+      <multiple>directors</multiple>
+    </term>
+    <term name="editor">
+      <single>redaktör</single>
+      <multiple>redaktörer</multiple>
+    </term>
+    <term name="editorial-director">
+      <single>editor</single>
+      <multiple>editors</multiple>
+    </term>
+    <term name="illustrator">
+      <single>illustratör</single>
+      <multiple>illustratörer</multiple>
+    </term>
+    <term name="translator">
+      <single>översättare</single>
+      <multiple>översättare</multiple>
+    </term>
+    <term name="editortranslator">
+      <single>redaktör & översättare</single>
+      <multiple>redaktörer & översättare</multiple>
+    </term>
+
+    <!-- SHORT ROLE FORMS -->
+    <term name="director" form="short">
+      <single>dir.</single>
+      <multiple>dirs.</multiple>
+    </term>
+    <term name="editor" form="short">
+      <single>red.</single>
+      <multiple>red.</multiple>
+    </term>
+    <term name="editorial-director" form="short">
+      <single>ed.</single>
+      <multiple>eds.</multiple>
+    </term>
+    <term name="illustrator" form="short">
+      <single>ill.</single>
+      <multiple>ill.</multiple>
+    </term>
+    <term name="translator" form="short">
+      <single>övers.</single>
+      <multiple>övers.</multiple>
+    </term>
+    <term name="editortranslator" form="short">
+      <single>red. & övers.</single>
+      <multiple>red. & övers.</multiple>
+    </term>
+
+    <!-- VERB ROLE FORMS -->
+    <term name="container-author" form="verb">av</term>
+    <term name="director" form="verb">directed by</term>
+    <term name="editor" form="verb">redigerad av</term>
+    <term name="editorial-director" form="verb">edited by</term>
+    <term name="illustrator" form="verb">illustrerad av</term>
+    <term name="interviewer" form="verb">intervjuad av</term>
+    <term name="recipient" form="verb">till</term>
+    <term name="reviewed-author" form="verb">by</term>
+    <term name="translator" form="verb">översatt av</term>
+    <term name="editortranslator" form="verb">redigerad & översatt av</term>
+
+    <!-- SHORT VERB ROLE FORMS -->
+    <term name="director" form="verb-short">dir.</term>
+    <term name="editor" form="verb-short">red.</term>
+    <term name="editorial-director" form="verb-short">ed.</term>
+    <term name="illustrator" form="verb-short">illus.</term>
+    <term name="translator" form="verb-short">övers.</term>
+    <term name="editortranslator" form="verb-short">red. & övers. av</term>
+
+    <!-- LONG MONTH FORMS -->
+    <term name="month-01">januari</term>
+    <term name="month-02">februari</term>
+    <term name="month-03">mars</term>
+    <term name="month-04">april</term>
+    <term name="month-05">maj</term>
+    <term name="month-06">juni</term>
+    <term name="month-07">juli</term>
+    <term name="month-08">augusti</term>
+    <term name="month-09">september</term>
+    <term name="month-10">oktober</term>
+    <term name="month-11">november</term>
+    <term name="month-12">december</term>
+
+    <!-- SHORT MONTH FORMS -->
+    <term name="month-01" form="short">jan.</term>
+    <term name="month-02" form="short">feb.</term>
+    <term name="month-03" form="short">mar.</term>
+    <term name="month-04" form="short">apr.</term>
+    <term name="month-05" form="short">maj</term>
+    <term name="month-06" form="short">juni</term>
+    <term name="month-07" form="short">juli</term>
+    <term name="month-08" form="short">aug.</term>
+    <term name="month-09" form="short">sep.</term>
+    <term name="month-10" form="short">okt.</term>
+    <term name="month-11" form="short">nov.</term>
+    <term name="month-12" form="short">dec.</term>
+
+    <!-- SEASONS -->
+    <term name="season-01">vår</term>
+    <term name="season-02">sommar</term>
+    <term name="season-03">höst</term>
+    <term name="season-04">vinter</term>
+  </terms>
+</locale>

Added: trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-th-TH.xml
===================================================================
--- trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-th-TH.xml	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-th-TH.xml	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,309 @@
+<?xml version="1.0" encoding="utf-8"?>
+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="th-TH">
+  <info>
+    <translator>
+      <name>Dusit Laohasinnarong</name>
+    </translator>
+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
+    <updated>2021-08-06T16:54:19-04:00</updated>
+  </info>
+  <style-options punctuation-in-quote="false"/>
+  <date form="text">
+    <date-part name="day" suffix=" "/>
+    <date-part name="month" suffix=" "/>
+    <date-part name="year"/>
+  </date>
+  <date form="numeric">
+    <date-part name="day" form="numeric-leading-zeros" suffix="/"/>
+    <date-part name="month" form="numeric-leading-zeros" suffix="/"/>
+    <date-part name="year"/>
+  </date>
+  <terms>
+    <term name="accessed">สืบค้น</term>
+    <term name="and">และ</term>
+    <term name="and others">และคณะ</term>
+    <term name="anonymous">นิรนาม</term>
+    <term name="anonymous" form="short">นิรนาม</term>
+    <term name="at">ที่</term>
+    <term name="available at">available at</term>
+    <term name="by">โดย</term>
+    <term name="circa">โดยประมาณ</term>
+    <term name="circa" form="short">ประมาณ</term>
+    <term name="cited">อ้างถึง</term>
+    <term name="edition">
+      <single>พิมพ์ครั้งที่</single>
+      <multiple>พิมพ์ครั้งที่</multiple>
+    </term>
+    <term name="edition" form="short">พิมพ์ครั้งที่</term>
+    <term name="et-al">และคณะ</term>
+    <term name="forthcoming">เต็มใจให้ข้อมูล</term>
+    <term name="from">จาก</term>
+    <term name="ibid"> ในที่เดียวกัน</term>
+    <term name="in">ใน</term>
+    <term name="in press">กำลังรอตีพิมพ์</term>
+    <term name="internet">อินเทอร์เน็ต</term>
+    <term name="interview">การสัมภาษณ์</term>
+    <term name="letter">จดหมาย</term>
+    <term name="no date">ไม่ปรากฏปีที่พิมพ์</term>
+    <term name="no date" form="short">ม.ป.ป.</term>
+    <term name="online">ออนไลน์</term>
+    <term name="presented at">นำเสนอที่</term>
+    <term name="reference">
+      <single>เอกสารอ้างอิง</single>
+      <multiple>เอกสารอ้างอิง</multiple>
+    </term>
+    <term name="reference" form="short">
+      <single>อ้างอิง</single>
+      <multiple>อ้างอิง</multiple>
+    </term>
+    <term name="retrieved">สืบค้น</term>
+    <term name="scale">scale</term>
+    <term name="version">version</term>
+
+    <!-- ANNO DOMINI; BEFORE CHRIST -->
+    <term name="ad">ค.ศ.</term>
+    <term name="bc">พ.ศ.</term>
+
+    <!-- PUNCTUATION -->
+    <term name="open-quote">“</term>
+    <term name="close-quote">”</term>
+    <term name="open-inner-quote">‘</term>
+    <term name="close-inner-quote">’</term>
+    <term name="page-range-delimiter">–</term>
+
+    <!-- ORDINALS -->
+    <term name="ordinal"></term>
+
+    <!-- LONG ORDINALS -->
+    <term name="long-ordinal-01">หนึ่ง</term>
+    <term name="long-ordinal-02">สอง</term>
+    <term name="long-ordinal-03">สาม</term>
+    <term name="long-ordinal-04">สี่</term>
+    <term name="long-ordinal-05">ห้า</term>
+    <term name="long-ordinal-06">หก</term>
+    <term name="long-ordinal-07">เจ็ด</term>
+    <term name="long-ordinal-08">แปด</term>
+    <term name="long-ordinal-09">เก้า</term>
+    <term name="long-ordinal-10">สิบ</term>
+
+    <!-- LONG LOCATOR FORMS -->
+    <term name="book">
+      <single>หนังสือ</single>
+      <multiple>หนังสือ</multiple>
+    </term>
+    <term name="chapter">
+      <single>บทที่</single>
+      <multiple>บทที่</multiple>
+    </term>
+    <term name="column">
+      <single>สดมภ์</single>
+      <multiple>สดมภ์</multiple>
+    </term>
+    <term name="figure">
+      <single>รูปภาพ</single>
+      <multiple>รูปภาพ</multiple>
+    </term>
+    <term name="folio">
+      <single>หน้า</single>
+      <multiple>หน้า</multiple>
+    </term>
+    <term name="issue">
+      <single>ฉบับที่</single>
+      <multiple>ฉบับที่</multiple>
+    </term>
+    <term name="line">
+      <single>บรรทัดที่</single>
+      <multiple>บรรทัดที่</multiple>
+    </term>
+    <term name="note">
+      <single>บันทึก</single>
+      <multiple>บันทึก</multiple>
+    </term>
+    <term name="opus">
+      <single>บทประพันธ์</single>
+      <multiple>บทประพันธ์</multiple>
+    </term>
+    <term name="page">
+      <single>หน้า</single>
+      <multiple>หน้า</multiple>
+    </term>
+    <term name="number-of-pages">
+      <single>หน้า</single>
+      <multiple>หน้า</multiple>
+    </term>
+    <term name="paragraph">
+      <single>ย่อหน้า</single>
+      <multiple>ย่อหน้า</multiple>
+    </term>
+    <term name="part">
+      <single>ส่วนย่อย</single>
+      <multiple>ส่วนย่อย</multiple>
+    </term>
+    <term name="section">
+      <single>หมวด</single>
+      <multiple>หมวด</multiple>
+    </term>
+    <term name="sub verbo">
+      <single>ใต้คำ</single>
+      <multiple>ใต้คำ</multiple>
+    </term>
+    <term name="verse">
+      <single>ร้อยกรอง</single>
+      <multiple>ร้อยกรอง</multiple>
+    </term>
+    <term name="volume">
+      <single>ปีที่</single>
+      <multiple>ปีที่</multiple>
+    </term>
+
+    <!-- SHORT LOCATOR FORMS -->
+    <term name="book" form="short">หนังสือ</term>
+    <term name="chapter" form="short">บทที่</term>
+    <term name="column" form="short">สดมภ์</term>
+    <term name="figure" form="short">รูปภาพ</term>
+    <term name="folio" form="short">หน้า</term>
+    <term name="issue" form="short">ฉบับที่</term>
+    <term name="line" form="short">l.</term>
+    <term name="note" form="short">n.</term>
+    <term name="opus" form="short">บทประพันธ์</term>
+    <term name="page" form="short">
+      <single>น.</single>
+      <multiple>น.</multiple>
+    </term>
+    <term name="number-of-pages" form="short">
+      <single>น.</single>
+      <multiple>น.</multiple>
+    </term>
+    <term name="paragraph" form="short">ย่อหน้า</term>
+    <term name="part" form="short">ส่วนย่อย</term>
+    <term name="section" form="short">หมวด</term>
+    <term name="sub verbo" form="short">
+      <single>ใต้คำ</single>
+      <multiple>ใต้คำ</multiple>
+    </term>
+    <term name="verse" form="short">
+      <single>ร้อยกรอง</single>
+      <multiple>ร้อยกรอง</multiple>
+    </term>
+    <term name="volume" form="short">
+      <single>ปี</single>
+      <multiple>ปี</multiple>
+    </term>
+
+    <!-- SYMBOL LOCATOR FORMS -->
+    <term name="paragraph" form="symbol">
+      <single>¶</single>
+      <multiple>¶¶</multiple>
+    </term>
+    <term name="section" form="symbol">
+      <single>§</single>
+      <multiple>§§</multiple>
+    </term>
+
+    <!-- LONG ROLE FORMS -->
+    <term name="director">
+      <single>director</single>
+      <multiple>directors</multiple>
+    </term>
+    <term name="editor">
+      <single>บรรณาธิการ</single>
+      <multiple>บรรณาธิการ</multiple>
+    </term>
+    <term name="editorial-director">
+      <single>ผู้อำนวยการบทบรรณาธิการ</single>
+      <multiple>ผู้อำนวยการบทบรรณาธิการ</multiple>
+    </term>
+    <term name="illustrator">
+      <single>illustrator</single>
+      <multiple>illustrators</multiple>
+    </term>
+    <term name="translator">
+      <single>ผู้แปล</single>
+      <multiple>ผู้แปล</multiple>
+    </term>
+    <term name="editortranslator">
+      <single>บรรณาธิการและผู้แปล</single>
+      <multiple>บรรณาธิการและผู้แปล</multiple>
+    </term>
+
+    <!-- SHORT ROLE FORMS -->
+    <term name="director" form="short">
+      <single>dir.</single>
+      <multiple>dirs.</multiple>
+    </term>
+    <term name="editor" form="short">
+      <single>บ.ก.</single>
+      <multiple>บ.ก.</multiple>
+    </term>
+    <term name="editorial-director" form="short">
+      <single>ผอ.บทบรรณาธิการ</single>
+      <multiple>ผอ.บทบรรณาธิการ</multiple>
+    </term>
+    <term name="illustrator" form="short">
+      <single>ill.</single>
+      <multiple>ills.</multiple>
+    </term>
+    <term name="translator" form="short">
+      <single>ผู้แปล</single>
+      <multiple>ผู้แปล</multiple>
+    </term>
+    <term name="editortranslator" form="short">
+      <single>บ.ก.</single>
+      <multiple>บ.ก.</multiple>
+    </term>
+
+    <!-- VERB ROLE FORMS -->
+    <term name="container-author" form="verb">โดย</term>
+    <term name="director" form="verb">directed by</term>
+    <term name="editor" form="verb">เรียบเรียงโดย</term>
+    <term name="editorial-director" form="verb">เรียบเรียงโดย</term>
+    <term name="illustrator" form="verb">illustrated by</term>
+    <term name="interviewer" form="verb">สัมภาษณ์โดย</term>
+    <term name="recipient" form="verb">ถึง</term>
+    <term name="reviewed-author" form="verb">by</term>
+    <term name="translator" form="verb">แปลโดย</term>
+    <term name="editortranslator" form="verb">แปลและเรียบเรียงโดย</term>
+
+    <!-- SHORT VERB ROLE FORMS -->
+    <term name="director" form="verb-short">dir.</term>
+    <term name="editor" form="verb-short">โดย</term>
+    <term name="editorial-director" form="verb-short">โดย</term>
+    <term name="illustrator" form="verb-short">illus.</term>
+    <term name="translator" form="verb-short">แปล</term>
+    <term name="editortranslator" form="verb-short">แปลและเรียบเรียงโดย</term>
+
+    <!-- LONG MONTH FORMS -->
+    <term name="month-01">มกราคม</term>
+    <term name="month-02">กุมภาพันธ์</term>
+    <term name="month-03">มีนาคม</term>
+    <term name="month-04">เมษายน</term>
+    <term name="month-05">พฤษภาคม</term>
+    <term name="month-06">มิถุนายน</term>
+    <term name="month-07">กรกฎาคม</term>
+    <term name="month-08">สิงหาคม</term>
+    <term name="month-09">กันยายน</term>
+    <term name="month-10">ตุลาคม</term>
+    <term name="month-11">พฤศจิกายน</term>
+    <term name="month-12">ธันวาคม</term>
+
+    <!-- SHORT MONTH FORMS -->
+    <term name="month-01" form="short">ม.ค.</term>
+    <term name="month-02" form="short">ก.พ.</term>
+    <term name="month-03" form="short">มี.ค.</term>
+    <term name="month-04" form="short">เม.ย.</term>
+    <term name="month-05" form="short">พ.ค.</term>
+    <term name="month-06" form="short">มิ.ย.</term>
+    <term name="month-07" form="short">ก.ค.</term>
+    <term name="month-08" form="short">ส.ค.</term>
+    <term name="month-09" form="short">ก.ย.</term>
+    <term name="month-10" form="short">ต.ค.</term>
+    <term name="month-11" form="short">พ.ย.</term>
+    <term name="month-12" form="short">ธ.ค.</term>
+
+    <!-- SEASONS -->
+    <term name="season-01">ฤดูใบไม้ผลิ</term>
+    <term name="season-02">ฤดูร้อน</term>
+    <term name="season-03">ฤดูใบไม้ร่วง</term>
+    <term name="season-04">ฤดูหนาว</term>
+  </terms>
+</locale>

Added: trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-tr-TR.xml
===================================================================
--- trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-tr-TR.xml	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-tr-TR.xml	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,319 @@
+<?xml version="1.0" encoding="utf-8"?>
+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="tr-TR">
+  <info>
+    <translator>
+      <name>ekizyener</name>
+    </translator>
+    <translator>
+      <name>Binici</name>
+    </translator>
+    <translator>
+      <name>cengiza</name>
+    </translator>
+    <translator>
+      <name>Muhammet Tarakçı</name>
+      <email>muhammettarakci at gmail.com</email>
+    </translator>
+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
+    <updated>2018-04-11T05:54:35+03:00</updated>
+  </info>
+  <style-options punctuation-in-quote="false"/>
+  <date form="text">
+    <date-part name="day" form="numeric-leading-zeros" suffix=" "/>
+    <date-part name="month" suffix=" "/>
+    <date-part name="year"/>
+  </date>
+  <date form="numeric">
+    <date-part name="day" form="numeric-leading-zeros" suffix="."/>
+    <date-part name="month" form="numeric-leading-zeros" suffix="."/>
+    <date-part name="year"/>
+  </date>
+  <terms>
+    <term name="accessed">erişim</term>
+    <term name="and">ve</term>
+    <term name="and others">ve diğerleri</term>
+    <term name="anonymous">anonim</term>
+    <term name="anonymous" form="short">anonim</term>
+    <term name="at">de</term>
+    <term name="available at">erişim adresi</term>
+    <term name="by">by</term>
+    <term name="circa">yaklaşık</term>
+    <term name="circa" form="short">yakl.</term>
+    <term name="cited">a.yer</term>
+    <term name="edition">
+      <single>baskı</single>
+      <multiple>baskı</multiple>
+    </term>
+    <term name="edition" form="short">bs</term>
+    <term name="et-al">vd.</term>
+    <term name="forthcoming">gelecek</term>
+    <term name="from">gönderen</term>
+    <term name="ibid">a.g.e.</term>
+    <term name="in">içinde</term>
+    <term name="in press">basımda</term>
+    <term name="internet">internet</term>
+    <term name="interview">mülakat</term>
+    <term name="letter">mektup</term>
+    <term name="no date">tarih yok</term>
+    <term name="no date" form="short">t.y.</term>
+    <term name="online">çevrimiçi</term>
+    <term name="presented at">program adı:</term>
+    <term name="reference">
+      <single>kaynak</single>
+      <multiple>kaynaklar</multiple>
+    </term>
+    <term name="reference" form="short">
+      <single>kay.</single>
+      <multiple>kay.</multiple>
+    </term>
+    <term name="retrieved">geliş tarihi</term>
+    <term name="scale">ölçek</term>
+    <term name="version">versiyon</term>
+
+    <!-- ANNO DOMINI; BEFORE CHRIST -->
+    <term name="ad">M.S.</term>
+    <term name="bc">M.Ö.</term>
+
+    <!-- PUNCTUATION -->
+    <term name="open-quote">“</term>
+    <term name="close-quote">”</term>
+    <term name="open-inner-quote">‘</term>
+    <term name="close-inner-quote">’</term>
+    <term name="page-range-delimiter">-</term>
+
+    <!-- ORDINALS -->
+    <term name="ordinal">.</term>
+
+    <!-- LONG ORDINALS -->
+    <term name="long-ordinal-01">birinci</term>
+    <term name="long-ordinal-02">ikinci</term>
+    <term name="long-ordinal-03">üçüncü</term>
+    <term name="long-ordinal-04">dördüncü</term>
+    <term name="long-ordinal-05">beşinci</term>
+    <term name="long-ordinal-06">altıncı</term>
+    <term name="long-ordinal-07">yedinci</term>
+    <term name="long-ordinal-08">sekizinci</term>
+    <term name="long-ordinal-09">dokuzuncu</term>
+    <term name="long-ordinal-10">onuncu</term>
+
+    <!-- LONG LOCATOR FORMS -->
+    <term name="book">
+      <single>kitap</single>
+      <multiple>kitaplar</multiple>
+    </term>
+    <term name="chapter">
+      <single>bölüm</single>
+      <multiple>bölümler</multiple>
+    </term>
+    <term name="column">
+      <single>sütun</single>
+      <multiple>sütunlar</multiple>
+    </term>
+    <term name="figure">
+      <single>şekil</single>
+      <multiple>şekiller</multiple>
+    </term>
+    <term name="folio">
+      <single>folyo</single>
+      <multiple>folyo</multiple>
+    </term>
+    <term name="issue">
+      <single>sayı</single>
+      <multiple>sayı</multiple>
+    </term>
+    <term name="line">
+      <single>satır</single>
+      <multiple>satırlar</multiple>
+    </term>
+    <term name="note">
+      <single>not</single>
+      <multiple>notlar</multiple>
+    </term>
+    <term name="opus">
+      <single>eser</single>
+      <multiple>eserler</multiple>
+    </term>
+    <term name="page">
+      <single>sayfa</single>
+      <multiple>sayfalar</multiple>
+    </term>
+    <term name="number-of-pages">
+      <single>sayfa sayısı</single>
+      <multiple>sayfa sayıları</multiple>
+    </term>
+    <term name="paragraph">
+      <single>paragraf</single>
+      <multiple>paragraflar</multiple>
+    </term>
+    <term name="part">
+      <single>kısım</single>
+      <multiple>kısımlar</multiple>
+    </term>
+    <term name="section">
+      <single>bölüm</single>
+      <multiple>bölümler</multiple>
+    </term>
+    <term name="sub verbo">
+      <single>madde</single>
+      <multiple>maddeler</multiple>
+    </term>
+    <term name="verse">
+      <single>ayet</single>
+      <multiple>ayetler</multiple>
+    </term>
+    <term name="volume">
+      <single>cilt</single>
+      <multiple>ciltler</multiple>
+    </term>
+
+    <!-- SHORT LOCATOR FORMS -->
+    <term name="book" form="short">kit.</term>
+    <term name="chapter" form="short">böl.</term>
+    <term name="column" form="short">süt.</term>
+    <term name="figure" form="short">şek.</term>
+    <term name="folio" form="short">fl.</term>
+    <term name="issue" form="short">sy</term>
+    <term name="line" form="short">satır</term>
+    <term name="note" form="short">n.</term>
+    <term name="opus" form="short">a.yer</term>
+    <term name="page" form="short">
+      <single>s.</single>
+      <multiple>ss.</multiple>
+    </term>
+    <term name="number-of-pages" form="short">
+      <single>s.</single>
+      <multiple>ss.</multiple>
+    </term>
+    <term name="paragraph" form="short">par.</term>
+    <term name="part" form="short">ksm.</term>
+    <term name="section" form="short">blm.</term>
+    <term name="sub verbo" form="short">
+      <single>md.</single>
+      <multiple>md.</multiple>
+    </term>
+    <term name="verse" form="short">
+      <single>v.</single>
+      <multiple>vv.</multiple>
+    </term>
+    <term name="volume" form="short">
+      <single>c.</single>
+      <multiple>c.</multiple>
+    </term>
+
+    <!-- SYMBOL LOCATOR FORMS -->
+    <term name="paragraph" form="symbol">
+      <single>¶</single>
+      <multiple>¶¶</multiple>
+    </term>
+    <term name="section" form="symbol">
+      <single>§</single>
+      <multiple>§§</multiple>
+    </term>
+
+    <!-- LONG ROLE FORMS -->
+    <term name="director">
+      <single>direktör</single>
+      <multiple>direktörler</multiple>
+    </term>
+    <term name="editor">
+      <single>editör</single>
+      <multiple>editörler</multiple>
+    </term>
+    <term name="editorial-director">
+      <single>sorumlu editör</single>
+      <multiple>sorumlu editörler</multiple>
+    </term>
+    <term name="illustrator">
+      <single>çizen</single>
+      <multiple>çizenler</multiple>
+    </term>
+    <term name="translator">
+      <single>çeviren</single>
+      <multiple>çevirenler</multiple>
+    </term>
+    <term name="editortranslator">
+      <single>editör & çeviren</single>
+      <multiple>editörler & çevirenler</multiple>
+    </term>
+
+    <!-- SHORT ROLE FORMS -->
+    <term name="director" form="short">
+      <single>dir.</single>
+      <multiple>dir.</multiple>
+    </term>
+    <term name="editor" form="short">
+      <single>ed.</single>
+      <multiple>ed.</multiple>
+    </term>
+    <term name="editorial-director" form="short">
+      <single>sor.ed.</single>
+      <multiple>sor.ed.</multiple>
+    </term>
+    <term name="illustrator" form="short">
+      <single>çzm.</single>
+      <multiple>çzm.</multiple>
+    </term>
+    <term name="translator" form="short">
+      <single>çev.</single>
+      <multiple>çev.</multiple>
+    </term>
+    <term name="editortranslator" form="short">
+      <single>ed. & çev.</single>
+      <multiple>ed. & çev.</multiple>
+    </term>
+
+    <!-- VERB ROLE FORMS -->
+    <term name="container-author" form="verb">kitap editörü</term>
+    <term name="director" form="verb">direktör</term>
+    <term name="editor" form="verb">editör</term>
+    <term name="editorial-director" form="verb">sorumlu editör</term>
+    <term name="illustrator" form="verb">çizen</term>
+    <term name="interviewer" form="verb">röportaj yapan</term>
+    <term name="recipient" form="verb">alıcı</term>
+    <term name="reviewed-author" form="verb">tanıtım yazarı</term>
+    <term name="translator" form="verb">çeviren</term>
+    <term name="editortranslator" form="verb">düzenleyen & çeviren by</term>
+
+    <!-- SHORT VERB ROLE FORMS -->
+    <term name="director" form="verb-short">dir.</term>
+    <term name="editor" form="verb-short">ed.</term>
+    <term name="editorial-director" form="verb-short">sor.ed.</term>
+    <term name="illustrator" form="verb-short">çizen</term>
+    <term name="translator" form="verb-short">çev.</term>
+    <term name="editortranslator" form="verb-short">ed. & çev.</term>
+
+    <!-- LONG MONTH FORMS -->
+    <term name="month-01">Ocak</term>
+    <term name="month-02">Şubat</term>
+    <term name="month-03">Mart</term>
+    <term name="month-04">Nisan</term>
+    <term name="month-05">Mayıs</term>
+    <term name="month-06">Haziran</term>
+    <term name="month-07">Temmuz</term>
+    <term name="month-08">Ağustos</term>
+    <term name="month-09">Eylül</term>
+    <term name="month-10">Ekim</term>
+    <term name="month-11">Kasım</term>
+    <term name="month-12">Aralık</term>
+
+    <!-- SHORT MONTH FORMS -->
+    <term name="month-01" form="short">Oca.</term>
+    <term name="month-02" form="short">Şub.</term>
+    <term name="month-03" form="short">Mar.</term>
+    <term name="month-04" form="short">Nis.</term>
+    <term name="month-05" form="short">May.</term>
+    <term name="month-06" form="short">Haz.</term>
+    <term name="month-07" form="short">Tem.</term>
+    <term name="month-08" form="short">Ağu.</term>
+    <term name="month-09" form="short">Eyl.</term>
+    <term name="month-10" form="short">Eki.</term>
+    <term name="month-11" form="short">Kas.</term>
+    <term name="month-12" form="short">Ara.</term>
+
+    <!-- SEASONS -->
+    <term name="season-01">Bahar</term>
+    <term name="season-02">Yaz</term>
+    <term name="season-03">Sonbahar</term>
+    <term name="season-04">Kış</term>
+  </terms>
+</locale>

Added: trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-uk-UA.xml
===================================================================
--- trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-uk-UA.xml	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-uk-UA.xml	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,249 @@
+<?xml version="1.0" encoding="utf-8"?>
+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="uk-UA">
+  <info>
+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
+    <updated>2018-09-25T04:00:45+00:00</updated>
+  </info>
+  <style-options punctuation-in-quote="false"/>
+  <date form="text">
+    <date-part name="day" form="numeric-leading-zeros" suffix=", "/>
+    <date-part name="month" suffix=" "/>
+    <date-part name="year"/>
+  </date>
+  <date form="numeric">
+    <date-part name="day" form="numeric-leading-zeros" suffix="/"/>
+    <date-part name="month" form="numeric-leading-zeros" suffix="/"/>
+    <date-part name="year"/>
+  </date>
+  <terms>
+    <term name="accessed">дата звернення</term>
+    <term name="and">і</term>
+    <term name="and others">та інші</term>
+    <term name="anonymous">анонімний</term>
+    <term name="anonymous" form="short">анон.</term>
+    <term name="at">на</term>
+    <term name="available at">доступний у</term>
+    <term name="by">відповідно до</term>
+    <term name="circa">близько</term>
+    <term name="circa" form="short">c.</term>
+    <term name="cited">цит. за</term>
+    <term name="edition">видання</term>
+    <term name="edition" form="short">вид.</term>
+    <term name="et-al">et al.</term>
+    <term name="forthcoming">майбутній</term>
+    <term name="from">із</term>
+    <term name="ibid">там само</term>
+    <term name="in">в</term>
+    <term name="in press">у пресі</term>
+    <term name="internet">інтернет</term>
+    <term name="interview">інтервю</term>
+    <term name="letter">лист</term>
+    <term name="no date">без дати</term>
+    <term name="no date" form="short">б. д.</term>
+    <term name="online">online</term>
+    <term name="presented at">представлена на</term>
+    <term name="reference">список використаних джерел</term>
+    <term name="reference" form="short">джерела</term>
+    <term name="retrieved">вилучено</term>
+    <term name="scale">масштаб</term>
+    <term name="version">версія</term>
+
+    <!-- ANNO DOMINI; BEFORE CHRIST -->
+    <term name="ad">н. е.</term>
+    <term name="bc">до н. е.</term>
+
+    <!-- PUNCTUATION -->
+    <term name="open-quote">«</term>
+    <term name="close-quote">»</term>
+    <term name="open-inner-quote">‘</term>
+    <term name="close-inner-quote">’</term>
+    <term name="page-range-delimiter">–</term>
+
+    <!-- ORDINALS -->
+    <term name="ordinal">ий</term>
+
+    <!-- LONG ORDINALS -->
+    <term name="long-ordinal-01">перший</term>
+    <term name="long-ordinal-02">другий</term>
+    <term name="long-ordinal-03">третій</term>
+    <term name="long-ordinal-04">четвертий</term>
+    <term name="long-ordinal-05">п'ятий</term>
+    <term name="long-ordinal-06">шостий</term>
+    <term name="long-ordinal-07">сьомий</term>
+    <term name="long-ordinal-08">восьмий</term>
+    <term name="long-ordinal-09">дев'ятий</term>
+    <term name="long-ordinal-10">десятий</term>
+
+    <!-- LONG LOCATOR FORMS -->
+    <term name="book">
+      <single>книга</single>
+      <multiple>книги</multiple>
+    </term>
+    <term name="chapter">
+      <single>розділ</single>
+      <multiple>розділи</multiple>
+    </term>
+    <term name="column">
+      <single>графа</single>
+      <multiple>графи</multiple>
+    </term>
+    <term name="figure">
+      <single>рисунок</single>
+      <multiple>рисунки</multiple>
+    </term>
+    <term name="folio">
+      <single>фоліант</single>
+      <multiple>фоліанти</multiple>
+    </term>
+    <term name="issue">випуск</term>
+    <term name="line">
+      <single>Рядок</single>
+      <multiple>Рядки</multiple>
+    </term>
+    <term name="note">
+      <single>примітка</single>
+      <multiple>примітки</multiple>
+    </term>
+    <term name="opus">
+      <single>opus</single>
+      <multiple>opera</multiple>
+    </term>
+    <term name="page">С.</term>
+    <term name="number-of-pages">с.</term>
+    <term name="paragraph">
+      <single>параграф</single>
+      <multiple>параграфи</multiple>
+    </term>
+    <term name="part">
+      <single>частина</single>
+      <multiple>частини</multiple>
+    </term>
+    <term name="section">
+      <single>розділ</single>
+      <multiple>розділи</multiple>
+    </term>
+    <term name="sub verbo">
+      <single>sub verbo</single>
+      <multiple>sub verbis</multiple>
+    </term>
+    <term name="verse">
+      <single>verse</single>
+      <multiple>verses</multiple>
+    </term>
+    <term name="volume">
+      <single>Том</single>
+      <multiple>Томи</multiple>
+    </term>
+
+    <!-- SHORT LOCATOR FORMS -->
+    <term name="book" form="short">кн.</term>
+    <term name="chapter" form="short">розд.</term>
+    <term name="column" form="short">ряд.</term>
+    <term name="figure" form="short">рис.</term>
+    <term name="folio" form="short">ф.</term>
+    <term name="issue" form="short">вип.</term>
+    <term name="line" form="short">л.</term>
+    <term name="note" form="short">прим.</term>
+    <term name="opus" form="short">оп.</term>
+    <term name="page" form="short">с.</term>
+    <term name="number-of-pages" form="short">с.</term>
+    <term name="paragraph" form="short">пар.</term>
+    <term name="part" form="short">ч.</term>
+    <term name="section" form="short">сек.</term>
+    <term name="sub verbo" form="short">
+      <single>s.v.</single>
+      <multiple>s.vv.</multiple>
+    </term>
+    <term name="verse" form="short">с.</term>
+    <term name="volume" form="short">вип.</term>
+
+    <!-- SYMBOL LOCATOR FORMS -->
+    <term name="paragraph" form="symbol">
+      <single>¶</single>
+      <multiple>¶¶</multiple>
+    </term>
+    <term name="section" form="symbol">
+      <single>§</single>
+      <multiple>§§</multiple>
+    </term>
+
+    <!-- LONG ROLE FORMS -->
+    <term name="director">
+      <single>режисер</single>
+      <multiple>режисери</multiple>
+    </term>
+    <term name="editor">за ред.</term>
+    <term name="editorial-director">за ред.</term>
+    <term name="illustrator">
+      <single>ілюстратор</single>
+      <multiple>ілюстратори</multiple>
+    </term>
+    <term name="translator">
+      <single>перекладач</single>
+      <multiple>перекладачі</multiple>
+    </term>
+    <term name="editortranslator">За ред. & переклад</term>
+
+    <!-- SHORT ROLE FORMS -->
+    <term name="director" form="short">реж.</term>
+    <term name="editor" form="short">ред.</term>
+    <term name="editorial-director" form="short">ред.</term>
+    <term name="illustrator" form="short">іл.</term>
+    <term name="translator" form="short">пер.</term>
+    <term name="editortranslator" form="short">ред. & пер.</term>
+
+    <!-- VERB ROLE FORMS -->
+    <term name="container-author" form="verb">by</term>
+    <term name="director" form="verb">directed by</term>
+    <term name="editor" form="verb">edited by</term>
+    <term name="editorial-director" form="verb">edited by</term>
+    <term name="illustrator" form="verb">illustrated by</term>
+    <term name="interviewer" form="verb">interview by</term>
+    <term name="recipient" form="verb">to</term>
+    <term name="reviewed-author" form="verb">by</term>
+    <term name="translator" form="verb">translated by</term>
+    <term name="editortranslator" form="verb">edited & translated by</term>
+
+    <!-- SHORT VERB ROLE FORMS -->
+    <term name="director" form="verb-short">dir.</term>
+    <term name="editor" form="verb-short">ed</term>
+    <term name="editorial-director" form="verb-short">ed.</term>
+    <term name="illustrator" form="verb-short">illus.</term>
+    <term name="translator" form="verb-short">trans</term>
+    <term name="editortranslator" form="verb-short">ed. & trans. by</term>
+
+    <!-- LONG MONTH FORMS -->
+    <term name="month-01">Січень</term>
+    <term name="month-02">Лютий</term>
+    <term name="month-03">Березень</term>
+    <term name="month-04">Квітень</term>
+    <term name="month-05">Травень</term>
+    <term name="month-06">Червень</term>
+    <term name="month-07">Липень</term>
+    <term name="month-08">Серпень</term>
+    <term name="month-09">Вересень</term>
+    <term name="month-10">Жовтень</term>
+    <term name="month-11">Листопад</term>
+    <term name="month-12">Грудень</term>
+
+    <!-- SHORT MONTH FORMS -->
+    <term name="month-01" form="short">Січ</term>
+    <term name="month-02" form="short">Лют</term>
+    <term name="month-03" form="short">Бер</term>
+    <term name="month-04" form="short">Квіт</term>
+    <term name="month-05" form="short">Трав</term>
+    <term name="month-06" form="short">Чер</term>
+    <term name="month-07" form="short">Лип</term>
+    <term name="month-08" form="short">Сер</term>
+    <term name="month-09" form="short">Вер</term>
+    <term name="month-10" form="short">Жов</term>
+    <term name="month-11" form="short">Лис</term>
+    <term name="month-12" form="short">Груд</term>
+
+    <!-- SEASONS -->
+    <term name="season-01">Spring</term>
+    <term name="season-02">Summer</term>
+    <term name="season-03">Autumn</term>
+    <term name="season-04">Winter</term>
+  </terms>
+</locale>

Added: trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-vi-VN.xml
===================================================================
--- trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-vi-VN.xml	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-vi-VN.xml	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,315 @@
+<?xml version="1.0" encoding="utf-8"?>
+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="vi-VN">
+  <info>
+    <translator>
+      <name>dowens76</name>
+    </translator>
+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
+    <updated>2017-12-29T16:29:13+01:00</updated>
+  </info>
+  <style-options punctuation-in-quote="false"/>
+  <date form="text">
+    <date-part name="day" suffix=" "/>
+    <date-part name="month" suffix=" "/>
+    <date-part name="year"/>
+  </date>
+  <date form="numeric">
+    <date-part name="day" form="numeric-leading-zeros" suffix="/"/>
+    <date-part name="month" form="numeric-leading-zeros" suffix="/"/>
+    <date-part name="year"/>
+  </date>
+  <terms>
+    <term name="accessed">truy cập</term>
+    <term name="and">và</term>
+    <term name="and others">and others</term>
+    <term name="anonymous">vô danh</term>
+    <term name="anonymous" form="short">v.d</term>
+    <term name="at">tại</term>
+    <term name="available at">available at</term>
+    <term name="by">bởi</term>
+    <term name="circa">circa</term>
+    <term name="circa" form="short">c.</term>
+    <term name="cited">cited</term>
+    <term name="edition">
+      <single>ấn bản</single>
+      <multiple>ấn bản</multiple>
+    </term>
+    <term name="edition" form="short">a.b</term>
+    <term name="et-al">và c.s.</term>
+    <term name="forthcoming">sắp tới</term>
+    <term name="from">từ</term>
+    <term name="ibid">n.t.</term>
+    <term name="in">trong</term>
+    <term name="in press">in press</term>
+    <term name="internet">internet</term>
+    <term name="interview">interview</term>
+    <term name="letter">letter</term>
+    <term name="no date">không ngày</term>
+    <term name="no date" form="short">không ngày</term>
+    <term name="online">online</term>
+    <term name="presented at">được trình bày tại</term>
+    <term name="reference">
+      <single>reference</single>
+      <multiple>references</multiple>
+    </term>
+    <term name="reference" form="short">
+      <single>ref.</single>
+      <multiple>refs.</multiple>
+    </term>
+    <term name="retrieved">truy vấn</term>
+    <term name="scale">scale</term>
+    <term name="version">version</term>
+
+    <!-- ANNO DOMINI; BEFORE CHRIST -->
+    <term name="ad">AD</term>
+    <term name="bc">BC</term>
+
+    <!-- PUNCTUATION -->
+    <term name="open-quote">“</term>
+    <term name="close-quote">”</term>
+    <term name="open-inner-quote">‘</term>
+    <term name="close-inner-quote">’</term>
+    <term name="page-range-delimiter">–</term>
+
+    <!-- ORDINALS -->
+    <term name="ordinal">th</term>
+    <term name="ordinal-01">st</term>
+    <term name="ordinal-02">nd</term>
+    <term name="ordinal-03">rd</term>
+    <term name="ordinal-11">th</term>
+    <term name="ordinal-12">th</term>
+    <term name="ordinal-13">th</term>
+
+    <!-- LONG ORDINALS -->
+    <term name="long-ordinal-01">thứ nhất</term>
+    <term name="long-ordinal-02">thứ hai</term>
+    <term name="long-ordinal-03">thứ ba</term>
+    <term name="long-ordinal-04">thứ tư</term>
+    <term name="long-ordinal-05">thứ năm</term>
+    <term name="long-ordinal-06">thứ sáu</term>
+    <term name="long-ordinal-07">thứ bảy</term>
+    <term name="long-ordinal-08">thứ tám</term>
+    <term name="long-ordinal-09">thứ chính</term>
+    <term name="long-ordinal-10">thứ mười</term>
+
+    <!-- LONG LOCATOR FORMS -->
+    <term name="book">
+      <single>sách</single>
+      <multiple>sách</multiple>
+    </term>
+    <term name="chapter">
+      <single>chương</single>
+      <multiple>chương</multiple>
+    </term>
+    <term name="column">
+      <single>column</single>
+      <multiple>columns</multiple>
+    </term>
+    <term name="figure">
+      <single>figure</single>
+      <multiple>figures</multiple>
+    </term>
+    <term name="folio">
+      <single>folio</single>
+      <multiple>folios</multiple>
+    </term>
+    <term name="issue">
+      <single>số</single>
+      <multiple>số</multiple>
+    </term>
+    <term name="line">
+      <single>dòng</single>
+      <multiple>dòng</multiple>
+    </term>
+    <term name="note">
+      <single>ghi chú</single>
+      <multiple>ghi chú</multiple>
+    </term>
+    <term name="opus">
+      <single>opus</single>
+      <multiple>opera</multiple>
+    </term>
+    <term name="page">
+      <single>trang</single>
+      <multiple>trang</multiple>
+    </term>
+    <term name="number-of-pages">
+      <single>trang</single>
+      <multiple>trang</multiple>
+    </term>
+    <term name="paragraph">
+      <single>đoạn văn</single>
+      <multiple>đoạn văn</multiple>
+    </term>
+    <term name="part">
+      <single>phần</single>
+      <multiple>phần</multiple>
+    </term>
+    <term name="section">
+      <single>section</single>
+      <multiple>sections</multiple>
+    </term>
+    <term name="sub verbo">
+      <single>sub verbo</single>
+      <multiple>sub verbis</multiple>
+    </term>
+    <term name="verse">
+      <single>câu</single>
+      <multiple>câu</multiple>
+    </term>
+    <term name="volume">
+      <single>tập</single>
+      <multiple>tập</multiple>
+    </term>
+
+    <!-- SHORT LOCATOR FORMS -->
+    <term name="book" form="short">sách</term>
+    <term name="chapter" form="short">ch</term>
+    <term name="column" form="short">col</term>
+    <term name="figure" form="short">fig</term>
+    <term name="folio" form="short">f</term>
+    <term name="issue" form="short">số p.h</term>
+    <term name="line" form="short">d.</term>
+    <term name="note" form="short">gc.</term>
+    <term name="opus" form="short">op</term>
+    <term name="page" form="short">
+      <single>tr</single>
+      <multiple>tr</multiple>
+    </term>
+    <term name="number-of-pages" form="short">
+      <single>tr</single>
+      <multiple>tr</multiple>
+    </term>
+    <term name="paragraph" form="short">para</term>
+    <term name="part" form="short">ph</term>
+    <term name="section" form="short">sec</term>
+    <term name="sub verbo" form="short">
+      <single>s.v.</single>
+      <multiple>s.vv.</multiple>
+    </term>
+    <term name="verse" form="short">
+      <single>v</single>
+      <multiple>vv</multiple>
+    </term>
+    <term name="volume" form="short">
+      <single>vol</single>
+      <multiple>vols</multiple>
+    </term>
+
+    <!-- SYMBOL LOCATOR FORMS -->
+    <term name="paragraph" form="symbol">
+      <single>¶</single>
+      <multiple>¶¶</multiple>
+    </term>
+    <term name="section" form="symbol">
+      <single>§</single>
+      <multiple>§§</multiple>
+    </term>
+
+    <!-- LONG ROLE FORMS -->
+    <term name="director">
+      <single>director</single>
+      <multiple>directors</multiple>
+    </term>
+    <term name="editor">
+      <single>biên tập viên</single>
+      <multiple>biên tập viên</multiple>
+    </term>
+    <term name="editorial-director">
+      <single>biên tập viên</single>
+      <multiple>biên tập viên</multiple>
+    </term>
+    <term name="illustrator">
+      <single>họa sĩ</single>
+      <multiple>họa sĩ</multiple>
+    </term>
+    <term name="translator">
+      <single>biên dịch viên</single>
+      <multiple>biên dịch viên</multiple>
+    </term>
+    <term name="editortranslator">
+      <single>biên tập viên & biên dịch viên</single>
+      <multiple>biên tập viên & biên dịch viên</multiple>
+    </term>
+
+    <!-- SHORT ROLE FORMS -->
+    <term name="director" form="short">
+      <single>dir.</single>
+      <multiple>dirs.</multiple>
+    </term>
+    <term name="editor" form="short">
+      <single>b.t.v</single>
+      <multiple>b.t.v</multiple>
+    </term>
+    <term name="editorial-director" form="short">
+      <single>b.t.v</single>
+      <multiple>b.t.v</multiple>
+    </term>
+    <term name="illustrator" form="short">
+      <single>h.s</single>
+      <multiple>h.s</multiple>
+    </term>
+    <term name="translator" form="short">
+      <single>b.d.v</single>
+      <multiple>b.d.v</multiple>
+    </term>
+    <term name="editortranslator" form="short">
+      <single>b.t.v & b.d.v</single>
+      <multiple>b.t.v & b.d.v</multiple>
+    </term>
+
+    <!-- VERB ROLE FORMS -->
+    <term name="container-author" form="verb">bởi</term>
+    <term name="director" form="verb">directed by</term>
+    <term name="editor" form="verb">biên tập bởi</term>
+    <term name="editorial-director" form="verb">biên tập bởi</term>
+    <term name="illustrator" form="verb">illustrated by</term>
+    <term name="interviewer" form="verb">interview by</term>
+    <term name="recipient" form="verb">to</term>
+    <term name="reviewed-author" form="verb">bởi</term>
+    <term name="translator" form="verb">biên dịch bởi</term>
+    <term name="editortranslator" form="verb">biên tập & biên dịch bởi</term>
+
+    <!-- SHORT VERB ROLE FORMS -->
+    <term name="director" form="verb-short">dir.</term>
+    <term name="editor" form="verb-short">b.t</term>
+    <term name="editorial-director" form="verb-short">b.t</term>
+    <term name="illustrator" form="verb-short">h.s</term>
+    <term name="translator" form="verb-short">b.d</term>
+    <term name="editortranslator" form="verb-short">b.t & b.d bởi</term>
+
+    <!-- LONG MONTH FORMS -->
+    <term name="month-01">Tháng Giêng</term>
+    <term name="month-02">Tháng Hai</term>
+    <term name="month-03">Tháng Ba</term>
+    <term name="month-04">Tháng Tư</term>
+    <term name="month-05">Tháng Năm</term>
+    <term name="month-06">Tháng Sáu</term>
+    <term name="month-07">Tháng Bảy</term>
+    <term name="month-08">Tháng Tám</term>
+    <term name="month-09">Tháng Chín</term>
+    <term name="month-10">Tháng Mười</term>
+    <term name="month-11">Tháng Mười-Một</term>
+    <term name="month-12">Tháng Chạp</term>
+
+    <!-- SHORT MONTH FORMS -->
+    <term name="month-01" form="short">tháng 1</term>
+    <term name="month-02" form="short">tháng 2</term>
+    <term name="month-03" form="short">tháng 3</term>
+    <term name="month-04" form="short">tháng 4</term>
+    <term name="month-05" form="short">tháng 5</term>
+    <term name="month-06" form="short">tháng 6</term>
+    <term name="month-07" form="short">tháng 7</term>
+    <term name="month-08" form="short">tháng 8</term>
+    <term name="month-09" form="short">tháng 9</term>
+    <term name="month-10" form="short">tháng 10</term>
+    <term name="month-11" form="short">tháng 11</term>
+    <term name="month-12" form="short">tháng 12</term>
+
+    <!-- SEASONS -->
+    <term name="season-01">Mùa Xuân</term>
+    <term name="season-02">Mùa Hè</term>
+    <term name="season-03">Mùa Thu</term>
+    <term name="season-04">Mùa Đông</term>
+  </terms>
+</locale>

Added: trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-zh-CN.xml
===================================================================
--- trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-zh-CN.xml	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-zh-CN.xml	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,205 @@
+<?xml version="1.0" encoding="utf-8"?>
+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="zh-CN">
+  <info>
+    <translator>
+      <name>rongls</name>
+    </translator>
+    <translator>
+      <name>sati-bodhi</name>
+    </translator>
+    <translator>
+      <name>Heromyth</name>
+    </translator>
+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
+    <updated>2019-04-16T11:15:46+08:00</updated>
+  </info>
+  <style-options punctuation-in-quote="false"/>
+  <date form="text">
+    <date-part name="year" suffix="年"/>
+    <date-part name="month" form="numeric" suffix="月"/>
+    <date-part name="day" suffix="日"/>
+  </date>
+  <date form="numeric">
+    <date-part name="year"/>
+    <date-part name="month" form="numeric-leading-zeros" prefix="/"/>
+    <date-part name="day" form="numeric-leading-zeros" prefix="/"/>
+  </date>
+  <terms>
+    <term name="accessed">见于</term>
+    <term name="and">和</term>
+    <term name="and others">及其他</term>
+    <term name="anonymous">作者不详</term>
+    <term name="anonymous" form="short">无名氏</term>
+    <term name="at">于</term>
+    <term name="available at">载于</term>
+    <term name="by">著</term>
+    <term name="circa">介于</term>
+    <term name="circa" form="short">约</term>
+    <term name="cited">见引于</term>
+    <term name="edition">版本</term>
+    <term name="edition" form="short">本</term>
+    <term name="et-al">等</term>
+    <term name="forthcoming">即将出版</term>
+    <term name="from">从</term>
+    <term name="ibid">同上</term>
+    <term name="in">收入</term>
+    <term name="in press">送印中</term>
+    <term name="internet">网际网络</term>
+    <term name="interview">访谈</term>
+    <term name="letter">信函</term>
+    <term name="no date">日期不详</term>
+    <term name="no date" form="short">不详</term>
+    <term name="online">在线</term>
+    <term name="presented at">发表于</term>
+    <term name="reference">参考</term>
+    <term name="reference" form="short">参</term>
+    <term name="retrieved">取读于</term>
+    <term name="scale">比例</term>
+    <term name="version">版</term>
+
+    <!-- ANNO DOMINI; BEFORE CHRIST -->
+    <term name="ad">公元</term>
+    <term name="bc">公元前</term>
+
+    <!-- PUNCTUATION -->
+    <term name="open-quote">《</term>
+    <term name="close-quote">》</term>
+    <term name="open-inner-quote">〈</term>
+    <term name="close-inner-quote">〉</term>
+    <term name="page-range-delimiter">–</term>
+
+    <!-- ORDINALS -->
+    <term name="ordinal"></term>
+  
+    <!-- LONG ORDINALS -->
+    <term name="long-ordinal-01">一</term>
+    <term name="long-ordinal-02">二</term>
+    <term name="long-ordinal-03">三</term>
+    <term name="long-ordinal-04">四</term>
+    <term name="long-ordinal-05">五</term>
+    <term name="long-ordinal-06">六</term>
+    <term name="long-ordinal-07">七</term>
+    <term name="long-ordinal-08">八</term>
+    <term name="long-ordinal-09">九</term>
+    <term name="long-ordinal-10">十</term>
+
+    <!-- LONG LOCATOR FORMS -->
+    <term name="book">册</term>
+    <term name="chapter">章</term>
+    <term name="column">栏</term>
+    <term name="figure">图表</term>       
+    <term name="folio">版</term>
+    <term name="issue">期</term>
+    <term name="line">行</term>
+    <term name="note">注脚</term>
+    <term name="opus">作品</term>      
+    <term name="page">页</term>
+    <term name="number-of-pages"> 总页数</term>      
+    <term name="paragraph">段落</term>
+    <term name="part">部分</term>     
+    <term name="section">节</term>         
+    <term name="sub verbo">另见</term>    
+    <term name="verse">篇</term>    
+    <term name="volume">卷</term>
+    
+    <!-- SHORT LOCATOR FORMS -->
+    <term name="book" form="short">册</term>
+    <term name="chapter" form="short">章</term>
+    <term name="column" form="short">栏</term>
+    <term name="figure" form="short">图</term>
+    <term name="folio" form="short">版</term>
+    <term name="issue" form="short">期</term>
+    <term name="line" form="short">行</term>
+    <term name="note" form="short">注</term>
+    <term name="opus" form="short">op.</term>
+    <term name="page" form="short">页</term>   
+    <term name="number-of-pages" form="short">共</term>    
+    <term name="paragraph" form="short">段</term>
+    <term name="part" form="short">部</term>
+    <term name="section" form="short">节</term>
+    <term name="sub verbo" form="short">另见</term>   
+    <term name="verse" form="short">篇</term>      
+    <term name="volume" form="short">卷</term>
+    
+    <!-- SYMBOL LOCATOR FORMS -->
+    <term name="paragraph" form="symbol">
+      <single>¶</single>
+      <multiple>¶¶</multiple>
+    </term>
+    <term name="section" form="symbol">
+      <single>§</single>
+      <multiple>§§</multiple>
+    </term>
+
+    <!-- LONG ROLE FORMS -->
+    <term name="director">导演</term>     
+    <term name="editor">编辑</term> 
+    <term name="editorial-director">主编</term>     
+    <term name="illustrator">绘图</term>     
+    <term name="translator">翻译</term>      
+    <term name="editortranslator">编译</term>     
+
+    <!-- SHORT ROLE FORMS -->
+    <term name="director" form="short">导演</term>     
+    <term name="editor" form="short">编</term>     
+    <term name="editorial-director" form="short">主编</term>     
+    <term name="illustrator" form="short">绘</term>   
+    <term name="translator" form="short">译</term>     
+    <term name="editortranslator" form="short">编译</term>    
+
+    <!-- VERB ROLE FORMS -->
+    <term name="container-author" form="verb">著</term>
+    <term name="director" form="verb">指导</term>
+    <term name="editor" form="verb">编辑</term>
+    <term name="editorial-director" form="verb">主编</term>
+    <term name="illustrator" form="verb">绘图</term>
+    <term name="interviewer" form="verb">采访</term>
+    <term name="recipient" form="verb">受函</term>
+    <term name="reviewed-author" form="verb">校订</term>
+    <term name="translator" form="verb">翻译</term>
+    <term name="editortranslator" form="verb">编译</term>
+
+    <!-- SHORT VERB ROLE FORMS -->
+    <term name="director" form="verb-short">导</term>
+    <term name="editor" form="verb-short">编</term>
+    <term name="editorial-director" form="verb-short">主编</term>
+    <term name="illustrator" form="verb-short">绘</term>
+    <term name="translator" form="verb-short">译</term>
+    <term name="editortranslator" form="verb-short">编译</term>
+    <term name="reviewed-author" form="verb">校</term>
+
+    <!-- LONG MONTH FORMS -->
+    <term name="month-01">一月</term>
+    <term name="month-02">二月</term>
+    <term name="month-03">三月</term>
+    <term name="month-04">四月</term>
+    <term name="month-05">五月</term>
+    <term name="month-06">六月</term>
+    <term name="month-07">七月</term>
+    <term name="month-08">八月</term>
+    <term name="month-09">九月</term>
+    <term name="month-10">十月</term>
+    <term name="month-11">十一月</term>
+    <term name="month-12">十二月</term>
+
+    <!-- SHORT MONTH FORMS -->
+    <term name="month-01" form="short">1月</term>
+    <term name="month-02" form="short">2月</term>
+    <term name="month-03" form="short">3月</term>
+    <term name="month-04" form="short">4月</term>
+    <term name="month-05" form="short">5月</term>
+    <term name="month-06" form="short">6月</term>
+    <term name="month-07" form="short">7月</term>
+    <term name="month-08" form="short">8月</term>
+    <term name="month-09" form="short">9月</term>
+    <term name="month-10" form="short">10月</term>
+    <term name="month-11" form="short">11月</term>
+    <term name="month-12" form="short">12月</term>
+
+    <!-- SEASONS -->
+    <term name="season-01">春</term>
+    <term name="season-02">夏</term>
+    <term name="season-03">秋</term>
+    <term name="season-04">冬</term>
+  </terms>
+</locale>

Added: trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-zh-TW.xml
===================================================================
--- trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-zh-TW.xml	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/citation-style-language/locales/csl-locales-zh-TW.xml	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,209 @@
+<?xml version="1.0" encoding="utf-8"?>
+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="zh-TW">
+  <info>
+    <translator>
+      <name>sati-bodhi</name>
+    </translator>
+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
+    <updated>2017-12-29T16:29:13+01:00</updated>
+  </info>
+  <style-options punctuation-in-quote="false"/>
+  <date form="text">
+    <date-part name="year" suffix="年"/>
+    <date-part name="month" form="numeric" suffix="月"/>
+    <date-part name="day" suffix="日"/>
+  </date>
+  <date form="numeric">
+    <date-part name="year"/>
+    <date-part name="month" form="numeric-leading-zeros" prefix="/"/>
+    <date-part name="day" form="numeric-leading-zeros" prefix="/"/>
+  </date>
+  <terms>
+    <term name="accessed">引見於</term>
+    <term name="and">及</term>
+    <term name="and others">及其他</term>
+    <term name="anonymous">作者不詳</term>
+    <term name="anonymous" form="short">無名氏</term>
+    <term name="at">於</term>
+    <term name="available at">載於</term>
+    <term name="by">著</term>
+    <term name="circa">介於</term>
+    <term name="circa" form="short">約</term>
+    <term name="cited">見引於</term>
+    <term name="edition">版本</term>
+    <term name="edition" form="short">本</term>
+    <term name="et-al">等</term>
+    <term name="forthcoming">即將出版</term>
+    <term name="from">從</term>
+    <term name="ibid">同上</term>
+    <term name="in">收入</term>
+    <term name="in press">印行中</term>
+    <term name="internet">互聯網</term>
+    <term name="interview">訪談</term>
+    <term name="letter">信函</term>
+    <term name="no date">日期不詳</term>
+    <term name="no date" form="short">不詳</term>
+    <term name="online">線上</term>
+    <term name="presented at">發表於</term>
+    <term name="reference">參考</term>
+    <term name="reference" form="short">參</term>
+    <term name="retrieved">讀取於</term>
+    <term name="scale">比例</term>
+    <term name="version">版</term>
+
+    <!-- ANNO DOMINI; BEFORE CHRIST -->
+    <term name="ad">西元</term>
+    <term name="bc">西元前</term>
+
+    <!-- PUNCTUATION -->
+    <term name="open-quote">「</term>
+    <term name="close-quote">」</term>
+    <term name="open-inner-quote">『</term>
+    <term name="close-inner-quote">』</term>
+    <term name="page-range-delimiter">–</term>
+
+    <!-- ORDINALS -->
+    <term name="ordinal"></term>
+  
+    <!-- LONG ORDINALS -->
+    <term name="long-ordinal-01">一</term>
+    <term name="long-ordinal-02">二</term>
+    <term name="long-ordinal-03">三</term>
+    <term name="long-ordinal-04">四</term>
+    <term name="long-ordinal-05">五</term>
+    <term name="long-ordinal-06">六</term>
+    <term name="long-ordinal-07">七</term>
+    <term name="long-ordinal-08">八</term>
+    <term name="long-ordinal-09">九</term>
+    <term name="long-ordinal-10">十</term>
+
+    <!-- LONG LOCATOR FORMS -->
+    <term name="book">冊</term>
+    <term name="chapter">章</term>
+    <term name="column">欄</term>
+    <term name="figure">圖表</term>       
+    <term name="folio">版</term>
+    <term name="issue">期</term>
+    <term name="line">行</term>
+    <term name="note">註腳</term>
+    <term name="opus">作品</term>      
+    <term name="page">頁</term>
+    <term name="number-of-pages">總頁數</term>      
+    <term name="paragraph">段落</term>
+    <term name="part">部分</term>     
+    <term name="section">節</term>         
+    <term name="sub verbo">另見</term>    
+    <term name="verse">篇</term>    
+    <term name="volume">卷</term>
+    
+    <!-- SHORT LOCATOR FORMS -->
+    <term name="book" form="short">冊</term>
+    <term name="chapter" form="short">章</term>
+    <term name="column" form="short">欄</term>
+    <term name="figure" form="short">圖</term>
+    <term name="issue" form="short">期</term>
+    <term name="line" form="short">行</term>
+    <term name="note" form="short">註</term>
+    <term name="opus" form="short">op.</term>
+    <term name="page" form="short">頁</term>   
+    <term name="number-of-pages" form="short">共</term>    
+    <term name="paragraph" form="short">段</term>
+    <term name="part" form="short">部</term>
+    <term name="section" form="short">節</term>
+    <term name="sub verbo" form="short">另見</term>   
+    <term name="verse" form="short">篇</term>      
+    <term name="volume" form="short">卷</term>
+    
+    <!-- SYMBOL LOCATOR FORMS -->
+    <term name="paragraph" form="symbol">
+      <single>¶</single>
+      <multiple>¶¶</multiple>
+    </term>
+    <term name="section" form="symbol">
+      <single>§</single>
+      <multiple>§§</multiple>
+    </term>
+
+    <!-- LONG ROLE FORMS -->
+    <term name="author">作者</term>     
+    <term name="director">導演</term>     
+    <term name="editor">編輯</term> 
+    <term name="editorial-director">主編</term>     
+    <term name="illustrator">繪圖師</term>
+    <term name="interviewer">採訪員</term>
+    <term name="recipient">收信人</term>     
+    <term name="translator">翻譯員</term>      
+    <term name="editortranslator">編譯員</term>
+    <term name="reviewed-author">評論人</term>
+
+    <!-- SHORT ROLE FORMS -->
+    <term name="author" form="short">作者</term>     
+    <term name="director" form="short">導演</term>     
+    <term name="editor" form="short">編輯</term> 
+    <term name="editorial-director" form="short">主編</term>     
+    <term name="illustrator" form="short">繪圖師</term>
+    <term name="interviewer" form="short">採訪員</term>
+    <term name="recipient" form="short">收信人</term>     
+    <term name="translator" form="short">翻譯員</term>      
+    <term name="editortranslator" form="short">編譯員</term>
+    <term name="reviewed-author" form="short">評論人</term>
+
+
+    <!-- VERB ROLE FORMS -->
+    <term name="author" form="verb">著</term>
+    <term name="container-author" form="verb">著</term>
+    <term name="director" form="verb">指導</term>
+    <term name="editor" form="verb">編輯</term>
+    <term name="collection-editor" form="verb">點校</term>
+    <term name="editorial-director" form="verb">主編</term>
+    <term name="illustrator" form="verb">繪圖</term>
+    <term name="interviewer" form="verb">採訪</term>
+    <term name="recipient" form="verb">受函</term>
+    <term name="reviewed-author" form="verb">點評</term>
+    <term name="translator" form="verb">翻譯</term>
+    <term name="editortranslator" form="verb">編譯</term>
+
+    <!-- SHORT VERB ROLE FORMS -->
+    <term name="director" form="verb-short">導</term>
+    <term name="editor" form="verb-short">編</term>
+    <term name="collection-editor" form="verb-short">校</term>
+    <term name="editorial-director" form="verb-short">編</term>
+    <term name="illustrator" form="verb-short">繪</term>
+    <term name="translator" form="verb-short">譯</term>
+    <term name="reviewed-author" form="verb-short">評</term>
+
+    <!-- LONG MONTH FORMS -->
+    <term name="month-01">一月</term>
+    <term name="month-02">二月</term>
+    <term name="month-03">三月</term>
+    <term name="month-04">四月</term>
+    <term name="month-05">五月</term>
+    <term name="month-06">六月</term>
+    <term name="month-07">七月</term>
+    <term name="month-08">八月</term>
+    <term name="month-09">九月</term>
+    <term name="month-10">十月</term>
+    <term name="month-11">十一月</term>
+    <term name="month-12">十二月</term>
+
+    <!-- SHORT MONTH FORMS -->
+    <term name="month-01" form="short">1月</term>
+    <term name="month-02" form="short">2月</term>
+    <term name="month-03" form="short">3月</term>
+    <term name="month-04" form="short">4月</term>
+    <term name="month-05" form="short">5月</term>
+    <term name="month-06" form="short">6月</term>
+    <term name="month-07" form="short">7月</term>
+    <term name="month-08" form="short">8月</term>
+    <term name="month-09" form="short">9月</term>
+    <term name="month-10" form="short">10月</term>
+    <term name="month-11" form="short">11月</term>
+    <term name="month-12" form="short">12月</term>
+
+    <!-- SEASONS -->
+    <term name="season-01">春</term>
+    <term name="season-02">夏</term>
+    <term name="season-03">秋</term>
+    <term name="season-04">冬</term>
+  </terms>
+</locale>

Added: trunk/Master/texmf-dist/tex/latex/citation-style-language/styles/american-chemical-society.csl
===================================================================
--- trunk/Master/texmf-dist/tex/latex/citation-style-language/styles/american-chemical-society.csl	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/citation-style-language/styles/american-chemical-society.csl	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,280 @@
+<?xml version="1.0" encoding="utf-8"?>
+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="sort-only" page-range-format="expanded" default-locale="en-US">
+  <info>
+    <title>American Chemical Society</title>
+    <title-short>ACS</title-short>
+    <id>http://www.zotero.org/styles/american-chemical-society</id>
+    <link href="http://www.zotero.org/styles/american-chemical-society" rel="self"/>
+    <link href="https://pubs.acs.org/doi/full/10.1021/acsguide.40303" rel="documentation"/>
+    <link href="https://pubs.acs.org/doi/book/10.1021/acsguide" rel="documentation"/>
+    <author>
+      <name>Julian Onions</name>
+      <email>julian.onions at gmail.com</email>
+    </author>
+    <contributor>
+      <name>Ivan Bushmarinov</name>
+      <email>ib at ineos.ac.ru</email>
+    </contributor>
+    <contributor>
+      <name>Sebastian Karcher</name>
+    </contributor>
+    <category citation-format="numeric"/>
+    <category field="chemistry"/>
+    <summary>The American Chemical Society style</summary>
+    <updated>2021-05-22T12:00:00+00:00</updated>
+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
+  </info>
+  <locale xml:lang="en">
+    <terms>
+      <term name="editortranslator" form="short">
+        <single>ed. and translator</single>
+        <multiple>eds. and translators</multiple>
+      </term>
+      <term name="translator" form="short">
+        <single>translator</single>
+        <multiple>translators</multiple>
+      </term>
+      <term name="collection-editor" form="short">
+        <single>series ed.</single>
+        <multiple>series eds.</multiple>
+      </term>
+    </terms>
+  </locale>
+  <macro name="editor">
+    <group delimiter="; ">
+      <names variable="editor translator" delimiter="; ">
+        <name sort-separator=", " initialize-with=". " name-as-sort-order="all" delimiter=", " delimiter-precedes-last="always"/>
+        <label form="short" prefix=", " text-case="title"/>
+      </names>
+      <names variable="collection-editor">
+        <name sort-separator=", " initialize-with=". " name-as-sort-order="all" delimiter=", " delimiter-precedes-last="always"/>
+        <label form="short" prefix=", " text-case="title"/>
+      </names>
+    </group>
+  </macro>
+  <macro name="author">
+    <names variable="author" suffix=".">
+      <name sort-separator=", " initialize-with=". " name-as-sort-order="all" delimiter="; " delimiter-precedes-last="always"/>
+      <label form="short" prefix=", " text-case="capitalize-first"/>
+    </names>
+  </macro>
+  <macro name="publisher">
+    <choose>
+      <if type="thesis" match="any">
+        <group delimiter=", ">
+          <text variable="publisher"/>
+          <text variable="publisher-place"/>
+        </group>
+      </if>
+      <else>
+        <group delimiter=": ">
+          <text variable="publisher"/>
+          <text variable="publisher-place"/>
+        </group>
+      </else>
+    </choose>
+  </macro>
+  <macro name="title">
+    <choose>
+      <if type="bill book graphic legal_case legislation motion_picture report song" match="any">
+        <text variable="title" text-case="title" font-style="italic"/>
+      </if>
+      <else>
+        <text variable="title" text-case="title"/>
+      </else>
+    </choose>
+  </macro>
+  <macro name="volume">
+    <group delimiter=" ">
+      <text term="volume" form="short" text-case="capitalize-first"/>
+      <text variable="volume"/>
+    </group>
+  </macro>
+  <macro name="series">
+    <text variable="collection-title"/>
+  </macro>
+  <macro name="pages">
+    <label variable="page" form="short" suffix=" " strip-periods="true"/>
+    <text variable="page"/>
+  </macro>
+  <macro name="book-container">
+    <group delimiter=". ">
+      <text macro="title"/>
+      <choose>
+        <if type="entry-dictionary entry-encyclopedia" match="none">
+          <group delimiter=" ">
+            <text term="in" text-case="capitalize-first"/>
+            <text variable="container-title" font-style="italic"/>
+          </group>
+        </if>
+        <else>
+          <text variable="container-title" font-style="italic"/>
+        </else>
+      </choose>
+    </group>
+  </macro>
+  <macro name="issued">
+    <date variable="issued" delimiter=" ">
+      <date-part name="year"/>
+    </date>
+  </macro>
+  <macro name="full-issued">
+    <date variable="issued" delimiter=" ">
+      <date-part name="month" form="long" suffix=" "/>
+      <date-part name="day" suffix=", "/>
+      <date-part name="year"/>
+    </date>
+  </macro>
+  <macro name="edition">
+    <choose>
+      <if is-numeric="edition">
+        <group delimiter=" ">
+          <number variable="edition" form="ordinal"/>
+          <text term="edition" form="short"/>
+        </group>
+      </if>
+      <else>
+        <text variable="edition" suffix="."/>
+      </else>
+    </choose>
+  </macro>
+  <citation collapse="citation-number">
+    <sort>
+      <key variable="citation-number"/>
+    </sort>
+    <layout delimiter="," vertical-align="sup">
+      <text variable="citation-number"/>
+    </layout>
+  </citation>
+  <bibliography second-field-align="flush" entry-spacing="0">
+    <layout suffix=".">
+      <text variable="citation-number" prefix="(" suffix=") "/>
+      <text macro="author" suffix=" "/>
+      <choose>
+        <if type="article-journal review" match="any">
+          <group delimiter=" ">
+            <text macro="title" suffix="."/>
+            <text variable="container-title" font-style="italic" form="short"/>
+            <group delimiter=", ">
+              <text macro="issued" font-weight="bold"/>
+              <choose>
+                <if variable="volume">
+                  <group delimiter=" ">
+                    <text variable="volume" font-style="italic"/>
+                    <text variable="issue" prefix="(" suffix=")"/>
+                  </group>
+                </if>
+                <else>
+                  <group delimiter=" ">
+                    <text term="issue" form="short" text-case="capitalize-first"/>
+                    <text variable="issue"/>
+                  </group>
+                </else>
+              </choose>
+              <text variable="page"/>
+            </group>
+          </group>
+        </if>
+        <else-if type="article-magazine article-newspaper article" match="any">
+          <group delimiter=" ">
+            <text macro="title" suffix="."/>
+            <text variable="container-title" font-style="italic" suffix="."/>
+            <text macro="edition"/>
+            <text macro="publisher"/>
+            <group delimiter=", ">
+              <text macro="full-issued"/>
+              <text macro="pages"/>
+            </group>
+          </group>
+        </else-if>
+        <else-if type="thesis">
+          <group delimiter=", ">
+            <group delimiter=". ">
+              <text macro="title"/>
+              <text variable="genre"/>
+            </group>
+            <text macro="publisher"/>
+            <text macro="issued"/>
+            <text macro="volume"/>
+            <text macro="pages"/>
+          </group>
+        </else-if>
+        <else-if type="bill book graphic legal_case legislation motion_picture report song" match="any">
+          <group delimiter="; ">
+            <group delimiter=", ">
+              <text macro="title"/>
+              <text macro="edition"/>
+            </group>
+            <text macro="editor" prefix=" "/>
+            <text macro="series"/>
+            <choose>
+              <if type="report">
+                <group delimiter=" ">
+                  <text variable="genre"/>
+                  <text variable="number"/>
+                </group>
+              </if>
+            </choose>
+            <group delimiter=", ">
+              <text macro="publisher"/>
+              <text macro="issued"/>
+            </group>
+            <group delimiter=", ">
+              <text macro="volume"/>
+              <text macro="pages"/>
+            </group>
+          </group>
+        </else-if>
+        <else-if type="patent">
+          <group delimiter=", ">
+            <group delimiter=". ">
+              <text macro="title"/>
+              <text variable="number"/>
+            </group>
+            <date variable="issued" form="text"/>
+          </group>
+        </else-if>
+        <else-if type="chapter paper-conference entry-dictionary entry-encyclopedia" match="any">
+          <group delimiter="; ">
+            <text macro="book-container"/>
+            <text macro="editor"/>
+            <text macro="series"/>
+            <group delimiter=", ">
+              <text macro="publisher"/>
+              <text macro="issued"/>
+            </group>
+            <group delimiter=", ">
+              <text macro="volume"/>
+              <text macro="pages"/>
+            </group>
+          </group>
+        </else-if>
+        <else-if type="webpage">
+          <group delimiter=" ">
+            <text variable="title"/>
+            <text variable="URL"/>
+            <date variable="accessed" prefix="(accessed " suffix=")" delimiter=" ">
+              <date-part name="year"/>
+              <date-part name="month" prefix="-" form="numeric-leading-zeros"/>
+              <date-part name="day" prefix="-" form="numeric-leading-zeros"/>
+            </date>
+          </group>
+        </else-if>
+        <else>
+          <group delimiter=", ">
+            <group delimiter=". ">
+              <text macro="title"/>
+              <text variable="container-title" font-style="italic"/>
+            </group>
+            <group delimiter=", ">
+              <text macro="issued"/>
+              <text variable="volume" font-style="italic"/>
+              <text variable="page"/>
+            </group>
+          </group>
+        </else>
+      </choose>
+      <text variable="DOI" prefix=". https://doi.org/"/>
+    </layout>
+  </bibliography>
+</style>

Added: trunk/Master/texmf-dist/tex/latex/citation-style-language/styles/american-medical-association.csl
===================================================================
--- trunk/Master/texmf-dist/tex/latex/citation-style-language/styles/american-medical-association.csl	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/citation-style-language/styles/american-medical-association.csl	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,280 @@
+<?xml version="1.0" encoding="utf-8"?>
+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="sort-only" page-range-format="expanded" initialize-with-hyphen="false" default-locale="en-US">
+  <info>
+    <title>American Medical Association 11th edition</title>
+    <title-short>AMA (11th ed.)</title-short>
+    <id>http://www.zotero.org/styles/american-medical-association</id>
+    <link href="http://www.zotero.org/styles/american-medical-association" rel="self"/>
+    <link href="http://www.zotero.org/styles/american-medical-association-10th-edition" rel="template"/>
+    <link href="https://westlibrary.txwes.edu/sites/default/files/pdf/AMACitationStyle.pdf" rel="documentation"/>
+    <link href="https://www.amamanualofstyle.com/fileasset/AMAMOS/aaaAMWA%20presentation%20Nov%202019%20FULL.pdf" rel="documentation"/>
+    <author>
+      <name>Julian Onions</name>
+      <email>julian.onions at gmail.com</email>
+    </author>
+    <contributor>
+      <name>Christian Pietsch</name>
+      <uri>http://purl.org/net/pietsch</uri>
+    </contributor>
+    <contributor>
+      <name>Daniel W Chan</name>
+      <email>danwchan at protonmail.com</email>
+    </contributor>
+    <contributor>
+      <name>Patrick O'Brien</name>
+      <email>obrienpat86 at gmail.com</email>
+    </contributor>
+    <category citation-format="numeric"/>
+    <category field="medicine"/>
+    <summary>The American Medical Association style as used in JAMA. Version 11 as per November-2019.</summary>
+    <updated>2021-10-28T13:38:04+00:00</updated>
+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
+  </info>
+  <locale xml:lang="en">
+    <terms>
+      <term name="page-range-delimiter">-</term>
+      <term name="presented at">presented at</term>
+    </terms>
+  </locale>
+  <macro name="editor">
+    <names variable="editor">
+      <name name-as-sort-order="all" sort-separator=" " initialize-with="" delimiter=", " delimiter-precedes-last="always"/>
+      <label form="short" prefix=", "/>
+    </names>
+  </macro>
+  <macro name="author">
+    <group suffix=".">
+      <names variable="author">
+        <name name-as-sort-order="all" sort-separator=" " initialize-with="" delimiter=", " delimiter-precedes-last="always"/>
+        <label form="short" prefix=", "/>
+        <substitute>
+          <names variable="editor"/>
+          <text macro="title"/>
+        </substitute>
+      </names>
+    </group>
+  </macro>
+  <macro name="access">
+    <choose>
+      <if type="article-newspaper" match="none">
+        <choose>
+          <if variable="DOI">
+            <text value="doi:"/>
+            <text variable="DOI"/>
+          </if>
+          <else-if variable="URL">
+            <group delimiter=". ">
+              <choose>
+                <if type="webpage post post-weblog" match="any">
+                  <date variable="issued" prefix="Published " form="text"/>
+                </if>
+              </choose>
+              <group>
+                <text term="accessed" text-case="capitalize-first" suffix=" "/>
+                <date variable="accessed">
+                  <date-part name="month" suffix=" "/>
+                  <date-part name="day" suffix=", "/>
+                  <date-part name="year"/>
+                </date>
+              </group>
+              <text variable="URL"/>
+            </group>
+          </else-if>
+        </choose>
+      </if>
+    </choose>
+  </macro>
+  <macro name="title">
+    <choose>
+      <if type="bill book graphic legal_case legislation motion_picture report song" match="any">
+        <text variable="title" font-style="italic" text-case="title"/>
+      </if>
+      <else>
+        <text variable="title"/>
+      </else>
+    </choose>
+  </macro>
+  <macro name="publisher">
+    <text variable="publisher"/>
+  </macro>
+  <macro name="edition">
+    <choose>
+      <if is-numeric="edition">
+        <group delimiter=" ">
+          <number variable="edition" form="ordinal"/>
+          <text term="edition" form="short"/>
+        </group>
+      </if>
+      <else>
+        <text variable="edition" suffix="."/>
+      </else>
+    </choose>
+  </macro>
+  <citation collapse="citation-number">
+    <sort>
+      <key variable="citation-number"/>
+    </sort>
+    <layout delimiter="," vertical-align="sup">
+      <text variable="citation-number"/>
+      <group prefix="(" suffix=")">
+        <label variable="locator" form="short" strip-periods="true"/>
+        <text variable="locator"/>
+      </group>
+    </layout>
+  </citation>
+  <bibliography hanging-indent="false" et-al-min="7" et-al-use-first="3" second-field-align="flush">
+    <layout>
+      <text variable="citation-number" suffix=". "/>
+      <text macro="author"/>
+      <text macro="title" prefix=" " suffix="."/>
+      <choose>
+        <if type="bill book graphic legislation motion_picture report song" match="any">
+          <group suffix="." prefix=" " delimiter=" ">
+            <group delimiter=" ">
+              <text term="volume" form="short" text-case="capitalize-first" strip-periods="true"/>
+              <text variable="volume" suffix="."/>
+            </group>
+            <text macro="edition"/>
+            <text macro="editor" prefix="(" suffix=")"/>
+          </group>
+          <text macro="publisher" prefix=" "/>
+          <group suffix="." prefix="; ">
+            <date variable="issued">
+              <date-part name="year"/>
+            </date>
+            <text variable="page" prefix=":"/>
+          </group>
+        </if>
+        <else-if type="chapter paper-conference entry-dictionary entry-encyclopedia" match="any">
+          <group prefix=" " delimiter=" ">
+            <text term="in" text-case="capitalize-first" suffix=":"/>
+            <text macro="editor"/>
+            <text variable="container-title" font-style="italic" suffix="." text-case="title"/>
+            <group delimiter=" ">
+              <text term="volume" form="short" text-case="capitalize-first" strip-periods="true"/>
+              <text variable="volume" suffix="."/>
+            </group>
+            <text macro="edition"/>
+            <text variable="collection-title" suffix="."/>
+            <group suffix=".">
+              <text macro="publisher"/>
+              <group suffix="." prefix="; ">
+                <date variable="issued">
+                  <date-part name="year"/>
+                </date>
+                <text variable="page" prefix=":"/>
+              </group>
+            </group>
+          </group>
+        </else-if>
+        <else-if type="article-newspaper">
+          <text variable="container-title" font-style="italic" prefix=" " suffix=". "/>
+          <choose>
+            <if variable="URL">
+              <group delimiter=". " suffix=".">
+                <text variable="URL"/>
+                <group prefix="Published ">
+                  <date variable="issued">
+                    <date-part name="month" suffix=" "/>
+                    <date-part name="day" suffix=", "/>
+                    <date-part name="year"/>
+                  </date>
+                </group>
+                <group>
+                  <text term="accessed" text-case="capitalize-first" suffix=" "/>
+                  <date variable="accessed">
+                    <date-part name="month" suffix=" "/>
+                    <date-part name="day" suffix=", "/>
+                    <date-part name="year"/>
+                  </date>
+                </group>
+              </group>
+            </if>
+            <else>
+              <group delimiter=":" suffix=".">
+                <group>
+                  <date variable="issued">
+                    <date-part name="month" suffix=" "/>
+                    <date-part name="day" suffix=", "/>
+                    <date-part name="year"/>
+                  </date>
+                </group>
+                <text variable="page"/>
+              </group>
+            </else>
+          </choose>
+        </else-if>
+        <else-if type="legal_case">
+          <group suffix="," prefix=" " delimiter=" ">
+            <text macro="editor" prefix="(" suffix=")"/>
+          </group>
+          <group prefix=" " delimiter=" ">
+            <text variable="container-title"/>
+            <text variable="volume"/>
+          </group>
+          <text variable="page" prefix=", " suffix=" "/>
+          <group prefix="(" suffix=")." delimiter=" ">
+            <text variable="authority"/>
+            <date variable="issued">
+              <date-part name="year"/>
+            </date>
+          </group>
+        </else-if>
+        <else-if type="webpage post post-weblog" match="any">
+          <text variable="container-title" prefix=" " suffix="."/>
+        </else-if>
+        <else-if type="speech">
+          <group prefix=" " suffix=":">
+            <choose>
+              <if variable="genre">
+                <text variable="genre" suffix=" "/>
+                <text term="presented at"/>
+              </if>
+              <else>
+                <text term="presented at" text-case="capitalize-first"/>
+              </else>
+            </choose>
+          </group>
+          <group delimiter="; " prefix=" " suffix=".">
+            <text variable="event"/>
+            <group>
+              <date delimiter=" " variable="issued">
+                <date-part name="month"/>
+                <date-part name="day" suffix=","/>
+                <date-part name="year"/>
+              </date>
+            </group>
+            <text variable="event-place"/>
+          </group>
+        </else-if>
+        <else>
+          <text macro="editor" prefix=" " suffix="."/>
+          <group prefix=" " suffix=".">
+            <text variable="container-title" font-style="italic" form="short" strip-periods="true" suffix="."/>
+            <group delimiter=";" prefix=" ">
+              <choose>
+                <if variable="issue volume" match="any">
+                  <date variable="issued">
+                    <date-part name="year"/>
+                  </date>
+                </if>
+                <else>
+                  <group delimiter=" ">
+                    <text value="Published online"/>
+                    <date form="text" date-parts="year-month-day" variable="issued"/>
+                  </group>
+                </else>
+              </choose>
+              <group>
+                <text variable="volume"/>
+                <text variable="issue" prefix="(" suffix=")"/>
+              </group>
+            </group>
+            <text variable="page" prefix=":"/>
+          </group>
+        </else>
+      </choose>
+      <text prefix=" " macro="access"/>
+    </layout>
+  </bibliography>
+</style>

Added: trunk/Master/texmf-dist/tex/latex/citation-style-language/styles/american-political-science-association.csl
===================================================================
--- trunk/Master/texmf-dist/tex/latex/citation-style-language/styles/american-political-science-association.csl	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/citation-style-language/styles/american-political-science-association.csl	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,236 @@
+<?xml version="1.0" encoding="utf-8"?>
+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" page-range-format="chicago" demote-non-dropping-particle="sort-only">
+  <!-- This style was edited with the Visual CSL Editor (http://steveridout.com/csl/visualEditor/) -->
+  <info>
+    <title>American Political Science Association</title>
+    <title-short>APSA</title-short>
+    <id>http://www.zotero.org/styles/american-political-science-association</id>
+    <link href="http://www.zotero.org/styles/american-political-science-association" rel="self"/>
+    <link href="http://www.apsanet.org/media/PDFs/Publications/APSAStyleManual2006.pdf" rel="documentation"/>
+    <author>
+      <name>Julian Onions</name>
+      <email>julian.onions at gmail.com</email>
+    </author>
+    <contributor>
+      <name>Sebastian Karcher</name>
+    </contributor>
+    <category citation-format="author-date"/>
+    <category field="political_science"/>
+    <summary>The American Political Science Association style. Et al rules based on published APSR articles</summary>
+    <updated>2012-09-14T22:11:27+00:00</updated>
+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
+  </info>
+  <locale xml:lang="en-US">
+    <date form="text">
+      <date-part name="month" suffix=" "/>
+      <date-part name="day" suffix=", "/>
+      <date-part name="year"/>
+    </date>
+  </locale>
+  <locale xml:lang="nb-NO">
+    <date form="text">
+      <date-part name="day" suffix=" "/>
+      <date-part name="month" suffix=" "/>
+      <date-part name="year"/>
+    </date>
+  </locale>
+  <locale xml:lang="nn-NO">
+    <date form="text">
+      <date-part name="day" suffix=" "/>
+      <date-part name="month" suffix=" "/>
+      <date-part name="year"/>
+    </date>
+  </locale>
+  <macro name="editor">
+    <names variable="editor" delimiter=", ">
+      <label form="short" text-case="lowercase" suffix=" "/>
+      <name and="text" delimiter=", "/>
+    </names>
+  </macro>
+  <macro name="author">
+    <names variable="author">
+      <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>
+      <label form="short" prefix=", " text-case="lowercase"/>
+      <substitute>
+        <names variable="editor"/>
+        <text macro="title"/>
+      </substitute>
+    </names>
+  </macro>
+  <macro name="author-short">
+    <names variable="author">
+      <name form="short" and="text" delimiter=", " initialize-with=". " sort-separator=", "/>
+      <substitute>
+        <names variable="editor"/>
+        <names variable="translator"/>
+        <text variable="title" form="short"/>
+      </substitute>
+    </names>
+  </macro>
+  <macro name="access">
+    <choose>
+      <if type="legal_case" match="none">
+        <choose>
+          <if variable="URL">
+            <group delimiter=" ">
+              <text variable="URL"/>
+              <group prefix="(" suffix=")">
+                <date variable="accessed" form="text"/>
+              </group>
+            </group>
+          </if>
+        </choose>
+      </if>
+    </choose>
+  </macro>
+  <macro name="title">
+    <choose>
+      <if type="bill book graphic legal_case legislation motion_picture report song" match="any">
+        <text variable="title" font-style="italic" text-case="title"/>
+      </if>
+      <else>
+        <text variable="title" quotes="true" text-case="title"/>
+      </else>
+    </choose>
+  </macro>
+  <macro name="legal_case">
+    <group prefix=" " delimiter=" ">
+      <text variable="volume"/>
+      <text variable="container-title"/>
+    </group>
+    <text variable="authority" prefix=" (" suffix=")"/>
+  </macro>
+  <macro name="publisher">
+    <choose>
+      <if type="thesis" match="none">
+        <group delimiter=": ">
+          <text variable="publisher-place"/>
+          <text variable="publisher"/>
+        </group>
+        <text variable="genre" prefix=". "/>
+      </if>
+      <else>
+        <group delimiter=". ">
+          <text variable="genre"/>
+          <text variable="publisher"/>
+        </group>
+      </else>
+    </choose>
+  </macro>
+  <macro name="year-date">
+    <choose>
+      <if variable="issued">
+        <date variable="issued">
+          <date-part name="year"/>
+        </date>
+      </if>
+      <else>
+        <text term="no date" form="short"/>
+      </else>
+    </choose>
+  </macro>
+  <macro name="edition">
+    <choose>
+      <if is-numeric="edition">
+        <group delimiter=" ">
+          <number variable="edition" form="ordinal"/>
+          <text term="edition" form="short"/>
+        </group>
+      </if>
+      <else>
+        <text variable="edition" suffix="."/>
+      </else>
+    </choose>
+  </macro>
+  <macro name="locator">
+    <choose>
+      <if locator="page">
+        <text variable="locator"/>
+      </if>
+      <else>
+        <group delimiter=" ">
+          <label variable="locator" form="short"/>
+          <text variable="locator"/>
+        </group>
+      </else>
+    </choose>
+  </macro>
+  <citation et-al-min="4" et-al-use-first="1" disambiguate-add-year-suffix="true" disambiguate-add-names="true" disambiguate-add-givenname="true" givenname-disambiguation-rule="primary-name" collapse="year">
+    <sort>
+      <key macro="author-short"/>
+      <key macro="year-date"/>
+    </sort>
+    <layout prefix="(" suffix=")" delimiter="; ">
+      <group delimiter=", ">
+        <group delimiter=" ">
+          <text macro="author-short"/>
+          <text macro="year-date"/>
+        </group>
+        <text macro="locator"/>
+      </group>
+    </layout>
+  </citation>
+  <bibliography hanging-indent="true" et-al-min="5" et-al-use-first="1" subsequent-author-substitute="———">
+    <sort>
+      <key macro="author"/>
+      <key macro="year-date"/>
+      <key variable="title"/>
+    </sort>
+    <layout suffix=".">
+      <text macro="author" suffix="."/>
+      <date variable="issued" prefix=" " suffix=".">
+        <date-part name="year"/>
+      </date>
+      <choose>
+        <if type="bill book graphic legal_case legislation manuscript motion_picture report song thesis" match="any">
+          <text macro="legal_case"/>
+          <group prefix=" " delimiter=" ">
+            <text macro="title" suffix="."/>
+            <text macro="edition"/>
+            <text macro="editor" suffix="."/>
+          </group>
+          <text prefix=" " suffix="." macro="publisher"/>
+        </if>
+        <else-if type="chapter paper-conference" match="any">
+          <text macro="title" prefix=" " suffix="."/>
+          <group prefix=" " delimiter=" ">
+            <text term="in" text-case="capitalize-first"/>
+            <text variable="container-title" font-style="italic" suffix="," text-case="title"/>
+            <text variable="collection-title" suffix=","/>
+            <text macro="editor" suffix="."/>
+            <group suffix=".">
+              <text macro="publisher"/>
+              <text variable="page" prefix=", "/>
+            </group>
+          </group>
+        </else-if>
+        <else>
+          <group prefix=" " delimiter=" " suffix=".">
+            <text macro="title"/>
+            <text macro="editor"/>
+          </group>
+          <choose>
+            <if type="speech">
+              <group prefix=" " delimiter=" " suffix=".">
+                <text term="presented at" text-case="capitalize-first"/>
+                <group delimiter=", ">
+                  <text variable="event"/>
+                  <text variable="event-place"/>
+                </group>
+              </group>
+            </if>
+          </choose>
+          <group prefix=" " suffix=".">
+            <text variable="container-title" font-style="italic"/>
+            <group prefix=" ">
+              <text variable="volume"/>
+              <text variable="issue" prefix="(" suffix=")"/>
+            </group>
+            <text variable="page" prefix=": "/>
+          </group>
+        </else>
+      </choose>
+      <text prefix=" " macro="access" suffix="."/>
+    </layout>
+  </bibliography>
+</style>

Added: trunk/Master/texmf-dist/tex/latex/citation-style-language/styles/american-sociological-association.csl
===================================================================
--- trunk/Master/texmf-dist/tex/latex/citation-style-language/styles/american-sociological-association.csl	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/citation-style-language/styles/american-sociological-association.csl	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,309 @@
+<?xml version="1.0" encoding="utf-8"?>
+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="sort-only" page-range-format="chicago">
+  <info>
+    <title>American Sociological Association 6th edition</title>
+    <title-short>ASA</title-short>
+    <id>http://www.zotero.org/styles/american-sociological-association</id>
+    <link href="http://www.zotero.org/styles/american-sociological-association" rel="self"/>
+    <link href="http://owl.english.purdue.edu/owl/resource/583/03/" rel="documentation"/>
+    <author>
+      <name>Julian Onions</name>
+      <email>julian.onions at gmail.com</email>
+    </author>
+    <contributor>
+      <name>Patrick O'Brien</name>
+    </contributor>
+    <category citation-format="author-date"/>
+    <category field="sociology"/>
+    <summary>The ASA style following the 6th edition of the Style Guide</summary>
+    <updated>2020-09-18T10:38:12+00:00</updated>
+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
+  </info>
+  <locale xml:lang="en">
+    <terms>
+      <term name="version">version</term>
+    </terms>
+  </locale>
+  <macro name="editor">
+    <names variable="editor">
+      <label form="verb" suffix=" "/>
+      <name and="text" delimiter=", " initialize-with=". "/>
+    </names>
+  </macro>
+  <macro name="anon">
+    <text term="anonymous" form="short" text-case="capitalize-first" strip-periods="true"/>
+  </macro>
+  <macro name="author">
+    <names variable="author">
+      <name and="text" name-as-sort-order="first" sort-separator=", " delimiter=", " delimiter-precedes-last="always" initialize="false" initialize-with=". "/>
+      <label form="short" prefix=", "/>
+      <substitute>
+        <names variable="editor"/>
+        <names variable="translator"/>
+        <choose>
+          <if type="report">
+            <text variable="publisher"/>
+          </if>
+        </choose>
+        <text macro="anon"/>
+      </substitute>
+    </names>
+  </macro>
+  <macro name="author-short">
+    <names variable="author">
+      <name form="short" and="text" delimiter=", " initialize-with=". "/>
+      <substitute>
+        <names variable="editor"/>
+        <names variable="translator"/>
+        <choose>
+          <if type="report">
+            <text variable="publisher"/>
+          </if>
+        </choose>
+        <text macro="anon"/>
+      </substitute>
+    </names>
+  </macro>
+  <macro name="access">
+    <group>
+      <choose>
+        <if type="webpage post-weblog post" match="any">
+          <group delimiter=" ">
+            <text term="retrieved" text-case="capitalize-first"/>
+            <date variable="accessed" form="text"/>
+            <text prefix="(" suffix=")" variable="URL"/>
+          </group>
+        </if>
+        <else-if type="article-journal report" match="any">
+          <text variable="DOI" prefix="doi: "/>
+        </else-if>
+      </choose>
+    </group>
+  </macro>
+  <macro name="title">
+    <choose>
+      <if type="thesis">
+        <text variable="title" text-case="title"/>
+      </if>
+      <!-- Software Hack -->
+      <else-if type="book" variable="version" match="all">
+        <!-- Allow lower-case initial letters, e.g., iPhone, ggplot2 -->
+        <text variable="title" font-style="italic"/>
+      </else-if>
+      <else-if type="bill book graphic legal_case legislation motion_picture report song" match="any">
+        <text variable="title" font-style="italic" text-case="title"/>
+      </else-if>
+      <else>
+        <text variable="title" quotes="true" text-case="title"/>
+      </else>
+    </choose>
+  </macro>
+  <macro name="publisher">
+    <choose>
+      <if type="thesis manuscript">
+        <group delimiter=", ">
+          <text variable="publisher"/>
+          <text variable="publisher-place"/>
+          <choose>
+            <if type="manuscript" match="any">
+              <group delimiter=" ">
+                <text variable="genre"/>
+                <text variable="number"/>
+              </group>
+            </if>
+          </choose>
+        </group>
+      </if>
+      <else>
+        <group delimiter=": ">
+          <text variable="publisher-place"/>
+          <text variable="publisher"/>
+        </group>
+      </else>
+    </choose>
+  </macro>
+  <macro name="year-date">
+    <choose>
+      <if variable="issued">
+        <group delimiter=" ">
+          <date variable="original-date" form="numeric" date-parts="year" prefix="[" suffix="]"/>
+          <date variable="issued" form="numeric" date-parts="year"/>
+        </group>
+      </if>
+      <else>
+        <text term="no date" form="short"/>
+      </else>
+    </choose>
+  </macro>
+  <macro name="year-sort">
+    <choose>
+      <if variable="issued">
+        <date variable="issued" form="numeric" date-parts="year"/>
+      </if>
+      <else>
+        <text term="no date" form="short"/>
+      </else>
+    </choose>
+  </macro>
+  <macro name="day-month">
+    <date variable="issued">
+      <date-part name="month"/>
+      <date-part name="day" prefix=" "/>
+    </date>
+  </macro>
+  <macro name="pages">
+    <label variable="page" form="short" suffix=" " text-case="capitalize-first"/>
+    <text variable="page"/>
+  </macro>
+  <macro name="edition">
+    <choose>
+      <if is-numeric="edition">
+        <group delimiter=" ">
+          <number variable="edition" form="ordinal"/>
+          <text term="edition" form="short"/>
+        </group>
+      </if>
+      <else>
+        <text variable="edition" suffix="."/>
+      </else>
+    </choose>
+  </macro>
+  <macro name="volume">
+    <group delimiter=" ">
+      <label text-case="capitalize-first" variable="volume" form="short"/>
+      <text variable="volume"/>
+    </group>
+  </macro>
+  <macro name="report">
+    <choose>
+      <if type="report" match="any">
+        <group delimiter=". ">
+          <text variable="genre" font-style="italic"/>
+          <text variable="number"/>
+        </group>
+      </if>
+    </choose>
+  </macro>
+  <citation et-al-min="4" et-al-use-first="1" et-al-subsequent-min="3" et-al-subsequent-use-first="1" disambiguate-add-year-suffix="true" disambiguate-add-names="true" disambiguate-add-givenname="true" collapse="year">
+    <sort>
+      <key macro="author-short"/>
+      <key macro="year-sort"/>
+    </sort>
+    <layout prefix="(" suffix=")" delimiter="; ">
+      <group delimiter=":">
+        <group delimiter=" ">
+          <text macro="author-short"/>
+          <text macro="year-date"/>
+        </group>
+        <text variable="locator"/>
+      </group>
+    </layout>
+  </citation>
+  <bibliography hanging-indent="true">
+    <sort>
+      <key macro="author"/>
+      <key macro="year-sort"/>
+      <key variable="title"/>
+    </sort>
+    <layout suffix=".">
+      <group delimiter=" ">
+        <text macro="author" suffix="."/>
+        <text macro="year-date" suffix="."/>
+      </group>
+      <choose>
+        <if type="article-newspaper article-magazine" match="any">
+          <group delimiter=" ">
+            <text macro="title" prefix=" " suffix="."/>
+          </group>
+          <group prefix=" " delimiter=", ">
+            <text variable="container-title" font-style="italic" text-case="title"/>
+            <text macro="day-month"/>
+            <text variable="edition"/>
+            <text variable="page"/>
+          </group>
+        </if>
+        <else-if type="thesis">
+          <text macro="title" prefix=" " suffix="." quotes="true"/>
+          <group prefix=" " delimiter=", ">
+            <text macro="edition"/>
+            <text macro="editor" suffix="."/>
+            <text variable="genre"/>
+            <text macro="publisher"/>
+          </group>
+        </else-if>
+        <!--Software hack-->
+        <else-if type="book" variable="version" match="all">
+          <group prefix=" " delimiter=". ">
+            <group>
+              <!-- To Do: localize once we have a proper term -->
+              <text macro="title" suffix=" [computer program]"/>
+            </group>
+            <group delimiter=" ">
+              <text term="version" text-case="capitalize-first"/>
+              <text variable="version"/>
+            </group>
+            <text variable="URL"/>
+          </group>
+        </else-if>
+        <else-if type="bill book graphic legal_case legislation motion_picture report song" match="any">
+          <group delimiter=". ">
+            <text macro="title" prefix=" "/>
+            <text macro="volume"/>
+            <text macro="edition"/>
+            <text macro="editor" suffix="."/>
+            <text macro="report"/>
+            <text macro="publisher"/>
+          </group>
+        </else-if>
+        <else-if type="chapter paper-conference" match="any">
+          <group delimiter=" ">
+            <text macro="title" prefix=" " suffix="."/>
+            <group delimiter=", " suffix=".">
+              <group delimiter=" ">
+                <text macro="pages"/>
+                <text term="in" text-case="lowercase"/>
+                <group delimiter=". ">
+                  <text variable="container-title" font-style="italic"/>
+                  <text macro="volume"/>
+                </group>
+              </group>
+              <text variable="collection-title" font-style="italic"/>
+              <text macro="editor"/>
+            </group>
+            <text macro="publisher"/>
+          </group>
+        </else-if>
+        <else-if type="speech" match="any">
+          <group delimiter=", ">
+            <group delimiter=". ">
+              <text macro="title"/>
+              <group delimiter=" ">
+                <text term="presented at" text-case="capitalize-first"/>
+                <text variable="event"/>
+              </group>
+            </group>
+            <text macro="day-month"/>
+            <text variable="event-place"/>
+          </group>
+        </else-if>
+        <else>
+          <group suffix=".">
+            <text macro="title" prefix=" "/>
+            <text macro="editor" prefix=" "/>
+          </group>
+          <group prefix=" " suffix="." delimiter=" ">
+            <text variable="container-title" font-style="italic" text-case="title"/>
+            <group delimiter=":">
+              <group>
+                <text variable="volume"/>
+                <text variable="issue" prefix="(" suffix=")"/>
+              </group>
+              <text variable="page"/>
+            </group>
+          </group>
+        </else>
+      </choose>
+      <text prefix=". " macro="access"/>
+    </layout>
+  </bibliography>
+</style>

Added: trunk/Master/texmf-dist/tex/latex/citation-style-language/styles/apa.csl
===================================================================
--- trunk/Master/texmf-dist/tex/latex/citation-style-language/styles/apa.csl	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/citation-style-language/styles/apa.csl	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,1914 @@
+<?xml version="1.0" encoding="utf-8"?>
+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="never" page-range-format="expanded">
+  <info>
+    <title>American Psychological Association 7th edition</title>
+    <title-short>APA</title-short>
+    <id>http://www.zotero.org/styles/apa</id>
+    <link href="http://www.zotero.org/styles/apa" rel="self"/>
+    <link href="http://www.zotero.org/styles/apa-6th-edition" rel="template"/>
+    <link href="https://apastyle.apa.org/style-grammar-guidelines/references/examples" rel="documentation"/>
+    <author>
+      <name>Brenton M. Wiernik</name>
+      <email>zotero at wiernik.org</email>
+    </author>
+    <category citation-format="author-date"/>
+    <category field="psychology"/>
+    <category field="generic-base"/>
+    <updated>2021-06-10T13:09:49+00:00</updated>
+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
+  </info>
+  <locale xml:lang="en">
+    <terms>
+      <term name="editortranslator" form="short">
+        <single>ed. & trans.</single>
+        <multiple>eds. & trans.</multiple>
+      </term>
+      <term name="translator" form="short">trans.</term>
+      <term name="interviewer" form="short">
+        <single>interviewer</single>
+        <multiple>interviewers</multiple>
+      </term>
+      <term name="collection-editor" form="short">
+        <single>ed.</single>
+        <multiple>eds.</multiple>
+      </term>
+      <term name="circa" form="short">ca.</term>
+      <term name="bc"> B.C.E.</term>
+      <term name="ad"> C.E.</term>
+      <term name="letter">personal communication</term>
+      <term name="letter" form="short">letter</term>
+      <term name="issue" form="long">
+        <single>issue</single>
+        <multiple>issues</multiple>
+      </term>
+    </terms>
+  </locale>
+  <locale xml:lang="af">
+    <terms>
+      <term name="letter">persoonlike kommunikasie</term>
+      <term name="letter" form="short">brief</term>
+    </terms>
+  </locale>
+  <locale xml:lang="ar">
+    <terms>
+      <term name="letter">اتصال شخصي</term>
+      <term name="letter" form="short">خطاب</term>
+    </terms>
+  </locale>
+  <locale xml:lang="bg">
+    <terms>
+      <term name="letter">лична комуникация</term>
+      <term name="letter" form="short">писмо</term>
+    </terms>
+  </locale>
+  <locale xml:lang="ca">
+    <terms>
+      <term name="letter">comunicació personal</term>
+      <term name="letter" form="short">carta</term>
+    </terms>
+  </locale>
+  <locale xml:lang="cs">
+    <terms>
+      <term name="letter">osobní komunikace</term>
+      <term name="letter" form="short">dopis</term>
+    </terms>
+  </locale>
+  <locale xml:lang="cy">
+    <terms>
+      <term name="letter">cyfathrebu personol</term>
+      <term name="letter" form="short">llythyr</term>
+    </terms>
+  </locale>
+  <locale xml:lang="da">
+    <terms>
+      <term name="et-al">et al.</term>
+      <term name="letter">personlig kommunikation</term>
+      <term name="letter" form="short">brev</term>
+    </terms>
+  </locale>
+  <locale xml:lang="de">
+    <terms>
+      <term name="et-al">et al.</term>
+      <term name="letter">persönliche Kommunikation</term>
+      <term name="letter" form="short">Brief</term>
+    </terms>
+  </locale>
+  <locale xml:lang="el">
+    <terms>
+      <term name="letter">προσωπική επικοινωνία</term>
+      <term name="letter" form="short">επιστολή</term>
+    </terms>
+  </locale>
+  <locale xml:lang="es">
+    <terms>
+      <term name="from">de</term>
+      <term name="letter">comunicación personal</term>
+      <term name="letter" form="short">carta</term>
+    </terms>
+  </locale>
+  <locale xml:lang="et">
+    <terms>
+      <term name="letter">isiklik suhtlus</term>
+      <term name="letter" form="short">kiri</term>
+    </terms>
+  </locale>
+  <locale xml:lang="eu">
+    <terms>
+      <term name="letter">komunikazio pertsonala</term>
+      <term name="letter" form="short">gutuna</term>
+    </terms>
+  </locale>
+  <locale xml:lang="fa">
+    <terms>
+      <term name="letter">ارتباط شخصی</term>
+      <term name="letter" form="short">نامه</term>
+    </terms>
+  </locale>
+  <locale xml:lang="fi">
+    <terms>
+      <term name="letter">henkilökohtainen viestintä</term>
+      <term name="letter" form="short">kirje</term>
+    </terms>
+  </locale>
+  <locale xml:lang="fr">
+    <terms>
+      <term name="letter">communication personnelle</term>
+      <term name="letter" form="short">lettre</term>
+      <term name="editor" form="short">
+        <single>éd.</single>
+        <multiple>éds.</multiple>
+      </term>
+    </terms>
+  </locale>
+  <locale xml:lang="he">
+    <terms>
+      <term name="letter">תקשורת אישית</term>
+      <term name="letter" form="short">מכתב</term>
+    </terms>
+  </locale>
+  <locale xml:lang="hr">
+    <terms>
+      <term name="letter">osobna komunikacija</term>
+      <term name="letter" form="short">pismo</term>
+    </terms>
+  </locale>
+  <locale xml:lang="hu">
+    <terms>
+      <term name="letter">személyes kommunikáció</term>
+      <term name="letter" form="short">levél</term>
+    </terms>
+  </locale>
+  <locale xml:lang="id">
+    <terms>
+      <term name="letter">komunikasi pribadi</term>
+      <term name="letter" form="short">surat</term>
+    </terms>
+  </locale>
+  <locale xml:lang="is">
+    <terms>
+      <term name="letter">persónuleg samskipti</term>
+      <term name="letter" form="short">bréf</term>
+    </terms>
+  </locale>
+  <locale xml:lang="it">
+    <terms>
+      <term name="letter">comunicazione personale</term>
+      <term name="letter" form="short">lettera</term>
+    </terms>
+  </locale>
+  <locale xml:lang="ja">
+    <terms>
+      <term name="letter">個人的なやり取り</term>
+      <term name="letter" form="short">手紙</term>
+    </terms>
+  </locale>
+  <locale xml:lang="ko">
+    <terms>
+      <term name="letter">개인 서신</term>
+      <term name="letter" form="short">편지</term>
+    </terms>
+  </locale>
+  <locale xml:lang="la">
+    <terms>
+      <term name="letter"/>
+      <term name="letter" form="short">epistula</term>
+    </terms>
+  </locale>
+  <locale xml:lang="lt">
+    <terms>
+      <term name="letter">communicationis personalis</term>
+      <term name="letter" form="short"/>
+    </terms>
+  </locale>
+  <locale xml:lang="lv">
+    <terms>
+      <term name="letter">personīga komunikācija</term>
+      <term name="letter" form="short">vēstule</term>
+    </terms>
+  </locale>
+  <locale xml:lang="mn">
+    <terms>
+      <term name="letter">хувийн харилцаа холбоо</term>
+      <term name="letter" form="short">захиа</term>
+    </terms>
+  </locale>
+  <locale xml:lang="nb">
+    <terms>
+      <term name="et-al">et al.</term>
+      <term name="letter">personlig kommunikasjon</term>
+      <term name="letter" form="short">brev</term>
+    </terms>
+  </locale>
+  <locale xml:lang="nl">
+    <terms>
+      <term name="et-al">et al.</term>
+      <term name="letter">persoonlijke communicatie</term>
+      <term name="letter" form="short">brief</term>
+    </terms>
+  </locale>
+  <locale xml:lang="nn">
+    <terms>
+      <term name="et-al">et al.</term>
+      <term name="letter">personlig kommunikasjon</term>
+      <term name="letter" form="short">brev</term>
+    </terms>
+  </locale>
+  <locale xml:lang="pl">
+    <terms>
+      <term name="letter">osobista komunikacja</term>
+      <term name="letter" form="short">list</term>
+    </terms>
+  </locale>
+  <locale xml:lang="pt">
+    <terms>
+      <term name="letter">comunicação pessoal</term>
+      <term name="letter" form="short">carta</term>
+    </terms>
+  </locale>
+  <locale xml:lang="ro">
+    <terms>
+      <term name="letter">comunicare personală</term>
+      <term name="letter" form="short">scrisoare</term>
+    </terms>
+  </locale>
+  <locale xml:lang="ru">
+    <terms>
+      <term name="letter">личная переписка</term>
+      <term name="letter" form="short">письмо</term>
+    </terms>
+  </locale>
+  <locale xml:lang="sk">
+    <terms>
+      <term name="letter">osobná komunikácia</term>
+      <term name="letter" form="short">list</term>
+    </terms>
+  </locale>
+  <locale xml:lang="sl">
+    <terms>
+      <term name="letter">osebna komunikacija</term>
+      <term name="letter" form="short">pismo</term>
+    </terms>
+  </locale>
+  <locale xml:lang="sr">
+    <terms>
+      <term name="letter">лична комуникација</term>
+      <term name="letter" form="short">писмо</term>
+    </terms>
+  </locale>
+  <locale xml:lang="sv">
+    <terms>
+      <term name="letter">personlig kommunikation</term>
+      <term name="letter" form="short">brev</term>
+    </terms>
+  </locale>
+  <locale xml:lang="th">
+    <terms>
+      <term name="letter">การสื่อสารส่วนบุคคล</term>
+      <term name="letter" form="short">จดหมาย</term>
+    </terms>
+  </locale>
+  <locale xml:lang="tr">
+    <terms>
+      <term name="letter">kişisel iletişim</term>
+      <term name="letter" form="short">mektup</term>
+    </terms>
+  </locale>
+  <locale xml:lang="uk">
+    <terms>
+      <term name="letter">особисте спілкування</term>
+      <term name="letter" form="short">лист</term>
+    </terms>
+  </locale>
+  <locale xml:lang="vi">
+    <terms>
+      <term name="letter">giao tiếp cá nhân</term>
+      <term name="letter" form="short">thư</term>
+    </terms>
+  </locale>
+  <locale xml:lang="zh-CN">
+    <terms>
+      <term name="letter">的私人交流</term>
+      <term name="letter" form="short">信函</term>
+    </terms>
+  </locale>
+  <locale xml:lang="zh-TW">
+    <terms>
+      <term name="letter">私人通訊</term>
+      <term name="letter" form="short">信函</term>
+    </terms>
+  </locale>
+  <!-- General categories of item types:
+       Periodical: article-journal article-magazine article-newspaper post-weblog review review-book
+       Periodical or Booklike: paper-conference
+       Booklike: article book broadcast chapter dataset entry entry-dictionary entry-encyclopedia figure 
+                 graphic interview manuscript map motion_picture musical_score pamphlet patent 
+                 personal_communication report song speech thesis post webpage
+       Legal: bill legal_case legislation treaty
+  -->
+  <!-- APA references contain four parts: author, date, title, source -->
+  <macro name="author-bib">
+    <names variable="composer" delimiter=", ">
+      <name name-as-sort-order="all" and="symbol" sort-separator=", " initialize-with=". " delimiter=", " delimiter-precedes-last="always"/>
+      <substitute>
+        <names variable="author"/>
+        <names variable="illustrator"/>
+        <names variable="director">
+          <name name-as-sort-order="all" and="symbol" sort-separator=", " initialize-with=". " delimiter=", " delimiter-precedes-last="always"/>
+          <label form="long" prefix=" (" suffix=")" text-case="title"/>
+        </names>
+        <choose>
+          <if variable="container-title">
+            <choose>
+              <if type="book entry entry-dictionary entry-encyclopedia" match="any">
+                <choose>
+                  <if variable="title">
+                    <group delimiter=" ">
+                      <text macro="title"/>
+                      <text macro="parenthetical"/>
+                    </group>
+                  </if>
+                  <else>
+                    <text macro="title-and-descriptions"/>
+                  </else>
+                </choose>
+              </if>
+            </choose>
+          </if>
+        </choose>
+        <!-- Test for editortranslator and put that first as that becomes available -->
+        <names variable="editor" delimiter=", ">
+          <name name-as-sort-order="all" and="symbol" sort-separator=", " initialize-with=". " delimiter=", " delimiter-precedes-last="always"/>
+          <label form="short" prefix=" (" suffix=")" text-case="title"/>
+        </names>
+        <names variable="editorial-director">
+          <name name-as-sort-order="all" and="symbol" sort-separator=", " initialize-with=". " delimiter=", " delimiter-precedes-last="always"/>
+          <label form="short" prefix=" (" suffix=")" text-case="title"/>
+        </names>
+        <names variable="collection-editor">
+          <name name-as-sort-order="all" and="symbol" sort-separator=", " initialize-with=". " delimiter=", " delimiter-precedes-last="always"/>
+          <label form="short" prefix=" (" suffix=")" text-case="title"/>
+        </names>
+        <choose>
+          <if variable="title">
+            <group delimiter=" ">
+              <text macro="title"/>
+              <text macro="parenthetical"/>
+            </group>
+          </if>
+          <else>
+            <text macro="title-and-descriptions"/>
+          </else>
+        </choose>
+      </substitute>
+    </names>
+  </macro>
+  <macro name="author-intext">
+    <choose>
+      <if type="bill legal_case legislation treaty" match="any">
+        <text macro="title-intext"/>
+      </if>
+      <else-if type="interview personal_communication" match="any">
+        <choose>
+          <!-- These variables indicate that the letter is retrievable by the reader. 
+                If not, then use the APA in-text-only personal communication format -->
+          <if variable="archive container-title DOI publisher URL" match="none">
+            <group delimiter=", ">
+              <names variable="author">
+                <name and="symbol" delimiter=", " initialize-with=". "/>
+                <substitute>
+                  <text macro="title-intext"/>
+                </substitute>
+              </names>
+              <!-- Replace with term="personal-communication" if that becomes available -->
+              <text term="letter"/>
+            </group>
+          </if>
+          <else>
+            <names variable="author" delimiter=", ">
+              <name form="short" and="symbol" delimiter=", " initialize-with=". "/>
+              <substitute>
+                <text macro="title-intext"/>
+              </substitute>
+            </names>
+          </else>
+        </choose>
+      </else-if>
+      <else>
+        <names variable="composer" delimiter=", ">
+          <name form="short" and="symbol" delimiter=", " initialize-with=". "/>
+          <substitute>
+            <names variable="author"/>
+            <names variable="illustrator"/>
+            <names variable="director"/>
+            <choose>
+              <if variable="container-title">
+                <choose>
+                  <if type="book entry entry-dictionary entry-encyclopedia" match="any">
+                    <text macro="title-intext"/>
+                  </if>
+                </choose>
+              </if>
+            </choose>
+            <names variable="editor"/>
+            <names variable="editorial-director"/>
+            <text macro="title-intext"/>
+          </substitute>
+        </names>
+      </else>
+    </choose>
+  </macro>
+  <macro name="date-bib">
+    <group delimiter=" " prefix="(" suffix=")">
+      <choose>
+        <if is-uncertain-date="issued">
+          <text term="circa" form="short"/>
+        </if>
+      </choose>
+      <group>
+        <choose>
+          <if variable="issued">
+            <date variable="issued">
+              <date-part name="year"/>
+            </date>
+            <text variable="year-suffix"/>
+            <choose>
+              <if type="article-magazine article-newspaper broadcast interview motion_picture pamphlet personal_communication post post-weblog song speech webpage" match="any">
+                <!-- Many video and audio examples in manual give full dates. Err on the side of too much information. -->
+                <date variable="issued">
+                  <date-part prefix=", " name="month"/>
+                  <date-part prefix=" " name="day"/>
+                </date>
+              </if>
+              <else-if type="paper-conference">
+                <!-- Capture 'speech' stored as 'paper-conference' -->
+                <choose>
+                  <if variable="collection-editor editor editorial-director issue page volume" match="none">
+                    <date variable="issued">
+                      <date-part prefix=", " name="month"/>
+                      <date-part prefix=" " name="day"/>
+                    </date>
+                  </if>
+                </choose>
+              </else-if>
+              <!-- Only year: article article-journal book chapter entry entry-dictionary entry-encyclopedia dataset figure graphic 
+                   manuscript map musical_score paper-conference[published] patent report review review-book thesis -->
+            </choose>
+          </if>
+          <else-if variable="status">
+            <group>
+              <text variable="status" text-case="lowercase"/>
+              <text variable="year-suffix" prefix="-"/>
+            </group>
+          </else-if>
+          <else>
+            <text term="no date" form="short"/>
+            <text variable="year-suffix" prefix="-"/>
+          </else>
+        </choose>
+      </group>
+    </group>
+  </macro>
+  <macro name="date-sort-group">
+    <choose>
+      <if variable="issued">
+        <text value="1"/>
+      </if>
+      <else-if variable="status">
+        <text value="2"/>
+      </else-if>
+      <else>
+        <text value="0"/>
+      </else>
+    </choose>
+  </macro>
+  <macro name="date-sort-date">
+    <choose>
+      <if type="article-magazine article-newspaper broadcast interview pamphlet personal_communication post post-weblog speech treaty webpage" match="any">
+        <date variable="issued" form="numeric"/>
+      </if>
+      <else-if type="paper-conference">
+        <!-- Capture 'speech' stored as 'paper-conference' -->
+        <choose>
+          <if variable="collection-editor editor editorial-director issue page volume" match="none">
+            <date variable="issued" form="numeric"/>
+          </if>
+        </choose>
+      </else-if>
+      <else>
+        <date variable="issued" form="numeric"/>
+      </else>
+    </choose>
+  </macro>
+  <macro name="date-intext">
+    <choose>
+      <if variable="issued">
+        <group delimiter="/">
+          <group delimiter=" ">
+            <choose>
+              <if is-uncertain-date="original-date">
+                <text term="circa" form="short"/>
+              </if>
+            </choose>
+            <date variable="original-date">
+              <date-part name="year"/>
+            </date>
+          </group>
+          <group delimiter=" ">
+            <choose>
+              <if is-uncertain-date="issued">
+                <text term="circa" form="short"/>
+              </if>
+            </choose>
+            <group>
+              <choose>
+                <if type="interview personal_communication" match="any">
+                  <choose>
+                    <if variable="archive container-title DOI publisher URL" match="none">
+                      <!-- These variables indicate that the communication is retrievable by the reader. 
+                           If not, then use the in-text-only personal communication format -->
+                      <date variable="issued" form="text"/>
+                    </if>
+                    <else>
+                      <date variable="issued">
+                        <date-part name="year"/>
+                      </date>
+                    </else>
+                  </choose>
+                </if>
+                <else>
+                  <date variable="issued">
+                    <date-part name="year"/>
+                  </date>
+                </else>
+              </choose>
+              <text variable="year-suffix"/>
+            </group>
+          </group>
+        </group>
+      </if>
+      <else-if variable="status">
+        <text variable="status" text-case="lowercase"/>
+        <text variable="year-suffix" prefix="-"/>
+      </else-if>
+      <else>
+        <text term="no date" form="short"/>
+        <text variable="year-suffix" prefix="-"/>
+      </else>
+    </choose>
+  </macro>
+  <!-- APA has two description elements following the title:
+       title (parenthetical) [bracketed]  -->
+  <macro name="title-and-descriptions">
+    <choose>
+      <if variable="title">
+        <group delimiter=" ">
+          <text macro="title"/>
+          <text macro="parenthetical"/>
+          <text macro="bracketed"/>
+        </group>
+      </if>
+      <else>
+        <group delimiter=" ">
+          <text macro="bracketed"/>
+          <text macro="parenthetical"/>
+        </group>
+      </else>
+    </choose>
+  </macro>
+  <macro name="title">
+    <choose>
+      <if type="post webpage" match="any">
+        <!-- Webpages are always italicized -->
+        <text variable="title" font-style="italic"/>
+      </if>
+      <else-if variable="container-title" match="any">
+        <!-- Other types are italicized based on presence of container-title.
+             Assume that review and review-book are published in periodicals/blogs,
+             not just on a web page (ex. 69) -->
+        <text variable="title"/>
+      </else-if>
+      <else>
+        <choose>
+          <if type="article-journal article-magazine article-newspaper post-weblog review review-book" match="any">
+            <text variable="title" font-style="italic"/>
+          </if>
+          <else-if type="paper-conference">
+            <choose>
+              <if variable="collection-editor editor editorial-director" match="any">
+                <group delimiter=": " font-style="italic">
+                  <text variable="title"/>
+                  <!-- Replace with volume-title as that becomes available -->
+                  <choose>
+                    <if is-numeric="volume" match="none">
+                      <group delimiter=" ">
+                        <label variable="volume" form="short" text-case="capitalize-first"/>
+                        <text variable="volume"/>
+                      </group>
+                    </if>
+                  </choose>
+                </group>
+              </if>
+              <else>
+                <text variable="title" font-style="italic"/>
+              </else>
+            </choose>
+          </else-if>
+          <else>
+            <group delimiter=": " font-style="italic">
+              <text variable="title"/>
+              <!-- Replace with volume-title as that becomes available -->
+              <choose>
+                <if is-numeric="volume" match="none">
+                  <group delimiter=" ">
+                    <label variable="volume" form="short" text-case="capitalize-first"/>
+                    <text variable="volume"/>
+                  </group>
+                </if>
+              </choose>
+            </group>
+          </else>
+        </choose>
+      </else>
+    </choose>
+  </macro>
+  <macro name="title-intext">
+    <choose>
+      <if variable="title" match="none">
+        <text macro="bracketed-intext" prefix="[" suffix="]"/>
+      </if>
+      <else-if type="bill">
+        <!-- If a bill has no number or container-title, assume it is a hearing; italic -->
+        <choose>
+          <if variable="number container-title" match="none">
+            <text variable="title" form="short" font-style="italic" text-case="title"/>
+          </if>
+          <else-if variable="title">
+            <text variable="title" form="short" text-case="title"/>
+          </else-if>
+          <else>
+            <group delimiter=" ">
+              <text variable="genre"/>
+              <group delimiter=" ">
+                <choose>
+                  <if variable="chapter-number container-title" match="none">
+                    <!-- Replace with label variable="number" as that becomes available -->
+                    <text term="issue" form="short"/>
+                  </if>
+                </choose>
+                <text variable="number"/>
+              </group>
+            </group>
+          </else>
+        </choose>
+      </else-if>
+      <else-if type="legal_case" match="any">
+        <!-- Cases are italicized -->
+        <text variable="title" font-style="italic"/>
+      </else-if>
+      <else-if type="legislation treaty" match="any">
+        <!-- Legislation and treaties not italicized or quoted -->
+        <text variable="title" form="short" text-case="title"/>
+      </else-if>
+      <else-if type="post webpage" match="any">
+        <!-- Webpages are always italicized -->
+        <text variable="title" form="short" font-style="italic" text-case="title"/>
+      </else-if>
+      <else-if variable="container-title" match="any">
+        <!-- Other types are italicized or quoted based on presence of container-title. As in title macro. -->
+        <text variable="title" form="short" quotes="true" text-case="title"/>
+      </else-if>
+      <else>
+        <text variable="title" form="short" font-style="italic" text-case="title"/>
+      </else>
+    </choose>
+  </macro>
+  <macro name="parenthetical">
+    <!-- (Secondary contributors; Database location; Genre no. 123; Report Series 123, Version, Edition, Volume, Page) -->
+    <group prefix="(" suffix=")">
+      <choose>
+        <if type="patent">
+          <!-- authority: U.S. ; genre: patent ; number: 123,445 -->
+          <group delimiter=" ">
+            <text variable="authority" form="short"/>
+            <choose>
+              <if variable="genre">
+                <text variable="genre" text-case="capitalize-first"/>
+              </if>
+              <else>
+                <!-- This should be localized -->
+                <text value="patent" text-case="capitalize-first"/>
+              </else>
+            </choose>
+            <group delimiter=" ">
+              <!-- Replace with label variable="number" if that becomes available -->
+              <text term="issue" form="short" text-case="capitalize-first"/>
+              <text variable="number"/>
+            </group>
+          </group>
+        </if>
+        <else-if type="post webpage" match="any">
+          <!-- For post webpage, container-title is treated as publisher -->
+          <group delimiter="; ">
+            <text macro="secondary-contributors"/>
+            <text macro="database-location"/>
+            <text macro="number"/>
+            <text macro="locators-booklike"/>
+          </group>
+        </else-if>
+        <else-if variable="container-title">
+          <group delimiter="; ">
+            <text macro="secondary-contributors"/>
+            <choose>
+              <if type="broadcast graphic map motion_picture song" match="any">
+                <!-- For audiovisual media, number information comes after title, not container-title -->
+                <text macro="number"/>
+              </if>
+            </choose>
+          </group>
+        </else-if>
+        <else>
+          <group delimiter="; ">
+            <text macro="secondary-contributors"/>
+            <text macro="database-location"/>
+            <text macro="number"/>
+            <text macro="locators-booklike"/>
+          </group>
+        </else>
+      </choose>
+    </group>
+  </macro>
+  <macro name="parenthetical-container">
+    <choose>
+      <if variable="container-title" match="any">
+        <group prefix="(" suffix=")">
+          <group delimiter="; ">
+            <text macro="database-location"/>
+            <choose>
+              <if type="broadcast graphic map motion_picture song" match="none">
+                <!-- For audiovisual media, number information comes after title, not container-title -->
+                <text macro="number"/>
+              </if>
+            </choose>
+            <text macro="locators-booklike"/>
+          </group>
+        </group>
+      </if>
+    </choose>
+  </macro>
+  <macro name="bracketed">
+    <!-- [Descriptive information] -->
+    <!-- If there is a number, genre is already printed in macro="number" -->
+    <group prefix="[" suffix="]">
+      <choose>
+        <if variable="reviewed-author reviewed-title" type="review review-book" match="any">
+          <!-- Reviewed item -->
+          <group delimiter="; ">
+            <group delimiter=", ">
+              <group delimiter=" ">
+                <!-- Assume that genre is entered as 'Review of the book' or similar -->
+                <choose>
+                  <if variable="number" match="none">
+                    <choose>
+                      <if variable="genre">
+                        <text variable="genre" text-case="capitalize-first"/>
+                      </if>
+                      <else-if variable="medium">
+                        <text variable="medium" text-case="capitalize-first"/>
+                      </else-if>
+                      <else>
+                        <!-- Replace with term="review" as that becomes available -->
+                        <text value="Review of"/>
+                      </else>
+                    </choose>
+                  </if>
+                  <else>
+                    <choose>
+                      <if variable="medium">
+                        <text variable="medium" text-case="capitalize-first"/>
+                      </if>
+                      <else>
+                        <!-- Replace with term="review" as that becomes available -->
+                        <text value="Review of"/>
+                      </else>
+                    </choose>
+                  </else>
+                </choose>
+                <text macro="reviewed-title"/>
+              </group>
+              <names variable="reviewed-author">
+                <label form="verb-short" suffix=" "/>
+                <name and="symbol" initialize-with=". " delimiter=", "/>
+              </names>
+            </group>
+            <choose>
+              <if variable="genre" match="any">
+                <choose>
+                  <if variable="number" match="none">
+                    <text variable="medium" text-case="capitalize-first"/>
+                  </if>
+                </choose>
+              </if>
+            </choose>
+          </group>
+        </if>
+        <else-if type="thesis">
+          <!-- Thesis type and institution -->
+          <group delimiter="; ">
+            <choose>
+              <if variable="number" match="none">
+                <group delimiter=", ">
+                  <text variable="genre" text-case="capitalize-first"/>
+                  <choose>
+                    <if variable="archive DOI URL" match="any">
+                      <!-- Include the university in brackets if thesis is published -->
+                      <text variable="publisher"/>
+                    </if>
+                  </choose>
+                </group>
+              </if>
+            </choose>
+            <text variable="medium" text-case="capitalize-first"/>
+          </group>
+        </else-if>
+        <else-if variable="interviewer" type="interview" match="any">
+          <!-- Interview information -->
+          <choose>
+            <if variable="title">
+              <text macro="format"/>
+            </if>
+            <else-if variable="genre">
+              <group delimiter="; ">
+                <group delimiter=" ">
+                  <text variable="genre" text-case="capitalize-first"/>
+                  <group delimiter=" ">
+                    <text term="author" form="verb"/>
+                    <names variable="interviewer">
+                      <name and="symbol" initialize-with=". " delimiter=", "/>
+                    </names>
+                  </group>
+                </group>
+              </group>
+            </else-if>
+            <else-if variable="interviewer">
+              <group delimiter="; ">
+                <names variable="interviewer">
+                  <label form="verb" suffix=" " text-case="capitalize-first"/>
+                  <name and="symbol" initialize-with=". " delimiter=", "/>
+                </names>
+                <text variable="medium" text-case="capitalize-first"/>
+              </group>
+            </else-if>
+            <else>
+              <text macro="format"/>
+            </else>
+          </choose>
+        </else-if>
+        <else-if type="personal_communication">
+          <!-- Letter information -->
+          <choose>
+            <if variable="recipient">
+              <group delimiter="; ">
+                <group delimiter=" ">
+                  <choose>
+                    <if variable="number" match="none">
+                      <choose>
+                        <if variable="genre">
+                          <text variable="genre" text-case="capitalize-first"/>
+                        </if>
+                        <else-if variable="medium">
+                          <text variable="medium" text-case="capitalize-first"/>
+                        </else-if>
+                        <else>
+                          <text term="letter" form="short" text-case="capitalize-first"/>
+                        </else>
+                      </choose>
+                    </if>
+                    <else>
+                      <choose>
+                        <if variable="medium">
+                          <text variable="medium" text-case="capitalize-first"/>
+                        </if>
+                        <else>
+                          <text term="letter" form="short" text-case="capitalize-first"/>
+                        </else>
+                      </choose>
+                    </else>
+                  </choose>
+                  <names variable="recipient" delimiter=", ">
+                    <label form="verb" suffix=" "/>
+                    <name and="symbol" delimiter=", "/>
+                  </names>
+                </group>
+                <choose>
+                  <if variable="genre" match="any">
+                    <choose>
+                      <if variable="number" match="none">
+                        <text variable="medium" text-case="capitalize-first"/>
+                      </if>
+                    </choose>
+                  </if>
+                </choose>
+              </group>
+            </if>
+            <else>
+              <text macro="format"/>
+            </else>
+          </choose>
+        </else-if>
+        <else-if variable="composer" type="song" match="all">
+          <!-- Performer of classical music works -->
+          <group delimiter="; ">
+            <choose>
+              <if variable="number" match="none">
+                <group delimiter=" ">
+                  <choose>
+                    <if variable="genre">
+                      <text variable="genre" text-case="capitalize-first"/>
+                      <!-- Replace prefix with performer label as that becomes available -->
+                      <names variable="author" prefix="recorded by ">
+                        <name and="symbol" initialize-with=". " delimiter=", "/>
+                      </names>
+                    </if>
+                    <else-if variable="medium">
+                      <text variable="medium" text-case="capitalize-first"/>
+                      <!-- Replace prefix with performer label as that becomes available -->
+                      <names variable="author" prefix="recorded by ">
+                        <name and="symbol" initialize-with=". " delimiter=", "/>
+                      </names>
+                    </else-if>
+                    <else>
+                      <!-- Replace prefix with performer label as that becomes available -->
+                      <names variable="author" prefix="Recorded by ">
+                        <name and="symbol" initialize-with=". " delimiter=", "/>
+                      </names>
+                    </else>
+                  </choose>
+                </group>
+              </if>
+              <else>
+                <group delimiter=" ">
+                  <choose>
+                    <if variable="medium">
+                      <text variable="medium" text-case="capitalize-first"/>
+                      <!-- Replace prefix with performer label as that becomes available -->
+                      <names variable="author" prefix="recorded by ">
+                        <name and="symbol" initialize-with=". " delimiter=", "/>
+                      </names>
+                    </if>
+                    <else>
+                      <!-- Replace prefix with performer label as that becomes available -->
+                      <names variable="author" prefix="Recorded by ">
+                        <name and="symbol" initialize-with=". " delimiter=", "/>
+                      </names>
+                    </else>
+                  </choose>
+                </group>
+              </else>
+            </choose>
+            <choose>
+              <if variable="genre" match="any">
+                <choose>
+                  <if variable="number" match="none">
+                    <text variable="medium" text-case="capitalize-first"/>
+                  </if>
+                </choose>
+              </if>
+            </choose>
+          </group>
+        </else-if>
+        <else-if variable="container-title" match="none">
+          <!-- Other description -->
+          <text macro="format"/>
+        </else-if>
+        <else>
+          <!-- For conference presentations, chapters in reports, software, place bracketed after the container title -->
+          <choose>
+            <if type="paper-conference speech" match="any">
+              <choose>
+                <if variable="collection-editor editor editorial-director issue page volume" match="any">
+                  <text macro="format"/>
+                </if>
+              </choose>
+            </if>
+            <else-if type="book">
+              <choose>
+                <if variable="version" match="none">
+                  <text macro="format"/>
+                </if>
+              </choose>
+            </else-if>
+            <else-if type="report" match="none">
+              <text macro="format"/>
+            </else-if>
+          </choose>
+        </else>
+      </choose>
+    </group>
+  </macro>
+  <macro name="bracketed-intext">
+    <group prefix="[" suffix="]">
+      <choose>
+        <if variable="reviewed-author reviewed-title" type="review review-book" match="any">
+          <!-- This should be localized -->
+          <text macro="reviewed-title-intext" prefix="Review of "/>
+        </if>
+        <else-if variable="interviewer" type="interview" match="any">
+          <names variable="interviewer">
+            <label form="verb" suffix=" " text-case="capitalize-first"/>
+            <name and="symbol" initialize-with=". " delimiter=", "/>
+            <substitute>
+              <text macro="format-intext"/>
+            </substitute>
+          </names>
+        </else-if>
+        <else-if type="personal_communication">
+          <!-- Letter information -->
+          <choose>
+            <if variable="recipient">
+              <group delimiter=" ">
+                <choose>
+                  <if variable="number" match="none">
+                    <text variable="genre" text-case="capitalize-first"/>
+                  </if>
+                  <else>
+                    <text term="letter" form="short" text-case="capitalize-first"/>
+                  </else>
+                </choose>
+                <names variable="recipient" delimiter=", ">
+                  <label form="verb" suffix=" "/>
+                  <name and="symbol" delimiter=", "/>
+                </names>
+              </group>
+            </if>
+            <else>
+              <text macro="format-intext"/>
+            </else>
+          </choose>
+        </else-if>
+        <else>
+          <text macro="format-intext"/>
+        </else>
+      </choose>
+    </group>
+  </macro>
+  <macro name="bracketed-container">
+    <group prefix="[" suffix="]">
+      <choose>
+        <if type="paper-conference speech" match="any">
+          <!-- Conference presentations should describe the session [container] in bracketed unless published in a proceedings -->
+          <choose>
+            <if variable="collection-editor editor editorial-director issue page volume" match="none">
+              <text macro="format"/>
+            </if>
+          </choose>
+        </if>
+        <else-if type="book" variable="version" match="all">
+          <!-- For entries in mobile app reference works, place bracketed after the container-title -->
+          <text macro="format"/>
+        </else-if>
+        <else-if type="report">
+          <!-- For chapters in reports, place bracketed after the container title -->
+          <text macro="format"/>
+        </else-if>
+      </choose>
+    </group>
+  </macro>
+  <macro name="secondary-contributors">
+    <choose>
+      <if type="article-journal article-magazine article-newspaper post-weblog review review-book" match="any">
+        <text macro="secondary-contributors-periodical"/>
+      </if>
+      <else-if type="paper-conference">
+        <choose>
+          <if variable="collection-editor editor editorial-director" match="any">
+            <text macro="secondary-contributors-booklike"/>
+          </if>
+          <else>
+            <text macro="secondary-contributors-periodical"/>
+          </else>
+        </choose>
+      </else-if>
+      <else>
+        <text macro="secondary-contributors-booklike"/>
+      </else>
+    </choose>
+  </macro>
+  <macro name="secondary-contributors-periodical">
+    <group delimiter="; ">
+      <choose>
+        <if variable="title">
+          <names variable="interviewer" delimiter="; ">
+            <name and="symbol" initialize-with=". " delimiter=", "/>
+            <label form="short" prefix=", " text-case="title"/>
+          </names>
+        </if>
+      </choose>
+      <names variable="translator" delimiter="; ">
+        <name and="symbol" initialize-with=". " delimiter=", "/>
+        <label form="short" prefix=", " text-case="title"/>
+      </names>
+    </group>
+  </macro>
+  <macro name="secondary-contributors-booklike">
+    <group delimiter="; ">
+      <choose>
+        <if variable="title">
+          <names variable="interviewer">
+            <name and="symbol" initialize-with=". " delimiter=", "/>
+            <label form="short" prefix=", " text-case="title"/>
+          </names>
+        </if>
+      </choose>
+      <!-- When editortranslator becomes available, add a test: variable="editortranslator" match="none"; then print translator -->
+      <choose>
+        <if type="post webpage" match="none">
+          <!-- Webpages treat container-title like publisher -->
+          <choose>
+            <if variable="container-title" match="none">
+              <group delimiter="; ">
+                <names variable="container-author">
+                  <label form="verb-short" suffix=" " text-case="title"/>
+                  <name and="symbol" initialize-with=". " delimiter=", "/>
+                </names>
+                <names variable="editor translator" delimiter="; ">
+                  <name and="symbol" initialize-with=". " delimiter=", "/>
+                  <label form="short" prefix=", " text-case="title"/>
+                </names>
+              </group>
+            </if>
+          </choose>
+        </if>
+        <else>
+          <group delimiter="; ">
+            <names variable="container-author">
+              <label form="verb-short" suffix=" " text-case="title"/>
+              <name and="symbol" initialize-with=". " delimiter=", "/>
+            </names>
+            <names variable="editor translator" delimiter="; ">
+              <name and="symbol" initialize-with=". " delimiter=", "/>
+              <label form="short" prefix=", " text-case="title"/>
+            </names>
+          </group>
+        </else>
+      </choose>
+    </group>
+  </macro>
+  <macro name="database-location">
+    <choose>
+      <if variable="archive-place" match="none">
+        <!-- With `archive-place`: physical archives. Without: online archives. -->
+        <!-- Add archive_collection as that becomes available -->
+        <text variable="archive_location"/>
+      </if>
+    </choose>
+  </macro>
+  <macro name="number">
+    <choose>
+      <if variable="number">
+        <group delimiter=", ">
+          <group delimiter=" ">
+            <text variable="genre" text-case="title"/>
+            <choose>
+              <if is-numeric="number">
+                <!-- Replace with label variable="number" if that becomes available -->
+                <text term="issue" form="short" text-case="capitalize-first"/>
+                <text variable="number"/>
+              </if>
+              <else>
+                <text variable="number"/>
+              </else>
+            </choose>
+          </group>
+          <choose>
+            <if type="thesis">
+              <choose>
+                <!-- Include the university in brackets if thesis is published -->
+                <if variable="archive DOI URL" match="any">
+                  <text variable="publisher"/>
+                </if>
+              </choose>
+            </if>
+          </choose>
+        </group>
+      </if>
+    </choose>
+  </macro>
+  <macro name="locators-booklike">
+    <choose>
+      <if type="article-journal article-magazine article-newspaper broadcast interview patent post post-weblog review review-book speech webpage" match="any"/>
+      <else-if type="paper-conference">
+        <choose>
+          <if variable="collection-editor editor editorial-director" match="any">
+            <group delimiter=", ">
+              <text macro="version"/>
+              <text macro="edition"/>
+              <text macro="volume-booklike"/>
+            </group>
+          </if>
+        </choose>
+      </else-if>
+      <else>
+        <group delimiter=", ">
+          <text macro="version"/>
+          <text macro="edition"/>
+          <text macro="volume-booklike"/>
+        </group>
+      </else>
+    </choose>
+  </macro>
+  <macro name="version">
+    <choose>
+      <if is-numeric="version">
+        <group delimiter=" ">
+          <!-- replace with label variable="version" if that becomes available -->
+          <text term="version" text-case="capitalize-first"/>
+          <text variable="version"/>
+        </group>
+      </if>
+      <else>
+        <text variable="version"/>
+      </else>
+    </choose>
+  </macro>
+  <macro name="edition">
+    <choose>
+      <if is-numeric="edition">
+        <group delimiter=" ">
+          <number variable="edition" form="ordinal"/>
+          <label variable="edition" form="short"/>
+        </group>
+      </if>
+      <else>
+        <text variable="edition"/>
+      </else>
+    </choose>
+  </macro>
+  <macro name="volume-booklike">
+    <group delimiter=", ">
+      <!-- Report series [ex. 52] -->
+      <choose>
+        <if type="report">
+          <group delimiter=" ">
+            <text variable="collection-title" text-case="title"/>
+            <text variable="collection-number"/>
+          </group>
+        </if>
+      </choose>
+      <choose>
+        <if variable="volume" match="any">
+          <choose>
+            <!-- Non-numeric volumes are already printed as part of the book title -->
+            <if is-numeric="volume" match="none"/>
+            <else>
+              <group delimiter=" ">
+                <label variable="volume" form="short" text-case="capitalize-first"/>
+                <number variable="volume" form="numeric"/>
+              </group>
+            </else>
+          </choose>
+        </if>
+        <else>
+          <group>
+            <!-- Replace with label variable="number-of-volumes" if that becomes available -->
+            <text term="volume" form="short" text-case="capitalize-first" suffix=" "/>
+            <text term="page-range-delimiter" prefix="1"/>
+            <number variable="number-of-volumes" form="numeric"/>
+          </group>
+        </else>
+      </choose>
+      <group delimiter=" ">
+        <label variable="issue" text-case="capitalize-first"/>
+        <text variable="issue"/>
+      </group>
+      <group delimiter=" ">
+        <label variable="page" form="short" suffix=" "/>
+        <text variable="page"/>
+      </group>
+    </group>
+  </macro>
+  <macro name="reviewed-title">
+    <choose>
+      <if variable="reviewed-title">
+        <!-- Not possible to distinguish TV series episode from other reviewed 
+              works [Ex. 69] -->
+        <text variable="reviewed-title" font-style="italic"/>
+      </if>
+      <else>
+        <!-- Assume title is title of reviewed work -->
+        <text variable="title" font-style="italic"/>
+      </else>
+    </choose>
+  </macro>
+  <macro name="reviewed-title-intext">
+    <choose>
+      <if variable="reviewed-title">
+        <!-- Not possible to distinguish TV series episode from other reviewed works [Ex. 69] -->
+        <text variable="reviewed-title" form="short" font-style="italic" text-case="title"/>
+      </if>
+      <else>
+        <!-- Assume title is title of reviewed work -->
+        <text variable="title" form="short" font-style="italic" text-case="title"/>
+      </else>
+    </choose>
+  </macro>
+  <macro name="format">
+    <choose>
+      <if variable="genre medium" match="any">
+        <group delimiter="; ">
+          <choose>
+            <if variable="number" match="none">
+              <text variable="genre" text-case="capitalize-first"/>
+            </if>
+          </choose>
+          <text variable="medium" text-case="capitalize-first"/>
+        </group>
+      </if>
+      <!-- Generic labels for specific types -->
+      <!-- These should be localized when possible -->
+      <else-if type="dataset">
+        <text value="Data set"/>
+      </else-if>
+      <else-if type="book" variable="version" match="all">
+        <!-- Replace with type="software" and term="software" as that becomes available -->
+        <text value="Computer software"/>
+      </else-if>
+      <else-if type="interview personal_communication" match="any">
+        <choose>
+          <if variable="archive container-title DOI publisher URL" match="none">
+            <text term="letter" text-case="capitalize-first"/>
+          </if>
+          <else-if type="interview">
+            <text term="interview" text-case="capitalize-first"/>
+          </else-if>
+        </choose>
+      </else-if>
+      <else-if type="map">
+        <text value="Map"/>
+      </else-if>
+    </choose>
+  </macro>
+  <macro name="format-intext">
+    <choose>
+      <if variable="genre" match="any">
+        <text variable="genre" text-case="capitalize-first"/>
+      </if>
+      <else-if variable="medium">
+        <text variable="medium" text-case="capitalize-first"/>
+      </else-if>
+      <!-- Generic labels for specific types -->
+      <!-- These should be localized when possible -->
+      <else-if type="dataset">
+        <text value="Data set"/>
+      </else-if>
+      <else-if type="book" variable="version" match="all">
+        <!-- Replace with type="software" and term="software" as that becomes available -->
+        <text value="Computer software"/>
+      </else-if>
+      <else-if type="interview personal_communication" match="any">
+        <choose>
+          <if variable="archive container-title DOI publisher URL" match="none">
+            <text term="letter" text-case="capitalize-first"/>
+          </if>
+          <else-if type="interview">
+            <text term="interview" text-case="capitalize-first"/>
+          </else-if>
+        </choose>
+      </else-if>
+      <else-if type="map">
+        <text value="Map"/>
+      </else-if>
+    </choose>
+  </macro>
+  <!-- APA 'source' element contains four parts:
+       container, event, publisher, access -->
+  <macro name="container">
+    <choose>
+      <if type="article-journal article-magazine article-newspaper post-weblog review review-book" match="any">
+        <!-- Periodical items -->
+        <text macro="container-periodical"/>
+      </if>
+      <else-if type="paper-conference">
+        <!-- Determine if paper-conference is a periodical or booklike -->
+        <choose>
+          <if variable="editor editorial-director collection-editor container-author" match="any">
+            <text macro="container-booklike"/>
+          </if>
+          <else>
+            <text macro="container-periodical"/>
+          </else>
+        </choose>
+      </else-if>
+      <else-if type="post webpage" match="none">
+        <!-- post and webpage treat container-title like publisher -->
+        <text macro="container-booklike"/>
+      </else-if>
+    </choose>
+  </macro>
+  <macro name="container-periodical">
+    <group delimiter=". ">
+      <group delimiter=", ">
+        <text variable="container-title" font-style="italic" text-case="title"/>
+        <choose>
+          <if variable="volume">
+            <group>
+              <text variable="volume" font-style="italic"/>
+              <text variable="issue" prefix="(" suffix=")"/>
+            </group>
+          </if>
+          <else>
+            <text variable="issue" font-style="italic"/>
+          </else>
+        </choose>
+        <choose>
+          <if variable="page">
+            <text variable="page"/>
+          </if>
+          <else>
+            <!-- Ex. 6: Journal article with article number or eLocator -->
+            <!-- This should be localized -->
+            <text variable="number" prefix="Article "/>
+          </else>
+        </choose>
+      </group>
+      <choose>
+        <if variable="issued">
+          <choose>
+            <if variable="issue page volume" match="none">
+              <text variable="status" text-case="capitalize-first"/>
+            </if>
+          </choose>
+        </if>
+      </choose>
+    </group>
+  </macro>
+  <macro name="container-booklike">
+    <choose>
+      <if variable="container-title" match="any">
+        <group delimiter=" ">
+          <text term="in" text-case="capitalize-first"/>
+          <group delimiter=", ">
+            <names variable="editor translator" delimiter=", & ">
+              <!-- Change to editortranslator and move editor to substitute as that becomes available -->
+              <name and="symbol" initialize-with=". " delimiter=", "/>
+              <label form="short" text-case="title" prefix=" (" suffix=")"/>
+              <substitute>
+                <names variable="editorial-director"/>
+                <names variable="collection-editor"/>
+                <names variable="container-author"/>
+              </substitute>
+            </names>
+            <group delimiter=": " font-style="italic">
+              <text variable="container-title"/>
+              <!-- Replace with volume-title as that becomes available -->
+              <choose>
+                <if is-numeric="volume" match="none">
+                  <group delimiter=" ">
+                    <label variable="volume" form="short" text-case="capitalize-first"/>
+                    <text variable="volume"/>
+                  </group>
+                </if>
+              </choose>
+            </group>
+          </group>
+          <text macro="parenthetical-container"/>
+          <text macro="bracketed-container"/>
+        </group>
+      </if>
+    </choose>
+  </macro>
+  <macro name="publisher">
+    <group delimiter="; ">
+      <choose>
+        <if type="thesis">
+          <choose>
+            <if variable="archive DOI URL" match="none">
+              <text variable="publisher"/>
+            </if>
+          </choose>
+        </if>
+        <else-if type="post webpage" match="any">
+          <!-- For websites, treat container title like publisher -->
+          <group delimiter="; ">
+            <text variable="container-title" text-case="title"/>
+            <text variable="publisher"/>
+          </group>
+        </else-if>
+        <else-if type="paper-conference">
+          <!-- For paper-conference, don't print publisher if in a journal-like proceedings -->
+          <choose>
+            <if variable="collection-editor editor editorial-director" match="any">
+              <text variable="publisher"/>
+            </if>
+          </choose>
+        </else-if>
+        <else-if type="article-journal article-magazine article-newspaper post-weblog" match="none">
+          <text variable="publisher"/>
+        </else-if>
+      </choose>
+      <group delimiter=", ">
+        <choose>
+          <if variable="archive-place">
+            <!-- With `archive-place`: physical archives. Without: online archives. -->
+            <!-- For physical archives, print the location before the archive name.
+                For electronic archives, these are printed in macro="description". -->
+            <!-- Split "archive_location" into "archive_collection" and "archive_location" as that becomes available -->
+            <!-- Must test for archive_collection:
+                With collection: archive_collection (archive_location), archive, archive-place
+                No collection: archive (archive_location), archive-place
+            -->
+            <text variable="archive_location"/>
+          </if>
+        </choose>
+        <text variable="archive"/>
+        <text variable="archive-place"/>
+      </group>
+    </group>
+  </macro>
+  <macro name="access">
+    <choose>
+      <if variable="DOI" match="any">
+        <text variable="DOI" prefix="https://doi.org/"/>
+      </if>
+      <else-if variable="URL">
+        <group delimiter=" ">
+          <choose>
+            <if variable="issued status" match="none">
+              <group delimiter=" ">
+                <text term="retrieved" text-case="capitalize-first"/>
+                <date variable="accessed" form="text" suffix=","/>
+                <text term="from"/>
+              </group>
+            </if>
+          </choose>
+          <text variable="URL"/>
+        </group>
+      </else-if>
+    </choose>
+  </macro>
+  <macro name="event">
+    <choose>
+      <if variable="event">
+        <!-- To prevent Zotero from printing event-place due to its double-mapping of all 'place' to
+             both publisher-place and event-place. Remove this 'choose' when that is changed. -->
+        <choose>
+          <if variable="collection-editor editor editorial-director issue page volume" match="none">
+            <!-- Don't print event info if published in a proceedings -->
+            <group delimiter=", ">
+              <text variable="event"/>
+              <text variable="event-place"/>
+            </group>
+          </if>
+        </choose>
+      </if>
+    </choose>
+  </macro>
+  <!-- After 'source', APA also prints publication history (original publication, reprint info, retraction info) -->
+  <macro name="publication-history">
+    <choose>
+      <if type="patent" match="none">
+        <group prefix="(" suffix=")">
+          <choose>
+            <if variable="references">
+              <!-- This provides the option for more elaborate description 
+                   of publication history, such as full "reprinted" references
+                   (examples 11, 43, 44) or retracted references -->
+              <text variable="references"/>
+            </if>
+            <else>
+              <group delimiter=" ">
+                <text value="Original work published"/>
+                <choose>
+                  <if is-uncertain-date="original-date">
+                    <text term="circa" form="short"/>
+                  </if>
+                </choose>
+                <date variable="original-date">
+                  <date-part name="year"/>
+                </date>
+              </group>
+            </else>
+          </choose>
+        </group>
+      </if>
+      <else>
+        <text variable="references" prefix="(" suffix=")"/>
+      </else>
+    </choose>
+  </macro>
+  <!-- Legal citations have their own rules -->
+  <macro name="legal-cites">
+    <choose>
+      <if type="legal_case">
+        <group delimiter=". ">
+          <group delimiter=", ">
+            <text variable="title"/>
+            <group delimiter=" ">
+              <text macro="container-legal"/>
+              <text macro="date-legal"/>
+            </group>
+            <text variable="references"/>
+          </group>
+          <text macro="access"/>
+        </group>
+      </if>
+      <else-if type="bill">
+        <!-- Currently designed to handle bills, resolutions, hearings, rederal reports. -->
+        <group delimiter=". ">
+          <group delimiter=", ">
+            <choose>
+              <if variable="number container-title" match="none">
+                <!-- If no number or container-title, then assume it is a hearing -->
+                <text variable="title" font-style="italic"/>
+              </if>
+              <else>
+                <text variable="title"/>
+              </else>
+            </choose>
+            <group delimiter=" ">
+              <text macro="container-legal"/>
+              <text macro="date-legal"/>
+              <choose>
+                <if variable="number container-title" match="none">
+                  <!-- If no number or container-title, then assume it is a hearing -->
+                  <names variable="author" prefix="(testimony of " suffix=")">
+                    <name and="symbol" delimiter=", "/>
+                  </names>
+                </if>
+                <else>
+                  <text variable="status" prefix="(" suffix=")"/>
+                </else>
+              </choose>
+            </group>
+            <text variable="references"/>
+          </group>
+          <text macro="access"/>
+        </group>
+      </else-if>
+      <else-if type="legislation">
+        <!-- Currently designed to handle statutes, codified regulations, executive orders.
+             For uncodified regulations, assume future code section is in status. -->
+        <group delimiter=". ">
+          <group delimiter=", ">
+            <text variable="title"/>
+            <group delimiter=" ">
+              <text macro="container-legal"/>
+              <text macro="date-legal"/>
+              <text variable="status" prefix="(" suffix=")"/>
+            </group>
+            <text variable="references"/>
+          </group>
+          <text macro="access"/>
+        </group>
+      </else-if>
+      <else-if type="treaty">
+        <!-- APA generally defers to Bluebook for legal citations, but diverges without
+             explanation for treaty items. The Bluebook format that was used in APA 6th
+             ed. is used here. -->
+        <group delimiter=", ">
+          <text variable="title" text-case="title"/>
+          <names variable="author">
+            <name initialize-with="." form="short" delimiter="-"/>
+          </names>
+          <text macro="date-legal"/>
+          <text macro="container-legal"/>
+          <text macro="access"/>
+        </group>
+      </else-if>
+    </choose>
+  </macro>
+  <macro name="date-legal">
+    <choose>
+      <if type="legal_case">
+        <group prefix="(" suffix=")" delimiter=" ">
+          <text variable="authority"/>
+          <choose>
+            <if variable="container-title" match="any">
+              <!-- Print only year for cases published in reporters-->
+              <date variable="issued" form="numeric" date-parts="year"/>
+            </if>
+            <else>
+              <date variable="issued" form="text"/>
+            </else>
+          </choose>
+        </group>
+      </if>
+      <else-if type="bill legislation" match="any">
+        <group prefix="(" suffix=")" delimiter=" ">
+          <group delimiter=" ">
+            <date variable="original-date">
+              <date-part name="year"/>
+            </date>
+            <text term="and" form="symbol"/>
+          </group>
+          <date variable="issued">
+            <date-part name="year"/>
+          </date>
+        </group>
+      </else-if>
+      <else-if type="treaty">
+        <date variable="issued" form="text"/>
+      </else-if>
+    </choose>
+  </macro>
+  <macro name="container-legal">
+    <!-- Expect legal item container-titles to be stored in short form -->
+    <choose>
+      <if type="legal_case">
+        <group delimiter=" ">
+          <choose>
+            <if variable="container-title">
+              <group delimiter=" ">
+                <text variable="volume"/>
+                <text variable="container-title"/>
+                <group delimiter=" ">
+                  <!-- Change to label variable="section" as that becomes available -->
+                  <text term="section" form="symbol"/>
+                  <text variable="section"/>
+                </group>
+                <choose>
+                  <if variable="page page-first" match="any">
+                    <text variable="page-first"/>
+                  </if>
+                  <else>
+                    <text value="___"/>
+                  </else>
+                </choose>
+              </group>
+            </if>
+            <else>
+              <group delimiter=" ">
+                <choose>
+                  <if is-numeric="number">
+                    <!-- Replace with label variable="number" if that becomes available -->
+                    <text term="issue" form="short" text-case="capitalize-first"/>
+                  </if>
+                </choose>
+                <text variable="number"/>
+              </group>
+            </else>
+          </choose>
+        </group>
+      </if>
+      <else-if type="bill">
+        <group delimiter=", ">
+          <group delimiter=" ">
+            <text variable="genre"/>
+            <group delimiter=" ">
+              <choose>
+                <if variable="chapter-number container-title" match="none">
+                  <!-- Replace with label variable="number" as that becomes available -->
+                  <text term="issue" form="short"/>
+                </if>
+              </choose>
+              <text variable="number"/>
+            </group>
+          </group>
+          <text variable="authority"/>
+          <text variable="chapter-number"/>
+          <group delimiter=" ">
+            <text variable="volume"/>
+            <text variable="container-title"/>
+            <text variable="page-first"/>
+          </group>
+        </group>
+      </else-if>
+      <else-if type="legislation">
+        <choose>
+          <if variable="number">
+            <!--There's a public law number-->
+            <group delimiter=", ">
+              <text variable="number" prefix="Pub. L. No. "/>
+              <group delimiter=" ">
+                <text variable="volume"/>
+                <text variable="container-title"/>
+                <text variable="page-first"/>
+              </group>
+            </group>
+          </if>
+          <else>
+            <group delimiter=" ">
+              <text variable="volume"/>
+              <text variable="container-title"/>
+              <choose>
+                <if variable="section">
+                  <group delimiter=" ">
+                    <!-- Change to label variable="section" as that becomes available -->
+                    <text term="section" form="symbol"/>
+                    <text variable="section"/>
+                  </group>
+                </if>
+                <else>
+                  <text variable="page-first"/>
+                </else>
+              </choose>
+            </group>
+          </else>
+        </choose>
+      </else-if>
+      <else-if type="treaty">
+        <group delimiter=" ">
+          <number variable="volume"/>
+          <text variable="container-title"/>
+          <choose>
+            <if variable="page page-first" match="any">
+              <text variable="page-first"/>
+            </if>
+            <else>
+              <group delimiter=" ">
+                <!-- Replace with label variable="number" if that becomes available -->
+                <text term="issue" form="short" text-case="capitalize-first"/>
+                <text variable="number"/>
+              </group>
+            </else>
+          </choose>
+        </group>
+      </else-if>
+    </choose>
+  </macro>
+  <macro name="citation-locator">
+    <group delimiter=" ">
+      <choose>
+        <if locator="chapter">
+          <label variable="locator" text-case="capitalize-first"/>
+        </if>
+        <else>
+          <label variable="locator" form="short"/>
+        </else>
+      </choose>
+      <text variable="locator"/>
+    </group>
+  </macro>
+  <citation et-al-min="3" et-al-use-first="1" disambiguate-add-year-suffix="true" disambiguate-add-names="true" disambiguate-add-givenname="true" collapse="year" givenname-disambiguation-rule="primary-name-with-initials">
+    <sort>
+      <key macro="author-bib" names-min="3" names-use-first="1"/>
+      <key macro="date-sort-group"/>
+      <key macro="date-sort-date" sort="ascending"/>
+      <key variable="status"/>
+    </sort>
+    <layout prefix="(" suffix=")" delimiter="; ">
+      <group delimiter=", ">
+        <text macro="author-intext"/>
+        <text macro="date-intext"/>
+        <text macro="citation-locator"/>
+      </group>
+    </layout>
+  </citation>
+  <bibliography hanging-indent="true" et-al-min="21" et-al-use-first="19" et-al-use-last="true" entry-spacing="0" line-spacing="2">
+    <sort>
+      <key macro="author-bib"/>
+      <key macro="date-sort-group"/>
+      <key macro="date-sort-date" sort="ascending"/>
+      <key variable="status"/>
+      <key macro="title"/>
+    </sort>
+    <layout>
+      <choose>
+        <if type="bill legal_case legislation treaty" match="any">
+          <!-- Legal items have different orders and delimiters -->
+          <choose>
+            <if variable="DOI URL" match="any">
+              <text macro="legal-cites"/>
+            </if>
+            <else>
+              <text macro="legal-cites" suffix="."/>
+            </else>
+          </choose>
+        </if>
+        <else>
+          <group delimiter=" ">
+            <group delimiter=". " suffix=".">
+              <text macro="author-bib"/>
+              <text macro="date-bib"/>
+              <text macro="title-and-descriptions"/>
+              <text macro="container"/>
+              <text macro="event"/>
+              <text macro="publisher"/>
+            </group>
+            <text macro="access"/>
+            <text macro="publication-history"/>
+          </group>
+        </else>
+      </choose>
+    </layout>
+  </bibliography>
+</style>

Added: trunk/Master/texmf-dist/tex/latex/citation-style-language/styles/chicago-author-date.csl
===================================================================
--- trunk/Master/texmf-dist/tex/latex/citation-style-language/styles/chicago-author-date.csl	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/citation-style-language/styles/chicago-author-date.csl	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,658 @@
+<?xml version="1.0" encoding="utf-8"?>
+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="display-and-sort" page-range-format="chicago">
+  <info>
+    <title>Chicago Manual of Style 17th edition (author-date)</title>
+    <id>http://www.zotero.org/styles/chicago-author-date</id>
+    <link href="http://www.zotero.org/styles/chicago-author-date" rel="self"/>
+    <link href="http://www.chicagomanualofstyle.org/tools_citationguide.html" rel="documentation"/>
+    <author>
+      <name>Julian Onions</name>
+      <email>julian.onions at gmail.com</email>
+    </author>
+    <contributor>
+      <name>Sebastian Karcher</name>
+    </contributor>
+    <contributor>
+      <name>Richard Karnesky</name>
+      <email>karnesky+zotero at gmail.com</email>
+      <uri>http://arc.nucapt.northwestern.edu/Richard_Karnesky</uri>
+    </contributor>
+    <contributor>
+      <name>Andrew Dunning</name>
+      <email>andrew.dunning at utoronto.ca</email>
+      <uri>https://orcid.org/0000-0003-0464-5036</uri>
+    </contributor>
+    <contributor>
+      <name>Matthew Roth</name>
+      <email>matthew.g.roth at yale.edu</email>
+      <uri> https://orcid.org/0000-0001-7902-6331</uri>
+    </contributor>
+    <contributor>
+      <name>Brenton M. Wiernik</name>
+    </contributor>
+    <category citation-format="author-date"/>
+    <category field="generic-base"/>
+    <summary>The author-date variant of the Chicago style</summary>
+    <updated>2018-01-24T12:00:00+00:00</updated>
+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
+  </info>
+  <locale xml:lang="en">
+    <terms>
+      <term name="editor" form="verb-short">ed.</term>
+      <term name="container-author" form="verb">by</term>
+      <term name="translator" form="verb-short">trans.</term>
+      <term name="editortranslator" form="verb">edited and translated by</term>
+      <term name="translator" form="short">trans.</term>
+    </terms>
+  </locale>
+  <macro name="secondary-contributors">
+    <choose>
+      <if type="chapter entry-dictionary entry-encyclopedia paper-conference" match="none">
+        <group delimiter=". ">
+          <names variable="editor translator" delimiter=". ">
+            <label form="verb" text-case="capitalize-first" suffix=" "/>
+            <name and="text" delimiter=", "/>
+          </names>
+          <names variable="director" delimiter=". ">
+            <label form="verb" text-case="capitalize-first" suffix=" "/>
+            <name and="text" delimiter=", "/>
+          </names>
+        </group>
+      </if>
+    </choose>
+  </macro>
+  <macro name="container-contributors">
+    <choose>
+      <if type="chapter entry-dictionary entry-encyclopedia paper-conference" match="any">
+        <group prefix=", " delimiter=", ">
+          <names variable="container-author" delimiter=", ">
+            <label form="verb" suffix=" "/>
+            <name and="text" delimiter=", "/>
+          </names>
+          <names variable="editor translator" delimiter=", ">
+            <label form="verb" suffix=" "/>
+            <name and="text" delimiter=", "/>
+          </names>
+        </group>
+      </if>
+    </choose>
+  </macro>
+  <macro name="editor">
+    <names variable="editor">
+      <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>
+      <label form="short" prefix=", "/>
+    </names>
+  </macro>
+  <macro name="translator">
+    <names variable="translator">
+      <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>
+      <label form="short" prefix=", "/>
+    </names>
+  </macro>
+  <macro name="recipient">
+    <choose>
+      <if type="personal_communication">
+        <choose>
+          <if variable="genre">
+            <text variable="genre" text-case="capitalize-first"/>
+          </if>
+          <else>
+            <text term="letter" text-case="capitalize-first"/>
+          </else>
+        </choose>
+      </if>
+    </choose>
+    <names variable="recipient" delimiter=", ">
+      <label form="verb" prefix=" " text-case="lowercase" suffix=" "/>
+      <name and="text" delimiter=", "/>
+    </names>
+  </macro>
+  <macro name="substitute-title">
+    <choose>
+      <if type="article-magazine article-newspaper review review-book" match="any">
+        <text macro="container-title"/>
+      </if>
+    </choose>
+  </macro>
+  <macro name="contributors">
+    <group delimiter=". ">
+      <names variable="author">
+        <name and="text" name-as-sort-order="first" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>
+        <label form="short" prefix=", "/>
+        <substitute>
+          <names variable="editor"/>
+          <names variable="translator"/>
+          <names variable="director"/>
+          <text macro="substitute-title"/>
+          <text macro="title"/>
+        </substitute>
+      </names>
+      <text macro="recipient"/>
+    </group>
+  </macro>
+  <macro name="contributors-short">
+    <names variable="author">
+      <name form="short" and="text" delimiter=", " initialize-with=". "/>
+      <substitute>
+        <names variable="editor"/>
+        <names variable="translator"/>
+        <names variable="director"/>
+        <text macro="substitute-title"/>
+        <text macro="title"/>
+      </substitute>
+    </names>
+  </macro>
+  <macro name="interviewer">
+    <names variable="interviewer" delimiter=", ">
+      <label form="verb" prefix=" " text-case="capitalize-first" suffix=" "/>
+      <name and="text" delimiter=", "/>
+    </names>
+  </macro>
+  <macro name="archive">
+    <group delimiter=". ">
+      <text variable="archive_location" text-case="capitalize-first"/>
+      <text variable="archive"/>
+      <text variable="archive-place"/>
+    </group>
+  </macro>
+  <macro name="access">
+    <group delimiter=". ">
+      <choose>
+        <if type="graphic report" match="any">
+          <text macro="archive"/>
+        </if>
+        <else-if type="article-journal bill book chapter legal_case legislation motion_picture paper-conference" match="none">
+          <text macro="archive"/>
+        </else-if>
+      </choose>
+      <choose>
+        <if type="webpage post-weblog" match="any">
+          <date variable="issued" form="text"/>
+        </if>
+      </choose>
+      <choose>
+        <if variable="issued" match="none">
+          <group delimiter=" ">
+            <text term="accessed" text-case="capitalize-first"/>
+            <date variable="accessed" form="text"/>
+          </group>
+        </if>
+      </choose>
+      <choose>
+        <if type="legal_case" match="none">
+          <choose>
+            <if variable="DOI">
+              <text variable="DOI" prefix="https://doi.org/"/>
+            </if>
+            <else>
+              <text variable="URL"/>
+            </else>
+          </choose>
+        </if>
+      </choose>
+    </group>
+  </macro>
+  <macro name="title">
+    <choose>
+      <if variable="title" match="none">
+        <choose>
+          <if type="personal_communication" match="none">
+            <text variable="genre" text-case="capitalize-first"/>
+          </if>
+        </choose>
+      </if>
+      <else-if type="bill book graphic legislation motion_picture song" match="any">
+        <text variable="title" text-case="title" font-style="italic"/>
+        <group prefix=" (" suffix=")" delimiter=" ">
+          <text term="version"/>
+          <text variable="version"/>
+        </group>
+      </else-if>
+      <else-if variable="reviewed-author">
+        <choose>
+          <if variable="reviewed-title">
+            <group delimiter=". ">
+              <text variable="title" text-case="title" quotes="true"/>
+              <group delimiter=", ">
+                <text variable="reviewed-title" text-case="title" font-style="italic" prefix="Review of "/>
+                <names variable="reviewed-author">
+                  <label form="verb-short" text-case="lowercase" suffix=" "/>
+                  <name and="text" delimiter=", "/>
+                </names>
+              </group>
+            </group>
+          </if>
+          <else>
+            <group delimiter=", ">
+              <text variable="title" text-case="title" font-style="italic" prefix="Review of "/>
+              <names variable="reviewed-author">
+                <label form="verb-short" text-case="lowercase" suffix=" "/>
+                <name and="text" delimiter=", "/>
+              </names>
+            </group>
+          </else>
+        </choose>
+      </else-if>
+      <else-if type="legal_case interview patent" match="any">
+        <text variable="title"/>
+      </else-if>
+      <else>
+        <text variable="title" text-case="title" quotes="true"/>
+      </else>
+    </choose>
+  </macro>
+  <macro name="edition">
+    <choose>
+      <if type="bill book graphic legal_case legislation motion_picture report song" match="any">
+        <choose>
+          <if is-numeric="edition">
+            <group delimiter=" " prefix=". ">
+              <number variable="edition" form="ordinal"/>
+              <text term="edition" form="short" strip-periods="true"/>
+            </group>
+          </if>
+          <else>
+            <text variable="edition" text-case="capitalize-first" prefix=". "/>
+          </else>
+        </choose>
+      </if>
+      <else-if type="chapter entry-dictionary entry-encyclopedia paper-conference" match="any">
+        <choose>
+          <if is-numeric="edition">
+            <group delimiter=" " prefix=", ">
+              <number variable="edition" form="ordinal"/>
+              <text term="edition" form="short"/>
+            </group>
+          </if>
+          <else>
+            <text variable="edition" prefix=", "/>
+          </else>
+        </choose>
+      </else-if>
+    </choose>
+  </macro>
+  <macro name="locators">
+    <choose>
+      <if type="article-journal">
+        <choose>
+          <if variable="volume">
+            <text variable="volume" prefix=" "/>
+            <group prefix=" (" suffix=")">
+              <choose>
+                <if variable="issue">
+                  <text variable="issue"/>
+                </if>
+                <else>
+                  <date variable="issued">
+                    <date-part name="month"/>
+                  </date>
+                </else>
+              </choose>
+            </group>
+          </if>
+          <else-if variable="issue">
+            <group delimiter=" " prefix=", ">
+              <text term="issue" form="short"/>
+              <text variable="issue"/>
+              <date variable="issued" prefix="(" suffix=")">
+                <date-part name="month"/>
+              </date>
+            </group>
+          </else-if>
+          <else>
+            <date variable="issued" prefix=", ">
+              <date-part name="month"/>
+            </date>
+          </else>
+        </choose>
+      </if>
+      <else-if type="legal_case">
+        <text variable="volume" prefix=", "/>
+        <text variable="container-title" prefix=" "/>
+        <text variable="page" prefix=" "/>
+      </else-if>
+      <else-if type="bill book graphic legal_case legislation motion_picture report song" match="any">
+        <group prefix=". " delimiter=". ">
+          <group>
+            <text term="volume" form="short" text-case="capitalize-first" suffix=" "/>
+            <number variable="volume" form="numeric"/>
+          </group>
+          <group>
+            <number variable="number-of-volumes" form="numeric"/>
+            <text term="volume" form="short" prefix=" " plural="true"/>
+          </group>
+        </group>
+      </else-if>
+      <else-if type="chapter entry-dictionary entry-encyclopedia paper-conference" match="any">
+        <choose>
+          <if variable="page" match="none">
+            <group prefix=". ">
+              <text term="volume" form="short" text-case="capitalize-first" suffix=" "/>
+              <number variable="volume" form="numeric"/>
+            </group>
+          </if>
+        </choose>
+      </else-if>
+    </choose>
+  </macro>
+  <macro name="locators-chapter">
+    <choose>
+      <if type="chapter entry-dictionary entry-encyclopedia paper-conference" match="any">
+        <choose>
+          <if variable="page">
+            <group prefix=", ">
+              <text variable="volume" suffix=":"/>
+              <text variable="page"/>
+            </group>
+          </if>
+        </choose>
+      </if>
+    </choose>
+  </macro>
+  <macro name="locators-article">
+    <choose>
+      <if type="article-newspaper">
+        <group prefix=", " delimiter=", ">
+          <group delimiter=" ">
+            <text variable="edition"/>
+            <text term="edition"/>
+          </group>
+          <group>
+            <text term="section" form="short" suffix=" "/>
+            <text variable="section"/>
+          </group>
+        </group>
+      </if>
+      <else-if type="article-journal">
+        <choose>
+          <if variable="volume issue" match="any">
+            <text variable="page" prefix=": "/>
+          </if>
+          <else>
+            <text variable="page" prefix=", "/>
+          </else>
+        </choose>
+      </else-if>
+    </choose>
+  </macro>
+  <macro name="point-locators">
+    <choose>
+      <if variable="locator">
+        <choose>
+          <if locator="page" match="none">
+            <choose>
+              <if type="bill book graphic legal_case legislation motion_picture report song" match="any">
+                <choose>
+                  <if variable="volume">
+                    <group>
+                      <text term="volume" form="short" suffix=" "/>
+                      <number variable="volume" form="numeric"/>
+                      <label variable="locator" form="short" prefix=", " suffix=" "/>
+                    </group>
+                  </if>
+                  <else>
+                    <label variable="locator" form="short" suffix=" "/>
+                  </else>
+                </choose>
+              </if>
+              <else>
+                <label variable="locator" form="short" suffix=" "/>
+              </else>
+            </choose>
+          </if>
+          <else-if type="bill book graphic legal_case legislation motion_picture report song" match="any">
+            <number variable="volume" form="numeric" suffix=":"/>
+          </else-if>
+        </choose>
+        <text variable="locator"/>
+      </if>
+    </choose>
+  </macro>
+  <macro name="container-prefix">
+    <text term="in" text-case="capitalize-first"/>
+  </macro>
+  <macro name="container-title">
+    <choose>
+      <if type="chapter entry-dictionary entry-encyclopedia paper-conference" match="any">
+        <text macro="container-prefix" suffix=" "/>
+      </if>
+    </choose>
+    <choose>
+      <if type="webpage">
+        <text variable="container-title" text-case="title"/>
+      </if>
+      <else-if type="legal_case" match="none">
+        <group delimiter=" ">
+          <text variable="container-title" text-case="title" font-style="italic"/>
+          <choose>
+            <if type="post-weblog">
+              <text value="(blog)"/>
+            </if>
+          </choose>
+        </group>
+      </else-if>
+    </choose>
+  </macro>
+  <macro name="publisher">
+    <group delimiter=": ">
+      <text variable="publisher-place"/>
+      <text variable="publisher"/>
+    </group>
+  </macro>
+  <macro name="date">
+    <choose>
+      <if variable="issued">
+        <group delimiter=" ">
+          <date variable="original-date" form="text" date-parts="year" prefix="(" suffix=")"/>
+          <date variable="issued">
+            <date-part name="year"/>
+          </date>
+        </group>
+      </if>
+      <else-if variable="status">
+        <text variable="status" text-case="capitalize-first"/>
+      </else-if>
+      <else>
+        <text term="no date" form="short"/>
+      </else>
+    </choose>
+  </macro>
+  <macro name="date-in-text">
+    <choose>
+      <if variable="issued">
+        <group delimiter=" ">
+          <date variable="original-date" form="text" date-parts="year" prefix="[" suffix="]"/>
+          <date variable="issued">
+            <date-part name="year"/>
+          </date>
+        </group>
+      </if>
+      <else-if variable="status">
+        <text variable="status"/>
+      </else-if>
+      <else>
+        <text term="no date" form="short"/>
+      </else>
+    </choose>
+  </macro>
+  <macro name="day-month">
+    <date variable="issued">
+      <date-part name="month"/>
+      <date-part name="day" prefix=" "/>
+    </date>
+  </macro>
+  <macro name="collection-title">
+    <choose>
+      <if match="none" type="article-journal">
+        <choose>
+          <if match="none" is-numeric="collection-number">
+            <group delimiter=", ">
+              <text variable="collection-title" text-case="title"/>
+              <text variable="collection-number"/>
+            </group>
+          </if>
+          <else>
+            <group delimiter=" ">
+              <text variable="collection-title" text-case="title"/>
+              <text variable="collection-number"/>
+            </group>
+          </else>
+        </choose>
+      </if>
+    </choose>
+  </macro>
+  <macro name="collection-title-journal">
+    <choose>
+      <if type="article-journal">
+        <group delimiter=" ">
+          <text variable="collection-title"/>
+          <text variable="collection-number"/>
+        </group>
+      </if>
+    </choose>
+  </macro>
+  <macro name="event">
+    <group delimiter=" ">
+      <choose>
+        <if variable="genre">
+          <text term="presented at"/>
+        </if>
+        <else>
+          <text term="presented at" text-case="capitalize-first"/>
+        </else>
+      </choose>
+      <text variable="event"/>
+    </group>
+  </macro>
+  <macro name="description">
+    <choose>
+      <if variable="interviewer" type="interview" match="any">
+        <group delimiter=". ">
+          <text macro="interviewer"/>
+          <text variable="medium" text-case="capitalize-first"/>
+        </group>
+      </if>
+      <else-if type="patent">
+        <group delimiter=" " prefix=". ">
+          <text variable="authority"/>
+          <text variable="number"/>
+        </group>
+      </else-if>
+      <else>
+        <text variable="medium" text-case="capitalize-first" prefix=". "/>
+      </else>
+    </choose>
+    <choose>
+      <if variable="title" match="none"/>
+      <else-if type="thesis personal_communication speech" match="any"/>
+      <else>
+        <group delimiter=" " prefix=". ">
+          <text variable="genre" text-case="capitalize-first"/>
+          <choose>
+            <if type="report">
+              <text variable="number"/>
+            </if>
+          </choose>
+        </group>
+      </else>
+    </choose>
+  </macro>
+  <macro name="issue">
+    <choose>
+      <if type="legal_case">
+        <text variable="authority" prefix=". "/>
+      </if>
+      <else-if type="speech">
+        <group prefix=". " delimiter=", ">
+          <group delimiter=" ">
+            <text variable="genre" text-case="capitalize-first"/>
+            <text macro="event"/>
+          </group>
+          <text variable="event-place"/>
+          <text macro="day-month"/>
+        </group>
+      </else-if>
+      <else-if type="article-newspaper article-magazine personal_communication" match="any">
+        <date variable="issued" form="text" prefix=", "/>
+      </else-if>
+      <else-if type="patent">
+        <group delimiter=", " prefix=", ">
+          <group delimiter=" ">
+            <!--Needs Localization-->
+            <text value="filed"/>
+            <date variable="submitted" form="text"/>
+          </group>
+          <group delimiter=" ">
+            <choose>
+              <if variable="issued submitted" match="all">
+                <text term="and"/>
+              </if>
+            </choose>
+            <!--Needs Localization-->
+            <text value="issued"/>
+            <date variable="issued" form="text"/>
+          </group>
+        </group>
+      </else-if>
+      <else-if type="article-journal" match="any"/>
+      <else>
+        <group prefix=". " delimiter=", ">
+          <choose>
+            <if type="thesis">
+              <text variable="genre" text-case="capitalize-first"/>
+            </if>
+          </choose>
+          <text macro="publisher"/>
+        </group>
+      </else>
+    </choose>
+  </macro>
+  <citation et-al-min="4" et-al-use-first="1" disambiguate-add-year-suffix="true" disambiguate-add-names="true" disambiguate-add-givenname="true" givenname-disambiguation-rule="primary-name" collapse="year" after-collapse-delimiter="; ">
+    <layout prefix="(" suffix=")" delimiter="; ">
+      <group delimiter=", ">
+        <choose>
+          <if variable="issued accessed" match="any">
+            <group delimiter=" ">
+              <text macro="contributors-short"/>
+              <text macro="date-in-text"/>
+            </group>
+          </if>
+          <!---comma before forthcoming and n.d.-->
+          <else>
+            <group delimiter=", ">
+              <text macro="contributors-short"/>
+              <text macro="date-in-text"/>
+            </group>
+          </else>
+        </choose>
+        <text macro="point-locators"/>
+      </group>
+    </layout>
+  </citation>
+  <bibliography hanging-indent="true" et-al-min="11" et-al-use-first="7" subsequent-author-substitute="———" entry-spacing="0">
+    <sort>
+      <key macro="contributors"/>
+      <key variable="issued"/>
+      <key variable="title"/>
+    </sort>
+    <layout suffix=".">
+      <group delimiter=". ">
+        <text macro="contributors"/>
+        <text macro="date"/>
+        <text macro="title"/>
+      </group>
+      <text macro="description"/>
+      <text macro="secondary-contributors" prefix=". "/>
+      <text macro="container-title" prefix=". "/>
+      <text macro="container-contributors"/>
+      <text macro="edition"/>
+      <text macro="locators-chapter"/>
+      <text macro="collection-title-journal" prefix=", " suffix=", "/>
+      <text macro="locators"/>
+      <text macro="collection-title" prefix=". "/>
+      <text macro="issue"/>
+      <text macro="locators-article"/>
+      <text macro="access" prefix=". "/>
+    </layout>
+  </bibliography>
+</style>

Added: trunk/Master/texmf-dist/tex/latex/citation-style-language/styles/chicago-fullnote-bibliography.csl
===================================================================
--- trunk/Master/texmf-dist/tex/latex/citation-style-language/styles/chicago-fullnote-bibliography.csl	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/citation-style-language/styles/chicago-fullnote-bibliography.csl	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,1451 @@
+<?xml version="1.0" encoding="utf-8"?>
+<style xmlns="http://purl.org/net/xbiblio/csl" class="note" version="1.0" demote-non-dropping-particle="display-and-sort" page-range-format="chicago">
+  <info>
+    <title>Chicago Manual of Style 17th edition (full note)</title>
+    <id>http://www.zotero.org/styles/chicago-fullnote-bibliography</id>
+    <link href="http://www.zotero.org/styles/chicago-fullnote-bibliography" rel="self"/>
+    <link href="http://www.chicagomanualofstyle.org/tools_citationguide.html" rel="documentation"/>
+    <author>
+      <name>Julian Onions</name>
+      <email>julian.onions at gmail.com</email>
+    </author>
+    <contributor>
+      <name>Simon Kornblith</name>
+      <email>simon at simonster.com</email>
+    </contributor>
+    <contributor>
+      <name>Elena Razlogova</name>
+      <email>elena.razlogova at gmail.com</email>
+    </contributor>
+    <contributor>
+      <name>Frank Bennett</name>
+      <email>biercenator at gmail.com</email>
+    </contributor>
+    <contributor>
+      <name>Andrew Dunning</name>
+      <email>andrew.dunning at utoronto.ca</email>
+    </contributor>
+    <contributor>
+      <name>Sebastian Karcher</name>
+    </contributor>
+    <contributor>
+      <name>Brenton M. Wiernik</name>
+    </contributor>
+    <category citation-format="note"/>
+    <category field="generic-base"/>
+    <summary>Chicago format with full notes and bibliography</summary>
+    <updated>2017-10-12T12:00:00+00:00</updated>
+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
+  </info>
+  <locale xml:lang="en">
+    <terms>
+      <term name="editor" form="verb-short">ed.</term>
+      <term name="translator" form="verb-short">trans.</term>
+      <term name="translator" form="short">trans.</term>
+      <term name="editortranslator" form="verb-short">ed. and trans.</term>
+      <term name="editortranslator" form="verb">Edited and translated by</term>
+      <term name="translator" form="short">trans.</term>
+    </terms>
+  </locale>
+  <macro name="editor-translator">
+    <group delimiter=", ">
+      <group delimiter=" ">
+        <choose>
+          <if variable="container-author reviewed-author" match="any">
+            <group>
+              <names variable="container-author reviewed-author">
+                <label form="verb-short" text-case="lowercase" suffix=" "/>
+                <name and="text" delimiter=", "/>
+              </names>
+            </group>
+          </if>
+        </choose>
+      </group>
+      <names variable="editor translator" delimiter=", ">
+        <label form="verb-short" text-case="lowercase" suffix=" "/>
+        <name and="text" delimiter=", "/>
+      </names>
+    </group>
+  </macro>
+  <macro name="secondary-contributors-note">
+    <choose>
+      <if type="chapter entry-dictionary entry-encyclopedia paper-conference" match="none">
+        <text macro="editor-translator"/>
+      </if>
+    </choose>
+  </macro>
+  <macro name="container-contributors-note">
+    <choose>
+      <if type="chapter entry-dictionary entry-encyclopedia paper-conference" match="any">
+        <text macro="editor-translator"/>
+      </if>
+    </choose>
+  </macro>
+  <macro name="secondary-contributors">
+    <choose>
+      <if type="chapter entry-dictionary entry-encyclopedia paper-conference" match="none">
+        <names variable="editor translator" delimiter=". ">
+          <label form="verb" text-case="capitalize-first" suffix=" "/>
+          <name and="text" delimiter=", "/>
+        </names>
+      </if>
+    </choose>
+  </macro>
+  <macro name="container-contributors">
+    <choose>
+      <if type="chapter entry-dictionary entry-encyclopedia paper-conference" match="any">
+        <group delimiter=", ">
+          <choose>
+            <if variable="author">
+              <choose>
+                <if variable="container-author" match="any">
+                  <names variable="container-author">
+                    <label form="verb-short" text-case="lowercase" suffix=" "/>
+                    <name and="text" delimiter=", "/>
+                  </names>
+                </if>
+              </choose>
+              <!--This includes page numers after the container author, e.g. for Introductions -->
+              <choose>
+                <if variable="container-author author" match="all">
+                  <group delimiter=". ">
+                    <text variable="page"/>
+                    <names variable="editor translator" delimiter=", ">
+                      <label form="verb" suffix=" "/>
+                      <name and="text" delimiter=", "/>
+                    </names>
+                  </group>
+                </if>
+                <else>
+                  <names variable="editor translator" delimiter=", ">
+                    <label form="verb" text-case="lowercase" suffix=" "/>
+                    <name and="text" delimiter=", "/>
+                  </names>
+                </else>
+              </choose>
+            </if>
+          </choose>
+        </group>
+      </if>
+    </choose>
+  </macro>
+  <macro name="recipient-note">
+    <names variable="recipient" delimiter=", ">
+      <label form="verb" text-case="lowercase" suffix=" "/>
+      <name and="text" delimiter=", "/>
+    </names>
+  </macro>
+  <macro name="contributors-note">
+    <group delimiter=" ">
+      <names variable="author">
+        <name and="text" sort-separator=", " delimiter=", "/>
+        <label form="short" prefix=", "/>
+        <substitute>
+          <names variable="editor"/>
+          <names variable="translator"/>
+        </substitute>
+      </names>
+      <text macro="recipient-note"/>
+    </group>
+  </macro>
+  <macro name="editor">
+    <names variable="editor">
+      <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>
+      <label form="short" prefix=", "/>
+    </names>
+  </macro>
+  <macro name="translator">
+    <names variable="translator">
+      <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>
+      <label form="verb-short" prefix=", "/>
+    </names>
+  </macro>
+  <macro name="recipient">
+    <group delimiter=" ">
+      <choose>
+        <if type="personal_communication">
+          <choose>
+            <if variable="genre">
+              <text variable="genre" text-case="capitalize-first"/>
+            </if>
+            <else>
+              <text term="letter" text-case="capitalize-first"/>
+            </else>
+          </choose>
+        </if>
+      </choose>
+      <text macro="recipient-note"/>
+    </group>
+  </macro>
+  <macro name="contributors">
+    <group delimiter=". ">
+      <names variable="author">
+        <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>
+        <substitute>
+          <text macro="editor"/>
+          <text macro="translator"/>
+          <choose>
+            <if type="webpage post-weblog" match="any">
+              <text variable="container-title"/>
+            </if>
+          </choose>
+        </substitute>
+      </names>
+      <text macro="recipient"/>
+    </group>
+  </macro>
+  <macro name="recipient-short">
+    <names variable="recipient">
+      <label form="verb" text-case="lowercase" suffix=" "/>
+      <name form="short" and="text" delimiter=", "/>
+    </names>
+  </macro>
+  <macro name="contributors-short">
+    <group delimiter=" ">
+      <names variable="author">
+        <name form="short" and="text" delimiter=", "/>
+        <substitute>
+          <names variable="editor"/>
+          <names variable="translator"/>
+        </substitute>
+      </names>
+      <text macro="recipient-short"/>
+    </group>
+  </macro>
+  <macro name="contributors-sort">
+    <names variable="author">
+      <name name-as-sort-order="all" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>
+      <substitute>
+        <names variable="editor"/>
+        <names variable="translator"/>
+        <text macro="title"/>
+      </substitute>
+    </names>
+  </macro>
+  <macro name="interviewer-note">
+    <names variable="interviewer" delimiter=", ">
+      <label form="verb" text-case="lowercase" suffix=" "/>
+      <name and="text" delimiter=", "/>
+    </names>
+  </macro>
+  <macro name="interviewer">
+    <names variable="interviewer" delimiter=", ">
+      <label form="verb" text-case="capitalize-first" suffix=" "/>
+      <name and="text" delimiter=", "/>
+    </names>
+  </macro>
+  <macro name="title-note">
+    <choose>
+      <if variable="title" match="none">
+        <text variable="genre"/>
+      </if>
+      <else-if type="book graphic map motion_picture song" match="any">
+        <text variable="title" text-case="title" font-style="italic"/>
+        <group delimiter=" " prefix=", ">
+          <text term="version"/>
+          <text variable="version"/>
+        </group>
+      </else-if>
+      <else-if type="legal_case interview patent" match="any">
+        <text variable="title"/>
+      </else-if>
+      <else-if variable="reviewed-author">
+        <text variable="title" font-style="italic" prefix="review of "/>
+      </else-if>
+      <else>
+        <text variable="title" text-case="title" quotes="true"/>
+      </else>
+    </choose>
+  </macro>
+  <macro name="title">
+    <choose>
+      <if variable="title" match="none">
+        <choose>
+          <if type="personal_communication" match="none">
+            <text variable="genre" text-case="capitalize-first"/>
+          </if>
+        </choose>
+      </if>
+      <else-if type="book graphic motion_picture song" match="any">
+        <text variable="title" text-case="title" font-style="italic"/>
+        <group prefix=" (" suffix=")" delimiter=" ">
+          <text term="version"/>
+          <text variable="version"/>
+        </group>
+      </else-if>
+      <else-if variable="reviewed-author">
+        <group delimiter=", ">
+          <text variable="title" font-style="italic" prefix="Review of "/>
+          <names variable="reviewed-author">
+            <label form="verb-short" text-case="lowercase" suffix=" "/>
+            <name and="text" delimiter=", "/>
+          </names>
+        </group>
+      </else-if>
+      <else-if type="bill legislation legal_case interview patent" match="any">
+        <text variable="title"/>
+      </else-if>
+      <else>
+        <text variable="title" text-case="title" quotes="true"/>
+      </else>
+    </choose>
+  </macro>
+  <macro name="title-short">
+    <choose>
+      <if variable="title" match="none">
+        <choose>
+          <if type="interview">
+            <text term="interview"/>
+          </if>
+          <else-if type="manuscript speech" match="any">
+            <text variable="genre" form="short"/>
+          </else-if>
+        </choose>
+      </if>
+      <else-if type="book graphic motion_picture song" match="any">
+        <text variable="title" text-case="title" form="short" font-style="italic"/>
+      </else-if>
+      <else-if type="legal_case" variable="title-short" match="all">
+        <text variable="title" font-style="italic" form="short"/>
+      </else-if>
+      <else-if type="patent interview" match="any">
+        <text variable="title" form="short"/>
+      </else-if>
+      <else-if type="legal_case bill legislation" match="any">
+        <text variable="title"/>
+      </else-if>
+      <else>
+        <text variable="title" text-case="title" form="short" quotes="true"/>
+      </else>
+    </choose>
+  </macro>
+  <macro name="date-disambiguate">
+    <choose>
+      <if disambiguate="true" type="personal_communication" match="any">
+        <text macro="issued"/>
+      </if>
+    </choose>
+  </macro>
+  <macro name="description-note">
+    <group delimiter=", ">
+      <text macro="interviewer-note"/>
+      <text variable="medium"/>
+      <choose>
+        <if variable="title" match="none"/>
+        <else-if type="manuscript thesis speech" match="any"/>
+        <else-if type="patent">
+          <group delimiter=" ">
+            <text variable="authority"/>
+            <text variable="number"/>
+          </group>
+        </else-if>
+        <else>
+          <text variable="genre"/>
+        </else>
+      </choose>
+      <choose>
+        <if type="map">
+          <text variable="scale"/>
+        </if>
+        <else-if type="graphic">
+          <text variable="dimensions"/>
+        </else-if>
+      </choose>
+    </group>
+  </macro>
+  <macro name="description">
+    <group delimiter=", ">
+      <group delimiter=". ">
+        <text macro="interviewer"/>
+        <text variable="medium" text-case="capitalize-first"/>
+      </group>
+      <choose>
+        <if variable="title" match="none"/>
+        <else-if type="thesis speech" match="any"/>
+        <else-if type="patent">
+          <group delimiter=" ">
+            <text variable="authority"/>
+            <text variable="number"/>
+          </group>
+        </else-if>
+        <else>
+          <text variable="genre" text-case="capitalize-first"/>
+        </else>
+      </choose>
+      <choose>
+        <if type="map">
+          <text variable="scale"/>
+        </if>
+        <else-if type="graphic">
+          <text variable="dimensions"/>
+        </else-if>
+      </choose>
+    </group>
+  </macro>
+  <macro name="container-title-note">
+    <group delimiter=" ">
+      <choose>
+        <if type="chapter entry-dictionary entry-encyclopedia paper-conference" match="any">
+          <text term="in"/>
+        </if>
+      </choose>
+      <choose>
+        <if type="webpage">
+          <text variable="container-title"/>
+        </if>
+        <else-if type="post-weblog">
+          <text variable="container-title" text-case="title" font-style="italic" suffix=" (blog)"/>
+        </else-if>
+        <else-if type="bill legislation legal_case" match="none">
+          <text variable="container-title" text-case="title" font-style="italic"/>
+        </else-if>
+      </choose>
+    </group>
+  </macro>
+  <macro name="container-title">
+    <group delimiter=" ">
+      <choose>
+        <if type="chapter entry-dictionary entry-encyclopedia paper-conference" match="any">
+          <text term="in" text-case="capitalize-first"/>
+        </if>
+      </choose>
+      <choose>
+        <if type="webpage">
+          <text variable="container-title"/>
+        </if>
+        <else-if type="post-weblog">
+          <text variable="container-title" text-case="title" font-style="italic" suffix=" (blog)"/>
+        </else-if>
+        <else-if type="bill legislation legal_case" match="none">
+          <text variable="container-title" text-case="title" font-style="italic"/>
+        </else-if>
+      </choose>
+    </group>
+  </macro>
+  <macro name="collection-title">
+    <choose>
+      <if match="none" type="article-journal">
+        <choose>
+          <if match="none" is-numeric="collection-number">
+            <group delimiter=", ">
+              <text variable="collection-title" text-case="title"/>
+              <text variable="collection-number"/>
+            </group>
+          </if>
+          <else>
+            <group delimiter=" ">
+              <text variable="collection-title" text-case="title"/>
+              <text variable="collection-number"/>
+            </group>
+          </else>
+        </choose>
+      </if>
+    </choose>
+  </macro>
+  <macro name="collection-title-journal">
+    <choose>
+      <if type="article-journal">
+        <group delimiter=" ">
+          <text variable="collection-title"/>
+          <text variable="collection-number"/>
+        </group>
+      </if>
+    </choose>
+  </macro>
+  <macro name="edition-note">
+    <choose>
+      <if type="book chapter graphic motion_picture paper-conference report song" match="any">
+        <choose>
+          <if is-numeric="edition">
+            <group delimiter=" ">
+              <number variable="edition" form="ordinal"/>
+              <text term="edition" form="short"/>
+            </group>
+          </if>
+          <else>
+            <text variable="edition"/>
+          </else>
+        </choose>
+      </if>
+    </choose>
+  </macro>
+  <macro name="edition">
+    <choose>
+      <if type="book chapter graphic motion_picture paper-conference report song" match="any">
+        <choose>
+          <if is-numeric="edition">
+            <group delimiter=" ">
+              <number variable="edition" form="ordinal"/>
+              <text term="edition" form="short"/>
+            </group>
+          </if>
+          <else>
+            <text variable="edition" text-case="capitalize-first" suffix="."/>
+          </else>
+        </choose>
+      </if>
+    </choose>
+  </macro>
+  <macro name="locators-note-join-with-space">
+    <choose>
+      <if type="article-journal" variable="volume" match="all">
+        <choose>
+          <if match="none" variable="collection-title">
+            <text macro="locators-note"/>
+          </if>
+        </choose>
+      </if>
+    </choose>
+  </macro>
+  <macro name="locators-note-join-with-comma">
+    <choose>
+      <if type="article-journal" match="none">
+        <text macro="locators-note"/>
+      </if>
+      <else-if type="article-journal">
+        <choose>
+          <if variable="volume" match="none">
+            <text macro="locators-note"/>
+          </if>
+          <else-if match="any" variable="collection-title">
+            <text macro="locators-note"/>
+          </else-if>
+        </choose>
+      </else-if>
+    </choose>
+  </macro>
+  <macro name="locators-note">
+    <choose>
+      <if type="article-journal">
+        <group delimiter=", ">
+          <text macro="collection-title-journal"/>
+          <text variable="volume"/>
+          <group delimiter=" ">
+            <text term="issue" form="short"/>
+            <text variable="issue"/>
+          </group>
+        </group>
+      </if>
+      <else-if type="bill legislation legal_case" match="any">
+        <text macro="legal-cites"/>
+      </else-if>
+      <else-if type="book chapter graphic motion_picture paper-conference report song" match="any">
+        <group delimiter=", ">
+          <text macro="edition-note"/>
+          <group delimiter=" ">
+            <text term="volume" form="short"/>
+            <number variable="volume" form="numeric"/>
+          </group>
+          <choose>
+            <if variable="locator" match="none">
+              <group delimiter=" ">
+                <number variable="number-of-volumes" form="numeric"/>
+                <text term="volume" form="short" plural="true"/>
+              </group>
+            </if>
+          </choose>
+        </group>
+      </else-if>
+    </choose>
+  </macro>
+  <macro name="legal-cites">
+    <choose>
+      <if type="legal_case" match="any">
+        <group delimiter=" ">
+          <choose>
+            <if variable="container-title">
+              <text variable="volume"/>
+              <text variable="container-title"/>
+              <group delimiter=" ">
+                <!--change to label variable="section" as that becomes available -->
+                <text term="section" form="symbol"/>
+                <text variable="section"/>
+              </group>
+              <text variable="page"/>
+            </if>
+            <else>
+              <text variable="number" prefix="No. "/>
+            </else>
+          </choose>
+        </group>
+      </if>
+      <else-if type="bill legislation" match="any">
+        <group delimiter=", ">
+          <choose>
+            <if variable="number">
+              <!--There's a public law number-->
+              <text variable="number" prefix="Pub. L. No. "/>
+              <group delimiter=" ">
+                <!--change to label variable="section" as that becomes available -->
+                <text term="section" form="symbol"/>
+                <text variable="section"/>
+              </group>
+              <group delimiter=" ">
+                <text variable="volume"/>
+                <text variable="container-title"/>
+                <text variable="page-first"/>
+              </group>
+            </if>
+            <else>
+              <group delimiter=" ">
+                <text variable="volume"/>
+                <text variable="container-title"/>
+                <!--change to label variable="section" as that becomes available -->
+                <text term="section" form="symbol"/>
+                <text variable="section"/>
+              </group>
+            </else>
+          </choose>
+        </group>
+      </else-if>
+    </choose>
+  </macro>
+  <macro name="locators-join-with-space">
+    <choose>
+      <if type="article-journal" variable="volume" match="all">
+        <choose>
+          <if match="none" variable="collection-title">
+            <text macro="locators"/>
+          </if>
+        </choose>
+      </if>
+    </choose>
+  </macro>
+  <macro name="locators-join-with-comma">
+    <choose>
+      <if type="bill chapter legislation legal_case paper-conference" match="any">
+        <text macro="locators"/>
+      </if>
+      <else-if type="article-journal">
+        <choose>
+          <if variable="volume" match="none">
+            <text macro="locators"/>
+          </if>
+          <else-if match="any" variable="collection-title">
+            <text macro="locators"/>
+          </else-if>
+        </choose>
+      </else-if>
+    </choose>
+  </macro>
+  <macro name="locators-join-with-period">
+    <choose>
+      <if type="bill legislation legal_case article-journal chapter paper-conference" match="none">
+        <text macro="locators"/>
+      </if>
+    </choose>
+  </macro>
+  <macro name="locators">
+    <choose>
+      <if type="article-journal">
+        <group delimiter=", ">
+          <text macro="collection-title-journal"/>
+          <text variable="volume"/>
+          <group delimiter=" ">
+            <text term="issue" form="short"/>
+            <text variable="issue"/>
+          </group>
+        </group>
+      </if>
+      <else-if type="bill legislation legal_case" match="any">
+        <text macro="legal-cites"/>
+      </else-if>
+      <else-if type="book graphic motion_picture report song" match="any">
+        <group delimiter=". ">
+          <text macro="edition"/>
+          <group delimiter=" ">
+            <text term="volume" form="short" text-case="capitalize-first"/>
+            <number variable="volume" form="numeric"/>
+          </group>
+          <group delimiter=" ">
+            <number variable="number-of-volumes" form="numeric"/>
+            <text term="volume" form="short" plural="true"/>
+          </group>
+        </group>
+      </else-if>
+      <else-if type="chapter entry-dictionary entry-encyclopedia paper-conference" match="any">
+        <group delimiter=". ">
+          <text macro="edition"/>
+          <choose>
+            <if variable="page" match="none">
+              <group delimiter=" ">
+                <text term="volume" form="short" text-case="capitalize-first"/>
+                <number variable="volume" form="numeric"/>
+              </group>
+            </if>
+          </choose>
+        </group>
+      </else-if>
+    </choose>
+  </macro>
+  <macro name="locators-newspaper">
+    <choose>
+      <if type="article-newspaper">
+        <group delimiter=", ">
+          <group delimiter=" ">
+            <number variable="edition"/>
+            <text term="edition"/>
+          </group>
+          <group delimiter=" ">
+            <text term="section" form="short"/>
+            <text variable="section"/>
+          </group>
+        </group>
+      </if>
+    </choose>
+  </macro>
+  <macro name="event-note">
+    <text variable="event"/>
+  </macro>
+  <macro name="event">
+    <choose>
+      <if variable="title">
+        <group delimiter=" ">
+          <choose>
+            <if variable="genre">
+              <text term="presented at"/>
+            </if>
+            <else>
+              <text term="presented at" text-case="capitalize-first"/>
+            </else>
+          </choose>
+          <text variable="event"/>
+        </group>
+      </if>
+      <else>
+        <group delimiter=" ">
+          <text term="presented at" text-case="capitalize-first"/>
+          <text variable="event"/>
+        </group>
+      </else>
+    </choose>
+  </macro>
+  <macro name="originally-published">
+    <group delimiter=", ">
+      <group delimiter=": ">
+        <text variable="original-publisher-place"/>
+        <text variable="original-publisher"/>
+      </group>
+      <choose>
+        <if is-uncertain-date="original-date">
+          <date variable="original-date" form="numeric" date-parts="year" prefix="[" suffix="?]"/>
+        </if>
+        <else>
+          <date variable="original-date" form="numeric" date-parts="year"/>
+        </else>
+      </choose>
+    </group>
+  </macro>
+  <macro name="reprint-note">
+    <!--needs localization-->
+    <choose>
+      <if variable="original-date issued" match="all">
+        <choose>
+          <!--for whatever reason in notes, when we have both original and new publishers, reprint doesn't appear-->
+          <if variable="original-publisher original-publisher-place" match="none">
+            <text value="repr."/>
+          </if>
+        </choose>
+      </if>
+    </choose>
+  </macro>
+  <macro name="reprint">
+    <!--needs localization-->
+    <choose>
+      <if variable="original-date issued" match="all">
+        <text value="reprint" text-case="capitalize-first"/>
+      </if>
+    </choose>
+  </macro>
+  <macro name="publisher">
+    <choose>
+      <if type="thesis">
+        <text variable="publisher"/>
+      </if>
+      <else-if type="speech">
+        <text variable="event-place"/>
+      </else-if>
+      <else>
+        <group delimiter=": ">
+          <text variable="publisher-place"/>
+          <text variable="publisher"/>
+        </group>
+      </else>
+    </choose>
+  </macro>
+  <macro name="issued">
+    <choose>
+      <if variable="issued">
+        <choose>
+          <if type="legal_case">
+            <group delimiter=" ">
+              <text variable="authority"/>
+              <choose>
+                <if variable="container-title" match="any">
+                  <!--Only print year for cases published in reporters-->
+                  <date variable="issued" form="numeric" date-parts="year"/>
+                </if>
+                <else>
+                  <date variable="issued" form="text"/>
+                </else>
+              </choose>
+            </group>
+          </if>
+          <else-if type="book bill chapter  legislation motion_picture paper-conference song thesis" match="any">
+            <choose>
+              <if is-uncertain-date="issued">
+                <date variable="issued" form="numeric" date-parts="year" prefix="[" suffix="?]"/>
+              </if>
+              <else>
+                <date variable="issued" form="numeric" date-parts="year"/>
+              </else>
+            </choose>
+          </else-if>
+          <else-if type="patent">
+            <group delimiter=", ">
+              <group delimiter=" ">
+                <!--Needs Localization-->
+                <text value="filed"/>
+                <date variable="submitted" form="text"/>
+              </group>
+              <group delimiter=" ">
+                <choose>
+                  <if variable="issued submitted" match="all">
+                    <text term="and"/>
+                  </if>
+                </choose>
+                <!--Needs Localization-->
+                <text value="issued"/>
+                <date variable="issued" form="text"/>
+              </group>
+            </group>
+          </else-if>
+          <else>
+            <choose>
+              <if is-uncertain-date="issued">
+                <date variable="issued" form="text" prefix="[" suffix="?]"/>
+              </if>
+              <else>
+                <date variable="issued" form="text"/>
+              </else>
+            </choose>
+          </else>
+        </choose>
+      </if>
+      <else-if variable="status">
+        <text variable="status"/>
+      </else-if>
+      <else-if variable="accessed URL" match="all"/>
+      <else>
+        <text term="no date" form="short"/>
+      </else>
+    </choose>
+  </macro>
+  <macro name="point-locators-subsequent">
+    <choose>
+      <if type="legal_case" variable="locator" match="all">
+        <choose>
+          <if locator="page">
+            <group delimiter=":">
+              <text variable="volume"/>
+              <text variable="locator"/>
+            </group>
+          </if>
+          <else>
+            <group delimiter=" ">
+              <label variable="locator" form="short"/>
+              <text variable="locator"/>
+            </group>
+          </else>
+        </choose>
+      </if>
+      <else-if variable="locator">
+        <choose>
+          <if locator="page" match="none">
+            <group delimiter=" ">
+              <choose>
+                <if type="book graphic motion_picture report song" match="any">
+                  <choose>
+                    <if variable="volume">
+                      <group delimiter=", ">
+                        <group delimiter=" ">
+                          <text term="volume" form="short"/>
+                          <number variable="volume" form="numeric"/>
+                        </group>
+                        <label variable="locator" form="short"/>
+                      </group>
+                    </if>
+                    <else>
+                      <label variable="locator" form="short"/>
+                    </else>
+                  </choose>
+                </if>
+                <else>
+                  <label variable="locator" form="short"/>
+                </else>
+              </choose>
+              <text variable="locator"/>
+            </group>
+          </if>
+          <else-if type="book graphic motion_picture report song" match="any">
+            <group delimiter=":">
+              <number variable="volume" form="numeric"/>
+              <text variable="locator"/>
+            </group>
+          </else-if>
+          <else>
+            <text variable="locator"/>
+          </else>
+        </choose>
+      </else-if>
+    </choose>
+  </macro>
+  <macro name="point-locators-join-with-colon">
+    <choose>
+      <if type="article-journal">
+        <choose>
+          <if variable="locator page" match="any">
+            <choose>
+              <if variable="volume issue" match="any">
+                <text macro="point-locators"/>
+              </if>
+            </choose>
+          </if>
+        </choose>
+      </if>
+    </choose>
+  </macro>
+  <macro name="point-locators-join-with-comma">
+    <choose>
+      <if type="article-journal" match="none">
+        <text macro="point-locators"/>
+      </if>
+      <else-if variable="volume issue" match="none">
+        <text macro="point-locators"/>
+      </else-if>
+    </choose>
+  </macro>
+  <macro name="point-locators">
+    <choose>
+      <if variable="locator" match="none">
+        <choose>
+          <if type="article-journal chapter paper-conference" match="any">
+            <text variable="page"/>
+          </if>
+        </choose>
+      </if>
+      <else-if type="article-journal">
+        <group delimiter=" ">
+          <choose>
+            <if locator="page" match="none">
+              <label variable="locator" form="short" suffix=" "/>
+            </if>
+          </choose>
+          <text variable="locator"/>
+        </group>
+      </else-if>
+      <else-if type="legal_case"/>
+      <else>
+        <group delimiter=" ">
+          <choose>
+            <if locator="page" match="none">
+              <label variable="locator" form="short"/>
+            </if>
+          </choose>
+          <text variable="locator"/>
+        </group>
+      </else>
+    </choose>
+  </macro>
+  <macro name="locators-chapter">
+    <choose>
+      <if type="chapter entry-dictionary entry-encyclopedia paper-conference" match="any">
+        <choose>
+          <if variable="author container-author" match="all"/>
+          <else>
+            <choose>
+              <if variable="page">
+                <text variable="volume" suffix=":"/>
+                <text variable="page"/>
+              </if>
+            </choose>
+          </else>
+        </choose>
+      </if>
+    </choose>
+  </macro>
+  <macro name="locators-journal-join-with-colon">
+    <choose>
+      <if type="article-journal">
+        <choose>
+          <if variable="volume issue" match="any">
+            <text variable="page"/>
+          </if>
+        </choose>
+      </if>
+    </choose>
+  </macro>
+  <macro name="locators-journal-join-with-comma">
+    <choose>
+      <if type="article-journal">
+        <choose>
+          <if variable="volume issue" match="none">
+            <text variable="page"/>
+          </if>
+        </choose>
+      </if>
+    </choose>
+  </macro>
+  <macro name="archive-note">
+    <choose>
+      <if type="thesis">
+        <group delimiter=" ">
+          <text variable="archive"/>
+          <text variable="archive_location" prefix="(" suffix=")"/>
+        </group>
+      </if>
+      <else>
+        <group delimiter=", ">
+          <text variable="archive_location"/>
+          <text variable="archive"/>
+          <text variable="archive-place"/>
+        </group>
+      </else>
+    </choose>
+  </macro>
+  <macro name="archive">
+    <choose>
+      <if type="thesis">
+        <group delimiter=" ">
+          <text variable="archive"/>
+          <text variable="archive_location" prefix="(" suffix=")"/>
+        </group>
+      </if>
+      <else>
+        <group delimiter=". ">
+          <text variable="archive_location" text-case="capitalize-first"/>
+          <text variable="archive"/>
+          <text variable="archive-place"/>
+        </group>
+      </else>
+    </choose>
+  </macro>
+  <macro name="issue-note-join-with-space">
+    <choose>
+      <if type="article-journal bill legislation legal_case manuscript thesis" variable="publisher-place event-place publisher" match="any">
+        <!--Chicago doesn't use publisher/place for Newspapers and we want the date delimited by a comma-->
+        <choose>
+          <if type="article-newspaper" match="none">
+            <choose>
+              <if type="article-journal" match="none">
+                <text macro="issue-note"/>
+              </if>
+              <else-if variable="issue volume" match="any">
+                <text macro="issue-note"/>
+              </else-if>
+            </choose>
+          </if>
+        </choose>
+      </if>
+    </choose>
+  </macro>
+  <macro name="issue-note-join-with-comma">
+    <choose>
+      <if type="article-journal bill legislation legal_case manuscript speech thesis" variable="publisher-place publisher" match="none">
+        <text macro="issue-note"/>
+      </if>
+      <else-if type="article-newspaper">
+        <text macro="issue-note"/>
+      </else-if>
+      <else-if type="article-journal">
+        <choose>
+          <if variable="volume issue" match="none">
+            <text macro="issue-note"/>
+          </if>
+        </choose>
+      </else-if>
+    </choose>
+  </macro>
+  <macro name="issue-map-graphic">
+    <!--See CMoS 17th ed. 14.235 and 14.237-->
+    <choose>
+      <if type="graphic map" match="any">
+        <choose>
+          <if variable="publisher publisher-place" match="none">
+            <text macro="issued"/>
+          </if>
+        </choose>
+      </if>
+    </choose>
+  </macro>
+  <macro name="issue-note">
+    <choose>
+      <if type="bill legislation legal_case" match="any">
+        <text macro="issued" prefix="(" suffix=")"/>
+      </if>
+      <else-if type="article-journal">
+        <choose>
+          <if variable="volume issue" match="any">
+            <text macro="issued" prefix="(" suffix=")"/>
+          </if>
+          <else>
+            <text macro="issued"/>
+          </else>
+        </choose>
+      </else-if>
+      <else-if type="article-newspaper">
+        <text macro="issued"/>
+      </else-if>
+      <else-if type="manuscript thesis speech" match="any">
+        <group delimiter=", " prefix="(" suffix=")">
+          <choose>
+            <if variable="title" match="any">
+              <text variable="genre"/>
+            </if>
+          </choose>
+          <text variable="event"/>
+          <text variable="event-place"/>
+          <text variable="publisher"/>
+          <text macro="issued"/>
+        </group>
+      </else-if>
+      <else-if variable="publisher-place event-place publisher" match="any">
+        <group prefix="(" suffix=")" delimiter=", ">
+          <text macro="event-note"/>
+          <group delimiter="; ">
+            <text macro="originally-published"/>
+            <group delimiter=", ">
+              <text macro="reprint-note"/>
+              <text macro="publisher"/>
+            </group>
+          </group>
+          <text macro="issued"/>
+        </group>
+      </else-if>
+      <else>
+        <text macro="issued"/>
+      </else>
+    </choose>
+  </macro>
+  <macro name="issue-join-with-space">
+    <choose>
+      <if type="article-journal" match="any">
+        <choose>
+          <if variable="issue volume" match="any">
+            <text macro="issue"/>
+          </if>
+        </choose>
+      </if>
+      <else-if type="bill legislation legal_case" match="any">
+        <text macro="issue"/>
+      </else-if>
+    </choose>
+  </macro>
+  <macro name="issue-join-with-period">
+    <choose>
+      <if type="article-journal bill legislation legal_case" match="none">
+        <choose>
+          <if type="speech" variable="publisher publisher-place" match="any">
+            <text macro="issue"/>
+          </if>
+        </choose>
+      </if>
+    </choose>
+  </macro>
+  <macro name="issue-join-with-comma">
+    <choose>
+      <if type="bill legislation legal_case" match="none">
+        <choose>
+          <if type="article-journal" match="none">
+            <choose>
+              <if type="speech" variable="publisher publisher-place" match="none">
+                <text macro="issue"/>
+              </if>
+            </choose>
+          </if>
+          <else-if variable="volume issue" match="none">
+            <text macro="issue"/>
+          </else-if>
+        </choose>
+      </if>
+    </choose>
+  </macro>
+  <macro name="issue">
+    <choose>
+      <if type="bill legislation legal_case" match="any">
+        <text macro="issued" prefix="(" suffix=")"/>
+      </if>
+      <else-if type="article-journal">
+        <choose>
+          <if variable="issue volume" match="any">
+            <text macro="issued" prefix="(" suffix=")"/>
+          </if>
+          <else>
+            <text macro="issued"/>
+          </else>
+        </choose>
+      </else-if>
+      <else-if type="speech">
+        <group delimiter=", ">
+          <group delimiter=" ">
+            <choose>
+              <if variable="title" match="none"/>
+              <else>
+                <text variable="genre" text-case="capitalize-first"/>
+              </else>
+            </choose>
+            <text macro="event"/>
+          </group>
+          <text variable="event-place"/>
+          <text macro="issued"/>
+        </group>
+      </else-if>
+      <!--Chicago doesn't use publisher/place for Newspapers -->
+      <else-if type="article-newspaper">
+        <text macro="issued"/>
+      </else-if>
+      <else-if variable="publisher-place publisher" match="any">
+        <group delimiter=", ">
+          <choose>
+            <if type="thesis">
+              <text variable="genre" text-case="capitalize-first"/>
+            </if>
+          </choose>
+          <group delimiter=". ">
+            <text macro="originally-published"/>
+            <group delimiter=", ">
+              <text macro="reprint"/>
+              <text macro="publisher"/>
+            </group>
+          </group>
+          <text macro="issued"/>
+        </group>
+      </else-if>
+      <!--location for data for maps and artwork is different-->
+      <else-if type="graphic map" match="none">
+        <text macro="issued"/>
+      </else-if>
+    </choose>
+  </macro>
+  <macro name="access-note">
+    <group delimiter=", ">
+      <choose>
+        <if type="graphic report" match="any">
+          <text macro="archive-note"/>
+        </if>
+        <else-if type="article-journal bill book chapter legal_case legislation motion_picture paper-conference" match="none">
+          <text macro="archive-note"/>
+        </else-if>
+      </choose>
+      <choose>
+        <if variable="issued" match="none">
+          <group delimiter=" ">
+            <text term="accessed"/>
+            <date variable="accessed" form="text"/>
+          </group>
+        </if>
+      </choose>
+      <choose>
+        <if type="legal_case" match="none">
+          <choose>
+            <if variable="DOI">
+              <text variable="DOI" prefix="https://doi.org/"/>
+            </if>
+            <else>
+              <text variable="URL"/>
+            </else>
+          </choose>
+        </if>
+      </choose>
+    </group>
+  </macro>
+  <macro name="access">
+    <group delimiter=". ">
+      <choose>
+        <if type="graphic report" match="any">
+          <text macro="archive"/>
+        </if>
+        <else-if type="article-journal bill book chapter legal_case legislation motion_picture paper-conference" match="none">
+          <text macro="archive"/>
+        </else-if>
+      </choose>
+      <choose>
+        <if variable="issued" match="none">
+          <group delimiter=" ">
+            <text term="accessed" text-case="capitalize-first"/>
+            <date variable="accessed" form="text"/>
+          </group>
+        </if>
+      </choose>
+      <choose>
+        <if type="legal_case" match="none">
+          <choose>
+            <if variable="DOI">
+              <text variable="DOI" prefix="https://doi.org/"/>
+            </if>
+            <else>
+              <text variable="URL"/>
+            </else>
+          </choose>
+        </if>
+      </choose>
+    </group>
+  </macro>
+  <macro name="case-locator-subsequent">
+    <choose>
+      <if type="legal_case">
+        <group delimiter=" ">
+          <text variable="volume"/>
+          <text variable="container-title"/>
+        </group>
+      </if>
+    </choose>
+  </macro>
+  <macro name="case-pinpoint-subsequent">
+    <choose>
+      <if type="legal_case">
+        <group delimiter=" ">
+          <choose>
+            <if locator="page">
+              <text term="at"/>
+              <text variable="locator"/>
+            </if>
+            <else>
+              <label variable="locator"/>
+              <text variable="locator"/>
+            </else>
+          </choose>
+        </group>
+      </if>
+    </choose>
+  </macro>
+  <citation et-al-min="4" et-al-use-first="1" disambiguate-add-names="true">
+    <layout suffix="." delimiter="; ">
+      <choose>
+        <if position="ibid ibid-with-locator" match="any">
+          <group delimiter=", ">
+            <text macro="contributors-short"/>
+            <group delimiter=" ">
+              <group delimiter=", ">
+                <choose>
+                  <if variable="author editor translator" match="none">
+                    <text macro="title-short"/>
+                  </if>
+                </choose>
+                <text macro="case-locator-subsequent"/>
+              </group>
+              <text macro="case-pinpoint-subsequent"/>
+            </group>
+            <choose>
+              <if match="none" type="legal_case">
+                <text macro="point-locators-subsequent"/>
+              </if>
+            </choose>
+          </group>
+        </if>
+        <else-if position="subsequent">
+          <group delimiter=", ">
+            <text macro="contributors-short"/>
+            <group delimiter=" ">
+              <group delimiter=", ">
+                <text macro="title-short"/>
+                <!--if title & author are the same: -->
+                <text macro="date-disambiguate"/>
+                <text macro="case-locator-subsequent"/>
+              </group>
+              <text macro="case-pinpoint-subsequent"/>
+            </group>
+            <choose>
+              <if match="none" type="legal_case">
+                <text macro="point-locators-subsequent"/>
+              </if>
+            </choose>
+          </group>
+        </else-if>
+        <else>
+          <group delimiter=", ">
+            <group delimiter=": ">
+              <group delimiter=", ">
+                <group delimiter=" ">
+                  <group delimiter=", ">
+                    <group delimiter=" ">
+                      <group delimiter=", ">
+                        <group delimiter=", ">
+                          <text macro="contributors-note"/>
+                          <text macro="title-note"/>
+                          <text macro="issue-map-graphic"/>
+                        </group>
+                        <text macro="description-note"/>
+                        <text macro="secondary-contributors-note"/>
+                        <text macro="container-title-note"/>
+                        <text macro="container-contributors-note"/>
+                      </group>
+                      <text macro="locators-note-join-with-space"/>
+                    </group>
+                    <text macro="locators-note-join-with-comma"/>
+                    <text macro="collection-title"/>
+                    <text macro="issue-note-join-with-comma"/>
+                  </group>
+                  <text macro="issue-note-join-with-space"/>
+                </group>
+                <text macro="locators-newspaper"/>
+                <text macro="point-locators-join-with-comma"/>
+              </group>
+              <text macro="point-locators-join-with-colon"/>
+            </group>
+            <text macro="access-note"/>
+          </group>
+        </else>
+      </choose>
+    </layout>
+  </citation>
+  <bibliography hanging-indent="true" et-al-min="11" et-al-use-first="7" subsequent-author-substitute="———" entry-spacing="0">
+    <sort>
+      <key macro="contributors-sort"/>
+      <key variable="title"/>
+      <key variable="genre"/>
+      <key variable="issued"/>
+    </sort>
+    <layout suffix=".">
+      <group delimiter=". ">
+        <group delimiter=": ">
+          <group delimiter=", ">
+            <group delimiter=" ">
+              <group delimiter=". ">
+                <group delimiter=" ">
+                  <group delimiter=", ">
+                    <group delimiter=". ">
+                      <group delimiter=". ">
+                        <text macro="contributors"/>
+                        <text macro="title"/>
+                        <text macro="issue-map-graphic"/>
+                      </group>
+                      <text macro="description"/>
+                      <text macro="secondary-contributors"/>
+                      <group delimiter=", ">
+                        <text macro="container-title"/>
+                        <text macro="container-contributors"/>
+                      </group>
+                      <text macro="locators-join-with-period"/>
+                    </group>
+                    <text macro="locators-join-with-comma"/>
+                    <text macro="locators-chapter"/>
+                  </group>
+                  <text macro="locators-join-with-space"/>
+                </group>
+                <text macro="collection-title"/>
+                <text macro="issue-join-with-period"/>
+              </group>
+              <text macro="issue-join-with-space"/>
+            </group>
+            <text macro="issue-join-with-comma"/>
+            <text macro="locators-journal-join-with-comma"/>
+            <text macro="locators-newspaper"/>
+          </group>
+          <text macro="locators-journal-join-with-colon"/>
+        </group>
+        <text macro="access"/>
+      </group>
+    </layout>
+  </bibliography>
+</style>

Added: trunk/Master/texmf-dist/tex/latex/citation-style-language/styles/chicago-note-bibliography.csl
===================================================================
--- trunk/Master/texmf-dist/tex/latex/citation-style-language/styles/chicago-note-bibliography.csl	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/citation-style-language/styles/chicago-note-bibliography.csl	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,1417 @@
+<?xml version="1.0" encoding="utf-8"?>
+<style xmlns="http://purl.org/net/xbiblio/csl" class="note" version="1.0" demote-non-dropping-particle="display-and-sort" page-range-format="chicago">
+  <info>
+    <title>Chicago Manual of Style 17th edition (note)</title>
+    <id>http://www.zotero.org/styles/chicago-note-bibliography</id>
+    <link href="http://www.zotero.org/styles/chicago-note-bibliography" rel="self"/>
+    <link href="http://www.chicagomanualofstyle.org/tools_citationguide.html" rel="documentation"/>
+    <author>
+      <name>Julian Onions</name>
+      <email>julian.onions at gmail.com</email>
+    </author>
+    <contributor>
+      <name>Simon Kornblith</name>
+      <email>simon at simonster.com</email>
+    </contributor>
+    <contributor>
+      <name>Elena Razlogova</name>
+      <email>elena.razlogova at gmail.com</email>
+    </contributor>
+    <contributor>
+      <name>Frank Bennett</name>
+      <email>biercenator at gmail.com</email>
+    </contributor>
+    <contributor>
+      <name>Andrew Dunning</name>
+      <email>andrew.dunning at utoronto.ca</email>
+    </contributor>
+    <contributor>
+      <name>Sebastian Karcher</name>
+    </contributor>
+    <contributor>
+      <name>Brenton M. Wiernik</name>
+    </contributor>
+    <category citation-format="note"/>
+    <category field="generic-base"/>
+    <summary>Chicago format with short notes and bibliography</summary>
+    <updated>2017-10-12T12:00:00+00:00</updated>
+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
+  </info>
+  <locale xml:lang="en">
+    <terms>
+      <term name="editor" form="verb-short">ed.</term>
+      <term name="translator" form="verb-short">trans.</term>
+      <term name="translator" form="short">trans.</term>
+      <term name="editortranslator" form="verb-short">ed. and trans.</term>
+      <term name="editortranslator" form="verb">Edited and translated by</term>
+      <term name="translator" form="short">trans.</term>
+    </terms>
+  </locale>
+  <macro name="editor-translator">
+    <group delimiter=", ">
+      <group delimiter=" ">
+        <choose>
+          <if variable="container-author reviewed-author" match="any">
+            <group>
+              <names variable="container-author reviewed-author">
+                <label form="verb-short" text-case="lowercase" suffix=" "/>
+                <name and="text" delimiter=", "/>
+              </names>
+            </group>
+          </if>
+        </choose>
+      </group>
+      <names variable="editor translator" delimiter=", ">
+        <label form="verb-short" text-case="lowercase" suffix=" "/>
+        <name and="text" delimiter=", "/>
+      </names>
+    </group>
+  </macro>
+  <macro name="secondary-contributors-note">
+    <choose>
+      <if type="chapter entry-dictionary entry-encyclopedia paper-conference" match="none">
+        <text macro="editor-translator"/>
+      </if>
+    </choose>
+  </macro>
+  <macro name="container-contributors-note">
+    <choose>
+      <if type="chapter entry-dictionary entry-encyclopedia paper-conference" match="any">
+        <text macro="editor-translator"/>
+      </if>
+    </choose>
+  </macro>
+  <macro name="secondary-contributors">
+    <choose>
+      <if type="chapter entry-dictionary entry-encyclopedia paper-conference" match="none">
+        <names variable="editor translator" delimiter=". ">
+          <label form="verb" text-case="capitalize-first" suffix=" "/>
+          <name and="text" delimiter=", "/>
+        </names>
+      </if>
+    </choose>
+  </macro>
+  <macro name="container-contributors">
+    <choose>
+      <if type="chapter entry-dictionary entry-encyclopedia paper-conference" match="any">
+        <group delimiter=", ">
+          <choose>
+            <if variable="author">
+              <choose>
+                <if variable="container-author" match="any">
+                  <names variable="container-author">
+                    <label form="verb-short" text-case="lowercase" suffix=" "/>
+                    <name and="text" delimiter=", "/>
+                  </names>
+                </if>
+              </choose>
+              <!--This includes page numers after the container author, e.g. for Introductions -->
+              <choose>
+                <if variable="container-author author" match="all">
+                  <group delimiter=". ">
+                    <text variable="page"/>
+                    <names variable="editor translator" delimiter=", ">
+                      <label form="verb" suffix=" "/>
+                      <name and="text" delimiter=", "/>
+                    </names>
+                  </group>
+                </if>
+                <else>
+                  <names variable="editor translator" delimiter=", ">
+                    <label form="verb" text-case="lowercase" suffix=" "/>
+                    <name and="text" delimiter=", "/>
+                  </names>
+                </else>
+              </choose>
+            </if>
+          </choose>
+        </group>
+      </if>
+    </choose>
+  </macro>
+  <macro name="recipient-note">
+    <names variable="recipient" delimiter=", ">
+      <label form="verb" text-case="lowercase" suffix=" "/>
+      <name and="text" delimiter=", "/>
+    </names>
+  </macro>
+  <macro name="contributors-note">
+    <group delimiter=" ">
+      <names variable="author">
+        <name and="text" sort-separator=", " delimiter=", "/>
+        <label form="short" prefix=", "/>
+        <substitute>
+          <names variable="editor"/>
+          <names variable="translator"/>
+        </substitute>
+      </names>
+      <text macro="recipient-note"/>
+    </group>
+  </macro>
+  <macro name="editor">
+    <names variable="editor">
+      <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>
+      <label form="short" prefix=", "/>
+    </names>
+  </macro>
+  <macro name="translator">
+    <names variable="translator">
+      <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>
+      <label form="verb-short" prefix=", "/>
+    </names>
+  </macro>
+  <macro name="recipient">
+    <group delimiter=" ">
+      <choose>
+        <if type="personal_communication">
+          <choose>
+            <if variable="genre">
+              <text variable="genre" text-case="capitalize-first"/>
+            </if>
+            <else>
+              <text term="letter" text-case="capitalize-first"/>
+            </else>
+          </choose>
+        </if>
+      </choose>
+      <text macro="recipient-note"/>
+    </group>
+  </macro>
+  <macro name="contributors">
+    <group delimiter=". ">
+      <names variable="author">
+        <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>
+        <substitute>
+          <text macro="editor"/>
+          <text macro="translator"/>
+          <choose>
+            <if type="webpage post-weblog" match="any">
+              <text variable="container-title"/>
+            </if>
+          </choose>
+        </substitute>
+      </names>
+      <text macro="recipient"/>
+    </group>
+  </macro>
+  <macro name="recipient-short">
+    <names variable="recipient">
+      <label form="verb" text-case="lowercase" suffix=" "/>
+      <name form="short" and="text" delimiter=", "/>
+    </names>
+  </macro>
+  <macro name="contributors-short">
+    <group delimiter=" ">
+      <names variable="author">
+        <name form="short" and="text" delimiter=", "/>
+        <substitute>
+          <names variable="editor"/>
+          <names variable="translator"/>
+        </substitute>
+      </names>
+      <text macro="recipient-short"/>
+    </group>
+  </macro>
+  <macro name="contributors-sort">
+    <names variable="author">
+      <name name-as-sort-order="all" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>
+      <substitute>
+        <names variable="editor"/>
+        <names variable="translator"/>
+        <text macro="title"/>
+      </substitute>
+    </names>
+  </macro>
+  <macro name="interviewer-note">
+    <names variable="interviewer" delimiter=", ">
+      <label form="verb" text-case="lowercase" suffix=" "/>
+      <name and="text" delimiter=", "/>
+    </names>
+  </macro>
+  <macro name="interviewer">
+    <names variable="interviewer" delimiter=", ">
+      <label form="verb" text-case="capitalize-first" suffix=" "/>
+      <name and="text" delimiter=", "/>
+    </names>
+  </macro>
+  <macro name="title-note">
+    <choose>
+      <if variable="title" match="none">
+        <text variable="genre"/>
+      </if>
+      <else-if type="book graphic map motion_picture song" match="any">
+        <text variable="title" text-case="title" font-style="italic"/>
+        <group delimiter=" " prefix=", ">
+          <text term="version"/>
+          <text variable="version"/>
+        </group>
+      </else-if>
+      <else-if type="legal_case interview patent" match="any">
+        <text variable="title"/>
+      </else-if>
+      <else-if variable="reviewed-author">
+        <text variable="title" font-style="italic" prefix="review of "/>
+      </else-if>
+      <else>
+        <text variable="title" text-case="title" quotes="true"/>
+      </else>
+    </choose>
+  </macro>
+  <macro name="title">
+    <choose>
+      <if variable="title" match="none">
+        <choose>
+          <if type="personal_communication" match="none">
+            <text variable="genre" text-case="capitalize-first"/>
+          </if>
+        </choose>
+      </if>
+      <else-if type="book graphic motion_picture song" match="any">
+        <text variable="title" text-case="title" font-style="italic"/>
+        <group prefix=" (" suffix=")" delimiter=" ">
+          <text term="version"/>
+          <text variable="version"/>
+        </group>
+      </else-if>
+      <else-if variable="reviewed-author">
+        <group delimiter=", ">
+          <text variable="title" font-style="italic" prefix="Review of "/>
+          <names variable="reviewed-author">
+            <label form="verb-short" text-case="lowercase" suffix=" "/>
+            <name and="text" delimiter=", "/>
+          </names>
+        </group>
+      </else-if>
+      <else-if type="bill legislation legal_case interview patent" match="any">
+        <text variable="title"/>
+      </else-if>
+      <else>
+        <text variable="title" text-case="title" quotes="true"/>
+      </else>
+    </choose>
+  </macro>
+  <macro name="title-short">
+    <choose>
+      <if variable="title" match="none">
+        <choose>
+          <if type="interview">
+            <text term="interview"/>
+          </if>
+          <else-if type="manuscript speech" match="any">
+            <text variable="genre" form="short"/>
+          </else-if>
+        </choose>
+      </if>
+      <else-if type="book graphic motion_picture song" match="any">
+        <text variable="title" text-case="title" form="short" font-style="italic"/>
+      </else-if>
+      <else-if type="legal_case" variable="title-short" match="all">
+        <text variable="title" font-style="italic" form="short"/>
+      </else-if>
+      <else-if type="patent interview" match="any">
+        <text variable="title" form="short"/>
+      </else-if>
+      <else-if type="legal_case bill legislation" match="any">
+        <text variable="title"/>
+      </else-if>
+      <else>
+        <text variable="title" text-case="title" form="short" quotes="true"/>
+      </else>
+    </choose>
+  </macro>
+  <macro name="date-disambiguate">
+    <choose>
+      <if disambiguate="true" type="personal_communication" match="any">
+        <text macro="issued"/>
+      </if>
+    </choose>
+  </macro>
+  <macro name="description-note">
+    <group delimiter=", ">
+      <text macro="interviewer-note"/>
+      <text variable="medium"/>
+      <choose>
+        <if variable="title" match="none"/>
+        <else-if type="manuscript thesis speech" match="any"/>
+        <else-if type="patent">
+          <group delimiter=" ">
+            <text variable="authority"/>
+            <text variable="number"/>
+          </group>
+        </else-if>
+        <else>
+          <text variable="genre"/>
+        </else>
+      </choose>
+      <choose>
+        <if type="map">
+          <text variable="scale"/>
+        </if>
+        <else-if type="graphic">
+          <text variable="dimensions"/>
+        </else-if>
+      </choose>
+    </group>
+  </macro>
+  <macro name="description">
+    <group delimiter=", ">
+      <group delimiter=". ">
+        <text macro="interviewer"/>
+        <text variable="medium" text-case="capitalize-first"/>
+      </group>
+      <choose>
+        <if variable="title" match="none"/>
+        <else-if type="thesis speech" match="any"/>
+        <else-if type="patent">
+          <group delimiter=" ">
+            <text variable="authority"/>
+            <text variable="number"/>
+          </group>
+        </else-if>
+        <else>
+          <text variable="genre" text-case="capitalize-first"/>
+        </else>
+      </choose>
+      <choose>
+        <if type="map">
+          <text variable="scale"/>
+        </if>
+        <else-if type="graphic">
+          <text variable="dimensions"/>
+        </else-if>
+      </choose>
+    </group>
+  </macro>
+  <macro name="container-title-note">
+    <group delimiter=" ">
+      <choose>
+        <if type="chapter entry-dictionary entry-encyclopedia paper-conference" match="any">
+          <text term="in"/>
+        </if>
+      </choose>
+      <choose>
+        <if type="webpage">
+          <text variable="container-title"/>
+        </if>
+        <else-if type="post-weblog">
+          <text variable="container-title" text-case="title" font-style="italic" suffix=" (blog)"/>
+        </else-if>
+        <else-if type="bill legislation legal_case" match="none">
+          <text variable="container-title" text-case="title" font-style="italic"/>
+        </else-if>
+      </choose>
+    </group>
+  </macro>
+  <macro name="container-title">
+    <group delimiter=" ">
+      <choose>
+        <if type="chapter entry-dictionary entry-encyclopedia paper-conference" match="any">
+          <text term="in" text-case="capitalize-first"/>
+        </if>
+      </choose>
+      <choose>
+        <if type="webpage">
+          <text variable="container-title"/>
+        </if>
+        <else-if type="post-weblog">
+          <text variable="container-title" text-case="title" font-style="italic" suffix=" (blog)"/>
+        </else-if>
+        <else-if type="bill legislation legal_case" match="none">
+          <text variable="container-title" text-case="title" font-style="italic"/>
+        </else-if>
+      </choose>
+    </group>
+  </macro>
+  <macro name="collection-title">
+    <choose>
+      <if match="none" type="article-journal">
+        <choose>
+          <if match="none" is-numeric="collection-number">
+            <group delimiter=", ">
+              <text variable="collection-title" text-case="title"/>
+              <text variable="collection-number"/>
+            </group>
+          </if>
+          <else>
+            <group delimiter=" ">
+              <text variable="collection-title" text-case="title"/>
+              <text variable="collection-number"/>
+            </group>
+          </else>
+        </choose>
+      </if>
+    </choose>
+  </macro>
+  <macro name="collection-title-journal">
+    <choose>
+      <if type="article-journal">
+        <group delimiter=" ">
+          <text variable="collection-title"/>
+          <text variable="collection-number"/>
+        </group>
+      </if>
+    </choose>
+  </macro>
+  <macro name="edition-note">
+    <choose>
+      <if type="book chapter graphic motion_picture paper-conference report song" match="any">
+        <choose>
+          <if is-numeric="edition">
+            <group delimiter=" ">
+              <number variable="edition" form="ordinal"/>
+              <text term="edition" form="short"/>
+            </group>
+          </if>
+          <else>
+            <text variable="edition"/>
+          </else>
+        </choose>
+      </if>
+    </choose>
+  </macro>
+  <macro name="edition">
+    <choose>
+      <if type="book chapter graphic motion_picture paper-conference report song" match="any">
+        <choose>
+          <if is-numeric="edition">
+            <group delimiter=" ">
+              <number variable="edition" form="ordinal"/>
+              <text term="edition" form="short"/>
+            </group>
+          </if>
+          <else>
+            <text variable="edition" text-case="capitalize-first" suffix="."/>
+          </else>
+        </choose>
+      </if>
+    </choose>
+  </macro>
+  <macro name="locators-note-join-with-space">
+    <choose>
+      <if type="article-journal" variable="volume" match="all">
+        <choose>
+          <if match="none" variable="collection-title">
+            <text macro="locators-note"/>
+          </if>
+        </choose>
+      </if>
+    </choose>
+  </macro>
+  <macro name="locators-note-join-with-comma">
+    <choose>
+      <if type="article-journal" match="none">
+        <text macro="locators-note"/>
+      </if>
+      <else-if type="article-journal">
+        <choose>
+          <if variable="volume" match="none">
+            <text macro="locators-note"/>
+          </if>
+          <else-if match="any" variable="collection-title">
+            <text macro="locators-note"/>
+          </else-if>
+        </choose>
+      </else-if>
+    </choose>
+  </macro>
+  <macro name="locators-note">
+    <choose>
+      <if type="article-journal">
+        <group delimiter=", ">
+          <text macro="collection-title-journal"/>
+          <text variable="volume"/>
+          <group delimiter=" ">
+            <text term="issue" form="short"/>
+            <text variable="issue"/>
+          </group>
+        </group>
+      </if>
+      <else-if type="bill legislation legal_case" match="any">
+        <text macro="legal-cites"/>
+      </else-if>
+      <else-if type="book chapter graphic motion_picture paper-conference report song" match="any">
+        <group delimiter=", ">
+          <text macro="edition-note"/>
+          <group delimiter=" ">
+            <text term="volume" form="short"/>
+            <number variable="volume" form="numeric"/>
+          </group>
+          <choose>
+            <if variable="locator" match="none">
+              <group delimiter=" ">
+                <number variable="number-of-volumes" form="numeric"/>
+                <text term="volume" form="short" plural="true"/>
+              </group>
+            </if>
+          </choose>
+        </group>
+      </else-if>
+    </choose>
+  </macro>
+  <macro name="legal-cites">
+    <choose>
+      <if type="legal_case" match="any">
+        <group delimiter=" ">
+          <choose>
+            <if variable="container-title">
+              <text variable="volume"/>
+              <text variable="container-title"/>
+              <group delimiter=" ">
+                <!--change to label variable="section" as that becomes available -->
+                <text term="section" form="symbol"/>
+                <text variable="section"/>
+              </group>
+              <text variable="page"/>
+            </if>
+            <else>
+              <text variable="number" prefix="No. "/>
+            </else>
+          </choose>
+        </group>
+      </if>
+      <else-if type="bill legislation" match="any">
+        <group delimiter=", ">
+          <choose>
+            <if variable="number">
+              <!--There's a public law number-->
+              <text variable="number" prefix="Pub. L. No. "/>
+              <group delimiter=" ">
+                <!--change to label variable="section" as that becomes available -->
+                <text term="section" form="symbol"/>
+                <text variable="section"/>
+              </group>
+              <group delimiter=" ">
+                <text variable="volume"/>
+                <text variable="container-title"/>
+                <text variable="page-first"/>
+              </group>
+            </if>
+            <else>
+              <group delimiter=" ">
+                <text variable="volume"/>
+                <text variable="container-title"/>
+                <!--change to label variable="section" as that becomes available -->
+                <text term="section" form="symbol"/>
+                <text variable="section"/>
+              </group>
+            </else>
+          </choose>
+        </group>
+      </else-if>
+    </choose>
+  </macro>
+  <macro name="locators-join-with-space">
+    <choose>
+      <if type="article-journal" variable="volume" match="all">
+        <choose>
+          <if match="none" variable="collection-title">
+            <text macro="locators"/>
+          </if>
+        </choose>
+      </if>
+    </choose>
+  </macro>
+  <macro name="locators-join-with-comma">
+    <choose>
+      <if type="bill chapter legislation legal_case paper-conference" match="any">
+        <text macro="locators"/>
+      </if>
+      <else-if type="article-journal">
+        <choose>
+          <if variable="volume" match="none">
+            <text macro="locators"/>
+          </if>
+          <else-if match="any" variable="collection-title">
+            <text macro="locators"/>
+          </else-if>
+        </choose>
+      </else-if>
+    </choose>
+  </macro>
+  <macro name="locators-join-with-period">
+    <choose>
+      <if type="bill legislation legal_case article-journal chapter paper-conference" match="none">
+        <text macro="locators"/>
+      </if>
+    </choose>
+  </macro>
+  <macro name="locators">
+    <choose>
+      <if type="article-journal">
+        <group delimiter=", ">
+          <text macro="collection-title-journal"/>
+          <text variable="volume"/>
+          <group delimiter=" ">
+            <text term="issue" form="short"/>
+            <text variable="issue"/>
+          </group>
+        </group>
+      </if>
+      <else-if type="bill legislation legal_case" match="any">
+        <text macro="legal-cites"/>
+      </else-if>
+      <else-if type="book graphic motion_picture report song" match="any">
+        <group delimiter=". ">
+          <text macro="edition"/>
+          <group delimiter=" ">
+            <text term="volume" form="short" text-case="capitalize-first"/>
+            <number variable="volume" form="numeric"/>
+          </group>
+          <group delimiter=" ">
+            <number variable="number-of-volumes" form="numeric"/>
+            <text term="volume" form="short" plural="true"/>
+          </group>
+        </group>
+      </else-if>
+      <else-if type="chapter entry-dictionary entry-encyclopedia paper-conference" match="any">
+        <group delimiter=". ">
+          <text macro="edition"/>
+          <choose>
+            <if variable="page" match="none">
+              <group delimiter=" ">
+                <text term="volume" form="short" text-case="capitalize-first"/>
+                <number variable="volume" form="numeric"/>
+              </group>
+            </if>
+          </choose>
+        </group>
+      </else-if>
+    </choose>
+  </macro>
+  <macro name="locators-newspaper">
+    <choose>
+      <if type="article-newspaper">
+        <group delimiter=", ">
+          <group delimiter=" ">
+            <number variable="edition"/>
+            <text term="edition"/>
+          </group>
+          <group delimiter=" ">
+            <text term="section" form="short"/>
+            <text variable="section"/>
+          </group>
+        </group>
+      </if>
+    </choose>
+  </macro>
+  <macro name="event-note">
+    <text variable="event"/>
+  </macro>
+  <macro name="event">
+    <choose>
+      <if variable="title">
+        <group delimiter=" ">
+          <choose>
+            <if variable="genre">
+              <text term="presented at"/>
+            </if>
+            <else>
+              <text term="presented at" text-case="capitalize-first"/>
+            </else>
+          </choose>
+          <text variable="event"/>
+        </group>
+      </if>
+      <else>
+        <group delimiter=" ">
+          <text term="presented at" text-case="capitalize-first"/>
+          <text variable="event"/>
+        </group>
+      </else>
+    </choose>
+  </macro>
+  <macro name="originally-published">
+    <group delimiter=", ">
+      <group delimiter=": ">
+        <text variable="original-publisher-place"/>
+        <text variable="original-publisher"/>
+      </group>
+      <choose>
+        <if is-uncertain-date="original-date">
+          <date variable="original-date" form="numeric" date-parts="year" prefix="[" suffix="?]"/>
+        </if>
+        <else>
+          <date variable="original-date" form="numeric" date-parts="year"/>
+        </else>
+      </choose>
+    </group>
+  </macro>
+  <macro name="reprint-note">
+    <!--needs localization-->
+    <choose>
+      <if variable="original-date issued" match="all">
+        <choose>
+          <!--for whatever reason in notes, when we have both original and new publishers, reprint doesn't appear-->
+          <if variable="original-publisher original-publisher-place" match="none">
+            <text value="repr."/>
+          </if>
+        </choose>
+      </if>
+    </choose>
+  </macro>
+  <macro name="reprint">
+    <!--needs localization-->
+    <choose>
+      <if variable="original-date issued" match="all">
+        <text value="reprint" text-case="capitalize-first"/>
+      </if>
+    </choose>
+  </macro>
+  <macro name="publisher">
+    <choose>
+      <if type="thesis">
+        <text variable="publisher"/>
+      </if>
+      <else-if type="speech">
+        <text variable="event-place"/>
+      </else-if>
+      <else>
+        <group delimiter=": ">
+          <text variable="publisher-place"/>
+          <text variable="publisher"/>
+        </group>
+      </else>
+    </choose>
+  </macro>
+  <macro name="issued">
+    <choose>
+      <if variable="issued">
+        <choose>
+          <if type="legal_case">
+            <group delimiter=" ">
+              <text variable="authority"/>
+              <choose>
+                <if variable="container-title" match="any">
+                  <!--Only print year for cases published in reporters-->
+                  <date variable="issued" form="numeric" date-parts="year"/>
+                </if>
+                <else>
+                  <date variable="issued" form="text"/>
+                </else>
+              </choose>
+            </group>
+          </if>
+          <else-if type="book bill chapter  legislation motion_picture paper-conference song thesis" match="any">
+            <choose>
+              <if is-uncertain-date="issued">
+                <date variable="issued" form="numeric" date-parts="year" prefix="[" suffix="?]"/>
+              </if>
+              <else>
+                <date variable="issued" form="numeric" date-parts="year"/>
+              </else>
+            </choose>
+          </else-if>
+          <else-if type="patent">
+            <group delimiter=", ">
+              <group delimiter=" ">
+                <!--Needs Localization-->
+                <text value="filed"/>
+                <date variable="submitted" form="text"/>
+              </group>
+              <group delimiter=" ">
+                <choose>
+                  <if variable="issued submitted" match="all">
+                    <text term="and"/>
+                  </if>
+                </choose>
+                <!--Needs Localization-->
+                <text value="issued"/>
+                <date variable="issued" form="text"/>
+              </group>
+            </group>
+          </else-if>
+          <else>
+            <choose>
+              <if is-uncertain-date="issued">
+                <date variable="issued" form="text" prefix="[" suffix="?]"/>
+              </if>
+              <else>
+                <date variable="issued" form="text"/>
+              </else>
+            </choose>
+          </else>
+        </choose>
+      </if>
+      <else-if variable="status">
+        <text variable="status"/>
+      </else-if>
+      <else-if variable="accessed URL" match="all"/>
+      <else>
+        <text term="no date" form="short"/>
+      </else>
+    </choose>
+  </macro>
+  <macro name="point-locators-subsequent">
+    <choose>
+      <if type="legal_case" variable="locator" match="all">
+        <choose>
+          <if locator="page">
+            <group delimiter=":">
+              <text variable="volume"/>
+              <text variable="locator"/>
+            </group>
+          </if>
+          <else>
+            <group delimiter=" ">
+              <label variable="locator" form="short"/>
+              <text variable="locator"/>
+            </group>
+          </else>
+        </choose>
+      </if>
+      <else-if variable="locator">
+        <choose>
+          <if locator="page" match="none">
+            <group delimiter=" ">
+              <choose>
+                <if type="book graphic motion_picture report song" match="any">
+                  <choose>
+                    <if variable="volume">
+                      <group delimiter=", ">
+                        <group delimiter=" ">
+                          <text term="volume" form="short"/>
+                          <number variable="volume" form="numeric"/>
+                        </group>
+                        <label variable="locator" form="short"/>
+                      </group>
+                    </if>
+                    <else>
+                      <label variable="locator" form="short"/>
+                    </else>
+                  </choose>
+                </if>
+                <else>
+                  <label variable="locator" form="short"/>
+                </else>
+              </choose>
+              <text variable="locator"/>
+            </group>
+          </if>
+          <else-if type="book graphic motion_picture report song" match="any">
+            <group delimiter=":">
+              <number variable="volume" form="numeric"/>
+              <text variable="locator"/>
+            </group>
+          </else-if>
+          <else>
+            <text variable="locator"/>
+          </else>
+        </choose>
+      </else-if>
+    </choose>
+  </macro>
+  <macro name="point-locators-join-with-colon">
+    <choose>
+      <if type="article-journal">
+        <choose>
+          <if variable="locator page" match="any">
+            <choose>
+              <if variable="volume issue" match="any">
+                <text macro="point-locators"/>
+              </if>
+            </choose>
+          </if>
+        </choose>
+      </if>
+    </choose>
+  </macro>
+  <macro name="point-locators-join-with-comma">
+    <choose>
+      <if type="article-journal" match="none">
+        <text macro="point-locators"/>
+      </if>
+      <else-if variable="volume issue" match="none">
+        <text macro="point-locators"/>
+      </else-if>
+    </choose>
+  </macro>
+  <macro name="point-locators">
+    <choose>
+      <if variable="locator" match="none">
+        <choose>
+          <if type="article-journal chapter paper-conference" match="any">
+            <text variable="page"/>
+          </if>
+        </choose>
+      </if>
+      <else-if type="article-journal">
+        <group delimiter=" ">
+          <choose>
+            <if locator="page" match="none">
+              <label variable="locator" form="short" suffix=" "/>
+            </if>
+          </choose>
+          <text variable="locator"/>
+        </group>
+      </else-if>
+      <else-if type="legal_case"/>
+      <else>
+        <group delimiter=" ">
+          <choose>
+            <if locator="page" match="none">
+              <label variable="locator" form="short"/>
+            </if>
+          </choose>
+          <text variable="locator"/>
+        </group>
+      </else>
+    </choose>
+  </macro>
+  <macro name="locators-chapter">
+    <choose>
+      <if type="chapter entry-dictionary entry-encyclopedia paper-conference" match="any">
+        <choose>
+          <if variable="author container-author" match="all"/>
+          <else>
+            <choose>
+              <if variable="page">
+                <text variable="volume" suffix=":"/>
+                <text variable="page"/>
+              </if>
+            </choose>
+          </else>
+        </choose>
+      </if>
+    </choose>
+  </macro>
+  <macro name="locators-journal-join-with-colon">
+    <choose>
+      <if type="article-journal">
+        <choose>
+          <if variable="volume issue" match="any">
+            <text variable="page"/>
+          </if>
+        </choose>
+      </if>
+    </choose>
+  </macro>
+  <macro name="locators-journal-join-with-comma">
+    <choose>
+      <if type="article-journal">
+        <choose>
+          <if variable="volume issue" match="none">
+            <text variable="page"/>
+          </if>
+        </choose>
+      </if>
+    </choose>
+  </macro>
+  <macro name="archive-note">
+    <choose>
+      <if type="thesis">
+        <group delimiter=" ">
+          <text variable="archive"/>
+          <text variable="archive_location" prefix="(" suffix=")"/>
+        </group>
+      </if>
+      <else>
+        <group delimiter=", ">
+          <text variable="archive_location"/>
+          <text variable="archive"/>
+          <text variable="archive-place"/>
+        </group>
+      </else>
+    </choose>
+  </macro>
+  <macro name="archive">
+    <choose>
+      <if type="thesis">
+        <group delimiter=" ">
+          <text variable="archive"/>
+          <text variable="archive_location" prefix="(" suffix=")"/>
+        </group>
+      </if>
+      <else>
+        <group delimiter=". ">
+          <text variable="archive_location" text-case="capitalize-first"/>
+          <text variable="archive"/>
+          <text variable="archive-place"/>
+        </group>
+      </else>
+    </choose>
+  </macro>
+  <macro name="issue-note-join-with-space">
+    <choose>
+      <if type="article-journal bill legislation legal_case manuscript thesis" variable="publisher-place event-place publisher" match="any">
+        <!--Chicago doesn't use publisher/place for Newspapers and we want the date delimited by a comma-->
+        <choose>
+          <if type="article-newspaper" match="none">
+            <choose>
+              <if type="article-journal" match="none">
+                <text macro="issue-note"/>
+              </if>
+              <else-if variable="issue volume" match="any">
+                <text macro="issue-note"/>
+              </else-if>
+            </choose>
+          </if>
+        </choose>
+      </if>
+    </choose>
+  </macro>
+  <macro name="issue-note-join-with-comma">
+    <choose>
+      <if type="article-journal bill legislation legal_case manuscript speech thesis" variable="publisher-place publisher" match="none">
+        <text macro="issue-note"/>
+      </if>
+      <else-if type="article-newspaper">
+        <text macro="issue-note"/>
+      </else-if>
+      <else-if type="article-journal">
+        <choose>
+          <if variable="volume issue" match="none">
+            <text macro="issue-note"/>
+          </if>
+        </choose>
+      </else-if>
+    </choose>
+  </macro>
+  <macro name="issue-map-graphic">
+    <!--See CMoS 17th ed. 14.235 and 14.237-->
+    <choose>
+      <if type="graphic map" match="any">
+        <choose>
+          <if variable="publisher publisher-place" match="none">
+            <text macro="issued"/>
+          </if>
+        </choose>
+      </if>
+    </choose>
+  </macro>
+  <macro name="issue-note">
+    <choose>
+      <if type="bill legislation legal_case" match="any">
+        <text macro="issued" prefix="(" suffix=")"/>
+      </if>
+      <else-if type="article-journal">
+        <choose>
+          <if variable="volume issue" match="any">
+            <text macro="issued" prefix="(" suffix=")"/>
+          </if>
+          <else>
+            <text macro="issued"/>
+          </else>
+        </choose>
+      </else-if>
+      <else-if type="article-newspaper">
+        <text macro="issued"/>
+      </else-if>
+      <else-if type="manuscript thesis speech" match="any">
+        <group delimiter=", " prefix="(" suffix=")">
+          <choose>
+            <if variable="title" match="any">
+              <text variable="genre"/>
+            </if>
+          </choose>
+          <text variable="event"/>
+          <text variable="event-place"/>
+          <text variable="publisher"/>
+          <text macro="issued"/>
+        </group>
+      </else-if>
+      <else-if variable="publisher-place event-place publisher" match="any">
+        <group prefix="(" suffix=")" delimiter=", ">
+          <text macro="event-note"/>
+          <group delimiter="; ">
+            <text macro="originally-published"/>
+            <group delimiter=", ">
+              <text macro="reprint-note"/>
+              <text macro="publisher"/>
+            </group>
+          </group>
+          <text macro="issued"/>
+        </group>
+      </else-if>
+      <else>
+        <text macro="issued"/>
+      </else>
+    </choose>
+  </macro>
+  <macro name="issue-join-with-space">
+    <choose>
+      <if type="article-journal" match="any">
+        <choose>
+          <if variable="issue volume" match="any">
+            <text macro="issue"/>
+          </if>
+        </choose>
+      </if>
+      <else-if type="bill legislation legal_case" match="any">
+        <text macro="issue"/>
+      </else-if>
+    </choose>
+  </macro>
+  <macro name="issue-join-with-period">
+    <choose>
+      <if type="article-journal bill legislation legal_case" match="none">
+        <choose>
+          <if type="speech" variable="publisher publisher-place" match="any">
+            <text macro="issue"/>
+          </if>
+        </choose>
+      </if>
+    </choose>
+  </macro>
+  <macro name="issue-join-with-comma">
+    <choose>
+      <if type="bill legislation legal_case" match="none">
+        <choose>
+          <if type="article-journal" match="none">
+            <choose>
+              <if type="speech" variable="publisher publisher-place" match="none">
+                <text macro="issue"/>
+              </if>
+            </choose>
+          </if>
+          <else-if variable="volume issue" match="none">
+            <text macro="issue"/>
+          </else-if>
+        </choose>
+      </if>
+    </choose>
+  </macro>
+  <macro name="issue">
+    <choose>
+      <if type="bill legislation legal_case" match="any">
+        <text macro="issued" prefix="(" suffix=")"/>
+      </if>
+      <else-if type="article-journal">
+        <choose>
+          <if variable="issue volume" match="any">
+            <text macro="issued" prefix="(" suffix=")"/>
+          </if>
+          <else>
+            <text macro="issued"/>
+          </else>
+        </choose>
+      </else-if>
+      <else-if type="speech">
+        <group delimiter=", ">
+          <group delimiter=" ">
+            <choose>
+              <if variable="title" match="none"/>
+              <else>
+                <text variable="genre" text-case="capitalize-first"/>
+              </else>
+            </choose>
+            <text macro="event"/>
+          </group>
+          <text variable="event-place"/>
+          <text macro="issued"/>
+        </group>
+      </else-if>
+      <!--Chicago doesn't use publisher/place for Newspapers -->
+      <else-if type="article-newspaper">
+        <text macro="issued"/>
+      </else-if>
+      <else-if variable="publisher-place publisher" match="any">
+        <group delimiter=", ">
+          <choose>
+            <if type="thesis">
+              <text variable="genre" text-case="capitalize-first"/>
+            </if>
+          </choose>
+          <group delimiter=". ">
+            <text macro="originally-published"/>
+            <group delimiter=", ">
+              <text macro="reprint"/>
+              <text macro="publisher"/>
+            </group>
+          </group>
+          <text macro="issued"/>
+        </group>
+      </else-if>
+      <!--location for data for maps and artwork is different-->
+      <else-if type="graphic map" match="none">
+        <text macro="issued"/>
+      </else-if>
+    </choose>
+  </macro>
+  <macro name="access-note">
+    <group delimiter=", ">
+      <choose>
+        <if type="graphic report" match="any">
+          <text macro="archive-note"/>
+        </if>
+        <else-if type="article-journal bill book chapter legal_case legislation motion_picture paper-conference" match="none">
+          <text macro="archive-note"/>
+        </else-if>
+      </choose>
+      <choose>
+        <if variable="issued" match="none">
+          <group delimiter=" ">
+            <text term="accessed"/>
+            <date variable="accessed" form="text"/>
+          </group>
+        </if>
+      </choose>
+      <choose>
+        <if type="legal_case" match="none">
+          <choose>
+            <if variable="DOI">
+              <text variable="DOI" prefix="https://doi.org/"/>
+            </if>
+            <else>
+              <text variable="URL"/>
+            </else>
+          </choose>
+        </if>
+      </choose>
+    </group>
+  </macro>
+  <macro name="access">
+    <group delimiter=". ">
+      <choose>
+        <if type="graphic report" match="any">
+          <text macro="archive"/>
+        </if>
+        <else-if type="article-journal bill book chapter legal_case legislation motion_picture paper-conference" match="none">
+          <text macro="archive"/>
+        </else-if>
+      </choose>
+      <choose>
+        <if variable="issued" match="none">
+          <group delimiter=" ">
+            <text term="accessed" text-case="capitalize-first"/>
+            <date variable="accessed" form="text"/>
+          </group>
+        </if>
+      </choose>
+      <choose>
+        <if type="legal_case" match="none">
+          <choose>
+            <if variable="DOI">
+              <text variable="DOI" prefix="https://doi.org/"/>
+            </if>
+            <else>
+              <text variable="URL"/>
+            </else>
+          </choose>
+        </if>
+      </choose>
+    </group>
+  </macro>
+  <macro name="case-locator-subsequent">
+    <choose>
+      <if type="legal_case">
+        <group delimiter=" ">
+          <text variable="volume"/>
+          <text variable="container-title"/>
+        </group>
+      </if>
+    </choose>
+  </macro>
+  <macro name="case-pinpoint-subsequent">
+    <choose>
+      <if type="legal_case">
+        <group delimiter=" ">
+          <choose>
+            <if locator="page">
+              <text term="at"/>
+              <text variable="locator"/>
+            </if>
+            <else>
+              <label variable="locator"/>
+              <text variable="locator"/>
+            </else>
+          </choose>
+        </group>
+      </if>
+    </choose>
+  </macro>
+  <citation et-al-min="4" et-al-use-first="1" disambiguate-add-names="true">
+    <layout suffix="." delimiter="; ">
+      <choose>
+        <if position="ibid ibid-with-locator" match="any">
+          <group delimiter=", ">
+            <text macro="contributors-short"/>
+            <group delimiter=" ">
+              <group delimiter=", ">
+                <choose>
+                  <if variable="author editor translator" match="none">
+                    <text macro="title-short"/>
+                  </if>
+                </choose>
+                <text macro="case-locator-subsequent"/>
+              </group>
+              <text macro="case-pinpoint-subsequent"/>
+            </group>
+            <choose>
+              <if match="none" type="legal_case">
+                <text macro="point-locators-subsequent"/>
+              </if>
+            </choose>
+          </group>
+        </if>
+        <else>
+          <group delimiter=", ">
+            <text macro="contributors-short"/>
+            <group delimiter=" ">
+              <group delimiter=", ">
+                <text macro="title-short"/>
+                <!--if title & author are the same: -->
+                <text macro="date-disambiguate"/>
+                <text macro="case-locator-subsequent"/>
+              </group>
+              <text macro="case-pinpoint-subsequent"/>
+            </group>
+            <choose>
+              <if match="none" type="legal_case">
+                <text macro="point-locators-subsequent"/>
+              </if>
+            </choose>
+          </group>
+        </else>
+      </choose>
+    </layout>
+  </citation>
+  <bibliography hanging-indent="true" et-al-min="11" et-al-use-first="7" subsequent-author-substitute="———" entry-spacing="0">
+    <sort>
+      <key macro="contributors-sort"/>
+      <key variable="title"/>
+      <key variable="genre"/>
+      <key variable="issued"/>
+    </sort>
+    <layout suffix=".">
+      <group delimiter=". ">
+        <group delimiter=": ">
+          <group delimiter=", ">
+            <group delimiter=" ">
+              <group delimiter=". ">
+                <group delimiter=" ">
+                  <group delimiter=", ">
+                    <group delimiter=". ">
+                      <group delimiter=". ">
+                        <text macro="contributors"/>
+                        <text macro="title"/>
+                        <text macro="issue-map-graphic"/>
+                      </group>
+                      <text macro="description"/>
+                      <text macro="secondary-contributors"/>
+                      <group delimiter=", ">
+                        <text macro="container-title"/>
+                        <text macro="container-contributors"/>
+                      </group>
+                      <text macro="locators-join-with-period"/>
+                    </group>
+                    <text macro="locators-join-with-comma"/>
+                    <text macro="locators-chapter"/>
+                  </group>
+                  <text macro="locators-join-with-space"/>
+                </group>
+                <text macro="collection-title"/>
+                <text macro="issue-join-with-period"/>
+              </group>
+              <text macro="issue-join-with-space"/>
+            </group>
+            <text macro="issue-join-with-comma"/>
+            <text macro="locators-journal-join-with-comma"/>
+            <text macro="locators-newspaper"/>
+          </group>
+          <text macro="locators-journal-join-with-colon"/>
+        </group>
+        <text macro="access"/>
+      </group>
+    </layout>
+  </bibliography>
+</style>

Added: trunk/Master/texmf-dist/tex/latex/citation-style-language/styles/elsevier-harvard.csl
===================================================================
--- trunk/Master/texmf-dist/tex/latex/citation-style-language/styles/elsevier-harvard.csl	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/citation-style-language/styles/elsevier-harvard.csl	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,239 @@
+<?xml version="1.0" encoding="utf-8"?>
+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="never" default-locale="en-US">
+  <info>
+    <title>Elsevier - Harvard (with titles)</title>
+    <id>http://www.zotero.org/styles/elsevier-harvard</id>
+    <link href="http://www.zotero.org/styles/elsevier-harvard" rel="self"/>
+    <link href="http://www.zotero.org/styles/ecology-letters" rel="template"/>
+    <link href="http://www.elsevier.com/journals/biological-conservation/0006-3207/guide-for-authors#68000" rel="documentation"/>
+    <author>
+      <name>David Kaplan</name>
+      <email>david.kaplan at ird.fr</email>
+    </author>
+    <contributor>
+      <name>Simon Kornblith</name>
+      <email>simon at simonster.com</email>
+    </contributor>
+    <contributor>
+      <name>Bruce D'Arcus</name>
+    </contributor>
+    <contributor>
+      <name>Curtis M. Humphrey</name>
+    </contributor>
+    <contributor>
+      <name>Richard Karnesky</name>
+      <email>karnesky+zotero at gmail.com</email>
+      <uri>http://arc.nucapt.northwestern.edu/Richard_Karnesky</uri>
+    </contributor>
+    <contributor>
+      <name>Sebastian Karcher</name>
+    </contributor>
+    <category citation-format="author-date"/>
+    <category field="biology"/>
+    <category field="generic-base"/>
+    <updated>2014-03-04T00:09:00+00:00</updated>
+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
+  </info>
+  <macro name="container">
+    <choose>
+      <if type="chapter paper-conference" match="any">
+        <text term="in" prefix=", " suffix=": "/>
+        <names variable="editor translator" delimiter=", " suffix=", ">
+          <name name-as-sort-order="all" sort-separator=", " initialize-with="." delimiter=", " delimiter-precedes-last="always"/>
+          <label form="short" text-case="capitalize-first" prefix=" (" suffix=")"/>
+        </names>
+        <group delimiter=", ">
+          <text variable="container-title" text-case="title"/>
+          <text variable="collection-title" text-case="title"/>
+        </group>
+      </if>
+      <else-if type="bill book graphic legal_case legislation motion_picture report song" match="any">
+        <group prefix=", " delimiter=", ">
+          <text variable="container-title"/>
+          <text variable="collection-title"/>
+        </group>
+      </else-if>
+      <else>
+        <group prefix=". " delimiter=", ">
+          <text variable="container-title" form="short"/>
+          <text variable="collection-title"/>
+        </group>
+      </else>
+    </choose>
+  </macro>
+  <macro name="author">
+    <names variable="author">
+      <name name-as-sort-order="all" sort-separator=", " initialize-with="." delimiter=", " delimiter-precedes-last="always"/>
+      <label form="short" prefix=" (" suffix=")" text-case="capitalize-first"/>
+      <substitute>
+        <names variable="editor"/>
+        <names variable="translator"/>
+        <text macro="title"/>
+      </substitute>
+    </names>
+  </macro>
+  <macro name="author-short">
+    <names variable="author">
+      <name form="short" and="text" delimiter=", " initialize-with=". "/>
+      <substitute>
+        <names variable="editor"/>
+        <names variable="translator"/>
+        <choose>
+          <if type="bill book graphic legal_case legislation motion_picture report song" match="any">
+            <text variable="title" form="short" font-style="italic"/>
+          </if>
+          <else>
+            <text variable="title" form="short" quotes="true"/>
+          </else>
+        </choose>
+      </substitute>
+    </names>
+  </macro>
+  <macro name="access">
+    <choose>
+      <if variable="DOI">
+        <text variable="DOI" prefix="https://doi.org/"/>
+      </if>
+      <else-if type="webpage post-weblog" match="any">
+        <group delimiter=" ">
+          <text value="URL"/>
+          <text variable="URL"/>
+          <group prefix="(" suffix=").">
+            <text term="accessed" suffix=" "/>
+            <date variable="accessed">
+              <date-part name="month" form="numeric" suffix="."/>
+              <date-part name="day" suffix="."/>
+              <date-part name="year" form="short"/>
+            </date>
+          </group>
+        </group>
+      </else-if>
+    </choose>
+  </macro>
+  <macro name="title">
+    <choose>
+      <if type="report thesis" match="any">
+        <text variable="title"/>
+        <group prefix=" (" suffix=")" delimiter=" ">
+          <text variable="genre"/>
+          <text variable="number" prefix="No. "/>
+        </group>
+      </if>
+      <else-if type="bill book graphic legal_case legislation motion_picture report song speech" match="any">
+        <text variable="title"/>
+        <text macro="edition" prefix=", "/>
+      </else-if>
+      <else-if type="webpage">
+        <text variable="title"/>
+        <text value="WWW Document" prefix=" [" suffix="]"/>
+      </else-if>
+      <else>
+        <text variable="title"/>
+      </else>
+    </choose>
+  </macro>
+  <macro name="publisher">
+    <group delimiter=", ">
+      <text variable="publisher"/>
+      <text variable="publisher-place"/>
+    </group>
+  </macro>
+  <macro name="event">
+    <choose>
+      <if variable="event">
+        <text term="presented at" text-case="capitalize-first" suffix=" "/>
+        <text variable="event"/>
+      </if>
+    </choose>
+  </macro>
+  <macro name="issued">
+    <choose>
+      <if variable="issued">
+        <date variable="issued">
+          <date-part name="year"/>
+        </date>
+      </if>
+      <else>
+        <text term="no date" form="short"/>
+      </else>
+    </choose>
+  </macro>
+  <macro name="edition">
+    <group delimiter=" ">
+      <choose>
+        <if is-numeric="edition">
+          <number variable="edition" form="ordinal"/>
+        </if>
+        <else>
+          <text variable="edition" suffix="."/>
+        </else>
+      </choose>
+      <text value="ed"/>
+    </group>
+  </macro>
+  <macro name="locators">
+    <choose>
+      <if type="article-journal article-magazine article-newspaper" match="any">
+        <group prefix=" " delimiter=", ">
+          <group>
+            <text variable="volume"/>
+          </group>
+          <text variable="page"/>
+        </group>
+      </if>
+      <else-if type="bill book graphic legal_case legislation motion_picture report song thesis" match="any">
+        <group delimiter=", " prefix=". ">
+          <text macro="event"/>
+          <text macro="publisher"/>
+        </group>
+      </else-if>
+      <else-if type="chapter paper-conference" match="any">
+        <group delimiter=", " prefix=". ">
+          <text macro="event"/>
+          <text macro="publisher"/>
+          <group>
+            <label variable="page" form="short" suffix=" "/>
+            <text variable="page"/>
+          </group>
+        </group>
+      </else-if>
+      <else-if type="patent">
+        <text variable="number" prefix=". "/>
+      </else-if>
+    </choose>
+  </macro>
+  <citation et-al-min="3" et-al-use-first="1" disambiguate-add-givenname="true" disambiguate-add-year-suffix="true" collapse="year" cite-group-delimiter=", ">
+    <sort>
+      <key macro="author"/>
+      <key macro="issued" sort="descending"/>
+    </sort>
+    <layout prefix="(" suffix=")" delimiter="; ">
+      <group delimiter=", ">
+        <text macro="author-short"/>
+        <text macro="issued"/>
+        <group delimiter=" ">
+          <label variable="locator" form="short"/>
+          <text variable="locator"/>
+        </group>
+      </group>
+    </layout>
+  </citation>
+  <bibliography hanging-indent="true" entry-spacing="0" line-spacing="1">
+    <sort>
+      <key macro="author"/>
+      <key macro="issued" sort="descending"/>
+    </sort>
+    <layout>
+      <group suffix=".">
+        <text macro="author" suffix=","/>
+        <text macro="issued" prefix=" "/>
+        <group prefix=". ">
+          <text macro="title"/>
+          <text macro="container"/>
+          <text macro="locators"/>
+        </group>
+      </group>
+      <text macro="access" prefix=". "/>
+    </layout>
+  </bibliography>
+</style>

Added: trunk/Master/texmf-dist/tex/latex/citation-style-language/styles/harvard-cite-them-right.csl
===================================================================
--- trunk/Master/texmf-dist/tex/latex/citation-style-language/styles/harvard-cite-them-right.csl	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/citation-style-language/styles/harvard-cite-them-right.csl	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,318 @@
+<?xml version="1.0" encoding="utf-8"?>
+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="sort-only" default-locale="en-GB">
+  <info>
+    <title>Cite Them Right 11th edition - Harvard</title>
+    <id>http://www.zotero.org/styles/harvard-cite-them-right</id>
+    <link href="http://www.zotero.org/styles/harvard-cite-them-right" rel="self"/>
+    <link href="http://www.zotero.org/styles/harvard-cite-them-right-10th-edition" rel="template"/>
+    <link href="http://www.citethemrightonline.com/" rel="documentation"/>
+    <author>
+      <name>Patrick O'Brien</name>
+    </author>
+    <category citation-format="author-date"/>
+    <category field="generic-base"/>
+    <summary>Harvard according to Cite Them Right, 11th edition.</summary>
+    <updated>2021-09-01T07:43:59+00:00</updated>
+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
+  </info>
+  <locale xml:lang="en-GB">
+    <terms>
+      <term name="editor" form="short">
+        <single>ed.</single>
+        <multiple>eds</multiple>
+      </term>
+      <term name="editortranslator" form="verb">edited and translated by</term>
+      <term name="edition" form="short">edn.</term>
+    </terms>
+  </locale>
+  <macro name="editor">
+    <choose>
+      <if type="chapter paper-conference" match="any">
+        <names variable="container-author" delimiter=", " suffix=", ">
+          <name and="text" initialize-with=". " delimiter=", " sort-separator=", " name-as-sort-order="all"/>
+        </names>
+        <choose>
+          <if variable="container-author" match="none">
+            <names variable="editor translator" delimiter=", ">
+              <name and="text" initialize-with="." name-as-sort-order="all"/>
+              <label form="short" prefix=" (" suffix=")"/>
+            </names>
+          </if>
+        </choose>
+      </if>
+    </choose>
+  </macro>
+  <macro name="secondary-contributors">
+    <choose>
+      <if type="chapter paper-conference" match="none">
+        <names variable="editor translator" delimiter=". ">
+          <label form="verb" text-case="capitalize-first" suffix=" "/>
+          <name and="text" initialize-with="."/>
+        </names>
+      </if>
+      <else-if variable="container-author" match="any">
+        <names variable="editor translator" delimiter=". ">
+          <label form="verb" text-case="capitalize-first" suffix=" "/>
+          <name and="text" initialize-with=". " delimiter=", "/>
+        </names>
+      </else-if>
+    </choose>
+  </macro>
+  <macro name="author">
+    <names variable="author">
+      <name and="text" delimiter-precedes-last="never" initialize-with="." name-as-sort-order="all"/>
+      <label form="short" prefix=" (" suffix=")"/>
+      <et-al font-style="italic"/>
+      <substitute>
+        <names variable="editor"/>
+        <names variable="translator"/>
+        <choose>
+          <if type="article-newspaper article-magazine" match="any">
+            <text variable="container-title" text-case="title" font-style="italic"/>
+          </if>
+          <else>
+            <text macro="title"/>
+          </else>
+        </choose>
+      </substitute>
+    </names>
+  </macro>
+  <macro name="author-short">
+    <names variable="author">
+      <name form="short" and="text" delimiter=", " delimiter-precedes-last="never" initialize-with=". "/>
+      <et-al font-style="italic"/>
+      <substitute>
+        <names variable="editor"/>
+        <names variable="translator"/>
+        <choose>
+          <if type="article-newspaper article-magazine" match="any">
+            <text variable="container-title" text-case="title" font-style="italic"/>
+          </if>
+          <else>
+            <text macro="title"/>
+          </else>
+        </choose>
+      </substitute>
+    </names>
+  </macro>
+  <macro name="access">
+    <choose>
+      <if variable="DOI">
+        <text variable="DOI" prefix="doi:"/>
+      </if>
+      <else-if variable="URL">
+        <text term="available at" suffix=": " text-case="capitalize-first"/>
+        <text variable="URL"/>
+        <group prefix=" (" delimiter=": " suffix=")">
+          <text term="accessed" text-case="capitalize-first"/>
+          <date form="text" variable="accessed">
+            <date-part name="day"/>
+            <date-part name="month"/>
+            <date-part name="year"/>
+          </date>
+        </group>
+      </else-if>
+    </choose>
+  </macro>
+  <macro name="number-volumes">
+    <choose>
+      <if variable="volume" match="none">
+        <group delimiter=" " prefix="(" suffix=")">
+          <text variable="number-of-volumes"/>
+          <label variable="volume" form="short" strip-periods="true"/>
+        </group>
+      </if>
+    </choose>
+  </macro>
+  <macro name="title">
+    <choose>
+      <if type="bill book legal_case legislation motion_picture report song thesis webpage graphic" match="any">
+        <group delimiter=". ">
+          <group delimiter=" ">
+            <group delimiter=" ">
+              <text variable="title" font-style="italic"/>
+              <text variable="medium" prefix="[" suffix="]"/>
+            </group>
+            <text macro="number-volumes"/>
+          </group>
+          <text macro="edition"/>
+        </group>
+      </if>
+      <else>
+        <text variable="title" form="long" quotes="true"/>
+      </else>
+    </choose>
+  </macro>
+  <macro name="publisher">
+    <choose>
+      <if type="thesis">
+        <group delimiter=". ">
+          <text variable="genre"/>
+          <text variable="publisher"/>
+        </group>
+      </if>
+      <else-if type="report">
+        <group delimiter=". ">
+          <group delimiter=" ">
+            <text variable="genre"/>
+            <text variable="number"/>
+          </group>
+          <group delimiter=": ">
+            <text variable="publisher-place"/>
+            <text variable="publisher"/>
+          </group>
+        </group>
+      </else-if>
+      <else-if type="article-journal article-newspaper article-magazine" match="none">
+        <group delimiter=" ">
+          <group delimiter=", ">
+            <choose>
+              <if type="speech" variable="event" match="any">
+                <text variable="event" font-style="italic"/>
+              </if>
+            </choose>
+            <group delimiter=": ">
+              <text variable="publisher-place"/>
+              <text variable="publisher"/>
+            </group>
+          </group>
+          <group prefix="(" suffix=")" delimiter=", ">
+            <text variable="collection-title"/>
+            <text variable="collection-number"/>
+          </group>
+        </group>
+      </else-if>
+    </choose>
+  </macro>
+  <macro name="year-date">
+    <choose>
+      <if variable="issued">
+        <date variable="issued">
+          <date-part name="year"/>
+        </date>
+        <text variable="year-suffix"/>
+      </if>
+      <else>
+        <text term="no date"/>
+        <text variable="year-suffix" prefix=" "/>
+      </else>
+    </choose>
+  </macro>
+  <macro name="locator">
+    <choose>
+      <if type="article-journal">
+        <text variable="volume"/>
+        <text variable="issue" prefix="(" suffix=")"/>
+      </if>
+    </choose>
+  </macro>
+  <macro name="published-date">
+    <choose>
+      <if type="article-newspaper article-magazine post-weblog speech" match="any">
+        <date variable="issued">
+          <date-part name="day" suffix=" "/>
+          <date-part name="month" form="long"/>
+        </date>
+      </if>
+    </choose>
+  </macro>
+  <macro name="pages">
+    <choose>
+      <if type="chapter paper-conference article-journal article article-magazine article-newspaper book review review-book report" match="any">
+        <group delimiter=" ">
+          <label variable="page" form="short"/>
+          <text variable="page"/>
+        </group>
+      </if>
+    </choose>
+  </macro>
+  <macro name="container-title">
+    <choose>
+      <if variable="container-title">
+        <group delimiter=". ">
+          <group delimiter=" ">
+            <text variable="container-title" font-style="italic"/>
+            <choose>
+              <if type="article article-journal" match="any">
+                <choose>
+                  <if match="none" variable="page volume">
+                    <text value="Preprint" prefix="[" suffix="]"/>
+                  </if>
+                </choose>
+              </if>
+            </choose>
+          </group>
+          <text macro="edition"/>
+        </group>
+      </if>
+    </choose>
+  </macro>
+  <macro name="edition">
+    <choose>
+      <if is-numeric="edition">
+        <group delimiter=" ">
+          <number variable="edition" form="ordinal"/>
+          <text term="edition" form="short" strip-periods="true"/>
+        </group>
+      </if>
+      <else>
+        <text variable="edition"/>
+      </else>
+    </choose>
+  </macro>
+  <macro name="container-prefix">
+    <choose>
+      <if type="chapter paper-conference" match="any">
+        <text term="in"/>
+      </if>
+    </choose>
+  </macro>
+  <citation et-al-min="4" et-al-use-first="1" disambiguate-add-year-suffix="true" disambiguate-add-names="true" disambiguate-add-givenname="true" collapse="year">
+    <sort>
+      <key macro="year-date"/>
+    </sort>
+    <layout prefix="(" suffix=")" delimiter="; ">
+      <group delimiter=", ">
+        <group delimiter=", ">
+          <text macro="author-short"/>
+          <text macro="year-date"/>
+        </group>
+        <group>
+          <label variable="locator" form="short" suffix=" "/>
+          <text variable="locator"/>
+        </group>
+      </group>
+    </layout>
+  </citation>
+  <bibliography and="text" et-al-min="4" et-al-use-first="1">
+    <sort>
+      <key macro="author"/>
+      <key macro="year-date"/>
+      <key variable="title"/>
+    </sort>
+    <layout suffix=".">
+      <group delimiter=". ">
+        <group delimiter=" ">
+          <text macro="author"/>
+          <text macro="year-date" prefix="(" suffix=")"/>
+          <group delimiter=", ">
+            <text macro="title"/>
+            <group delimiter=" ">
+              <text macro="container-prefix"/>
+              <text macro="editor"/>
+              <text macro="container-title"/>
+            </group>
+          </group>
+        </group>
+        <text macro="secondary-contributors"/>
+        <text macro="publisher"/>
+      </group>
+      <group delimiter=", " prefix=", ">
+        <text macro="locator"/>
+        <text macro="published-date"/>
+        <text macro="pages"/>
+      </group>
+      <text macro="access" prefix=". "/>
+    </layout>
+  </bibliography>
+</style>

Added: trunk/Master/texmf-dist/tex/latex/citation-style-language/styles/ieee.csl
===================================================================
--- trunk/Master/texmf-dist/tex/latex/citation-style-language/styles/ieee.csl	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/citation-style-language/styles/ieee.csl	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,457 @@
+<?xml version="1.0" encoding="utf-8"?>
+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="sort-only">
+  <info>
+    <title>IEEE</title>
+    <id>http://www.zotero.org/styles/ieee</id>
+    <link href="http://www.zotero.org/styles/ieee" rel="self"/>
+    <!-- <link href="https://ieeeauthorcenter.ieee.org/wp-content/uploads/IEEE-Reference-Guide.pdf" rel="documentation"/> - 2018 guidelines -->
+    <link href="http://journals.ieeeauthorcenter.ieee.org/wp-content/uploads/sites/7/IEEE_Reference_Guide.pdf" rel="documentation"/>
+    <link href="https://journals.ieeeauthorcenter.ieee.org/your-role-in-article-production/ieee-editorial-style-manual/" rel="documentation"/>
+    <author>
+      <name>Michael Berkowitz</name>
+      <email>mberkowi at gmu.edu</email>
+    </author>
+    <contributor>
+      <name>Julian Onions</name>
+      <email>julian.onions at gmail.com</email>
+    </contributor>
+    <contributor>
+      <name>Rintze Zelle</name>
+      <uri>http://twitter.com/rintzezelle</uri>
+    </contributor>
+    <contributor>
+      <name>Stephen Frank</name>
+      <uri>http://www.zotero.org/sfrank</uri>
+    </contributor>
+    <contributor>
+      <name>Sebastian Karcher</name>
+    </contributor>
+    <contributor>
+      <name>Giuseppe Silano</name>
+      <email>g.silano89 at gmail.com</email>
+      <uri>http://giuseppesilano.net</uri>
+    </contributor>
+    <contributor>
+      <name>Patrick O'Brien</name>
+    </contributor>
+    <contributor>
+      <name>Brenton M. Wiernik</name>
+    </contributor>
+    <contributor>
+      <name>Oliver Couch</name>
+      <email>oliver.couch at gmail.com</email>
+    </contributor>
+    <category citation-format="numeric"/>
+    <category field="engineering"/>
+    <category field="generic-base"/>
+    <summary>IEEE style as per the 2021 guidelines, V 01.29.2021.</summary>
+    <updated>2021-05-07T00:52:46+10:00</updated>
+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
+  </info>
+  <locale xml:lang="en">
+    <terms>
+      <term name="chapter" form="short">ch.</term>
+      <term name="presented at">presented at the</term>
+      <term name="available at">available</term>
+    </terms>
+  </locale>
+  <!-- Macros -->
+  <macro name="status">
+    <choose>
+      <if variable="page issue volume" match="none">
+        <text variable="status" text-case="capitalize-first" suffix="" font-weight="bold"/>
+      </if>
+    </choose>
+  </macro>
+  <macro name="edition">
+    <choose>
+      <if type="bill book chapter graphic legal_case legislation motion_picture paper-conference report song" match="any">
+        <choose>
+          <if is-numeric="edition">
+            <group delimiter=" ">
+              <number variable="edition" form="ordinal"/>
+              <text term="edition" form="short"/>
+            </group>
+          </if>
+          <else>
+            <text variable="edition" text-case="capitalize-first" suffix="."/>
+          </else>
+        </choose>
+      </if>
+    </choose>
+  </macro>
+  <macro name="issued">
+    <choose>
+      <if type="article-journal report" match="any">
+        <date variable="issued">
+          <date-part name="month" form="short" suffix=" "/>
+          <date-part name="year" form="long"/>
+        </date>
+      </if>
+      <else-if type="bill book chapter graphic legal_case legislation song thesis" match="any">
+        <date variable="issued">
+          <date-part name="year" form="long"/>
+        </date>
+      </else-if>
+      <else-if type="paper-conference" match="any">
+        <date variable="issued">
+          <date-part name="month" form="short"/>
+          <date-part name="year" prefix=" "/>
+        </date>
+      </else-if>
+      <else-if type="motion_picture" match="any">
+        <date variable="issued" prefix="(" suffix=")">
+          <date-part name="month" form="short" suffix=" "/>
+          <date-part name="day" form="numeric-leading-zeros" suffix=", "/>
+          <date-part name="year"/>
+        </date>
+      </else-if>
+      <else>
+        <date variable="issued">
+          <date-part name="month" form="short" suffix=" "/>
+          <date-part name="day" form="numeric-leading-zeros" suffix=", "/>
+          <date-part name="year"/>
+        </date>
+      </else>
+    </choose>
+  </macro>
+  <macro name="author">
+    <names variable="author">
+      <name and="text" et-al-min="7" et-al-use-first="1" initialize-with=". "/>
+      <label form="short" prefix=", " text-case="capitalize-first"/>
+      <et-al font-style="italic"/>
+      <substitute>
+        <names variable="editor"/>
+        <names variable="translator"/>
+      </substitute>
+    </names>
+  </macro>
+  <macro name="editor">
+    <names variable="editor">
+      <name initialize-with=". " delimiter=", " and="text"/>
+      <label form="short" prefix=", " text-case="capitalize-first"/>
+    </names>
+  </macro>
+  <macro name="locators">
+    <group delimiter=", ">
+      <text macro="edition"/>
+      <group delimiter=" ">
+        <text term="volume" form="short"/>
+        <number variable="volume" form="numeric"/>
+      </group>
+      <group delimiter=" ">
+        <number variable="number-of-volumes" form="numeric"/>
+        <text term="volume" form="short" plural="true"/>
+      </group>
+      <group delimiter=" ">
+        <text term="issue" form="short"/>
+        <number variable="issue" form="numeric"/>
+      </group>
+    </group>
+  </macro>
+  <macro name="title">
+    <choose>
+      <if type="bill book graphic legal_case legislation motion_picture song" match="any">
+        <text variable="title" font-style="italic"/>
+      </if>
+      <else>
+        <text variable="title" quotes="true"/>
+      </else>
+    </choose>
+  </macro>
+  <macro name="publisher">
+    <choose>
+      <if type="bill book chapter graphic legal_case legislation motion_picture paper-conference song" match="any">
+        <group delimiter=": ">
+          <text variable="publisher-place"/>
+          <text variable="publisher"/>
+        </group>
+      </if>
+      <else>
+        <group delimiter=", ">
+          <text variable="publisher"/>
+          <text variable="publisher-place"/>
+        </group>
+      </else>
+    </choose>
+  </macro>
+  <macro name="event">
+    <choose>
+      <if type="paper-conference speech" match="any">
+        <choose>
+          <!-- Published Conference Paper -->
+          <if variable="collection-editor editor editorial-director issue page volume" match="any">
+            <group delimiter=", ">
+              <group delimiter=" ">
+                <text term="in"/>
+                <text variable="container-title" font-style="italic"/>
+              </group>
+              <text variable="event-place"/>
+            </group>
+          </if>
+          <!-- Unpublished Conference Paper -->
+          <else>
+            <group delimiter=", ">
+              <group delimiter=" ">
+                <text term="presented at"/>
+                <text variable="event"/>
+              </group>
+              <text variable="event-place"/>
+            </group>
+          </else>
+        </choose>
+      </if>
+    </choose>
+  </macro>
+  <macro name="access">
+    <choose>
+      <if type="webpage post post-weblog" match="any">
+        <!-- https://url.com/ (accessed Mon. DD, YYYY). -->
+        <choose>
+          <if variable="URL">
+            <group prefix=" " delimiter=" ">
+              <text variable="URL"/>
+              <group delimiter=" " prefix="(" suffix=").">
+                <text term="accessed"/>
+                <date variable="accessed">
+                  <date-part name="month" form="short"/>
+                  <date-part name="day" form="numeric-leading-zeros" prefix=" " suffix=", "/>
+                  <date-part name="year" form="long"/>
+                </date>
+              </group>
+            </group>
+          </if>
+        </choose>
+      </if>
+      <else-if match="any" variable="DOI">
+        <!-- doi: 10.1000/xyz123. -->
+        <text variable="DOI" prefix=" doi: " suffix="."/>
+      </else-if>
+      <else-if variable="URL">
+        <!-- Accessed: Mon. DD, YYYY. [Medium]. Available: https://URL.com/ -->
+        <group delimiter=". " prefix=" " suffix=". ">
+          <!-- Accessed: Mon. DD, YYYY. -->
+          <group delimiter=": ">
+            <text term="accessed" text-case="capitalize-first"/>
+            <date variable="accessed">
+              <date-part name="month" form="short" suffix=" "/>
+              <date-part name="day" form="numeric-leading-zeros" suffix=", "/>
+              <date-part name="year"/>
+            </date>
+          </group>
+          <!-- [Online Video]. -->
+          <group prefix="[" suffix="]" delimiter=" ">
+            <text term="online" text-case="capitalize-first"/>
+            <choose>
+              <if type="motion_picture">
+                <text value="video" text-case="capitalize-first"/>
+              </if>
+            </choose>
+          </group>
+        </group>
+        <!-- Available: https://URL.com/ -->
+        <group delimiter=": ">
+          <text term="available at" text-case="capitalize-first"/>
+          <text variable="URL"/>
+        </group>
+      </else-if>
+    </choose>
+  </macro>
+  <macro name="page">
+    <choose>
+      <if type="article-journal" variable="number" match="all">
+        <group delimiter=" ">
+          <text value="Art."/>
+          <text term="issue" form="short"/>
+          <text variable="number"/>
+        </group>
+      </if>
+      <else>
+        <group delimiter=" ">
+          <label variable="page" form="short"/>
+          <text variable="page"/>
+        </group>
+      </else>
+    </choose>
+  </macro>
+  <macro name="citation-locator">
+    <group delimiter=" ">
+      <choose>
+        <if locator="page">
+          <label variable="locator" form="short"/>
+        </if>
+        <else>
+          <label variable="locator" form="short" text-case="capitalize-first"/>
+        </else>
+      </choose>
+      <text variable="locator"/>
+    </group>
+  </macro>
+  <macro name="geographic-location">
+    <group delimiter=", " suffix=".">
+      <choose>
+        <if variable="publisher-place">
+          <text variable="publisher-place" text-case="title"/>
+        </if>
+        <else-if variable="event-place">
+          <text variable="event-place" text-case="title"/>
+        </else-if>
+      </choose>
+    </group>
+  </macro>
+  <!-- Citation -->
+  <citation collapse="citation-number">
+    <sort>
+      <key variable="citation-number"/>
+    </sort>
+    <layout delimiter=", ">
+      <group prefix="[" suffix="]" delimiter=", ">
+        <text variable="citation-number"/>
+        <text macro="citation-locator"/>
+      </group>
+    </layout>
+  </citation>
+  <!-- Bibliography -->
+  <bibliography entry-spacing="0" second-field-align="flush">
+    <layout>
+      <!-- Citation Number -->
+      <text variable="citation-number" prefix="[" suffix="]"/>
+      <!-- Author(s) -->
+      <text macro="author" suffix=", "/>
+      <!-- Rest of Citation -->
+      <choose>
+        <!-- Specific Formats -->
+        <if type="article-journal">
+          <group delimiter=", ">
+            <text macro="title"/>
+            <text variable="container-title" font-style="italic" form="short"/>
+            <text macro="locators"/>
+            <text macro="page"/>
+            <text macro="issued"/>
+            <text macro="status"/>
+          </group>
+          <choose>
+            <if variable="URL DOI" match="none">
+              <text value="."/>
+            </if>
+            <else>
+              <text value=","/>
+            </else>
+          </choose>
+          <text macro="access"/>
+        </if>
+        <else-if type="paper-conference speech" match="any">
+          <group delimiter=", " suffix=".">
+            <text macro="title"/>
+            <text macro="event"/>
+            <text macro="issued"/>
+            <text macro="locators"/>
+            <text macro="page"/>
+            <text macro="status"/>
+          </group>
+          <text macro="access"/>
+        </else-if>
+        <else-if type="report">
+          <group delimiter=", " suffix=".">
+            <text macro="title"/>
+            <text macro="publisher"/>
+            <group delimiter=" ">
+              <text variable="genre"/>
+              <text variable="number"/>
+            </group>
+            <text macro="issued"/>
+          </group>
+          <text macro="access"/>
+        </else-if>
+        <else-if type="thesis">
+          <group delimiter=", " suffix=".">
+            <text macro="title"/>
+            <text variable="genre"/>
+            <text macro="publisher"/>
+            <text macro="issued"/>
+          </group>
+          <text macro="access"/>
+        </else-if>
+        <else-if type="webpage post-weblog post" match="any">
+          <group delimiter=", " suffix=".">
+            <text macro="title"/>
+            <text variable="container-title" font-style="italic"/>
+            <text macro="issued"/>
+          </group>
+          <text macro="access"/>
+        </else-if>
+        <else-if type="patent">
+          <group delimiter=", ">
+            <text macro="title"/>
+            <text variable="number"/>
+            <text macro="issued"/>
+          </group>
+          <text macro="access"/>
+        </else-if>
+        <!-- Online Video -->
+        <else-if type="motion_picture">
+          <text macro="geographic-location" suffix=". "/>
+          <group delimiter=", " suffix=".">
+            <text macro="title"/>
+            <text macro="issued"/>
+          </group>
+          <text macro="access"/>
+        </else-if>
+        <!-- Generic/Fallback Formats -->
+        <else-if type="bill book graphic legal_case legislation report song" match="any">
+          <group delimiter=", " suffix=". ">
+            <text macro="title"/>
+            <text macro="locators"/>
+          </group>
+          <group delimiter=", " suffix=".">
+            <text macro="publisher"/>
+            <text macro="issued"/>
+            <text macro="page"/>
+          </group>
+          <text macro="access"/>
+        </else-if>
+        <else-if type="article-magazine article-newspaper broadcast interview manuscript map patent personal_communication song speech thesis webpage" match="any">
+          <group delimiter=", " suffix=".">
+            <text macro="title"/>
+            <text variable="container-title" font-style="italic"/>
+            <text macro="locators"/>
+            <text macro="publisher"/>
+            <text macro="page"/>
+            <text macro="issued"/>
+          </group>
+          <text macro="access"/>
+        </else-if>
+        <else-if type="chapter paper-conference" match="any">
+          <group delimiter=", " suffix=", ">
+            <text macro="title"/>
+            <group delimiter=" ">
+              <text term="in"/>
+              <text variable="container-title" font-style="italic"/>
+            </group>
+            <text macro="locators"/>
+          </group>
+          <text macro="editor" suffix=" "/>
+          <group delimiter=", " suffix=".">
+            <text macro="publisher"/>
+            <text macro="issued"/>
+            <text macro="page"/>
+          </group>
+          <text macro="access"/>
+        </else-if>
+        <else>
+          <group delimiter=", " suffix=". ">
+            <text macro="title"/>
+            <text variable="container-title" font-style="italic"/>
+            <text macro="locators"/>
+          </group>
+          <group delimiter=", " suffix=".">
+            <text macro="publisher"/>
+            <text macro="page"/>
+            <text macro="issued"/>
+          </group>
+          <text macro="access"/>
+        </else>
+      </choose>
+    </layout>
+  </bibliography>
+</style>

Added: trunk/Master/texmf-dist/tex/latex/citation-style-language/styles/modern-humanities-research-association.csl
===================================================================
--- trunk/Master/texmf-dist/tex/latex/citation-style-language/styles/modern-humanities-research-association.csl	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/citation-style-language/styles/modern-humanities-research-association.csl	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,496 @@
+<?xml version="1.0" encoding="utf-8"?>
+<style xmlns="http://purl.org/net/xbiblio/csl" class="note" version="1.0" demote-non-dropping-particle="sort-only" default-locale="en-GB" page-range-format="chicago">
+  <info>
+    <title>Modern Humanities Research Association 3rd edition (note with bibliography)</title>
+    <title-short>MHRA</title-short>
+    <id>http://www.zotero.org/styles/modern-humanities-research-association</id>
+    <link href="http://www.zotero.org/styles/modern-humanities-research-association" rel="self"/>
+    <link href="http://www.mhra.org.uk/Publications/Books/StyleGuide/download.shtml" rel="documentation"/>
+    <author>
+      <name>Rintze Zelle</name>
+      <uri>http://twitter.com/rintzezelle</uri>
+    </author>
+    <contributor>
+      <name>Sebastian Karcher</name>
+    </contributor>
+    <contributor>
+      <name>Andrew Dunning</name>
+      <uri>http://individual.utoronto.ca/dunning/</uri>
+    </contributor>
+    <category citation-format="note"/>
+    <category field="generic-base"/>
+    <summary>MHRA format with full notes and bibliography</summary>
+    <updated>2019-01-07T13:45:21+00:00</updated>
+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
+  </info>
+  <locale xml:lang="en">
+    <terms>
+      <term name="et-al">and others</term>
+      <term name="editor" form="verb-short">ed. by</term>
+      <term name="edition" form="short">edn</term>
+      <term name="translator" form="verb-short">trans. by</term>
+      <term name="folio">
+        <single>fol.</single>
+        <multiple>fols</multiple>
+      </term>
+    </terms>
+  </locale>
+  <macro name="author">
+    <group delimiter=". ">
+      <names variable="author">
+        <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>
+        <label form="short" prefix=", " suffix="."/>
+        <substitute>
+          <names variable="editor"/>
+          <names variable="translator"/>
+          <text macro="title-note"/>
+        </substitute>
+      </names>
+      <text macro="recipient"/>
+    </group>
+  </macro>
+  <macro name="recipient">
+    <group delimiter=" ">
+      <choose>
+        <if type="personal_communication">
+          <choose>
+            <if variable="genre">
+              <text variable="genre" text-case="capitalize-first"/>
+            </if>
+            <else>
+              <text term="letter" text-case="capitalize-first"/>
+            </else>
+          </choose>
+        </if>
+      </choose>
+      <text macro="recipient-note"/>
+    </group>
+  </macro>
+  <macro name="contributors-note">
+    <names variable="author">
+      <name and="text" sort-separator=", " delimiter=", "/>
+      <label form="short" prefix=", "/>
+      <substitute>
+        <text macro="title-note"/>
+      </substitute>
+    </names>
+    <text macro="recipient-note"/>
+  </macro>
+  <macro name="title-note">
+    <choose>
+      <if variable="title" match="none">
+        <text variable="genre"/>
+      </if>
+      <else-if type="bill book graphic legislation motion_picture report song" match="any">
+        <text variable="title" text-case="title" font-style="italic"/>
+        <group delimiter=" " prefix=", ">
+          <text term="version"/>
+          <text variable="version"/>
+        </group>
+      </else-if>
+      <else-if type="legal_case interview" match="any">
+        <text variable="title"/>
+      </else-if>
+      <else-if variable="reviewed-author">
+        <text variable="title" font-style="italic" prefix="review of "/>
+      </else-if>
+      <else>
+        <text variable="title" text-case="title" quotes="true"/>
+      </else>
+    </choose>
+  </macro>
+  <macro name="disambiguate">
+    <choose>
+      <if disambiguate="true">
+        <choose>
+          <if variable="title" match="none">
+            <text macro="issued"/>
+          </if>
+          <else-if type="bill book graphic legal_case legislation motion_picture report song" match="any">
+            <text variable="title" font-style="italic" text-case="title" form="short"/>
+          </else-if>
+          <else>
+            <text variable="title" quotes="true" text-case="title" form="short"/>
+          </else>
+        </choose>
+      </if>
+    </choose>
+  </macro>
+  <macro name="title-sort-substitute">
+    <choose>
+      <if type="bill book graphic legal_case legislation motion_picture report song" match="any">
+        <text variable="title" font-style="italic" text-case="title" form="short"/>
+      </if>
+      <else>
+        <text variable="title" quotes="true" text-case="title" form="short"/>
+      </else>
+    </choose>
+  </macro>
+  <macro name="editor-translator">
+    <group delimiter=", ">
+      <group delimiter=" ">
+        <choose>
+          <if variable="container-author reviewed-author" match="any">
+            <group>
+              <names variable="container-author reviewed-author">
+                <label form="verb-short" text-case="lowercase" suffix=" "/>
+                <name and="text" delimiter=", "/>
+              </names>
+            </group>
+          </if>
+        </choose>
+      </group>
+      <names variable="editor translator" delimiter=", ">
+        <label form="verb-short" text-case="lowercase" suffix=" "/>
+        <name and="text" delimiter=", "/>
+      </names>
+    </group>
+  </macro>
+  <macro name="secondary-contributors-note">
+    <choose>
+      <if type="chapter paper-conference" match="none">
+        <text macro="editor-translator"/>
+      </if>
+    </choose>
+  </macro>
+  <macro name="container-contributors-note">
+    <choose>
+      <if type="chapter paper-conference" match="any">
+        <text macro="editor-translator"/>
+      </if>
+    </choose>
+  </macro>
+  <macro name="collection-title">
+    <group delimiter=", ">
+      <choose>
+        <if type="article-journal">
+          <text variable="collection-title"/>
+          <text variable="collection-number"/>
+        </if>
+        <else>
+          <text variable="collection-title" text-case="title"/>
+          <text variable="collection-number"/>
+        </else>
+      </choose>
+    </group>
+  </macro>
+  <macro name="locators-note">
+    <choose>
+      <if type="article-journal">
+        <group delimiter=".">
+          <text variable="volume"/>
+          <text variable="issue"/>
+        </group>
+      </if>
+      <else-if type="bill book chapter graphic legal_case legislation motion_picture paper-conference report song" match="any">
+        <group delimiter=", ">
+          <text macro="edition-note"/>
+          <group>
+            <number variable="number-of-volumes" form="numeric"/>
+            <text term="volume" form="short" prefix=" " plural="true"/>
+          </group>
+        </group>
+      </else-if>
+    </choose>
+  </macro>
+  <macro name="volume">
+    <choose>
+      <if type="article-journal">
+        <group delimiter=".">
+          <text variable="volume"/>
+          <text variable="issue"/>
+        </group>
+      </if>
+      <else-if type="bill book chapter graphic legal_case legislation motion_picture paper-conference report song" match="any">
+        <group delimiter=", ">
+          <text macro="edition-note"/>
+          <group>
+            <number variable="number-of-volumes" form="numeric"/>
+            <text term="volume" form="short" prefix=" " plural="true"/>
+          </group>
+        </group>
+      </else-if>
+    </choose>
+  </macro>
+  <macro name="issue-note">
+    <choose>
+      <if type="article-journal">
+        <choose>
+          <if variable="volume">
+            <text macro="issued" prefix=" (" suffix=")"/>
+          </if>
+          <else>
+            <text macro="issued" prefix=", "/>
+          </else>
+        </choose>
+      </if>
+      <else-if variable="publisher-place publisher" match="any">
+        <group prefix=" (" suffix=")" delimiter=", ">
+          <group delimiter=" ">
+            <choose>
+              <if variable="title" match="none"/>
+              <else-if type="thesis speech" match="any">
+                <text variable="genre" prefix="unpublished "/>
+              </else-if>
+            </choose>
+            <text macro="event"/>
+          </group>
+          <text macro="publisher"/>
+          <text macro="issued"/>
+        </group>
+      </else-if>
+      <else>
+        <text macro="issued" prefix=", "/>
+      </else>
+    </choose>
+  </macro>
+  <macro name="locators-specific-note">
+    <choose>
+      <if type="bill book chapter graphic legal_case legislation motion_picture paper-conference report song" match="any">
+        <choose>
+          <if is-numeric="volume">
+            <number variable="volume" form="roman" font-variant="small-caps"/>
+          </if>
+          <else>
+            <text variable="volume" font-variant="small-caps"/>
+          </else>
+        </choose>
+      </if>
+    </choose>
+  </macro>
+  <macro name="container-title-note">
+    <choose>
+      <if type="chapter paper-conference" match="any">
+        <text term="in" suffix=" "/>
+      </if>
+    </choose>
+    <text variable="container-title" text-case="title" font-style="italic"/>
+  </macro>
+  <macro name="edition-note">
+    <choose>
+      <if type="bill book chapter graphic legal_case legislation motion_picture paper-conference report song" match="any">
+        <choose>
+          <if is-numeric="edition">
+            <group delimiter=" ">
+              <number variable="edition" form="ordinal"/>
+              <text term="edition" form="short"/>
+            </group>
+          </if>
+          <else>
+            <text variable="edition"/>
+          </else>
+        </choose>
+      </if>
+    </choose>
+  </macro>
+  <macro name="recipient-note">
+    <names variable="recipient" delimiter=", ">
+      <label form="verb" prefix=" " suffix=" "/>
+      <name and="text" delimiter=", "/>
+    </names>
+  </macro>
+  <macro name="recipient-short">
+    <names variable="recipient">
+      <label form="verb" prefix=" " suffix=" "/>
+      <name form="short" and="text" delimiter=", "/>
+    </names>
+  </macro>
+  <macro name="contributors-short">
+    <names variable="author">
+      <name form="short" and="text" sort-separator=", " delimiter=", "/>
+      <substitute>
+        <names variable="editor"/>
+        <names variable="translator"/>
+        <text macro="title-sort-substitute"/>
+      </substitute>
+    </names>
+    <text macro="recipient-short"/>
+  </macro>
+  <macro name="locators-newspaper">
+    <choose>
+      <if type="article-newspaper">
+        <group delimiter=", ">
+          <group delimiter=" ">
+            <text variable="edition"/>
+            <text term="edition"/>
+          </group>
+          <group>
+            <text term="section" suffix=" "/>
+            <text variable="section"/>
+          </group>
+        </group>
+      </if>
+    </choose>
+  </macro>
+  <macro name="event">
+    <group>
+      <text term="presented at" suffix=" "/>
+      <text variable="event"/>
+    </group>
+  </macro>
+  <macro name="publisher">
+    <choose>
+      <if type="thesis">
+        <text variable="publisher"/>
+      </if>
+      <else>
+        <group delimiter=": ">
+          <text variable="publisher-place"/>
+          <text variable="publisher"/>
+        </group>
+      </else>
+    </choose>
+  </macro>
+  <macro name="issued">
+    <choose>
+      <if type="report article-newspaper article-magazine personal_communication" match="any">
+        <date variable="issued">
+          <date-part name="day" suffix=" "/>
+          <date-part name="month" suffix=" "/>
+          <date-part name="year"/>
+        </date>
+      </if>
+      <else>
+        <date variable="issued">
+          <date-part name="year"/>
+        </date>
+      </else>
+    </choose>
+  </macro>
+  <macro name="pages">
+    <choose>
+      <if type="article-journal">
+        <text variable="page" prefix=", "/>
+      </if>
+      <else>
+        <choose>
+          <if variable="volume">
+            <text variable="page" prefix=", "/>
+          </if>
+          <else>
+            <label variable="page" form="short" prefix=", " suffix=" "/>
+            <text variable="page"/>
+          </else>
+        </choose>
+      </else>
+    </choose>
+  </macro>
+  <macro name="point-locators">
+    <text macro="pages"/>
+    <choose>
+      <if variable="page">
+        <group prefix=" (" suffix=")">
+          <label variable="locator" form="short" suffix=" "/>
+          <text variable="locator"/>
+        </group>
+      </if>
+      <else>
+        <label variable="locator" form="short" prefix=", " suffix=" "/>
+        <text variable="locator"/>
+      </else>
+    </choose>
+  </macro>
+  <macro name="point-locators-subsequent">
+    <label variable="locator" form="short" prefix=", " suffix=" "/>
+    <text variable="locator"/>
+  </macro>
+  <macro name="archive-note">
+    <group delimiter=", ">
+      <text variable="archive-place"/>
+      <text variable="archive"/>
+      <text variable="archive_location"/>
+    </group>
+  </macro>
+  <macro name="access-note">
+    <group delimiter=", ">
+      <choose>
+        <if type="article-journal bill chapter legal_case legislation paper-conference" match="none">
+          <text macro="archive-note" prefix=", "/>
+        </if>
+      </choose>
+    </group>
+    <choose>
+      <if variable="DOI">
+        <text variable="DOI" prefix=" <https://doi.org/" suffix=">"/>
+      </if>
+      <else>
+        <choose>
+          <if variable="URL">
+            <text variable="URL" prefix=" <" suffix=">"/>
+            <group prefix=" [" suffix="]">
+              <text term="accessed"/>
+              <date variable="accessed">
+                <date-part name="day" prefix=" "/>
+                <date-part name="month" prefix=" "/>
+                <date-part name="year" prefix=" "/>
+              </date>
+            </group>
+          </if>
+        </choose>
+      </else>
+    </choose>
+  </macro>
+  <macro name="artwork">
+    <choose>
+      <if type="graphic" match="any">
+        <group delimiter=", ">
+          <text variable="medium"/>
+          <text variable="dimensions"/>
+        </group>
+      </if>
+    </choose>
+  </macro>
+  <citation et-al-min="4" et-al-use-first="1" disambiguate-add-names="true" disambiguate-add-givenname="true">
+    <layout suffix="." delimiter="; ">
+      <choose>
+        <if position="subsequent">
+          <group delimiter=", ">
+            <text macro="contributors-short"/>
+            <text macro="disambiguate"/>
+            <text macro="locators-specific-note"/>
+          </group>
+          <text macro="point-locators-subsequent"/>
+        </if>
+        <else>
+          <group delimiter=", ">
+            <text macro="contributors-note"/>
+            <text macro="title-note"/>
+            <text macro="secondary-contributors-note"/>
+            <text macro="container-title-note"/>
+            <text macro="container-contributors-note"/>
+            <text macro="collection-title"/>
+            <text macro="locators-note"/>
+          </group>
+          <text macro="issue-note"/>
+          <text macro="locators-specific-note" prefix=", "/>
+          <text macro="locators-newspaper" prefix=", "/>
+          <text macro="point-locators"/>
+          <text macro="access-note"/>
+        </else>
+      </choose>
+    </layout>
+  </citation>
+  <bibliography hanging-indent="true" et-al-min="7" et-al-use-first="6" subsequent-author-substitute="———">
+    <sort>
+      <key macro="author"/>
+      <key variable="title"/>
+    </sort>
+    <layout>
+      <group delimiter=", ">
+        <text macro="author"/>
+        <text macro="title-note"/>
+        <text macro="secondary-contributors-note"/>
+        <text macro="container-title-note"/>
+        <text macro="container-contributors-note"/>
+        <text macro="collection-title"/>
+        <text macro="volume"/>
+      </group>
+      <text macro="issue-note"/>
+      <text macro="locators-specific-note" prefix=", "/>
+      <text macro="artwork" prefix=", "/>
+      <text macro="locators-newspaper" prefix=", "/>
+      <text macro="pages"/>
+      <text macro="access-note"/>
+    </layout>
+  </bibliography>
+</style>

Added: trunk/Master/texmf-dist/tex/latex/citation-style-language/styles/modern-language-association.csl
===================================================================
--- trunk/Master/texmf-dist/tex/latex/citation-style-language/styles/modern-language-association.csl	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/citation-style-language/styles/modern-language-association.csl	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,324 @@
+<?xml version="1.0" encoding="utf-8"?>
+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="never" page-range-format="minimal-two">
+  <info>
+    <title>Modern Language Association 9th edition</title>
+    <title-short>MLA</title-short>
+    <id>http://www.zotero.org/styles/modern-language-association</id>
+    <link href="http://www.zotero.org/styles/modern-language-association" rel="self"/>
+    <link href="http://style.mla.org" rel="documentation"/>
+    <author>
+      <name>Sebastian Karcher</name>
+    </author>
+    <category citation-format="author"/>
+    <category field="generic-base"/>
+    <summary>This style adheres to the MLA 9th edition handbook. Follows the structure of references as outlined in the MLA Manual closely</summary>
+    <updated>2021-07-13T20:05:10+00:00</updated>
+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
+  </info>
+  <locale xml:lang="en">
+    <date form="text">
+      <date-part name="day" suffix=" "/>
+      <date-part name="month" suffix=" " form="short"/>
+      <date-part name="year"/>
+    </date>
+    <terms>
+      <term name="month-01" form="short">Jan.</term>
+      <term name="month-02" form="short">Feb.</term>
+      <term name="month-03" form="short">Mar.</term>
+      <term name="month-04" form="short">Apr.</term>
+      <term name="month-05" form="short">May</term>
+      <term name="month-06" form="short">June</term>
+      <term name="month-07" form="short">July</term>
+      <term name="month-08" form="short">Aug.</term>
+      <term name="month-09" form="short">Sept.</term>
+      <term name="month-10" form="short">Oct.</term>
+      <term name="month-11" form="short">Nov.</term>
+      <term name="month-12" form="short">Dec.</term>
+      <term name="translator" form="short">trans.</term>
+    </terms>
+  </locale>
+  <macro name="author">
+    <names variable="author">
+      <name name-as-sort-order="first" and="text" delimiter-precedes-last="always" delimiter-precedes-et-al="always" initialize="false" initialize-with=". "/>
+      <label form="long" prefix=", "/>
+      <substitute>
+        <names variable="editor"/>
+        <names variable="translator"/>
+        <text macro="title"/>
+      </substitute>
+    </names>
+  </macro>
+  <macro name="author-short">
+    <group delimiter=", ">
+      <names variable="author">
+        <name form="short" initialize-with=". " and="text"/>
+        <substitute>
+          <names variable="editor"/>
+          <names variable="translator"/>
+          <text macro="title-short"/>
+        </substitute>
+      </names>
+      <choose>
+        <if disambiguate="true">
+          <text macro="title-short"/>
+        </if>
+      </choose>
+    </group>
+  </macro>
+  <macro name="title">
+    <choose>
+      <if variable="container-title" match="any">
+        <text variable="title" quotes="true" text-case="title"/>
+      </if>
+      <else>
+        <text variable="title" font-style="italic" text-case="title"/>
+      </else>
+    </choose>
+  </macro>
+  <macro name="title-short">
+    <choose>
+      <if variable="container-title" match="any">
+        <text variable="title" form="short" quotes="true" text-case="title"/>
+      </if>
+      <else>
+        <text variable="title" form="short" font-style="italic" text-case="title"/>
+      </else>
+    </choose>
+  </macro>
+  <macro name="container-title">
+    <text variable="container-title" font-style="italic" text-case="title"/>
+  </macro>
+  <macro name="other-contributors">
+    <choose>
+      <if variable="container-title" match="any">
+        <group delimiter=", ">
+          <names variable="container-author" delimiter=", ">
+            <label form="verb" suffix=" "/>
+            <name and="text"/>
+          </names>
+          <names variable="editor translator" delimiter=", ">
+            <label form="verb" suffix=" "/>
+            <name and="text"/>
+          </names>
+          <names variable="director illustrator interviewer" delimiter=", ">
+            <label form="verb" suffix=" "/>
+            <name and="text"/>
+          </names>
+        </group>
+      </if>
+      <else>
+        <group delimiter=", ">
+          <names variable="container-author" delimiter=", ">
+            <label form="verb" suffix=" " text-case="capitalize-first"/>
+            <name and="text"/>
+          </names>
+          <names variable="editor translator" delimiter=", ">
+            <label form="verb" suffix=" " text-case="capitalize-first"/>
+            <name and="text"/>
+          </names>
+          <names variable="director illustrator interviewer" delimiter=", ">
+            <label form="verb" suffix=" " text-case="capitalize-first"/>
+            <name and="text"/>
+          </names>
+        </group>
+      </else>
+    </choose>
+  </macro>
+  <macro name="version">
+    <group delimiter=", ">
+      <choose>
+        <if is-numeric="edition">
+          <group delimiter=" ">
+            <number variable="edition" form="ordinal"/>
+            <text term="edition" form="short"/>
+          </group>
+        </if>
+        <else>
+          <text variable="edition" text-case="capitalize-first"/>
+        </else>
+      </choose>
+      <text variable="version"/>
+    </group>
+  </macro>
+  <macro name="volume-lowercase">
+    <group delimiter=" ">
+      <text term="volume" form="short"/>
+      <text variable="volume"/>
+    </group>
+  </macro>
+  <macro name="number">
+    <group delimiter=", ">
+      <group>
+        <choose>
+          <!--lowercase if we have a preceding element-->
+          <if variable="edition container-title" match="any">
+            <text macro="volume-lowercase"/>
+          </if>
+          <!--other contributors preceding the volume-->
+          <else-if variable="author" match="all">
+            <choose>
+              <if variable="editor translator container-author illustrator interviewer director" match="any">
+                <text macro="volume-lowercase"/>
+              </if>
+            </choose>
+          </else-if>
+          <else-if variable="editor" match="all">
+            <choose>
+              <if variable="translator container-author illustrator interviewer director" match="any">
+                <text macro="volume-lowercase"/>
+              </if>
+            </choose>
+          </else-if>
+          <else-if variable="container-author illustrator interviewer director" match="any">
+            <text macro="volume-lowercase"/>
+          </else-if>
+          <else>
+            <group delimiter=" ">
+              <text term="volume" form="short" text-case="capitalize-first"/>
+              <text variable="volume"/>
+            </group>
+          </else>
+        </choose>
+      </group>
+      <group delimiter=" ">
+        <text term="issue" form="short"/>
+        <text variable="issue"/>
+      </group>
+      <choose>
+        <if type="report">
+          <text variable="genre"/>
+        </if>
+      </choose>
+      <text variable="number"/>
+    </group>
+  </macro>
+  <macro name="publisher">
+    <text variable="publisher"/>
+  </macro>
+  <macro name="publication-date">
+    <choose>
+      <if type="book chapter paper-conference motion_picture" match="any">
+        <date variable="issued" form="numeric" date-parts="year"/>
+      </if>
+      <else-if type="article-journal article-magazine" match="any">
+        <date variable="issued" form="text" date-parts="year-month"/>
+      </else-if>
+      <else-if type="speech" match="none">
+        <date variable="issued" form="text"/>
+      </else-if>
+    </choose>
+  </macro>
+  <macro name="location">
+    <group delimiter=", ">
+      <group delimiter=" ">
+        <label variable="page" form="short"/>
+        <text variable="page"/>
+      </group>
+      <choose>
+        <if variable="source" match="none">
+          <text macro="URI"/>
+        </if>
+      </choose>
+    </group>
+  </macro>
+  <macro name="container2-title">
+    <group delimiter=", ">
+      <choose>
+        <if type="speech">
+          <text variable="event"/>
+          <date variable="event-date" form="text"/>
+          <text variable="event-place"/>
+        </if>
+      </choose>
+      <text variable="archive"/>
+      <text variable="archive-place"/>
+      <text variable="archive_location"/>
+    </group>
+  </macro>
+  <macro name="container2-location">
+    <choose>
+      <if variable="source">
+        <choose>
+          <if variable="DOI URL" match="any">
+            <group delimiter=", ">
+              <text variable="source" font-style="italic"/>
+              <text macro="URI"/>
+            </group>
+          </if>
+        </choose>
+      </if>
+    </choose>
+  </macro>
+  <macro name="URI">
+    <choose>
+      <if variable="DOI">
+        <text variable="DOI" prefix="https://doi.org/"/>
+      </if>
+      <else>
+        <text variable="URL"/>
+      </else>
+    </choose>
+  </macro>
+  <macro name="accessed">
+    <!--using accessed where we don't have an issued date; follows recommendation on p. 53 -->
+    <choose>
+      <if variable="issued" match="none">
+        <group delimiter=" ">
+          <text term="accessed" text-case="capitalize-first"/>
+          <date variable="accessed" form="text"/>
+        </group>
+      </if>
+    </choose>
+  </macro>
+  <citation et-al-min="3" et-al-use-first="1" disambiguate-add-names="true" disambiguate-add-givenname="true">
+    <layout prefix="(" suffix=")" delimiter="; ">
+      <choose>
+        <if locator="page line" match="any">
+          <group delimiter=" ">
+            <text macro="author-short"/>
+            <text variable="locator"/>
+          </group>
+        </if>
+        <else>
+          <group delimiter=", ">
+            <text macro="author-short"/>
+            <group>
+              <label variable="locator" form="short"/>
+              <text variable="locator"/>
+            </group>
+          </group>
+        </else>
+      </choose>
+    </layout>
+  </citation>
+  <bibliography hanging-indent="true" et-al-min="3" et-al-use-first="1" line-spacing="2" entry-spacing="0" subsequent-author-substitute="---">
+    <sort>
+      <key macro="author"/>
+      <key variable="title"/>
+    </sort>
+    <layout suffix=".">
+      <group delimiter=". ">
+        <text macro="author"/>
+        <text macro="title"/>
+        <date variable="original-date" form="numeric" date-parts="year"/>
+        <group delimiter=", ">
+          <!---This group corresponds to MLA's "Container 1"-->
+          <text macro="container-title"/>
+          <text macro="other-contributors"/>
+          <text macro="version"/>
+          <text macro="number"/>
+          <text macro="publisher"/>
+          <text macro="publication-date"/>
+          <text macro="location"/>
+        </group>
+        <group delimiter=", ">
+          <!---This group corresponds to MLA's "Container 2"-->
+          <!--currently just using this one for archival info-->
+          <text macro="container2-title"/>
+          <text macro="container2-location"/>
+        </group>
+        <text macro="accessed"/>
+      </group>
+    </layout>
+  </bibliography>
+</style>

Added: trunk/Master/texmf-dist/tex/latex/citation-style-language/styles/nature.csl
===================================================================
--- trunk/Master/texmf-dist/tex/latex/citation-style-language/styles/nature.csl	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/citation-style-language/styles/nature.csl	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,132 @@
+<?xml version="1.0" encoding="utf-8"?>
+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="sort-only" default-locale="en-GB">
+  <info>
+    <title>Nature</title>
+    <id>http://www.zotero.org/styles/nature</id>
+    <link href="http://www.zotero.org/styles/nature" rel="self"/>
+    <link href="http://www.nature.com/nature/authors/gta/index.html#a5.4" rel="documentation"/>
+    <link href="http://www.nature.com/srep/publish/guidelines#references" rel="documentation"/>
+    <author>
+      <name>Michael Berkowitz</name>
+      <email>mberkowi at gmu.edu</email>
+    </author>
+    <category citation-format="numeric"/>
+    <category field="science"/>
+    <category field="generic-base"/>
+    <issn>0028-0836</issn>
+    <eissn>1476-4687</eissn>
+    <updated>2019-10-08T13:18:12+00:00</updated>
+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
+  </info>
+  <macro name="title">
+    <choose>
+      <if type="bill book graphic legal_case legislation motion_picture report song" match="any">
+        <text variable="title" font-style="italic"/>
+      </if>
+      <else>
+        <text variable="title"/>
+      </else>
+    </choose>
+  </macro>
+  <macro name="author">
+    <names variable="author">
+      <name sort-separator=", " delimiter=", " and="symbol" initialize-with=". " delimiter-precedes-last="never" name-as-sort-order="all"/>
+      <label form="short" prefix=", "/>
+      <et-al font-style="italic"/>
+    </names>
+  </macro>
+  <macro name="access">
+    <choose>
+      <if variable="volume"/>
+      <else-if variable="DOI">
+        <text variable="DOI" prefix="doi:"/>
+      </else-if>
+    </choose>
+  </macro>
+  <macro name="issuance">
+    <choose>
+      <if type="bill book graphic legal_case legislation motion_picture song thesis chapter paper-conference" match="any">
+        <group delimiter="; " suffix=".">
+          <group delimiter=", " prefix="(" suffix=")">
+            <text variable="publisher" form="long"/>
+            <date variable="issued">
+              <date-part name="year"/>
+            </date>
+          </group>
+        </group>
+      </if>
+      <else-if type="report webpage post post-weblog" match="any">
+        <group delimiter=" ">
+          <text variable="URL"/>
+          <date date-parts="year" form="text" variable="issued" prefix="(" suffix=")"/>
+        </group>
+      </else-if>
+      <else>
+        <date variable="issued" prefix="(" suffix=")">
+          <date-part name="year"/>
+        </date>
+      </else>
+    </choose>
+  </macro>
+  <macro name="container-title">
+    <choose>
+      <if type="article-journal">
+        <text variable="container-title" font-style="italic" form="short"/>
+      </if>
+      <else>
+        <text variable="container-title" font-style="italic"/>
+      </else>
+    </choose>
+  </macro>
+  <macro name="editor">
+    <choose>
+      <if type="chapter paper-conference" match="any">
+        <names variable="editor" prefix="(" suffix=")">
+          <label form="short" suffix=" "/>
+          <name and="symbol" delimiter-precedes-last="never" initialize-with=". " name-as-sort-order="all"/>
+        </names>
+      </if>
+    </choose>
+  </macro>
+  <macro name="volume">
+    <choose>
+      <if type="article-journal" match="any">
+        <text variable="volume" font-weight="bold" suffix=","/>
+      </if>
+      <else>
+        <group delimiter=" ">
+          <label variable="volume" form="short"/>
+          <text variable="volume"/>
+        </group>
+      </else>
+    </choose>
+  </macro>
+  <citation collapse="citation-number">
+    <sort>
+      <key variable="citation-number"/>
+    </sort>
+    <layout vertical-align="sup" delimiter=",">
+      <text variable="citation-number"/>
+    </layout>
+  </citation>
+  <bibliography et-al-min="6" et-al-use-first="1" second-field-align="flush" entry-spacing="0" line-spacing="2">
+    <layout suffix=".">
+      <text variable="citation-number" suffix="."/>
+      <group delimiter=" ">
+        <text macro="author" suffix="."/>
+        <text macro="title" suffix="."/>
+        <choose>
+          <if type="chapter paper-conference" match="any">
+            <text term="in"/>
+          </if>
+        </choose>
+        <text macro="container-title"/>
+        <text macro="editor"/>
+        <text macro="volume"/>
+        <text variable="page"/>
+        <text macro="issuance"/>
+        <text macro="access"/>
+      </group>
+    </layout>
+  </bibliography>
+</style>

Added: trunk/Master/texmf-dist/tex/latex/citation-style-language/styles/vancouver.csl
===================================================================
--- trunk/Master/texmf-dist/tex/latex/citation-style-language/styles/vancouver.csl	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/citation-style-language/styles/vancouver.csl	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,351 @@
+<?xml version="1.0" encoding="utf-8"?>
+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="sort-only" page-range-format="minimal">
+  <info>
+    <title>Vancouver</title>
+    <id>http://www.zotero.org/styles/vancouver</id>
+    <link href="http://www.zotero.org/styles/vancouver" rel="self"/>
+    <link href="http://www.nlm.nih.gov/bsd/uniform_requirements.html" rel="documentation"/>
+    <author>
+      <name>Michael Berkowitz</name>
+      <email>mberkowi at gmu.edu</email>
+    </author>
+    <contributor>
+      <name>Sean Takats</name>
+      <email>stakats at gmu.edu</email>
+    </contributor>
+    <contributor>
+      <name>Sebastian Karcher</name>
+    </contributor>
+    <category citation-format="numeric"/>
+    <category field="medicine"/>
+    <summary>Vancouver style as outlined by International Committee of Medical Journal Editors Uniform Requirements for Manuscripts Submitted to Biomedical Journals: Sample References</summary>
+    <updated>2014-09-06T16:03:01+00:00</updated>
+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
+  </info>
+  <locale xml:lang="en">
+    <date form="text" delimiter=" ">
+      <date-part name="year"/>
+      <date-part name="month" form="short" strip-periods="true"/>
+      <date-part name="day"/>
+    </date>
+    <terms>
+      <term name="collection-editor" form="long">
+        <single>editor</single>
+        <multiple>editors</multiple>
+      </term>
+      <term name="presented at">presented at</term>
+      <term name="available at">available from</term>
+      <term name="section" form="short">sect.</term>
+    </terms>
+  </locale>
+  <locale xml:lang="fr">
+    <date form="text" delimiter=" ">
+      <date-part name="day"/>
+      <date-part name="month" form="short" strip-periods="true"/>
+      <date-part name="year"/>
+    </date>
+  </locale>
+  <macro name="author">
+    <names variable="author">
+      <name sort-separator=" " initialize-with="" name-as-sort-order="all" delimiter=", " delimiter-precedes-last="always"/>
+      <label form="long" prefix=", "/>
+      <substitute>
+        <names variable="editor"/>
+      </substitute>
+    </names>
+  </macro>
+  <macro name="editor">
+    <names variable="editor" suffix=".">
+      <name sort-separator=" " initialize-with="" name-as-sort-order="all" delimiter=", " delimiter-precedes-last="always"/>
+      <label form="long" prefix=", "/>
+    </names>
+  </macro>
+  <macro name="chapter-marker">
+    <choose>
+      <if type="chapter paper-conference entry-dictionary entry-encyclopedia" match="any">
+        <text term="in" text-case="capitalize-first"/>
+      </if>
+    </choose>
+  </macro>
+  <macro name="publisher">
+    <choose>
+      <!--discard publisher info for articles-->
+      <if type="article-journal article-magazine article-newspaper" match="none">
+        <group delimiter=": " suffix=";">
+          <choose>
+            <if type="thesis">
+              <text variable="publisher-place" prefix="[" suffix="]"/>
+            </if>
+            <else-if type="speech"/>
+            <else>
+              <text variable="publisher-place"/>
+            </else>
+          </choose>
+          <text variable="publisher"/>
+        </group>
+      </if>
+    </choose>
+  </macro>
+  <macro name="access">
+    <choose>
+      <if variable="URL">
+        <group delimiter=": ">
+          <text term="available at" text-case="capitalize-first"/>
+          <text variable="URL"/>
+        </group>
+      </if>
+    </choose>
+  </macro>
+  <macro name="accessed-date">
+    <choose>
+      <if variable="URL">
+        <group prefix="[" suffix="]" delimiter=" ">
+          <text term="cited" text-case="lowercase"/>
+          <date variable="accessed" form="text"/>
+        </group>
+      </if>
+    </choose>
+  </macro>
+  <macro name="container-title">
+    <choose>
+      <if type="article-journal article-magazine chapter paper-conference article-newspaper review review-book entry-dictionary entry-encyclopedia" match="any">
+        <group suffix="." delimiter=" ">
+          <choose>
+            <if type="article-journal review review-book" match="any">
+              <text variable="container-title" form="short" strip-periods="true"/>
+            </if>
+            <else>
+              <text variable="container-title" strip-periods="true"/>
+            </else>
+          </choose>
+          <choose>
+            <if variable="URL">
+              <text term="internet" prefix="[" suffix="]" text-case="capitalize-first"/>
+            </if>
+          </choose>
+        </group>
+        <text macro="edition" prefix=" "/>
+      </if>
+      <!--add event-name and event-place once they become available-->
+      <else-if type="bill legislation" match="any">
+        <group delimiter=", ">
+          <group delimiter=". ">
+            <text variable="container-title"/>
+            <group delimiter=" ">
+              <text term="section" form="short" text-case="capitalize-first"/>
+              <text variable="section"/>
+            </group>
+          </group>
+          <text variable="number"/>
+        </group>
+      </else-if>
+      <else-if type="speech">
+        <group delimiter=": " suffix=";">
+          <group delimiter=" ">
+            <text variable="genre" text-case="capitalize-first"/>
+            <text term="presented at"/>
+          </group>
+          <text variable="event"/>
+        </group>
+      </else-if>
+      <else>
+        <group delimiter=", " suffix=".">
+          <choose>
+            <if variable="collection-title" match="none">
+              <group delimiter=" ">
+                <label variable="volume" form="short" text-case="capitalize-first"/>
+                <text variable="volume"/>
+              </group>
+            </if>
+          </choose>
+          <text variable="container-title"/>
+        </group>
+      </else>
+    </choose>
+  </macro>
+  <macro name="title">
+    <text variable="title"/>
+    <choose>
+      <if type="article-journal article-magazine chapter paper-conference article-newspaper review review-book entry-dictionary entry-encyclopedia" match="none">
+        <choose>
+          <if variable="URL">
+            <text term="internet" prefix=" [" suffix="]" text-case="capitalize-first"/>
+          </if>
+        </choose>
+        <text macro="edition" prefix=". "/>
+      </if>
+    </choose>
+    <choose>
+      <if type="thesis">
+        <text variable="genre" prefix=" [" suffix="]"/>
+      </if>
+    </choose>
+  </macro>
+  <macro name="edition">
+    <choose>
+      <if is-numeric="edition">
+        <group delimiter=" ">
+          <number variable="edition" form="ordinal"/>
+          <text term="edition" form="short"/>
+        </group>
+      </if>
+      <else>
+        <text variable="edition" suffix="."/>
+      </else>
+    </choose>
+  </macro>
+  <macro name="date">
+    <choose>
+      <if type="article-journal article-magazine article-newspaper review review-book" match="any">
+        <group suffix=";" delimiter=" ">
+          <date variable="issued" form="text"/>
+          <text macro="accessed-date"/>
+        </group>
+      </if>
+      <else-if type="bill legislation" match="any">
+        <group delimiter=", ">
+          <date variable="issued" delimiter=" ">
+            <date-part name="month" form="short" strip-periods="true"/>
+            <date-part name="day"/>
+          </date>
+          <date variable="issued">
+            <date-part name="year"/>
+          </date>
+        </group>
+      </else-if>
+      <else-if type="report">
+        <date variable="issued" delimiter=" ">
+          <date-part name="year"/>
+          <date-part name="month" form="short" strip-periods="true"/>
+        </date>
+        <text macro="accessed-date" prefix=" "/>
+      </else-if>
+      <else-if type="patent">
+        <group suffix=".">
+          <group delimiter=", ">
+            <text variable="number"/>
+            <date variable="issued">
+              <date-part name="year"/>
+            </date>
+          </group>
+          <text macro="accessed-date" prefix=" "/>
+        </group>
+      </else-if>
+      <else-if type="speech">
+        <group delimiter="; ">
+          <group delimiter=" ">
+            <date variable="issued" delimiter=" ">
+              <date-part name="year"/>
+              <date-part name="month" form="short" strip-periods="true"/>
+              <date-part name="day"/>
+            </date>
+            <text macro="accessed-date"/>
+          </group>
+          <text variable="event-place"/>
+        </group>
+      </else-if>
+      <else>
+        <group suffix=".">
+          <date variable="issued">
+            <date-part name="year"/>
+          </date>
+          <text macro="accessed-date" prefix=" "/>
+        </group>
+      </else>
+    </choose>
+  </macro>
+  <macro name="pages">
+    <choose>
+      <if type="article-journal article-magazine article-newspaper review review-book" match="any">
+        <text variable="page" prefix=":"/>
+      </if>
+      <else-if type="book" match="any">
+        <text variable="number-of-pages" prefix=" "/>
+        <choose>
+          <if is-numeric="number-of-pages">
+            <label variable="number-of-pages" form="short" prefix=" " plural="never"/>
+          </if>
+        </choose>
+      </else-if>
+      <else>
+        <group prefix=" " delimiter=" ">
+          <label variable="page" form="short" plural="never"/>
+          <text variable="page"/>
+        </group>
+      </else>
+    </choose>
+  </macro>
+  <macro name="journal-location">
+    <choose>
+      <if type="article-journal article-magazine review review-book" match="any">
+        <text variable="volume"/>
+        <text variable="issue" prefix="(" suffix=")"/>
+      </if>
+    </choose>
+  </macro>
+  <macro name="collection-details">
+    <choose>
+      <if type="article-journal article-magazine article-newspaper review review-book" match="none">
+        <choose>
+          <if variable="collection-title">
+            <group delimiter=" " prefix="(" suffix=")">
+              <names variable="collection-editor" suffix=".">
+                <name sort-separator=" " initialize-with="" name-as-sort-order="all" delimiter=", " delimiter-precedes-last="always"/>
+                <label form="long" prefix=", "/>
+              </names>
+              <group delimiter="; ">
+                <text variable="collection-title"/>
+                <group delimiter=" ">
+                  <label variable="volume" form="short"/>
+                  <text variable="volume"/>
+                </group>
+              </group>
+            </group>
+          </if>
+        </choose>
+      </if>
+    </choose>
+  </macro>
+  <macro name="report-details">
+    <choose>
+      <if type="report">
+        <text variable="number" prefix="Report No.: "/>
+      </if>
+    </choose>
+  </macro>
+  <citation collapse="citation-number">
+    <sort>
+      <key variable="citation-number"/>
+    </sort>
+    <layout prefix="(" suffix=")" delimiter=",">
+      <text variable="citation-number"/>
+    </layout>
+  </citation>
+  <bibliography et-al-min="7" et-al-use-first="6" second-field-align="flush">
+    <layout>
+      <text variable="citation-number" suffix=". "/>
+      <group delimiter=". " suffix=". ">
+        <text macro="author"/>
+        <text macro="title"/>
+      </group>
+      <group delimiter=" " suffix=". ">
+        <group delimiter=": ">
+          <text macro="chapter-marker"/>
+          <group delimiter=" ">
+            <text macro="editor"/>
+            <text macro="container-title"/>
+          </group>
+        </group>
+        <text macro="publisher"/>
+        <group>
+          <text macro="date"/>
+          <text macro="journal-location"/>
+          <text macro="pages"/>
+        </group>
+      </group>
+      <text macro="collection-details" suffix=". "/>
+      <text macro="report-details" suffix=". "/>
+      <text macro="access"/>
+    </layout>
+  </bibliography>
+</style>

Modified: trunk/Master/tlpkg/bin/tlpkg-ctan-check
===================================================================
--- trunk/Master/tlpkg/bin/tlpkg-ctan-check	2022-01-21 22:50:29 UTC (rev 61686)
+++ trunk/Master/tlpkg/bin/tlpkg-ctan-check	2022-01-21 22:58:35 UTC (rev 61687)
@@ -178,7 +178,8 @@
     chkfloat chklref chletter chngcntr chordbars chordbox chronology
     chronosys chs-physics-report chscite churchslavonic
     cinzel circ circledsteps circuit-macros circuitikz
-    cite citeall citeref cje cjhebrew cjk cjk-gs-integrate cjk-ko cjkpunct
+    citation-style-language cite citeall citeref
+    cje cjhebrew cjk cjk-gs-integrate cjk-ko cjkpunct
     clara classics classpack classicthesis
     cleanthesis clearsans clefval cleveref clicks clipboard
     clock clojure-pamphlet cloze clrdblpg clrscode clrscode3e clrstrip cluttex

Modified: trunk/Master/tlpkg/libexec/ctan2tds
===================================================================
--- trunk/Master/tlpkg/libexec/ctan2tds	2022-01-21 22:50:29 UTC (rev 61686)
+++ trunk/Master/tlpkg/libexec/ctan2tds	2022-01-21 22:58:35 UTC (rev 61687)
@@ -3429,9 +3429,10 @@
  'checkcites'           => '\.lua$',
  'checklistings'        => '\.sh$',
  'chklref'		=> '\.pl',
+ 'citation-style-language' => 'citeproc\.lua$',
  'cjk-gs-integrate'     => '\.pl$',
  'clojure-pamphlet'	=> 'pamphletangler$',
- 'cluttex'		=> 'cluttex\.lua$', # moved by prehook.
+ 'cluttex'		=> 'cluttex\.lua$', # moved by prehook
  'convbkmk'             => '\.rb$',
  'crossrefware'		=> '\.pl$',
  'ctan-o-mat'		=> 'ctan-o-mat\.pl$',
@@ -3567,6 +3568,7 @@
  'bib2gls'		=> '\.1$',
  'bundledoc'            => '\.1$',
  'chklref'		=> '\.1$',
+ 'citation-style-language' => '\.1$',
  'clojure-pamphlet'	=> '\.1$',
  'crossrefware'		=> '\.1$',
  'ctanbib'              => '\.1$',

Added: trunk/Master/tlpkg/tlpsrc/citation-style-language.tlpsrc
===================================================================
--- trunk/Master/tlpkg/tlpsrc/citation-style-language.tlpsrc	                        (rev 0)
+++ trunk/Master/tlpkg/tlpsrc/citation-style-language.tlpsrc	2022-01-21 22:58:35 UTC (rev 61687)
@@ -0,0 +1,2 @@
+docpattern +f texmf-dist/doc/man/man1/citeproc.*
+binpattern f bin/${ARCH}/citeproc

Modified: trunk/Master/tlpkg/tlpsrc/collection-bibtexextra.tlpsrc
===================================================================
--- trunk/Master/tlpkg/tlpsrc/collection-bibtexextra.tlpsrc	2022-01-21 22:50:29 UTC (rev 61686)
+++ trunk/Master/tlpkg/tlpsrc/collection-bibtexextra.tlpsrc	2022-01-21 22:58:35 UTC (rev 61687)
@@ -101,6 +101,7 @@
 depend chicago-annote
 depend chembst
 depend chscite
+depend citation-style-language
 depend citeall
 depend citeref
 depend collref



More information about the tex-live-commits mailing list.