summaryrefslogtreecommitdiff
path: root/macros
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2020-06-04 03:02:40 +0000
committerNorbert Preining <norbert@preining.info>2020-06-04 03:02:40 +0000
commit6c90555ebb89f41cc4dfb6cf3ee6bfaa8107650e (patch)
treed3475ab1d6bd6675a0975dfa6059602be057f0d5 /macros
parent44fde4a143b75ae4f383b05832343d497c254989 (diff)
CTAN sync 202006040302
Diffstat (limited to 'macros')
-rw-r--r--macros/latex/contrib/l3backend/CHANGELOG.md10
-rw-r--r--macros/latex/contrib/l3backend/README.md2
-rw-r--r--macros/latex/contrib/l3backend/l3backend-basics.dtx12
-rw-r--r--macros/latex/contrib/l3backend/l3backend-box.dtx2
-rw-r--r--macros/latex/contrib/l3backend/l3backend-code.pdfbin743243 -> 0 bytes
-rw-r--r--macros/latex/contrib/l3backend/l3backend-color.dtx52
-rw-r--r--macros/latex/contrib/l3backend/l3backend-draw.dtx2
-rw-r--r--macros/latex/contrib/l3backend/l3backend-graphics.dtx10
-rw-r--r--macros/latex/contrib/l3backend/l3backend-header.dtx2
-rw-r--r--macros/latex/contrib/l3backend/l3backend-pdf.dtx25
-rw-r--r--macros/latex/contrib/l3experimental/CHANGELOG.md9
-rw-r--r--macros/latex/contrib/l3experimental/README.md2
-rw-r--r--macros/latex/contrib/l3experimental/l3benchmark.dtx4
-rw-r--r--macros/latex/contrib/l3experimental/l3benchmark.pdfbin314627 -> 314256 bytes
-rw-r--r--macros/latex/contrib/l3experimental/l3cctab.dtx37
-rw-r--r--macros/latex/contrib/l3experimental/l3cctab.pdfbin337933 -> 358345 bytes
-rw-r--r--macros/latex/contrib/l3experimental/l3color.dtx130
-rw-r--r--macros/latex/contrib/l3experimental/l3color.pdfbin350289 -> 353218 bytes
-rw-r--r--macros/latex/contrib/l3experimental/l3draw-boxes.dtx2
-rw-r--r--macros/latex/contrib/l3experimental/l3draw-code.pdfbin625771 -> 625435 bytes
-rw-r--r--macros/latex/contrib/l3experimental/l3draw-layers.dtx2
-rw-r--r--macros/latex/contrib/l3experimental/l3draw-paths.dtx2
-rw-r--r--macros/latex/contrib/l3experimental/l3draw-points.dtx2
-rw-r--r--macros/latex/contrib/l3experimental/l3draw-scopes.dtx2
-rw-r--r--macros/latex/contrib/l3experimental/l3draw-softpath.dtx2
-rw-r--r--macros/latex/contrib/l3experimental/l3draw-state.dtx2
-rw-r--r--macros/latex/contrib/l3experimental/l3draw-transforms.dtx2
-rw-r--r--macros/latex/contrib/l3experimental/l3draw.dtx4
-rw-r--r--macros/latex/contrib/l3experimental/l3draw.pdfbin491703 -> 491347 bytes
-rw-r--r--macros/latex/contrib/l3experimental/l3galley.dtx4
-rw-r--r--macros/latex/contrib/l3experimental/l3galley.pdfbin386128 -> 385746 bytes
-rw-r--r--macros/latex/contrib/l3experimental/l3graphics.dtx4
-rw-r--r--macros/latex/contrib/l3experimental/l3graphics.pdfbin363473 -> 363101 bytes
-rw-r--r--macros/latex/contrib/l3experimental/l3pdf-code.pdfbin278894 -> 278441 bytes
-rw-r--r--macros/latex/contrib/l3experimental/l3pdf.dtx4
-rw-r--r--macros/latex/contrib/l3experimental/l3pdf.pdfbin351156 -> 350783 bytes
-rw-r--r--macros/latex/contrib/l3experimental/l3str-format.dtx4
-rw-r--r--macros/latex/contrib/l3experimental/l3str-format.pdfbin345275 -> 344892 bytes
-rw-r--r--macros/latex/contrib/l3experimental/l3sys-shell.dtx4
-rw-r--r--macros/latex/contrib/l3experimental/l3sys-shell.pdfbin312114 -> 311722 bytes
-rw-r--r--macros/latex/contrib/l3experimental/xcoffins.dtx4
-rw-r--r--macros/latex/contrib/l3experimental/xcoffins.pdfbin373261 -> 372892 bytes
-rw-r--r--macros/latex/contrib/l3experimental/xgalley.dtx4
-rw-r--r--macros/latex/contrib/l3experimental/xgalley.pdfbin286048 -> 285677 bytes
-rw-r--r--macros/latex/contrib/l3kernel/CHANGELOG.md8
-rw-r--r--macros/latex/contrib/l3kernel/README.md2
-rw-r--r--macros/latex/contrib/l3kernel/expl3.dtx11
-rw-r--r--macros/latex/contrib/l3kernel/expl3.pdfbin584791 -> 584997 bytes
-rw-r--r--macros/latex/contrib/l3kernel/interface3.pdfbin1544412 -> 1546695 bytes
-rw-r--r--macros/latex/contrib/l3kernel/interface3.tex2
-rw-r--r--macros/latex/contrib/l3kernel/l3alloc.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3basics.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3bootstrap.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3box.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3candidates.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3clist.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3coffins.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3color-base.dtx15
-rw-r--r--macros/latex/contrib/l3kernel/l3debug.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3deprecation.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3doc.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3docstrip.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3docstrip.pdfbin263380 -> 263284 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3expan.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3file.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3final.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3flag.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp-assign.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp-aux.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp-basics.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp-convert.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp-expo.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp-extended.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp-logic.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp-parse.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp-random.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp-round.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp-traps.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp-trig.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fparray.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3int.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3intarray.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3kernel-functions.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3keys.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3legacy.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3luatex.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3msg.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3names.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3news.pdfbin384379 -> 379248 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news01.pdfbin113548 -> 113529 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news02.pdfbin140795 -> 140776 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news03.pdfbin144801 -> 144784 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news04.pdfbin107135 -> 107117 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news05.pdfbin105108 -> 105090 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news06.pdfbin140817 -> 140797 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news07.pdfbin119111 -> 119092 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news08.pdfbin152430 -> 152413 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news09.pdfbin235343 -> 235323 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news10.pdfbin147116 -> 147096 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news11.pdfbin165975 -> 165956 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news12.pdfbin199172 -> 199153 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3prefixes.csv10
-rw-r--r--macros/latex/contrib/l3kernel/l3prefixes.pdfbin75465 -> 75645 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3prg.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3prop.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3quark.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3regex.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3seq.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3skip.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3sort.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3str-convert.dtx134
-rw-r--r--macros/latex/contrib/l3kernel/l3str.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3styleguide.pdfbin280126 -> 280028 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3styleguide.tex2
-rw-r--r--macros/latex/contrib/l3kernel/l3syntax-changes.pdfbin228422 -> 228323 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3syntax-changes.tex2
-rw-r--r--macros/latex/contrib/l3kernel/l3sys.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3term-glossary.pdfbin186637 -> 186544 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3term-glossary.tex2
-rw-r--r--macros/latex/contrib/l3kernel/l3text-case.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3text-purify.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3text.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3tl-analysis.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3tl.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3token.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3unicode.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/source3.pdfbin5901010 -> 5902693 bytes
-rw-r--r--macros/latex/contrib/l3kernel/source3.tex2
-rw-r--r--macros/latex/contrib/lion-msc/4photon.bib3
-rw-r--r--macros/latex/contrib/lion-msc/LICENSE674
-rw-r--r--macros/latex/contrib/lion-msc/README.md2
-rw-r--r--macros/latex/contrib/lion-msc/lion-msc.cls8
-rw-r--r--macros/latex/contrib/lion-msc/lion-msc.pdfbin875818 -> 896029 bytes
-rw-r--r--macros/latex/contrib/lion-msc/lion-msc.tex2
-rw-r--r--macros/latex/contrib/lwarp/README.txt2
-rw-r--r--macros/latex/contrib/lwarp/lwarp.dtx1381
-rw-r--r--macros/latex/contrib/lwarp/lwarp.ins6
-rw-r--r--macros/latex/contrib/lwarp/lwarp.pdfbin2723559 -> 2723100 bytes
-rwxr-xr-xmacros/latex/contrib/lwarp/lwarpmk.lua2
140 files changed, 1067 insertions, 1656 deletions
diff --git a/macros/latex/contrib/l3backend/CHANGELOG.md b/macros/latex/contrib/l3backend/CHANGELOG.md
index ffd7ae74c0..4a6efebd0a 100644
--- a/macros/latex/contrib/l3backend/CHANGELOG.md
+++ b/macros/latex/contrib/l3backend/CHANGELOG.md
@@ -6,6 +6,13 @@ this project uses date-based 'snapshot' version identifiers.
## [Unreleased]
+## [2020-06-03]
+
+### Fixed
+- Unneeded `[nobreak]` in `dvips` driver (issue #709)
+- `\__pdf_backend_object_write_fstream:nn` with `dvips` backend (issue #710)
+- Array writing in `dvips` mode
+
## [2020-05-05]
### Added
@@ -69,7 +76,8 @@ this project uses date-based 'snapshot' version identifiers.
- Include `l3backend` in file names
- Moved backend code to internal for each 'parent' module
-[Unreleased]: https://github.com/latex3/latex3/compare/2020-05-05...HEAD
+[Unreleased]: https://github.com/latex3/latex3/compare/2020-06-03...HEAD
+[2020-06-03]: https://github.com/latex3/latex3/compare/2020-05-05...2020-06-03
[2020-05-05]: https://github.com/latex3/latex3/compare/2020-03-12...2020-05-05
[2020-03-12]: https://github.com/latex3/latex3/compare/2020-02-23...2020-03-12
[2020-02-23]: https://github.com/latex3/latex3/compare/2020-02-21...2020-02-23
diff --git a/macros/latex/contrib/l3backend/README.md b/macros/latex/contrib/l3backend/README.md
index 8871160d12..f03026a6b9 100644
--- a/macros/latex/contrib/l3backend/README.md
+++ b/macros/latex/contrib/l3backend/README.md
@@ -1,7 +1,7 @@
LaTeX3 Backend Drivers
======================
-Release 2020-05-05
+Release 2020-06-03
This package forms parts of `expl3`, and contains the code used to interface
with backends (drivers) across the `expl3` codebase. The functions here are
diff --git a/macros/latex/contrib/l3backend/l3backend-basics.dtx b/macros/latex/contrib/l3backend/l3backend-basics.dtx
index 71085fb1ba..26c516150a 100644
--- a/macros/latex/contrib/l3backend/l3backend-basics.dtx
+++ b/macros/latex/contrib/l3backend/l3backend-basics.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-05-05}
+% \date{Released 2020-06-03}
%
% \maketitle
%
@@ -71,23 +71,23 @@
%<*package>
\ProvidesExplFile
%<*dvipdfmx>
- {l3backend-dvipdfmx.def}{2020-05-05}{}
+ {l3backend-dvipdfmx.def}{2020-06-03}{}
{L3 backend support: dvipdfmx}
%</dvipdfmx>
%<*dvips>
- {l3backend-dvips.def}{2020-05-05}{}
+ {l3backend-dvips.def}{2020-06-03}{}
{L3 backend support: dvips}
%</dvips>
%<*dvisvgm>
- {l3backend-dvisvgm.def}{2020-05-05}{}
+ {l3backend-dvisvgm.def}{2020-06-03}{}
{L3 backend support: dvisvgm}
%</dvisvgm>
%<*pdfmode>
- {l3backend-pdfmode.def}{2020-05-05}{}
+ {l3backend-pdfmode.def}{2020-06-03}{}
{L3 backend support: PDF mode}
%</pdfmode>
%<*xdvipdfmx>
- {l3backend-xdvipdfmx.def}{2020-05-05}{}
+ {l3backend-xdvipdfmx.def}{2020-06-03}{}
{L3 backend support: xdvipdfmx}
%</xdvipdfmx>
%</package>
diff --git a/macros/latex/contrib/l3backend/l3backend-box.dtx b/macros/latex/contrib/l3backend/l3backend-box.dtx
index 5544192ea6..323756837e 100644
--- a/macros/latex/contrib/l3backend/l3backend-box.dtx
+++ b/macros/latex/contrib/l3backend/l3backend-box.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-05-05}
+% \date{Released 2020-06-03}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3backend/l3backend-code.pdf b/macros/latex/contrib/l3backend/l3backend-code.pdf
deleted file mode 100644
index 890efdb4d2..0000000000
--- a/macros/latex/contrib/l3backend/l3backend-code.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/l3backend/l3backend-color.dtx b/macros/latex/contrib/l3backend/l3backend-color.dtx
index faadeb83ad..2b3e4d3708 100644
--- a/macros/latex/contrib/l3backend/l3backend-color.dtx
+++ b/macros/latex/contrib/l3backend/l3backend-color.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-05-05}
+% \date{Released 2020-06-03}
%
% \maketitle
%
@@ -98,10 +98,10 @@
}
{
\exp_last_unbraced:Nx \@@_backend_pickup:w
- { \current@color } \q_stop #1
+ { \current@color } \s_@@_stop #1
}
}
- \cs_new_protected:Npn \@@_backend_pickup:w #1 ~ #2 \q_stop #3
+ \cs_new_protected:Npn \@@_backend_pickup:w #1 ~ #2 \s_@@_stop #3
{ \tl_set:Nn #3 { #1 ~ #2 } }
}
}
@@ -110,17 +110,17 @@
% \end{macro}
% \end{macro}
%
-% \begin{macro}{\@@_backend_cmyk:nnnn}
-% \begin{macro}{\@@_backend_gray:n}
-% \begin{macro}{\@@_backend_rgb:nnn}
-% \begin{macro}{\@@_backend_spot:nn}
+% \begin{macro}{\@@_backend_cmyk:w}
+% \begin{macro}{\@@_backend_gray:w}
+% \begin{macro}{\@@_backend_rgb:w}
+% \begin{macro}{\@@_backend_spot:w}
% \begin{macro}{\@@_backend_select:n, \@@_backend_select:x}
% \begin{macro}{\@@_backend_reset:}
% \begin{macro}{color.fc}
% Push the data to the stack. In the case of \texttt{dvips} also reset the
% drawing fill color in raw PostScript.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_backend_cmyk:nnnn #1#2#3#4
+\cs_new_protected:Npn \@@_backend_cmyk:w #1 ~ #2 ~ #3 ~ #4 \s_@@_stop
{
\@@_backend_select:x
{
@@ -129,14 +129,14 @@
\fp_eval:n {#3} ~ \fp_eval:n {#4}
}
}
-\cs_new_protected:Npn \@@_backend_gray:n #1
+\cs_new_protected:Npn \@@_backend_gray:w #1 \s_@@_stop
{ \@@_backend_select:x { gray~ \fp_eval:n {#1} } }
-\cs_new_protected:Npn \@@_backend_rgb:nnn #1#2#3
+\cs_new_protected:Npn \@@_backend_rgb:w #1 ~ #2 ~ #3 \s_@@_stop
{
\@@_backend_select:x
{ rgb~ \fp_eval:n {#1} ~ \fp_eval:n {#2} ~ \fp_eval:n {#3} }
}
-\cs_new_protected:Npn \@@_backend_spot:nn #1#2
+\cs_new_protected:Npn \@@_backend_spot:w #1 ~ #2 \s_@@_stop
{ \@@_backend_select:n { #1 } }
\cs_new_protected:Npn \@@_backend_select:n #1
{
@@ -186,10 +186,10 @@
\cs_set_protected:Npn \@@_backend_pickup:N #1
{
\exp_last_unbraced:Nx \@@_backend_pickup:w
- { \current@color } ~ 0 ~ 0 ~ 0 \q_stop #1
+ { \current@color } ~ 0 ~ 0 ~ 0 \s_@@_stop #1
}
\cs_new_protected:Npn \@@_backend_pickup:w
- #1 ~ #2 ~ #3 ~ #4 ~ #5 ~ #6 \q_stop #7
+ #1 ~ #2 ~ #3 ~ #4 ~ #5 ~ #6 \s_@@_stop #7
{
\str_if_eq:nnTF {#2} { g }
{ \tl_set:Nn #7 { gray ~ #1 } }
@@ -226,47 +226,47 @@
% \end{macrocode}
% \end{variable}
%
-% \begin{macro}{\@@_backend_cmyk:nnnn, \@@_backend_cmyk_aux:nnnn}
-% \begin{macro}{\@@_backend_gray:n, \@@_backend_gray_aux:n}
-% \begin{macro}{\@@_backend_rgb:nnn, \@@_backend_rgb_aux:nnn}
-% \begin{macro}{\@@_backend_spot:nn}
+% \begin{macro}{\@@_backend_cmyk:w, \@@_backend_cmyk:nnnn}
+% \begin{macro}{\@@_backend_gray:w, \@@_backend_gray:n}
+% \begin{macro}{\@@_backend_rgb:w, \@@_backend_rgb:nnn}
+% \begin{macro}{\@@_backend_spot:w}
% \begin{macro}{\@@_backend_select:n, \@@_backend_select:x}
% \begin{macro}{\@@_backend_reset:}
% Simply dump the data, but allowing for \LuaTeX{}.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_backend_cmyk:nnnn #1#2#3#4
+\cs_new_protected:Npn \@@_backend_cmyk:w #1 ~ #2 ~ #3 ~ #4 \s_@@_stop
{
\use:x
{
- \@@_backend_cmyk_aux:nnnn
+ \@@_backend_cmyk:nnnn
{ \fp_eval:n {#1} }
{ \fp_eval:n {#2} }
{ \fp_eval:n {#3} }
{ \fp_eval:n {#4} }
}
}
-\cs_new_protected:Npn \@@_backend_cmyk_aux:nnnn #1#2#3#4
+\cs_new_protected:Npn \@@_backend_cmyk:nnnn #1#2#3#4
{
\@@_backend_select:n
{ #1 ~ #2 ~ #3 ~ #4 ~ k ~ #1 ~ #2 ~ #3 ~ #4 ~ K }
}
+\cs_new_protected:Npn \@@_backend_gray:w #1 \s_@@_stop
+ { \exp_args:Nx \@@_backend_gray:n { \fp_eval:n {#1} } }
\cs_new_protected:Npn \@@_backend_gray:n #1
- { \exp_args:Nx \@@_backend_gray_aux:n { \fp_eval:n {#1} } }
-\cs_new_protected:Npn \@@_backend_gray_aux:n #1
{ \@@_backend_select:n { #1 ~ g ~ #1 ~ G } }
-\cs_new_protected:Npn \@@_backend_rgb:nnn #1#2#3
+\cs_new_protected:Npn \@@_backend_rgb:w #1~ #2 ~ #3 \s_@@_stop
{
\use:x
{
- \@@_backend_rgb_aux:nnn
+ \@@_backend_rgb:nnn
{ \fp_eval:n {#1} }
{ \fp_eval:n {#2} }
{ \fp_eval:n {#3} }
}
}
-\cs_new_protected:Npn \@@_backend_rgb_aux:nnn #1#2#3
+\cs_new_protected:Npn \@@_backend_rgb:nnn #1#2#3
{ \@@_backend_select:n { #1 ~ #2 ~ #3 ~ rg ~ #1 ~ #2 ~ #3 ~ RG } }
-\cs_new_protected:Npn \@@_backend_spot:nn #1#2
+\cs_new_protected:Npn \@@_backend_spot:w #1 ~ #2 \s_@@_stop
{ \@@_backend_select:n { /#1 ~ cs ~ /#1 ~ CS ~ #2 ~ sc ~ #2 ~ SC } }
\cs_new_protected:Npx \@@_backend_select:n #1
{
diff --git a/macros/latex/contrib/l3backend/l3backend-draw.dtx b/macros/latex/contrib/l3backend/l3backend-draw.dtx
index f1d83363db..6b235e4faa 100644
--- a/macros/latex/contrib/l3backend/l3backend-draw.dtx
+++ b/macros/latex/contrib/l3backend/l3backend-draw.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-05-05}
+% \date{Released 2020-06-03}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3backend/l3backend-graphics.dtx b/macros/latex/contrib/l3backend/l3backend-graphics.dtx
index f986a2d1a7..dd19bba9a1 100644
--- a/macros/latex/contrib/l3backend/l3backend-graphics.dtx
+++ b/macros/latex/contrib/l3backend/l3backend-graphics.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-05-05}
+% \date{Released 2020-06-03}
%
% \maketitle
%
@@ -536,12 +536,12 @@
\cs_new_protected:Npn \@@_backend_include_pdf:n #1
{
\tex_XeTeXpdffile:D
- \@@_backend_include_pdf_quote:w #1 "#1" \q_stop \c_space_tl
+ \@@_backend_include_pdf_quote:w #1 "#1" \s_@@_stop \c_space_tl
\int_compare:nNnT \l_graphics_page_int > 0
{ page ~ \int_use:N \l_graphics_page_int \c_space_tl }
\exp_after:wN \@@_backend_getbb_pagebox:w \l_graphics_pagebox_tl
}
-\cs_new:Npn \@@_backend_include_pdf_quote:w #1 " #2 " #3 \q_stop
+\cs_new:Npn \@@_backend_include_pdf_quote:w #1 " #2 " #3 \s_@@_stop
{ " #2 " }
% \end{macrocode}
% \end{macro}
@@ -635,11 +635,11 @@
dvisvgm:img~
\dim_to_decimal:n { \l_graphics_ury_dim } ~
\dim_to_decimal:n { \l_graphics_ury_dim } ~
- \@@_backend_include_bitmap_quote:w #1 " #1 " \q_stop
+ \@@_backend_include_bitmap_quote:w #1 " #1 " \s_@@_stop
}
}
\cs_new_eq:NN \@@_backend_include_jpg:n \@@_backend_include_png:n
-\cs_new:Npn \@@_backend_include_bitmap_quote:w #1 " #2 " #3 \q_stop
+\cs_new:Npn \@@_backend_include_bitmap_quote:w #1 " #2 " #3 \s_@@_stop
{ " #2 " }
% \end{macrocode}
% \end{macro}
diff --git a/macros/latex/contrib/l3backend/l3backend-header.dtx b/macros/latex/contrib/l3backend/l3backend-header.dtx
index b3c7f0527e..955f8a3b14 100644
--- a/macros/latex/contrib/l3backend/l3backend-header.dtx
+++ b/macros/latex/contrib/l3backend/l3backend-header.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-05-05}
+% \date{Released 2020-06-03}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3backend/l3backend-pdf.dtx b/macros/latex/contrib/l3backend/l3backend-pdf.dtx
index 95d1cc6530..5382b4a92c 100644
--- a/macros/latex/contrib/l3backend/l3backend-pdf.dtx
+++ b/macros/latex/contrib/l3backend/l3backend-pdf.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-05-05}
+% \date{Released 2020-06-03}
%
% \maketitle
%
@@ -134,8 +134,9 @@
% \begin{macro}{\@@_backend_object_write:nn, \@@_backend_object_write:nx}
% \begin{macro}
% {
-% \@@_backend_object_write_array:nn ,
-% \@@_backend_object_write_dict:nn ,
+% \@@_backend_object_write_array:nn ,
+% \@@_backend_object_write_dict:nn ,
+% \@@_backend_object_write_fstream:nn ,
% \@@_backend_object_write_stream:nn
% }
% \begin{macro}{\@@_backend_object_write_stream:nnn}
@@ -166,13 +167,28 @@
\cs_new_protected:Npn \@@_backend_object_write_array:nn #1#2
{
\@@_backend_pdfmark:x
- { #1 [ ~ \exp_not:n {#2} ~ ] ~ /PUTINTERVAL }
+ { #1 ~0~ [ ~ \exp_not:n {#2} ~ ] ~ /PUTINTERVAL }
}
\cs_new_protected:Npn \@@_backend_object_write_dict:nn #1#2
{
\@@_backend_pdfmark:x
{ #1 << \exp_not:n {#2} >> /PUT }
}
+\cs_new_protected:Npn \@@_backend_object_write_fstream:nn #1#2
+ {
+ \exp_args:Nx
+ \@@_backend_object_write_fstream:nnn {#1} #2
+ }
+\cs_new_protected:Npn \@@_backend_object_write_fstream:nnn #1#2#3
+ {
+ \__kernel_backend_postscript:n
+ {
+ SDict ~ begin ~
+ mark ~ #1 ~ << #2 >> /PUT ~ pdfmark ~
+ mark ~ #1 ~ ( #3 )~ ( r )~ file ~ /PUT ~ pdfmark ~
+ end
+ }
+ }
\cs_new_protected:Npn \@@_backend_object_write_stream:nn #1#2
{
\exp_args:Nx
@@ -182,7 +198,6 @@
{
\__kernel_backend_postscript:n
{
- [nobreak]
mark ~ #1 ~ ( #3 ) /PUT ~ pdfmark ~
mark ~ #1 ~ << #2 >> /PUT ~ pdfmark
}
diff --git a/macros/latex/contrib/l3experimental/CHANGELOG.md b/macros/latex/contrib/l3experimental/CHANGELOG.md
index f457a0069d..8cf1b5f051 100644
--- a/macros/latex/contrib/l3experimental/CHANGELOG.md
+++ b/macros/latex/contrib/l3experimental/CHANGELOG.md
@@ -7,6 +7,12 @@ this project uses date-based 'snapshot' version identifiers.
## [Unreleased]
+## [2020-06-03]
+
+### Added
+- `\cctab_select:N`
+- Support for `Hsb`, `HSB`, `HTML` and `RGB` color models
+
## [2020-05-18]
### Added
@@ -127,7 +133,8 @@ this project uses date-based 'snapshot' version identifiers.
- New `l3color` module using `xcolor`-like expression syntax
- New `l3draw` module, based on `pgf` layer of the TikZ system
-[Unreleased]: https://github.com/latex3/latex3/compare/2020-05-18...HEAD
+[Unreleased]: https://github.com/latex3/latex3/compare/2020-06-03...HEAD
+[2020-06-03]: https://github.com/latex3/latex3/compare/2020-05-18...2020-06-03
[2020-05-18]: https://github.com/latex3/latex3/compare/2020-01-12...2020-05-18
[2020-01-12]: https://github.com/latex3/latex3/compare/2019-10-11...2020-01-12
[2019-10-11]: https://github.com/latex3/latex3/compare/2019-09-28...2019-10-11
diff --git a/macros/latex/contrib/l3experimental/README.md b/macros/latex/contrib/l3experimental/README.md
index fd1dc7c09e..8685228cdd 100644
--- a/macros/latex/contrib/l3experimental/README.md
+++ b/macros/latex/contrib/l3experimental/README.md
@@ -1,7 +1,7 @@
Experimental LaTeX3 Concepts
============================
-Release 2020-05-18
+Release 2020-06-03
Overview
--------
diff --git a/macros/latex/contrib/l3experimental/l3benchmark.dtx b/macros/latex/contrib/l3experimental/l3benchmark.dtx
index 9794e24e5f..2589bb9c6c 100644
--- a/macros/latex/contrib/l3experimental/l3benchmark.dtx
+++ b/macros/latex/contrib/l3experimental/l3benchmark.dtx
@@ -46,7 +46,7 @@
% }^^A
% }
%
-% \date{Released 2020-05-18}
+% \date{Released 2020-06-03}
%
% \maketitle
%
@@ -130,7 +130,7 @@
%
% \begin{macrocode}
%<*package>
-\ProvidesExplPackage{l3benchmark}{2020-05-18}{}
+\ProvidesExplPackage{l3benchmark}{2020-06-03}{}
{L3 Experimental benchmarking}
%</package>
% \end{macrocode}
diff --git a/macros/latex/contrib/l3experimental/l3benchmark.pdf b/macros/latex/contrib/l3experimental/l3benchmark.pdf
index a63753aa45..72a9adab9b 100644
--- a/macros/latex/contrib/l3experimental/l3benchmark.pdf
+++ b/macros/latex/contrib/l3experimental/l3benchmark.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3experimental/l3cctab.dtx b/macros/latex/contrib/l3experimental/l3cctab.dtx
index 51bbf90bf0..4d758c1ad4 100644
--- a/macros/latex/contrib/l3experimental/l3cctab.dtx
+++ b/macros/latex/contrib/l3experimental/l3cctab.dtx
@@ -46,7 +46,7 @@
% }^^A
% }
%
-% \date{Released 2020-05-18}
+% \date{Released 2020-06-03}
%
% \maketitle
%
@@ -114,6 +114,14 @@
% the matching \cs{cctab_begin:N} was used.
% \end{function}
%
+% \begin{function}[added = 2020-05-19]{\cctab_select:N}
+% \begin{syntax}
+% \cs{cctab_select:N}\meta{category code table}
+% \end{syntax}
+% Selects the \meta{category code table} for the scope of the current
+% group.
+% \end{function}
+%
% \subsection{Category code table conditionals}
%
% \begin{function}[pTF]{\cctab_if_exist:N,\cctab_if_exist:c}
@@ -171,7 +179,7 @@
%
% \begin{macrocode}
%<*package>
-\ProvidesExplPackage{l3cctab}{2020-05-18}{}
+\ProvidesExplPackage{l3cctab}{2020-06-03}{}
{L3 Experimental category code tables}
%</package>
% \end{macrocode}
@@ -392,7 +400,7 @@
% \cs{cctab_end:}.
% \begin{macrocode}
\cs_new_protected:Npn \cctab_begin:N #1
- { \@@_chk_if_valid:NT #1 { \__cctab_begin:N #1 } }
+ { \@@_chk_if_valid:NT #1 { \@@_begin:N #1 } }
\cs_generate_variant:Nn \cctab_begin:N { c }
\cs_new_protected:Npn \cctab_end:
{
@@ -403,6 +411,29 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\cctab_select:N}
+% \begin{macro}{\@@_end_fast:}
+% Select a catcode table within a group.
+% \begin{macrocode}
+\cs_new_protected:Npn \cctab_select:N #1
+ {
+ \@@_chk_if_valid:NT #1
+ {
+ \@@_begin:N #1
+ \group_insert_after:N \@@_end_fast:
+ }
+ }
+\cs_generate_variant:Nn \cctab_select:N { c }
+\cs_new_protected:Npx \@@_end_fast:
+ {
+ \int_gsub:Nn \exp_not:N \g_@@_stack_int { 2 }
+ \sys_if_engine_luatex:T
+ { \seq_gpop:NN \exp_not:N \g_@@_stack_seq \exp_not:N \l_@@_tmp_tl }
+ }
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
% \begin{macro}{\cctab_if_exist:N,\cctab_if_exist:c}
% Checks whether a \meta{cctab~var} is defined.
% \begin{macrocode}
diff --git a/macros/latex/contrib/l3experimental/l3cctab.pdf b/macros/latex/contrib/l3experimental/l3cctab.pdf
index ecdbbe7152..e9dee31807 100644
--- a/macros/latex/contrib/l3experimental/l3cctab.pdf
+++ b/macros/latex/contrib/l3experimental/l3cctab.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3experimental/l3color.dtx b/macros/latex/contrib/l3experimental/l3color.dtx
index 9438e8110f..c7addda60b 100644
--- a/macros/latex/contrib/l3experimental/l3color.dtx
+++ b/macros/latex/contrib/l3experimental/l3color.dtx
@@ -46,7 +46,7 @@
% }^^A
% }
%
-% \date{Released 2020-05-18}
+% \date{Released 2020-06-03}
%
% \maketitle
%
@@ -61,7 +61,9 @@
% space. In contrast, various proprietary models are available which define
% \emph{spot} colors.
%
-% The models supported here are
+% Core models are used to pass color information to output; these are
+% \enquote{native} to \pkg{l3color}. Core models use real numbers in the range
+% $[0,1]$ to represent values. The core models supported here are
% \begin{itemize}
% \item \texttt{gray} Grayscale color, with a single axis running from
% $0$ (fully black) to $1$ (fully white)
@@ -73,7 +75,24 @@
% (see \url{https://helpx.adobe.com/indesign/using/spot-process-colors.html}
% for details of the use of spot colors in print)
% \end{itemize}
-%
+% There are also interface models: these are convenient for users but have
+% to be manipulated before storing/passing to the backend. Interface models
+% are primarily integer-based: see below for more detail. The supported
+% interface models are
+% \begin{itemize}
+% \item \texttt{Hsb} Hue-saturation-brightness color, with three axes, integer
+% in the range $[0,360]$ for hue, real values in the range $[0,1]$ for
+% saturation and brightness
+% \item \texttt{HSB} Hue-saturation-brightness color, with three axes, integer
+% in the range $[0,360]$ for hue, integer values in the range $[0,255]$ for
+% saturation and brightness
+% \item \texttt{HTML} HTML format representation of RGB color given as a
+% single six-digit hexadecimal number
+% \item \texttt{RGB} Red-green-blue color, with three axes, one for each of
+% the components, values as integers from $0$ to $255$
+% \end{itemize}
+% All interface models are internally stored as |rgb|.
+%
% Additional models may be created to allow mixing of spot colors
% with each other or with those from other models. See
% Section~\ref{l3color:sec:spot} for more detail of spot color support.
@@ -267,7 +286,7 @@
%
% \begin{macrocode}
%<*package>
-\ProvidesExplPackage{l3color}{2020-05-18}{}
+\ProvidesExplPackage{l3color}{2020-06-03}{}
{L3 Experimental color support}
%</package>
% \end{macrocode}
@@ -643,22 +662,28 @@
% \begin{macro}[EXP]{\@@_parse_spot_aux:w}
% Turn the input into internal form, also tidying up the number quickly.
% \begin{macrocode}
-\cs_new:Npn \@@_parse_model_gray:w #1 , #2 \s_@@_stop { \@@_parse_number:n {#1} }
+\cs_new:Npn \@@_parse_model_gray:w #1 , #2 \s_@@_stop
+ { gray ~ \@@_parse_number:n {#1} }
\cs_new:Npn \@@_parse_model_rgb:w #1 , #2 , #3 , #4 \s_@@_stop
{
+ rgb ~
\@@_parse_number:n {#1} ~
\@@_parse_number:n {#2} ~
\@@_parse_number:n {#3}
}
\cs_new:Npn \@@_parse_model_cmyk:w #1 , #2 , #3 , #4 , #5 \s_@@_stop
{
+ cmyk ~
\@@_parse_number:n {#1} ~
\@@_parse_number:n {#2} ~
\@@_parse_number:n {#3} ~
\@@_parse_number:n {#4}
}
\cs_new:Npn \@@_parse_model_spot:w #1 , #2 \s_@@_stop
- { \@@_parse_spot_aux:w #1 ! 100 ! \s_@@_stop }
+ {
+ spot ~
+ \@@_parse_spot_aux:w #1 ! 100 ! \s_@@_stop
+ }
\cs_new:Npn \@@_parse_spot_aux:w #1 ! #2 ! #3 \s_@@_stop
{ #1 ~ \fp_eval:n { #2 / 100 } }
\cs_new:Npn \@@_parse_number:n #1
@@ -671,6 +696,83 @@
% \end{macro}
% \end{macro}
%
+% \begin{macro}[EXP]
+% {
+% \@@_parse_model_Hsb:w, \@@_parse_model_HSB:w,
+% \@@_parse_model_HTML:w, \@@_parse_model_RGB:w
+% }
+% \begin{macrocode}
+\cs_new:Npn \@@_parse_model_Hsb:w #1 , #2 , #3 , #4 \s_@@_stop
+ {
+ \exp_args:Ne \@@_parse_model_hsb:nnn { \fp_eval:n { #1 / 360 } }
+ {#2} {#3}
+ }
+% \end{macrocode}
+% The conversion here is non-trivial but is described at length
+% in the \pkg{xcolor} manual. For ease, we calculate the integer
+% and fractional parts of the hue first, then use them to work out the
+% possible values for $r$, $g$ and $b$ before putting them in the correct
+% places.
+% \begin{macrocode}
+\cs_new:Npn \@@_parse_model_hsb:nnn #1#2#3
+ {
+ rgb ~
+ \exp_args:Ne \@@_parse_model_hsb_aux:nnn
+ { \fp_eval:n { 6 * #1 } } {#2} {#3}
+ }
+\cs_new:Npn \@@_parse_model_hsb_aux:nnn #1#2#3
+ {
+ \exp_args:Nee \@@_parse_model_hsb_aux:nnnn
+ { \fp_eval:n { floor(#1) } } { \fp_eval:n { #1 - floor(#1) } }
+ {#2} {#3}
+ }
+\cs_new:Npn \@@_parse_model_hsb_aux:nnnn #1#2#3#4
+ {
+ \use:e
+ {
+ \exp_not:N \@@_parse_model_hsb_aux:nnnnn
+ { \@@_parse_number:n {#4} }
+ { \fp_eval:n { round(#4 * (1 - #3) ,5) } }
+ { \fp_eval:n { round(#4 * ( 1 - #3 * #2 ) ,5) } }
+ { \fp_eval:n { round(#4 * ( 1 - #3 * (1 - #2) ) ,5) } }
+ {#1}
+ }
+ }
+\cs_new:Npn \@@_parse_model_hsb_aux:nnnnn #1#2#3#4#5
+ { \use:c { @@_parse_model_hsb_ #5 :nnnn } {#1} {#2} {#3} {#4} }
+\cs_new:cpn { @@_parse_model_hsb_0:nnnn } #1#2#3#4 { #1 ~ #4 ~ #2 }
+\cs_new:cpn { @@_parse_model_hsb_1:nnnn } #1#2#3#4 { #3 ~ #1 ~ #2 }
+\cs_new:cpn { @@_parse_model_hsb_2:nnnn } #1#2#3#4 { #2 ~ #1 ~ #4 }
+\cs_new:cpn { @@_parse_model_hsb_3:nnnn } #1#2#3#4 { #2 ~ #3 ~ #1 }
+\cs_new:cpn { @@_parse_model_hsb_4:nnnn } #1#2#3#4 { #4 ~ #2 ~ #1 }
+\cs_new:cpn { @@_parse_model_hsb_5:nnnn } #1#2#3#4 { #1 ~ #2 ~ #3 }
+\cs_new:cpn { @@_parse_model_hsb_6:nnnn } #1#2#3#4 { #1 ~ #2 ~ #2 }
+\cs_new:Npn \@@_parse_model_HSB:w #1 , #2 , #3 , #4 \s_@@_stop
+ {
+ \exp_args:Neee \@@_parse_model_hsb:nnn
+ { \fp_eval:n {#1 / 360} }
+ { \fp_eval:n {#2 / 255} }
+ { \fp_eval:n {#3 / 255} }
+ }
+\cs_new:Npn \@@_parse_model_HTML:w #1 , #2 \s_@@_stop
+ { \@@_parse_model_HTML_aux:w #1 0 0 0 0 0 0 \s_@@_stop }
+\cs_new:Npn \@@_parse_model_HTML_aux:w #1#2#3#4#5#6#7 \s_@@_stop
+ {
+ rgb ~
+ \fp_eval:n { round(\int_from_hex:n {#1#2} / 255,5) } ~
+ \fp_eval:n { round(\int_from_hex:n {#3#4} / 255,5) } ~
+ \fp_eval:n { round(\int_from_hex:n {#5#6} / 255,5) }
+ }
+\cs_new:Npn \@@_parse_model_RGB:w #1 , #2 , #3 , #4 \s_@@_stop
+ {
+ rgb ~
+ \fp_eval:n { round(#1 / 255,5) } ~
+ \fp_eval:n { round(#2 / 255,5) } ~
+ \fp_eval:n { round(#3 / 255,5) }
+ }
+% \end{macrocode}
+% \end{macro}
+%
% \subsection{Selecting colors (and color models)}
%
% \begin{variable}{\l_color_fixed_model_tl}
@@ -750,11 +852,11 @@
\cs_if_exist:cTF { @@_parse_model_ #1 :w }
{
\tl_set:Nx #3
- { #1 ~ \use:c { @@_parse_model_ #1 :w } #2 , 0 , 0 , 0 , 0 \s_@@_stop }
+ { \use:c { @@_parse_model_ #1 :w } #2 , 0 , 0 , 0 , 0 \s_@@_stop }
\@@_check_model:N #3
}
{
- \__kernel_msg_error:nnn { color } { invalid-model } {#1}
+ \__kernel_msg_error:nnn { color } { unknown-model } {#1}
}
}
% \end{macrocode}
@@ -878,18 +980,18 @@
% \subsection{Messages}
%
% \begin{macrocode}
-\__kernel_msg_new:nnnn { color } { invalid-model }
- { Invalid~color~model~'#1'. }
- {
- LaTeX~has~been~asked~to~use~a~color~model~called~'#1',~
- but~this~model~is~not~set~up.
- }
\__kernel_msg_new:nnnn { color } { unknown-color }
{ Unknown~color~'#1'. }
{
LaTeX~has~been~asked~to~use~a~color~named~'#1',~
but~this~has~never~been~defined.
}
+\__kernel_msg_new:nnnn { color } { unknown-model }
+ { Unknown~color~model~'#1'. }
+ {
+ LaTeX~has~been~asked~to~use~a~color~model~called~'#1',~
+ but~this~model~is~not~set~up.
+ }
% \end{macrocode}
%
% \begin{macrocode}
diff --git a/macros/latex/contrib/l3experimental/l3color.pdf b/macros/latex/contrib/l3experimental/l3color.pdf
index cfffa89396..e0b2ff021e 100644
--- a/macros/latex/contrib/l3experimental/l3color.pdf
+++ b/macros/latex/contrib/l3experimental/l3color.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3experimental/l3draw-boxes.dtx b/macros/latex/contrib/l3experimental/l3draw-boxes.dtx
index b1c1b8f9bb..bca71310a1 100644
--- a/macros/latex/contrib/l3experimental/l3draw-boxes.dtx
+++ b/macros/latex/contrib/l3experimental/l3draw-boxes.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2020-05-18}
+% \date{Released 2020-06-03}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3experimental/l3draw-code.pdf b/macros/latex/contrib/l3experimental/l3draw-code.pdf
index 58ec9c8866..47c0c200a8 100644
--- a/macros/latex/contrib/l3experimental/l3draw-code.pdf
+++ b/macros/latex/contrib/l3experimental/l3draw-code.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3experimental/l3draw-layers.dtx b/macros/latex/contrib/l3experimental/l3draw-layers.dtx
index 1711561dc7..690d02578f 100644
--- a/macros/latex/contrib/l3experimental/l3draw-layers.dtx
+++ b/macros/latex/contrib/l3experimental/l3draw-layers.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2020-05-18}
+% \date{Released 2020-06-03}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3experimental/l3draw-paths.dtx b/macros/latex/contrib/l3experimental/l3draw-paths.dtx
index 1d79852ddc..a90ccb85d8 100644
--- a/macros/latex/contrib/l3experimental/l3draw-paths.dtx
+++ b/macros/latex/contrib/l3experimental/l3draw-paths.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2020-05-18}
+% \date{Released 2020-06-03}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3experimental/l3draw-points.dtx b/macros/latex/contrib/l3experimental/l3draw-points.dtx
index 6874d149ae..5e54f11a70 100644
--- a/macros/latex/contrib/l3experimental/l3draw-points.dtx
+++ b/macros/latex/contrib/l3experimental/l3draw-points.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2020-05-18}
+% \date{Released 2020-06-03}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3experimental/l3draw-scopes.dtx b/macros/latex/contrib/l3experimental/l3draw-scopes.dtx
index 1359254106..a33447016e 100644
--- a/macros/latex/contrib/l3experimental/l3draw-scopes.dtx
+++ b/macros/latex/contrib/l3experimental/l3draw-scopes.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2020-05-18}
+% \date{Released 2020-06-03}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3experimental/l3draw-softpath.dtx b/macros/latex/contrib/l3experimental/l3draw-softpath.dtx
index ca1f161df5..40823c2cf3 100644
--- a/macros/latex/contrib/l3experimental/l3draw-softpath.dtx
+++ b/macros/latex/contrib/l3experimental/l3draw-softpath.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2020-05-18}
+% \date{Released 2020-06-03}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3experimental/l3draw-state.dtx b/macros/latex/contrib/l3experimental/l3draw-state.dtx
index 74f4f6a072..42adda47ce 100644
--- a/macros/latex/contrib/l3experimental/l3draw-state.dtx
+++ b/macros/latex/contrib/l3experimental/l3draw-state.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2020-05-18}
+% \date{Released 2020-06-03}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3experimental/l3draw-transforms.dtx b/macros/latex/contrib/l3experimental/l3draw-transforms.dtx
index beb6582e0e..2b0ac7a84c 100644
--- a/macros/latex/contrib/l3experimental/l3draw-transforms.dtx
+++ b/macros/latex/contrib/l3experimental/l3draw-transforms.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2020-05-18}
+% \date{Released 2020-06-03}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3experimental/l3draw.dtx b/macros/latex/contrib/l3experimental/l3draw.dtx
index f485aa69a2..66b0074a87 100644
--- a/macros/latex/contrib/l3experimental/l3draw.dtx
+++ b/macros/latex/contrib/l3experimental/l3draw.dtx
@@ -110,7 +110,7 @@
% }^^A
% }
%
-% \date{Released 2020-05-18}
+% \date{Released 2020-06-03}
%
% \maketitle
%
@@ -1146,7 +1146,7 @@
%
% \begin{macrocode}
%<*package>
-\ProvidesExplPackage{l3draw}{2020-05-18}{}
+\ProvidesExplPackage{l3draw}{2020-06-03}{}
{L3 Experimental core drawing support}
%</package>
% \end{macrocode}
diff --git a/macros/latex/contrib/l3experimental/l3draw.pdf b/macros/latex/contrib/l3experimental/l3draw.pdf
index e68c0a0a77..dd2d618601 100644
--- a/macros/latex/contrib/l3experimental/l3draw.pdf
+++ b/macros/latex/contrib/l3experimental/l3draw.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3experimental/l3galley.dtx b/macros/latex/contrib/l3experimental/l3galley.dtx
index e8a59c0770..2ba61cdf1c 100644
--- a/macros/latex/contrib/l3experimental/l3galley.dtx
+++ b/macros/latex/contrib/l3experimental/l3galley.dtx
@@ -61,7 +61,7 @@
% }^^A
% }
%
-% \date{Released 2020-05-18}
+% \date{Released 2020-06-03}
%
% \maketitle
%
@@ -687,7 +687,7 @@
%
% \begin{macrocode}
%<*package>
-\ProvidesExplPackage{l3galley}{2020-05-18}{}
+\ProvidesExplPackage{l3galley}{2020-06-03}{}
{L3 Experimental galley code}
%</package>
% \end{macrocode}
diff --git a/macros/latex/contrib/l3experimental/l3galley.pdf b/macros/latex/contrib/l3experimental/l3galley.pdf
index 2c4091dce6..e8ab5d7646 100644
--- a/macros/latex/contrib/l3experimental/l3galley.pdf
+++ b/macros/latex/contrib/l3experimental/l3galley.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3experimental/l3graphics.dtx b/macros/latex/contrib/l3experimental/l3graphics.dtx
index 36a63818c1..92d93a4c97 100644
--- a/macros/latex/contrib/l3experimental/l3graphics.dtx
+++ b/macros/latex/contrib/l3experimental/l3graphics.dtx
@@ -46,7 +46,7 @@
% }^^A
% }
%
-% \date{Released 2020-05-18}
+% \date{Released 2020-06-03}
%
% \maketitle
%
@@ -241,7 +241,7 @@
%
% \begin{macrocode}
%<*package>
-\ProvidesExplPackage{l3graphics}{2020-05-18}{}
+\ProvidesExplPackage{l3graphics}{2020-06-03}{}
{L3 Experimental graphics inclusion support}
%</package>
% \end{macrocode}
diff --git a/macros/latex/contrib/l3experimental/l3graphics.pdf b/macros/latex/contrib/l3experimental/l3graphics.pdf
index 61d989c0ad..527b5d58a3 100644
--- a/macros/latex/contrib/l3experimental/l3graphics.pdf
+++ b/macros/latex/contrib/l3experimental/l3graphics.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3experimental/l3pdf-code.pdf b/macros/latex/contrib/l3experimental/l3pdf-code.pdf
index 33d08d4d7b..582ddc3f73 100644
--- a/macros/latex/contrib/l3experimental/l3pdf-code.pdf
+++ b/macros/latex/contrib/l3experimental/l3pdf-code.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3experimental/l3pdf.dtx b/macros/latex/contrib/l3experimental/l3pdf.dtx
index 2b9f2564e7..b444b49524 100644
--- a/macros/latex/contrib/l3experimental/l3pdf.dtx
+++ b/macros/latex/contrib/l3experimental/l3pdf.dtx
@@ -46,7 +46,7 @@
% }^^A
% }
%
-% \date{Released 2020-05-18}
+% \date{Released 2020-06-03}
%
% \maketitle
%
@@ -191,7 +191,7 @@
%
% \begin{macrocode}
%<*package>
-\ProvidesExplPackage{l3pdf}{2020-05-18}{}
+\ProvidesExplPackage{l3pdf}{2020-06-03}{}
{L3 Experimental core PDF support}
%</package>
% \end{macrocode}
diff --git a/macros/latex/contrib/l3experimental/l3pdf.pdf b/macros/latex/contrib/l3experimental/l3pdf.pdf
index 2afe2f9eed..3c59c400f0 100644
--- a/macros/latex/contrib/l3experimental/l3pdf.pdf
+++ b/macros/latex/contrib/l3experimental/l3pdf.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3experimental/l3str-format.dtx b/macros/latex/contrib/l3experimental/l3str-format.dtx
index 5cc7827af5..5bdde51191 100644
--- a/macros/latex/contrib/l3experimental/l3str-format.dtx
+++ b/macros/latex/contrib/l3experimental/l3str-format.dtx
@@ -48,7 +48,7 @@
% }^^A
% }
%
-% \date{Released 2020-05-18}
+% \date{Released 2020-06-03}
%
% \maketitle
%
@@ -167,7 +167,7 @@
%
% \begin{macrocode}
%<*package>
-\ProvidesExplPackage{l3str-format}{2020-05-18}{}
+\ProvidesExplPackage{l3str-format}{2020-06-03}{}
{L3 Experimental string formatting}
%</package>
% \end{macrocode}
diff --git a/macros/latex/contrib/l3experimental/l3str-format.pdf b/macros/latex/contrib/l3experimental/l3str-format.pdf
index dae19872df..916298e882 100644
--- a/macros/latex/contrib/l3experimental/l3str-format.pdf
+++ b/macros/latex/contrib/l3experimental/l3str-format.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3experimental/l3sys-shell.dtx b/macros/latex/contrib/l3experimental/l3sys-shell.dtx
index 52cfcd634a..6ed71eb1ba 100644
--- a/macros/latex/contrib/l3experimental/l3sys-shell.dtx
+++ b/macros/latex/contrib/l3experimental/l3sys-shell.dtx
@@ -46,7 +46,7 @@
% }^^A
% }
%
-% \date{Released 2020-05-18}
+% \date{Released 2020-06-03}
%
% \maketitle
%
@@ -136,7 +136,7 @@
%
% \begin{macrocode}
%<*package>
-\ProvidesExplPackage{l3sys-shell}{2020-05-18}{}
+\ProvidesExplPackage{l3sys-shell}{2020-06-03}{}
{L3 Experimental system shell functions}
%</package>
% \end{macrocode}
diff --git a/macros/latex/contrib/l3experimental/l3sys-shell.pdf b/macros/latex/contrib/l3experimental/l3sys-shell.pdf
index 68a82d4a4d..6f82415408 100644
--- a/macros/latex/contrib/l3experimental/l3sys-shell.pdf
+++ b/macros/latex/contrib/l3experimental/l3sys-shell.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3experimental/xcoffins.dtx b/macros/latex/contrib/l3experimental/xcoffins.dtx
index 6b1686b6cf..9b4f9a1250 100644
--- a/macros/latex/contrib/l3experimental/xcoffins.dtx
+++ b/macros/latex/contrib/l3experimental/xcoffins.dtx
@@ -56,7 +56,7 @@
% }^^A
% }
%
-% \date{Released 2020-05-18}
+% \date{Released 2020-06-03}
%
% \maketitle
%
@@ -675,7 +675,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{xcoffins}{2020-05-18}{}
+\ProvidesExplPackage{xcoffins}{2020-06-03}{}
{L3 Experimental design level coffins}
% \end{macrocode}
%
diff --git a/macros/latex/contrib/l3experimental/xcoffins.pdf b/macros/latex/contrib/l3experimental/xcoffins.pdf
index 289ba3c15e..3a81273337 100644
--- a/macros/latex/contrib/l3experimental/xcoffins.pdf
+++ b/macros/latex/contrib/l3experimental/xcoffins.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3experimental/xgalley.dtx b/macros/latex/contrib/l3experimental/xgalley.dtx
index 577ed6b90b..ce329cf360 100644
--- a/macros/latex/contrib/l3experimental/xgalley.dtx
+++ b/macros/latex/contrib/l3experimental/xgalley.dtx
@@ -47,7 +47,7 @@
% }^^A
% }
%
-% \date{Released 2020-05-18}
+% \date{Released 2020-06-03}
%
% \maketitle
%
@@ -734,7 +734,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{xgalley}{2020-05-18}{}
+\ProvidesExplPackage{xgalley}{2020-06-03}{}
{L3 Experimental galley}
\RequirePackage{xparse,xtemplate,l3galley}
% \end{macrocode}
diff --git a/macros/latex/contrib/l3experimental/xgalley.pdf b/macros/latex/contrib/l3experimental/xgalley.pdf
index 20cf474c39..f73c94d31a 100644
--- a/macros/latex/contrib/l3experimental/xgalley.pdf
+++ b/macros/latex/contrib/l3experimental/xgalley.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/CHANGELOG.md b/macros/latex/contrib/l3kernel/CHANGELOG.md
index 608fd1b57f..fce45da350 100644
--- a/macros/latex/contrib/l3kernel/CHANGELOG.md
+++ b/macros/latex/contrib/l3kernel/CHANGELOG.md
@@ -7,6 +7,11 @@ this project uses date-based 'snapshot' version identifiers.
## [Unreleased]
+## [2020-06-03]
+
+### Added
+- `\str_convert_pdfname:n`
+
## [2020-05-15]
### Changed
@@ -688,7 +693,8 @@ this project uses date-based 'snapshot' version identifiers.
- Step func­tions have been added for dim vari­ables,
e.g. `\dim_step_in­line:nnnn`
-[Unreleased]: https://github.com/latex3/latex3/compare/2020-05-15...HEAD
+[Unreleased]: https://github.com/latex3/latex3/compare/2020-06-03...HEAD
+[2020-06-03]: https://github.com/latex3/latex3/compare/2020-05-15...2020-06-03
[2020-05-15]: https://github.com/latex3/latex3/compare/2020-05-14...2020-05-15
[2020-05-14]: https://github.com/latex3/latex3/compare/2020-05-11...2020-05-14
[2020-05-11]: https://github.com/latex3/latex3/compare/2020-05-05...2020-05-11
diff --git a/macros/latex/contrib/l3kernel/README.md b/macros/latex/contrib/l3kernel/README.md
index 5681142aae..0ccf0dd7b7 100644
--- a/macros/latex/contrib/l3kernel/README.md
+++ b/macros/latex/contrib/l3kernel/README.md
@@ -1,7 +1,7 @@
LaTeX3 Programming Conventions
==============================
-Release 2020-05-15
+Release 2020-06-03
Overview
--------
diff --git a/macros/latex/contrib/l3kernel/expl3.dtx b/macros/latex/contrib/l3kernel/expl3.dtx
index 1abb69d728..e150269222 100644
--- a/macros/latex/contrib/l3kernel/expl3.dtx
+++ b/macros/latex/contrib/l3kernel/expl3.dtx
@@ -24,7 +24,7 @@
%
%<*driver|generic|package|2ekernel>
%</driver|generic|package|2ekernel>
-\def\ExplFileDate{2020-05-15}%
+\def\ExplFileDate{2020-06-03}%
%<*driver>
\documentclass[full]{l3doc}
\usepackage{graphicx}
@@ -51,7 +51,7 @@
% }^^A
% }
%
-% \date{Released 2020-05-15}
+% \date{Released 2020-06-03}
%
% \maketitle
%
@@ -365,6 +365,13 @@
% distinguish variables from functions in the source when the |@@|
% convention is used.
%
+% Please note that you have to use the \pkg{l3docstrip} and
+% \textbf{not} the \pkg{docstrip} program in your \texttt{.ins} files
+% to make this work---the original \LaTeXe{} \pkg{docstrip} doesn't
+% understand the \texttt{@@} and will just copy it into your code
+% unmodified!
+%
+%
% \subsubsection{Variables: declaration}
%
% In well-formed \pkg{expl3} code, variables should always be declared before
diff --git a/macros/latex/contrib/l3kernel/expl3.pdf b/macros/latex/contrib/l3kernel/expl3.pdf
index 9b4fe1854e..1fa7547ef7 100644
--- a/macros/latex/contrib/l3kernel/expl3.pdf
+++ b/macros/latex/contrib/l3kernel/expl3.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/interface3.pdf b/macros/latex/contrib/l3kernel/interface3.pdf
index b05f2e5d2d..f4469c5223 100644
--- a/macros/latex/contrib/l3kernel/interface3.pdf
+++ b/macros/latex/contrib/l3kernel/interface3.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/interface3.tex b/macros/latex/contrib/l3kernel/interface3.tex
index 9674e7eda2..82a9ce9aa6 100644
--- a/macros/latex/contrib/l3kernel/interface3.tex
+++ b/macros/latex/contrib/l3kernel/interface3.tex
@@ -54,7 +54,7 @@ for those people who are interested.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2020-05-15}
+\date{Released 2020-06-03}
\pagenumbering{roman}
\maketitle
diff --git a/macros/latex/contrib/l3kernel/l3alloc.dtx b/macros/latex/contrib/l3kernel/l3alloc.dtx
index 7d54407af6..9784c0abc8 100644
--- a/macros/latex/contrib/l3kernel/l3alloc.dtx
+++ b/macros/latex/contrib/l3kernel/l3alloc.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-05-15}
+% \date{Released 2020-06-03}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3basics.dtx b/macros/latex/contrib/l3kernel/l3basics.dtx
index 44085b9b53..3e56c6d86f 100644
--- a/macros/latex/contrib/l3kernel/l3basics.dtx
+++ b/macros/latex/contrib/l3kernel/l3basics.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-05-15}
+% \date{Released 2020-06-03}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3bootstrap.dtx b/macros/latex/contrib/l3kernel/l3bootstrap.dtx
index 6efb99a6cc..fe25ffaf7f 100644
--- a/macros/latex/contrib/l3kernel/l3bootstrap.dtx
+++ b/macros/latex/contrib/l3kernel/l3bootstrap.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-05-15}
+% \date{Released 2020-06-03}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3box.dtx b/macros/latex/contrib/l3kernel/l3box.dtx
index 8576615d6e..90c1265942 100644
--- a/macros/latex/contrib/l3kernel/l3box.dtx
+++ b/macros/latex/contrib/l3kernel/l3box.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-05-15}
+% \date{Released 2020-06-03}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3candidates.dtx b/macros/latex/contrib/l3kernel/l3candidates.dtx
index e5995e626c..5b9533868c 100644
--- a/macros/latex/contrib/l3kernel/l3candidates.dtx
+++ b/macros/latex/contrib/l3kernel/l3candidates.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2020-05-15}
+% \date{Released 2020-06-03}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3clist.dtx b/macros/latex/contrib/l3kernel/l3clist.dtx
index f05a10aa2b..1a71aaf93f 100644
--- a/macros/latex/contrib/l3kernel/l3clist.dtx
+++ b/macros/latex/contrib/l3kernel/l3clist.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2020-05-15}
+% \date{Released 2020-06-03}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3coffins.dtx b/macros/latex/contrib/l3kernel/l3coffins.dtx
index eda6dcbd21..5051cd7fd3 100644
--- a/macros/latex/contrib/l3kernel/l3coffins.dtx
+++ b/macros/latex/contrib/l3kernel/l3coffins.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-05-15}
+% \date{Released 2020-06-03}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3color-base.dtx b/macros/latex/contrib/l3kernel/l3color-base.dtx
index d44274517d..a042985a33 100644
--- a/macros/latex/contrib/l3kernel/l3color-base.dtx
+++ b/macros/latex/contrib/l3kernel/l3color-base.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-05-15}
+% \date{Released 2020-06-03}
%
% \maketitle
%
@@ -156,8 +156,6 @@
%
% \begin{macro}{\@@_select:n, \@@_select:V}
% \begin{macro}{\@@_select:w}
-% \begin{macro}
-% {\@@_select_cmyk:w, \@@_select_gray:w, \@@_select_rgb:w, \@@_select_spot:w}
% Take an internal color specification and pass it to the driver. This code
% is needed to ensure the current color but will also be used by the
% higher-level experimental material.
@@ -166,19 +164,10 @@
{ \@@_select:w #1 \s_@@_stop }
\cs_generate_variant:Nn \@@_select:n { V }
\cs_new_protected:Npn \@@_select:w #1 ~ #2 \s_@@_stop
- { \use:c { @@_select_ #1 :w } #2 \s_@@_stop }
-\cs_new_protected:Npn \@@_select_cmyk:w #1 ~ #2 ~ #3 ~ #4 \s_@@_stop
- { \@@_backend_cmyk:nnnn {#1} {#2} {#3} {#4} }
-\cs_new_protected:Npn \@@_select_gray:w #1 \s_@@_stop
- { \@@_backend_gray:n {#1} }
-\cs_new_protected:Npn \@@_select_rgb:w #1 ~ #2 ~ #3 \s_@@_stop
- { \@@_backend_rgb:nnn {#1} {#2} {#3} }
-\cs_new_protected:Npn \@@_select_spot:w #1 ~ #2 \s_@@_stop
- { \@@_backend_spot:nn {#1} {#2} }
+ { \use:c { @@_backend_ #1 :w } #2 \s_@@_stop }
% \end{macrocode}
% \end{macro}
% \end{macro}
-% \end{macro}
%
% \begin{variable}{\l_@@_current_tl}
% As the setting data is used only
diff --git a/macros/latex/contrib/l3kernel/l3debug.dtx b/macros/latex/contrib/l3kernel/l3debug.dtx
index 9c7bb162eb..f52b59a86e 100644
--- a/macros/latex/contrib/l3kernel/l3debug.dtx
+++ b/macros/latex/contrib/l3kernel/l3debug.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-05-15}
+% \date{Released 2020-06-03}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3deprecation.dtx b/macros/latex/contrib/l3kernel/l3deprecation.dtx
index eaa3b19256..647c6ac1f7 100644
--- a/macros/latex/contrib/l3kernel/l3deprecation.dtx
+++ b/macros/latex/contrib/l3kernel/l3deprecation.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-05-15}
+% \date{Released 2020-06-03}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3doc.dtx b/macros/latex/contrib/l3kernel/l3doc.dtx
index 9c8e7be645..5a5a8714a9 100644
--- a/macros/latex/contrib/l3kernel/l3doc.dtx
+++ b/macros/latex/contrib/l3kernel/l3doc.dtx
@@ -79,7 +79,7 @@ and all files in that bundle must be distributed together.
%
% \title{The \cls{l3doc} class}
% \author{\Team}
-% \date{Released 2020-05-15}
+% \date{Released 2020-06-03}
% \maketitle
% \tableofcontents
%
diff --git a/macros/latex/contrib/l3kernel/l3docstrip.dtx b/macros/latex/contrib/l3kernel/l3docstrip.dtx
index 54e806acd0..1651afd3e2 100644
--- a/macros/latex/contrib/l3kernel/l3docstrip.dtx
+++ b/macros/latex/contrib/l3kernel/l3docstrip.dtx
@@ -63,7 +63,7 @@
% }^^A
% }
%
-% \date{Released 2020-05-15}
+% \date{Released 2020-06-03}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3docstrip.pdf b/macros/latex/contrib/l3kernel/l3docstrip.pdf
index e11a3d19b2..f9e4794c1c 100644
--- a/macros/latex/contrib/l3kernel/l3docstrip.pdf
+++ b/macros/latex/contrib/l3kernel/l3docstrip.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3expan.dtx b/macros/latex/contrib/l3kernel/l3expan.dtx
index 839b255623..bb8218281b 100644
--- a/macros/latex/contrib/l3kernel/l3expan.dtx
+++ b/macros/latex/contrib/l3kernel/l3expan.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-05-15}
+% \date{Released 2020-06-03}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3file.dtx b/macros/latex/contrib/l3kernel/l3file.dtx
index 6e2af80659..e93d117612 100644
--- a/macros/latex/contrib/l3kernel/l3file.dtx
+++ b/macros/latex/contrib/l3kernel/l3file.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2020-05-15}
+% \date{Released 2020-06-03}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3final.dtx b/macros/latex/contrib/l3kernel/l3final.dtx
index e51ee44441..8592605324 100644
--- a/macros/latex/contrib/l3kernel/l3final.dtx
+++ b/macros/latex/contrib/l3kernel/l3final.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-05-15}
+% \date{Released 2020-06-03}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3flag.dtx b/macros/latex/contrib/l3kernel/l3flag.dtx
index d09d1bb596..281ef1a9b7 100644
--- a/macros/latex/contrib/l3kernel/l3flag.dtx
+++ b/macros/latex/contrib/l3kernel/l3flag.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-05-15}
+% \date{Released 2020-06-03}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-assign.dtx b/macros/latex/contrib/l3kernel/l3fp-assign.dtx
index 00bdfef069..c0dff40732 100644
--- a/macros/latex/contrib/l3kernel/l3fp-assign.dtx
+++ b/macros/latex/contrib/l3kernel/l3fp-assign.dtx
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2020-05-15}
+% \date{Released 2020-06-03}
% \maketitle
%
% \begin{documentation}
diff --git a/macros/latex/contrib/l3kernel/l3fp-aux.dtx b/macros/latex/contrib/l3kernel/l3fp-aux.dtx
index f251d60c4f..46d089b2c6 100644
--- a/macros/latex/contrib/l3kernel/l3fp-aux.dtx
+++ b/macros/latex/contrib/l3kernel/l3fp-aux.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-05-15}
+% \date{Released 2020-06-03}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-basics.dtx b/macros/latex/contrib/l3kernel/l3fp-basics.dtx
index c97cd6c83d..7d01b20929 100644
--- a/macros/latex/contrib/l3kernel/l3fp-basics.dtx
+++ b/macros/latex/contrib/l3kernel/l3fp-basics.dtx
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2020-05-15}
+% \date{Released 2020-06-03}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-convert.dtx b/macros/latex/contrib/l3kernel/l3fp-convert.dtx
index cd317883bc..15150ba29d 100644
--- a/macros/latex/contrib/l3kernel/l3fp-convert.dtx
+++ b/macros/latex/contrib/l3kernel/l3fp-convert.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-05-15}
+% \date{Released 2020-06-03}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-expo.dtx b/macros/latex/contrib/l3kernel/l3fp-expo.dtx
index 70ad1c58f3..42597305e6 100644
--- a/macros/latex/contrib/l3kernel/l3fp-expo.dtx
+++ b/macros/latex/contrib/l3kernel/l3fp-expo.dtx
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2020-05-15}
+% \date{Released 2020-06-03}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-extended.dtx b/macros/latex/contrib/l3kernel/l3fp-extended.dtx
index c5377c74dd..445f206b51 100644
--- a/macros/latex/contrib/l3kernel/l3fp-extended.dtx
+++ b/macros/latex/contrib/l3kernel/l3fp-extended.dtx
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2020-05-15}
+% \date{Released 2020-06-03}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-logic.dtx b/macros/latex/contrib/l3kernel/l3fp-logic.dtx
index 9371abf9ef..9f08120f3b 100644
--- a/macros/latex/contrib/l3kernel/l3fp-logic.dtx
+++ b/macros/latex/contrib/l3kernel/l3fp-logic.dtx
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2020-05-15}
+% \date{Released 2020-06-03}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-parse.dtx b/macros/latex/contrib/l3kernel/l3fp-parse.dtx
index 17eac4a16b..442d10c798 100644
--- a/macros/latex/contrib/l3kernel/l3fp-parse.dtx
+++ b/macros/latex/contrib/l3kernel/l3fp-parse.dtx
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2020-05-15}
+% \date{Released 2020-06-03}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-random.dtx b/macros/latex/contrib/l3kernel/l3fp-random.dtx
index d5e52059b9..2815ad4670 100644
--- a/macros/latex/contrib/l3kernel/l3fp-random.dtx
+++ b/macros/latex/contrib/l3kernel/l3fp-random.dtx
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2020-05-15}
+% \date{Released 2020-06-03}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-round.dtx b/macros/latex/contrib/l3kernel/l3fp-round.dtx
index 6dfd891fae..15cdb3b3cd 100644
--- a/macros/latex/contrib/l3kernel/l3fp-round.dtx
+++ b/macros/latex/contrib/l3kernel/l3fp-round.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-05-15}
+% \date{Released 2020-06-03}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-traps.dtx b/macros/latex/contrib/l3kernel/l3fp-traps.dtx
index 96083857d1..123c376a67 100644
--- a/macros/latex/contrib/l3kernel/l3fp-traps.dtx
+++ b/macros/latex/contrib/l3kernel/l3fp-traps.dtx
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2020-05-15}
+% \date{Released 2020-06-03}
% \maketitle
%
% \begin{documentation}
diff --git a/macros/latex/contrib/l3kernel/l3fp-trig.dtx b/macros/latex/contrib/l3kernel/l3fp-trig.dtx
index b8c7aa1657..28d41e3d06 100644
--- a/macros/latex/contrib/l3kernel/l3fp-trig.dtx
+++ b/macros/latex/contrib/l3kernel/l3fp-trig.dtx
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2020-05-15}
+% \date{Released 2020-06-03}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp.dtx b/macros/latex/contrib/l3kernel/l3fp.dtx
index 287c60c8ff..ff90a19626 100644
--- a/macros/latex/contrib/l3kernel/l3fp.dtx
+++ b/macros/latex/contrib/l3kernel/l3fp.dtx
@@ -49,7 +49,7 @@
% }^^A
% }
%
-% \date{Released 2020-05-15}
+% \date{Released 2020-06-03}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fparray.dtx b/macros/latex/contrib/l3kernel/l3fparray.dtx
index 455dcaf33e..0338cc9e76 100644
--- a/macros/latex/contrib/l3kernel/l3fparray.dtx
+++ b/macros/latex/contrib/l3kernel/l3fparray.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2020-05-15}
+% \date{Released 2020-06-03}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3int.dtx b/macros/latex/contrib/l3kernel/l3int.dtx
index 73043231ef..9e05786b9a 100644
--- a/macros/latex/contrib/l3kernel/l3int.dtx
+++ b/macros/latex/contrib/l3kernel/l3int.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-05-15}
+% \date{Released 2020-06-03}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3intarray.dtx b/macros/latex/contrib/l3kernel/l3intarray.dtx
index 1c5ff9c6e6..3e4f8659c3 100644
--- a/macros/latex/contrib/l3kernel/l3intarray.dtx
+++ b/macros/latex/contrib/l3kernel/l3intarray.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2020-05-15}
+% \date{Released 2020-06-03}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3kernel-functions.dtx b/macros/latex/contrib/l3kernel/l3kernel-functions.dtx
index b042b96d3f..c15b4c7b9e 100644
--- a/macros/latex/contrib/l3kernel/l3kernel-functions.dtx
+++ b/macros/latex/contrib/l3kernel/l3kernel-functions.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-05-15}
+% \date{Released 2020-06-03}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3keys.dtx b/macros/latex/contrib/l3kernel/l3keys.dtx
index 2433d16162..4032b44581 100644
--- a/macros/latex/contrib/l3kernel/l3keys.dtx
+++ b/macros/latex/contrib/l3kernel/l3keys.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-05-15}
+% \date{Released 2020-06-03}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3legacy.dtx b/macros/latex/contrib/l3kernel/l3legacy.dtx
index 344e7997e5..0ff70d1465 100644
--- a/macros/latex/contrib/l3kernel/l3legacy.dtx
+++ b/macros/latex/contrib/l3kernel/l3legacy.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-05-15}
+% \date{Released 2020-06-03}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3luatex.dtx b/macros/latex/contrib/l3kernel/l3luatex.dtx
index fc654e2b17..6fe7da633c 100644
--- a/macros/latex/contrib/l3kernel/l3luatex.dtx
+++ b/macros/latex/contrib/l3kernel/l3luatex.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-05-15}
+% \date{Released 2020-06-03}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3msg.dtx b/macros/latex/contrib/l3kernel/l3msg.dtx
index f8b68f8c23..af1e78d3ed 100644
--- a/macros/latex/contrib/l3kernel/l3msg.dtx
+++ b/macros/latex/contrib/l3kernel/l3msg.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-05-15}
+% \date{Released 2020-06-03}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3names.dtx b/macros/latex/contrib/l3kernel/l3names.dtx
index a400eaf1aa..23472c2141 100644
--- a/macros/latex/contrib/l3kernel/l3names.dtx
+++ b/macros/latex/contrib/l3kernel/l3names.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-05-15}
+% \date{Released 2020-06-03}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3news.pdf b/macros/latex/contrib/l3kernel/l3news.pdf
index 03794ae5be..68891b4cb4 100644
--- a/macros/latex/contrib/l3kernel/l3news.pdf
+++ b/macros/latex/contrib/l3kernel/l3news.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news01.pdf b/macros/latex/contrib/l3kernel/l3news01.pdf
index e4af9d1475..05d8f5b451 100644
--- a/macros/latex/contrib/l3kernel/l3news01.pdf
+++ b/macros/latex/contrib/l3kernel/l3news01.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news02.pdf b/macros/latex/contrib/l3kernel/l3news02.pdf
index db213ca44b..4971e668a7 100644
--- a/macros/latex/contrib/l3kernel/l3news02.pdf
+++ b/macros/latex/contrib/l3kernel/l3news02.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news03.pdf b/macros/latex/contrib/l3kernel/l3news03.pdf
index 14fd4f5f10..92c4792497 100644
--- a/macros/latex/contrib/l3kernel/l3news03.pdf
+++ b/macros/latex/contrib/l3kernel/l3news03.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news04.pdf b/macros/latex/contrib/l3kernel/l3news04.pdf
index d9b407c1f6..abfb4d4e06 100644
--- a/macros/latex/contrib/l3kernel/l3news04.pdf
+++ b/macros/latex/contrib/l3kernel/l3news04.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news05.pdf b/macros/latex/contrib/l3kernel/l3news05.pdf
index 707d39b18c..414e9c5ea2 100644
--- a/macros/latex/contrib/l3kernel/l3news05.pdf
+++ b/macros/latex/contrib/l3kernel/l3news05.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news06.pdf b/macros/latex/contrib/l3kernel/l3news06.pdf
index f32bb37c19..86ca1299d2 100644
--- a/macros/latex/contrib/l3kernel/l3news06.pdf
+++ b/macros/latex/contrib/l3kernel/l3news06.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news07.pdf b/macros/latex/contrib/l3kernel/l3news07.pdf
index 03b1ea05bf..7ad6cfd988 100644
--- a/macros/latex/contrib/l3kernel/l3news07.pdf
+++ b/macros/latex/contrib/l3kernel/l3news07.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news08.pdf b/macros/latex/contrib/l3kernel/l3news08.pdf
index c82c137d39..c9fd5acb04 100644
--- a/macros/latex/contrib/l3kernel/l3news08.pdf
+++ b/macros/latex/contrib/l3kernel/l3news08.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news09.pdf b/macros/latex/contrib/l3kernel/l3news09.pdf
index 7a58dcd35f..e5b0088c54 100644
--- a/macros/latex/contrib/l3kernel/l3news09.pdf
+++ b/macros/latex/contrib/l3kernel/l3news09.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news10.pdf b/macros/latex/contrib/l3kernel/l3news10.pdf
index 57ee772bb9..76eee99422 100644
--- a/macros/latex/contrib/l3kernel/l3news10.pdf
+++ b/macros/latex/contrib/l3kernel/l3news10.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news11.pdf b/macros/latex/contrib/l3kernel/l3news11.pdf
index 7a0f2044c4..efa6befc92 100644
--- a/macros/latex/contrib/l3kernel/l3news11.pdf
+++ b/macros/latex/contrib/l3kernel/l3news11.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news12.pdf b/macros/latex/contrib/l3kernel/l3news12.pdf
index 8970788a4d..2e6b0bec70 100644
--- a/macros/latex/contrib/l3kernel/l3news12.pdf
+++ b/macros/latex/contrib/l3kernel/l3news12.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3prefixes.csv b/macros/latex/contrib/l3kernel/l3prefixes.csv
index c3fb308f0e..3738670cf3 100644
--- a/macros/latex/contrib/l3kernel/l3prefixes.csv
+++ b/macros/latex/contrib/l3kernel/l3prefixes.csv
@@ -4,10 +4,12 @@ GS,gs1,Markus Kohm,,,,2013-03-16,2013-03-16,
MOdiagram,modiagram,Clemens Niederberger,https://bitbucket.org/cgnieder/modiagram/,git@bitbucket.org:cgnieder/modiagram.git,https://bitbucket.org/cgnieder/modiagram/issues,2013-03-16,2013-03-16,
UFca,citeall,Ulrike Fischer,,,,2015-04-09,2016-02-26,
acro,acro,Clemens Niederberger,https://github.com/cgnieder/acro/,https://github.com/cgnieder/acro.git,https://github.com/cgnieder/acro/issues,2013-03-16,2020-04-14,
+akshar,akshar,Vu Van Dung,https://github.com/joulev/akshar,https://github.com/joulev/akshar.git,https://github.com/joulev/akshar/issues,2020-05-27,2020-05-27,
algobox,algobox,Julien Rivaud,,,,2018-06-13,2018-06-13,
alignment,l3kernel,The LaTeX3 Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2018-05-12,2018-05-12,
alloc,l3kernel,The LaTeX3 Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,Internal only but reserved
ampersand,l3kernel,The LaTeX3 Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2018-05-12,2018-05-12,
+apfs,apfontspec,Qing Lee,https://github.com/CTeX-org/apfontspec,https://github.com/CTeX-org/apfontspec.git,https://github.com/CTeX-org/apfontspec/issues,2020-05-17,2020-05-17,
arch,archaeologie,Lukas C. Bossert,http://www.biblatex-archaeologie.de,https://github.com/LukasCBossert/biblatex-archaeologie.git,https://github.com/LukasCBossert/biblatex-archaeologie/issues,2017-03-24,2017-03-24,
array,hobby,Andrew Stacey,,,,2013-03-16,2013-03-16,
atsign,l3kernel,The LaTeX3 Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2018-05-12,2018-05-12,
@@ -40,7 +42,7 @@ csvsim,csvsimple,Thomas F. Sturm,https://github.com/T-F-S/csvsimple,https://gith
ctex,ctex,Qing Lee,https://github.com/CTeX-org/ctex-kit,https://github.com/CTeX-org/ctex-kit.git,https://github.com/CTeX-org/ctex-kit/issues,2014-03-08,2014-03-08,
ctuthesis,ctuthesis,Tom Hejda,https://github.com/tohecz/ctuthesis,https://github.com/tohecz/ctuthesis.git,https://github.com/tohecz/ctuthesis/issues,2015-07-26,2015-07-26,
debug,l3kernel,The LaTeX3 Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2017-07-15,2017-07-15,
-denisbdoc,denisbdoc,Denis Bitouzé,https://github.com/dbitouze/denisbdoc,git@github.com:dbitouze/denisbdoc.git,2020-05-13,2020-05-13,
+denisbdoc,denisbdoc,Denis Bitouzé,https://github.com/dbitouze/denisbdoc,git@github.com:dbitouze/denisbdoc.git,,2020-05-13,2020-05-13,
deriv,derivative,Simon Jensen,,,,2019-07-24,2019-07-24,
diffcoeff,diffcoeff,Andrew Parsloe,,,,2019-08-26,2019-08-26,
dim,l3kernel,The LaTeX3 Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
@@ -83,7 +85,7 @@ ghsystem,ghsystem,Clemens Niederberger,https://github.com/cgnieder/ghsystem/,htt
graph,lt3graph,Michiel Helvensteijn,,,,2014-02-05,2014-02-05,
group,l3kernel,The LaTeX3 Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
gtl,gtl,Bruno Le Floch,https://github.com/blefloch/latex-gtl,https://github.com/blefloch/latex-gtl.git,https://github.com/blefloch/latex-gtl/issues,2015-09-22,2015-09-22,
-gzt,gzt,Denis Bitouzé,https://github.com/dbitouze/gzt,git@github.com:dbitouze/gzt.git,2020-05-13,2020-05-13,
+gzt,gzt,Denis Bitouzé,https://github.com/dbitouze/gzt,git@github.com:dbitouze/gzt.git,,2020-05-13,2020-05-13,
hash,l3kernel,The LaTeX3 Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2018-05-12,2018-05-12,
hbox,l3kernel,The LaTeX3 Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
hcoffin,l3kernel,The LaTeX3 Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-28,2012-09-28,
@@ -105,6 +107,7 @@ lltxmath,lualatex-math,Philipp Stephani,https://github.com/phst/lualatex-math,ht
log,l3kernel,The LaTeX3 Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2018-05-12,2018-05-12,
lua,l3kernel,The LaTeX3 Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
luatex,l3kernel,The LaTeX3 Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
+jiazhu,jiazhu,Qing Lee,https://github.com/CTeX-org/ctex-kit,https://github.com/CTeX-org/ctex-kit.git,https://github.com/CTeX-org/ctex-kit/issues,2020-05-17,2020-05-17,
mark,l3kernel,The LaTeX3 Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2018-05-12,2018-05-12,
marks,l3kernel/xmarks,The LaTeX3 Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2020-02-17,2020-02-17,
math,l3kernel,The LaTeX3 Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2018-05-12,2018-05-12,
@@ -126,11 +129,12 @@ nil,l3kernel,The LaTeX3 Project,https://www.latex-project.org/latex3.html,https:
no,l3kernel,The LaTeX3 Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2018-05-12,2018-05-12,
notestobib,notes2bib,Joseph Wright,https://github.com/josephwright/notes2bib,https://github.com/josephwright/notes2bib.git,https://github.com/josephwright/notes2bib/issues,2012-11-07,2012-11-07,
novalue,l3kernel,The LaTeX3 Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2018-05-12,2018-05-12,
-nwejm,nwejm,Denis Bitouzé,https://github.com/dbitouze/nwejm,git@github.com:dbitouze/nwejm.git,2020-05-13,2020-05-13,
+nwejm,nwejm,Denis Bitouzé,https://github.com/dbitouze/nwejm,git@github.com:dbitouze/nwejm.git,,2020-05-13,2020-05-13,
ocgbase,ocgx2,Alexander Grahn,,https://gitlab.com/agrahn/ocgx2,https://gitlab.com/agrahn/ocgx2/issues,2016-02-26,2020-04-15,
ocgxii,ocgx2,Alexander Grahn,,https://gitlab.com/agrahn/ocgx2,https://gitlab.com/agrahn/ocgx2/issues,2016-02-26,2020-04-15,
one,l3kernel,The LaTeX3 Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2018-05-12,2018-05-12,
or,l3kernel,The LaTeX3 Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-28,2012-09-28,
+overleaf,overleaf,Overleaf,https://www.overleaf.com/about,,support+tex-dev@overleaf.com,2020-05-27,2020-05-27,
parameter,l3kernel,The LaTeX3 Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2018-05-12,2018-05-12,
pbs,media9,Alexander Grahn,,https://gitlab.com/agrahn/media9,https://gitlab.com/agrahn/media9/issues,2016-02-26,2020-04-15,
pdf,l3kernel,The LaTeX3 Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2019-06-02,2019-06-02,
diff --git a/macros/latex/contrib/l3kernel/l3prefixes.pdf b/macros/latex/contrib/l3kernel/l3prefixes.pdf
index 1ec1ee1526..16b24d95d7 100644
--- a/macros/latex/contrib/l3kernel/l3prefixes.pdf
+++ b/macros/latex/contrib/l3kernel/l3prefixes.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3prg.dtx b/macros/latex/contrib/l3kernel/l3prg.dtx
index a7ddadeef6..e699596a5b 100644
--- a/macros/latex/contrib/l3kernel/l3prg.dtx
+++ b/macros/latex/contrib/l3kernel/l3prg.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-05-15}
+% \date{Released 2020-06-03}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3prop.dtx b/macros/latex/contrib/l3kernel/l3prop.dtx
index f5076b9ffb..7158f5e848 100644
--- a/macros/latex/contrib/l3kernel/l3prop.dtx
+++ b/macros/latex/contrib/l3kernel/l3prop.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-05-15}
+% \date{Released 2020-06-03}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3quark.dtx b/macros/latex/contrib/l3kernel/l3quark.dtx
index d0ed90c4e7..c8e466b3cb 100644
--- a/macros/latex/contrib/l3kernel/l3quark.dtx
+++ b/macros/latex/contrib/l3kernel/l3quark.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-05-15}
+% \date{Released 2020-06-03}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3regex.dtx b/macros/latex/contrib/l3kernel/l3regex.dtx
index 39f97fd1c1..e20a6ca6ec 100644
--- a/macros/latex/contrib/l3kernel/l3regex.dtx
+++ b/macros/latex/contrib/l3kernel/l3regex.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-05-15}
+% \date{Released 2020-06-03}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3seq.dtx b/macros/latex/contrib/l3kernel/l3seq.dtx
index 0f6c9dbfbe..7b2121719d 100644
--- a/macros/latex/contrib/l3kernel/l3seq.dtx
+++ b/macros/latex/contrib/l3kernel/l3seq.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-05-15}
+% \date{Released 2020-06-03}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3skip.dtx b/macros/latex/contrib/l3kernel/l3skip.dtx
index fcc18befca..d8a1466c2f 100644
--- a/macros/latex/contrib/l3kernel/l3skip.dtx
+++ b/macros/latex/contrib/l3kernel/l3skip.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2020-05-15}
+% \date{Released 2020-06-03}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3sort.dtx b/macros/latex/contrib/l3kernel/l3sort.dtx
index 4c781cd471..f614da1a7e 100644
--- a/macros/latex/contrib/l3kernel/l3sort.dtx
+++ b/macros/latex/contrib/l3kernel/l3sort.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-05-15}
+% \date{Released 2020-06-03}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3str-convert.dtx b/macros/latex/contrib/l3kernel/l3str-convert.dtx
index 5836bea27b..4000a2d1f7 100644
--- a/macros/latex/contrib/l3kernel/l3str-convert.dtx
+++ b/macros/latex/contrib/l3kernel/l3str-convert.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2020-05-15}
+% \date{Released 2020-06-03}
%
% \maketitle
%
@@ -186,6 +186,19 @@
% encoding. Instead, the \meta{false code} is performed.
% \end{function}
%
+% \section{Conversion by expansion (for PDF contexts)}
+%
+% A small number of expandable functions are provided for use in PDF string/name
+% contexts. These \emph{assume UTF-8} and \emph{no escaping} in the input.
+%
+% \begin{function}[EXP]{\str_convert_pdfname:n}
+% \begin{syntax}
+% \cs{str_convert_pdfname:n} \meta{string}
+% \end{syntax}
+% As \cs{str_set_convert:Nnnn}, converts the \meta{string} on a byte-by-byte
+% basis with non-ASCII codepoints escaped using hashes.
+% \end{function}
+%
% \section[Creating 8-bit mappings]{Creating $8$-bit mappings}
%
% \begin{function}{\str_declare_eight_bit_encoding:nnn}
@@ -345,39 +358,41 @@
%
% \subsection{String conditionals}
%
-% \begin{macro}[EXP]{\@@_if_contains_char:NNT, \@@_if_contains_char:NNTF}
-% \begin{macro}[EXP]{\@@_if_contains_char:nNTF}
-% \begin{macro}[EXP]{\@@_if_contains_char_aux:NN}
+% \begin{macro}[EXP]{\@@_if_contains_char:NnT, \@@_if_contains_char:NnTF}
+% \begin{macro}[EXP]{\@@_if_contains_char:nnTF}
+% \begin{macro}[EXP]{\@@_if_contains_char_aux:nn,\@@_if_contains_char_auxi:nN}
% \begin{macro}[EXP]{\@@_if_contains_char_true:}
% \begin{syntax}
-% \cs{@@_if_contains_char:nNTF} \Arg{token list} \meta{char}
+% \cs{@@_if_contains_char:nnTF} \Arg{token list} \meta{char}
% \end{syntax}
% Expects the \meta{token list} to be an \meta{other string}: the
% caller is responsible for ensuring that no (too-)special catcodes
-% remain. Spaces with catcode $10$ are ignored.
+% remain.
% Loop over the characters of the string, comparing character codes.
% The loop is broken if character codes match. Otherwise we return
% \enquote{false}.
% \begin{macrocode}
-\prg_new_conditional:Npnn \@@_if_contains_char:NN #1#2 { T , TF }
+\prg_new_conditional:Npnn \@@_if_contains_char:Nn #1#2 { T , TF }
{
- \exp_after:wN \@@_if_contains_char_aux:NN \exp_after:wN #2
- #1 { \prg_break:n { ? \fi: } }
+ \exp_after:wN \@@_if_contains_char_aux:nn \exp_after:wN {#1} {#2}
+ { \prg_break:n { ? \fi: } }
\prg_break_point:
\prg_return_false:
}
-\prg_new_conditional:Npnn \@@_if_contains_char:nN #1#2 { TF }
+\cs_new:Npn \@@_if_contains_char_aux:nn #1#2
+ { \@@_if_contains_char_auxi:nN {#2} #1 }
+\prg_new_conditional:Npnn \@@_if_contains_char:nn #1#2 { TF }
{
- \@@_if_contains_char_aux:NN #2 #1 { \prg_break:n { ? \fi: } }
+ \@@_if_contains_char_auxi:nN {#2} #1 { \prg_break:n { ? \fi: } }
\prg_break_point:
\prg_return_false:
}
-\cs_new:Npn \@@_if_contains_char_aux:NN #1#2
+\cs_new:Npn \@@_if_contains_char_auxi:nN #1#2
{
\if_charcode:w #1 #2
\exp_after:wN \@@_if_contains_char_true:
\fi:
- \@@_if_contains_char_aux:NN #1
+ \@@_if_contains_char_auxi:nN {#1}
}
\cs_new:Npn \@@_if_contains_char_true:
{ \prg_break:n { \prg_return_true: \use_none:n } }
@@ -1595,8 +1610,8 @@
% \end{macro}
%
% \begin{macro}{\@@_convert_escape_name:}
-% \begin{macro}[rEXP]{\@@_escape_name_char:N}
-% \begin{macro}[rEXP]{\@@_if_escape_name:NTF}
+% \begin{macro}[rEXP]{\@@_escape_name_char:n}
+% \begin{macro}[rEXP]{\@@_if_escape_name:nTF}
% \begin{variable}{\c_@@_escape_name_str}
% \begin{variable}{\c_@@_escape_name_not_str}
% For each byte, test whether it should be output as is, or be
@@ -1609,22 +1624,22 @@
\str_const:Nn \c_@@_escape_name_not_str { ! " $ & ' } %$
\str_const:Nn \c_@@_escape_name_str { {}/<>[] }
\cs_new_protected:Npn \@@_convert_escape_name:
- { \@@_convert_gmap:N \@@_escape_name_char:N }
-\cs_new:Npn \@@_escape_name_char:N #1
+ { \@@_convert_gmap:N \@@_escape_name_char:n }
+\cs_new:Npn \@@_escape_name_char:n #1
{
- \@@_if_escape_name:NTF #1 {#1}
+ \@@_if_escape_name:nTF {#1} {#1}
{ \c_hash_str \@@_output_hexadecimal:n {`#1} }
}
-\prg_new_conditional:Npnn \@@_if_escape_name:N #1 { TF }
+\prg_new_conditional:Npnn \@@_if_escape_name:n #1 { TF }
{
\if_int_compare:w `#1 < "2A \exp_stop_f:
- \@@_if_contains_char:NNTF \c_@@_escape_name_not_str #1
+ \@@_if_contains_char:NnTF \c_@@_escape_name_not_str {#1}
\prg_return_true: \prg_return_false:
\else:
\if_int_compare:w `#1 > "7E \exp_stop_f:
\prg_return_false:
\else:
- \@@_if_contains_char:NNTF \c_@@_escape_name_str #1
+ \@@_if_contains_char:NnTF \c_@@_escape_name_str {#1}
\prg_return_false: \prg_return_true:
\fi:
\fi:
@@ -1652,8 +1667,8 @@
{
\@@_if_escape_string:NTF #1
{
- \@@_if_contains_char:NNT
- \c_@@_escape_string_str #1
+ \@@_if_contains_char:NnT
+ \c_@@_escape_string_str {#1}
{ \c_backslash_str }
#1
}
@@ -1683,28 +1698,28 @@
% \end{macro}
%
% \begin{macro}{\@@_convert_escape_url:}
-% \begin{macro}[rEXP]{\@@_escape_url_char:N}
-% \begin{macro}[rEXP]{\@@_if_escape_url:NTF}
+% \begin{macro}[rEXP]{\@@_escape_url_char:n}
+% \begin{macro}[rEXP]{\@@_if_escape_url:nTF}
% This function is similar to \cs{@@_convert_escape_name:}, escaping
% different characters.
% \begin{macrocode}
\cs_new_protected:Npn \@@_convert_escape_url:
- { \@@_convert_gmap:N \@@_escape_url_char:N }
-\cs_new:Npn \@@_escape_url_char:N #1
+ { \@@_convert_gmap:N \@@_escape_url_char:n }
+\cs_new:Npn \@@_escape_url_char:n #1
{
- \@@_if_escape_url:NTF #1 {#1}
+ \@@_if_escape_url:nTF {#1} {#1}
{ \c_percent_str \@@_output_hexadecimal:n { `#1 } }
}
-\prg_new_conditional:Npnn \@@_if_escape_url:N #1 { TF }
+\prg_new_conditional:Npnn \@@_if_escape_url:n #1 { TF }
{
\if_int_compare:w `#1 < "41 \exp_stop_f:
- \@@_if_contains_char:nNTF { "-.<> } #1
+ \@@_if_contains_char:nnTF { "-.<> } {#1}
\prg_return_true: \prg_return_false:
\else:
\if_int_compare:w `#1 > "7E \exp_stop_f:
\prg_return_false:
\else:
- \@@_if_contains_char:nNTF { [ ] } #1
+ \@@_if_contains_char:nnTF { [ ] } {#1}
\prg_return_false: \prg_return_true:
\fi:
\fi:
@@ -2581,6 +2596,63 @@
\group_end:
% \end{macrocode}
%
+% \subsection{PDF names and strings by expansion}
+%
+% \begin{macro}[EXP]{\str_convert_pdfname:n}
+% \begin{macro}[EXP]{\@@_convert_pdfname:n}
+% \begin{macro}[EXP]
+% {\@@_convert_pdfname_bytes:n, \@@_convert_pdfname_bytes_aux:n}
+% \begin{macro}[EXP]{\@@_convert_pdfname_bytes_aux:nnn}
+% To convert to PDF names by expansion, we work purely on UTF-8 input. The
+% first step is to make a string with \enquote{other} spaces,
+% after which we use a simple token-by-token approach. In Unicode
+% engines, we break down everything before one-byte codepoints, but for
+% $8$-bit engines there is no need to worry. Actual escaping is covered
+% by the same code as used in the non-expandable route.
+% \begin{macrocode}
+\cs_new:Npn \str_convert_pdfname:n #1
+ {
+ \exp_args:Ne \tl_to_str:n
+ { \str_map_function:nN {#1} \@@_convert_pdfname:n }
+ }
+\bool_lazy_or:nnTF
+ { \sys_if_engine_luatex_p: }
+ { \sys_if_engine_xetex_p: }
+ {
+ \cs_new:Npn \@@_convert_pdfname:n #1
+ {
+ \int_compare:nNnTF { `#1 } > { "7F }
+ { \@@_convert_pdfname_bytes:n {#1} }
+ { \@@_escape_name_char:n {#1} }
+ }
+ \cs_new:Npn \@@_convert_pdfname_bytes:n #1
+ {
+ \exp_args:Ne \@@_convert_pdfname_bytes_aux:n
+ { \char_to_utfviii_bytes:n {`#1} }
+ }
+ \cs_new:Npn \@@_convert_pdfname_bytes_aux:n #1
+ { \@@_convert_pdfname_bytes_aux:nnnn #1 }
+ \cs_new:Npx \@@_convert_pdfname_bytes_aux:nnnn #1#2#3#4
+ {
+ \c_hash_str \exp_not:N \@@_output_hexadecimal:n {#1}
+ \c_hash_str \exp_not:N \@@_output_hexadecimal:n {#2}
+ \exp_not:N \tl_if_blank:nF {#3}
+ {
+ \c_hash_str \exp_not:N \@@_output_hexadecimal:n {#3}
+ \exp_not:N \tl_if_blank:nF {#4}
+ {
+ \c_hash_str \exp_not:N \@@_output_hexadecimal:n {#4}
+ }
+ }
+ }
+ }
+ { \cs_new_eq:NN \@@_convert_pdfname:n \@@_escape_name_char:n }
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
% \begin{macrocode}
%</initex|package>
% \end{macrocode}
diff --git a/macros/latex/contrib/l3kernel/l3str.dtx b/macros/latex/contrib/l3kernel/l3str.dtx
index efd5d4f6f8..97d8fa5b43 100644
--- a/macros/latex/contrib/l3kernel/l3str.dtx
+++ b/macros/latex/contrib/l3kernel/l3str.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-05-15}
+% \date{Released 2020-06-03}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3styleguide.pdf b/macros/latex/contrib/l3kernel/l3styleguide.pdf
index dfeabc06a9..3fbedfb171 100644
--- a/macros/latex/contrib/l3kernel/l3styleguide.pdf
+++ b/macros/latex/contrib/l3kernel/l3styleguide.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3styleguide.tex b/macros/latex/contrib/l3kernel/l3styleguide.tex
index 358bf451e8..e4f0d040d8 100644
--- a/macros/latex/contrib/l3kernel/l3styleguide.tex
+++ b/macros/latex/contrib/l3kernel/l3styleguide.tex
@@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2020-05-15}
+\date{Released 2020-06-03}
\begin{document}
diff --git a/macros/latex/contrib/l3kernel/l3syntax-changes.pdf b/macros/latex/contrib/l3kernel/l3syntax-changes.pdf
index 1760654ff2..f47d9fbf9e 100644
--- a/macros/latex/contrib/l3kernel/l3syntax-changes.pdf
+++ b/macros/latex/contrib/l3kernel/l3syntax-changes.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3syntax-changes.tex b/macros/latex/contrib/l3kernel/l3syntax-changes.tex
index 25fcd7a1c1..4b9951bed1 100644
--- a/macros/latex/contrib/l3kernel/l3syntax-changes.tex
+++ b/macros/latex/contrib/l3kernel/l3syntax-changes.tex
@@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2020-05-15}
+\date{Released 2020-06-03}
\newcommand{\TF}{\textit{(TF)}}
diff --git a/macros/latex/contrib/l3kernel/l3sys.dtx b/macros/latex/contrib/l3kernel/l3sys.dtx
index 15b06c4926..911986e5d8 100644
--- a/macros/latex/contrib/l3kernel/l3sys.dtx
+++ b/macros/latex/contrib/l3kernel/l3sys.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-05-15}
+% \date{Released 2020-06-03}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3term-glossary.pdf b/macros/latex/contrib/l3kernel/l3term-glossary.pdf
index 651110e948..e0b64a7edc 100644
--- a/macros/latex/contrib/l3kernel/l3term-glossary.pdf
+++ b/macros/latex/contrib/l3kernel/l3term-glossary.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3term-glossary.tex b/macros/latex/contrib/l3kernel/l3term-glossary.tex
index 2550fc5ae5..5b10a1457f 100644
--- a/macros/latex/contrib/l3kernel/l3term-glossary.tex
+++ b/macros/latex/contrib/l3kernel/l3term-glossary.tex
@@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2020-05-15}
+\date{Released 2020-06-03}
\newcommand{\TF}{\textit{(TF)}}
diff --git a/macros/latex/contrib/l3kernel/l3text-case.dtx b/macros/latex/contrib/l3kernel/l3text-case.dtx
index ed23d7204a..d2b228bb80 100644
--- a/macros/latex/contrib/l3kernel/l3text-case.dtx
+++ b/macros/latex/contrib/l3kernel/l3text-case.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-05-15}
+% \date{Released 2020-06-03}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3text-purify.dtx b/macros/latex/contrib/l3kernel/l3text-purify.dtx
index 312d7e180d..9509997cfd 100644
--- a/macros/latex/contrib/l3kernel/l3text-purify.dtx
+++ b/macros/latex/contrib/l3kernel/l3text-purify.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-05-15}
+% \date{Released 2020-06-03}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3text.dtx b/macros/latex/contrib/l3kernel/l3text.dtx
index 35f1cbb981..65032dbe3b 100644
--- a/macros/latex/contrib/l3kernel/l3text.dtx
+++ b/macros/latex/contrib/l3kernel/l3text.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-05-15}
+% \date{Released 2020-06-03}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3tl-analysis.dtx b/macros/latex/contrib/l3kernel/l3tl-analysis.dtx
index 297bceb682..23bac06657 100644
--- a/macros/latex/contrib/l3kernel/l3tl-analysis.dtx
+++ b/macros/latex/contrib/l3kernel/l3tl-analysis.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2020-05-15}
+% \date{Released 2020-06-03}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3tl.dtx b/macros/latex/contrib/l3kernel/l3tl.dtx
index 3aa0688705..d265802b0f 100644
--- a/macros/latex/contrib/l3kernel/l3tl.dtx
+++ b/macros/latex/contrib/l3kernel/l3tl.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-05-15}
+% \date{Released 2020-06-03}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3token.dtx b/macros/latex/contrib/l3kernel/l3token.dtx
index fbdbd04bd9..b3780ba69e 100644
--- a/macros/latex/contrib/l3kernel/l3token.dtx
+++ b/macros/latex/contrib/l3kernel/l3token.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-05-15}
+% \date{Released 2020-06-03}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3unicode.dtx b/macros/latex/contrib/l3kernel/l3unicode.dtx
index 03cdf2f0f1..109d860637 100644
--- a/macros/latex/contrib/l3kernel/l3unicode.dtx
+++ b/macros/latex/contrib/l3kernel/l3unicode.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-05-15}
+% \date{Released 2020-06-03}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/source3.pdf b/macros/latex/contrib/l3kernel/source3.pdf
index 401a597eec..6f9dbc2238 100644
--- a/macros/latex/contrib/l3kernel/source3.pdf
+++ b/macros/latex/contrib/l3kernel/source3.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/source3.tex b/macros/latex/contrib/l3kernel/source3.tex
index 7e945e45c8..c236ce8d47 100644
--- a/macros/latex/contrib/l3kernel/source3.tex
+++ b/macros/latex/contrib/l3kernel/source3.tex
@@ -53,7 +53,7 @@ for those people who are interested.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2020-05-15}
+\date{Released 2020-06-03}
\pagenumbering{roman}
\maketitle
diff --git a/macros/latex/contrib/lion-msc/4photon.bib b/macros/latex/contrib/lion-msc/4photon.bib
index 30a2097438..8e0f9e5dd4 100644
--- a/macros/latex/contrib/lion-msc/4photon.bib
+++ b/macros/latex/contrib/lion-msc/4photon.bib
@@ -59,12 +59,11 @@ year = {2008}
@inbook{Greenberger1989,
AUTHOR = {D.M. Greenberger and M.A. Horne and A. Zeilinger},
- editor = {M. Kafatos},
TITLE = {Bell's Theorem, Quantum Theory, and Conceptions of the Universe},
CHAPTER = {},
pages = {73-76},
PUBLISHER = {Kluwer Academics, Dordrecht, The Netherlands},
- YEAR = {1989},
+ YEAR = {1989}
}
@article{Chan:PRA2009,
diff --git a/macros/latex/contrib/lion-msc/LICENSE b/macros/latex/contrib/lion-msc/LICENSE
deleted file mode 100644
index 9cecc1d466..0000000000
--- a/macros/latex/contrib/lion-msc/LICENSE
+++ /dev/null
@@ -1,674 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
- The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works. By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users. We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors. You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
- To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights. Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received. You must make sure that they, too, receive
-or can get the source code. And you must show them these terms so they
-know their rights.
-
- Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
- For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software. For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
- Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so. This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software. The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable. Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products. If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
- Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary. To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- TERMS AND CONDITIONS
-
- 0. Definitions.
-
- "This License" refers to version 3 of the GNU General Public License.
-
- "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
- "The Program" refers to any copyrightable work licensed under this
-License. Each licensee is addressed as "you". "Licensees" and
-"recipients" may be individuals or organizations.
-
- To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy. The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
- A "covered work" means either the unmodified Program or a work based
-on the Program.
-
- To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy. Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
- To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies. Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
- An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License. If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
- 1. Source Code.
-
- The "source code" for a work means the preferred form of the work
-for making modifications to it. "Object code" means any non-source
-form of a work.
-
- A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
- The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form. A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
- The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities. However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work. For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
- The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
- The Corresponding Source for a work in source code form is that
-same work.
-
- 2. Basic Permissions.
-
- All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met. This License explicitly affirms your unlimited
-permission to run the unmodified Program. The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work. This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
- You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force. You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright. Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
- Conveying under any other circumstances is permitted solely under
-the conditions stated below. Sublicensing is not allowed; section 10
-makes it unnecessary.
-
- 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
- No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
- When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
- 4. Conveying Verbatim Copies.
-
- You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
- You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
- 5. Conveying Modified Source Versions.
-
- You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
- a) The work must carry prominent notices stating that you modified
- it, and giving a relevant date.
-
- b) The work must carry prominent notices stating that it is
- released under this License and any conditions added under section
- 7. This requirement modifies the requirement in section 4 to
- "keep intact all notices".
-
- c) You must license the entire work, as a whole, under this
- License to anyone who comes into possession of a copy. This
- License will therefore apply, along with any applicable section 7
- additional terms, to the whole of the work, and all its parts,
- regardless of how they are packaged. This License gives no
- permission to license the work in any other way, but it does not
- invalidate such permission if you have separately received it.
-
- d) If the work has interactive user interfaces, each must display
- Appropriate Legal Notices; however, if the Program has interactive
- interfaces that do not display Appropriate Legal Notices, your
- work need not make them do so.
-
- A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit. Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
- 6. Conveying Non-Source Forms.
-
- You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
- a) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by the
- Corresponding Source fixed on a durable physical medium
- customarily used for software interchange.
-
- b) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by a
- written offer, valid for at least three years and valid for as
- long as you offer spare parts or customer support for that product
- model, to give anyone who possesses the object code either (1) a
- copy of the Corresponding Source for all the software in the
- product that is covered by this License, on a durable physical
- medium customarily used for software interchange, for a price no
- more than your reasonable cost of physically performing this
- conveying of source, or (2) access to copy the
- Corresponding Source from a network server at no charge.
-
- c) Convey individual copies of the object code with a copy of the
- written offer to provide the Corresponding Source. This
- alternative is allowed only occasionally and noncommercially, and
- only if you received the object code with such an offer, in accord
- with subsection 6b.
-
- d) Convey the object code by offering access from a designated
- place (gratis or for a charge), and offer equivalent access to the
- Corresponding Source in the same way through the same place at no
- further charge. You need not require recipients to copy the
- Corresponding Source along with the object code. If the place to
- copy the object code is a network server, the Corresponding Source
- may be on a different server (operated by you or a third party)
- that supports equivalent copying facilities, provided you maintain
- clear directions next to the object code saying where to find the
- Corresponding Source. Regardless of what server hosts the
- Corresponding Source, you remain obligated to ensure that it is
- available for as long as needed to satisfy these requirements.
-
- e) Convey the object code using peer-to-peer transmission, provided
- you inform other peers where the object code and Corresponding
- Source of the work are being offered to the general public at no
- charge under subsection 6d.
-
- A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
- A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling. In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage. For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product. A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
- "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source. The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
- If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information. But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
- The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed. Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
- Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
- 7. Additional Terms.
-
- "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law. If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
- When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it. (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.) You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
- Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
- a) Disclaiming warranty or limiting liability differently from the
- terms of sections 15 and 16 of this License; or
-
- b) Requiring preservation of specified reasonable legal notices or
- author attributions in that material or in the Appropriate Legal
- Notices displayed by works containing it; or
-
- c) Prohibiting misrepresentation of the origin of that material, or
- requiring that modified versions of such material be marked in
- reasonable ways as different from the original version; or
-
- d) Limiting the use for publicity purposes of names of licensors or
- authors of the material; or
-
- e) Declining to grant rights under trademark law for use of some
- trade names, trademarks, or service marks; or
-
- f) Requiring indemnification of licensors and authors of that
- material by anyone who conveys the material (or modified versions of
- it) with contractual assumptions of liability to the recipient, for
- any liability that these contractual assumptions directly impose on
- those licensors and authors.
-
- All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10. If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term. If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
- If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
- Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
- 8. Termination.
-
- You may not propagate or modify a covered work except as expressly
-provided under this License. Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
- However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
- Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
- Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License. If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
- 9. Acceptance Not Required for Having Copies.
-
- You are not required to accept this License in order to receive or
-run a copy of the Program. Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance. However,
-nothing other than this License grants you permission to propagate or
-modify any covered work. These actions infringe copyright if you do
-not accept this License. Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
- 10. Automatic Licensing of Downstream Recipients.
-
- Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License. You are not responsible
-for enforcing compliance by third parties with this License.
-
- An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations. If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
- You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License. For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
- 11. Patents.
-
- A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based. The
-work thus licensed is called the contributor's "contributor version".
-
- A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version. For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
- Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
- In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement). To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
- If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients. "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
- If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
- A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License. You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
- Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
- 12. No Surrender of Others' Freedom.
-
- If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all. For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
- 13. Use with the GNU Affero General Public License.
-
- Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work. The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
- 14. Revised Versions of this License.
-
- The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation. If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
- If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
- Later license versions may give you additional or different
-permissions. However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
- 15. Disclaimer of Warranty.
-
- THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. Limitation of Liability.
-
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
- 17. Interpretation of Sections 15 and 16.
-
- If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
- {one line to give the program's name and a brief idea of what it does.}
- Copyright (C) {year} {name of author}
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-Also add information on how to contact you by electronic and paper mail.
-
- If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
- {project} Copyright (C) {year} {fullname}
- This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
- You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-<http://www.gnu.org/licenses/>.
-
- The GNU General Public License does not permit incorporating your program
-into proprietary programs. If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License. But first, please read
-<http://www.gnu.org/philosophy/why-not-lgpl.html>.
diff --git a/macros/latex/contrib/lion-msc/README.md b/macros/latex/contrib/lion-msc/README.md
index 5cda0c1dff..c3ab613457 100644
--- a/macros/latex/contrib/lion-msc/README.md
+++ b/macros/latex/contrib/lion-msc/README.md
@@ -16,4 +16,4 @@ The minimal.tex file is an empty template.
author: Michiel de Dood <dood@physics.leidenuniv.nl>
-Copyright (C) 2014-17 by M.J.A. de Dood
+Copyright (C) 2014-20 by M.J.A. de Dood
diff --git a/macros/latex/contrib/lion-msc/lion-msc.cls b/macros/latex/contrib/lion-msc/lion-msc.cls
index 5b9649cb8d..629babad1f 100644
--- a/macros/latex/contrib/lion-msc/lion-msc.cls
+++ b/macros/latex/contrib/lion-msc/lion-msc.cls
@@ -48,11 +48,11 @@
\typeout{}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesClass{lion-msc}[2019/05/15 v0.28]
+\ProvidesClass{lion-msc}[2020/05/27 v0.29]
\typeout{}
-\typeout{Leiden Institute of Physics thesis class - version 0.28}
+\typeout{Leiden Institute of Physics thesis class - version 0.29}
\typeout{}
-\typeout{Copyright (c) 2014 Michiel de Dood}
+\typeout{Copyright (c) 2014-2020 Michiel de Dood}
\typeout{Please send questions, comments, additions, complaints to:}
\typeout{dood@physics.leidenuniv.nl}
\typeout{}
@@ -257,7 +257,7 @@
Author : \hfill {\@author} \\
Student ID : \hfill {\@studentid} \\
Supervisor : \hfill {\@supervisor} \\
- 2$^{nd}$ corrector : \hfill {\@corrector}
+ Second corrector : \hfill {\@corrector}
\par
\vskip 1em
Leiden, The Netherlands, \@date
diff --git a/macros/latex/contrib/lion-msc/lion-msc.pdf b/macros/latex/contrib/lion-msc/lion-msc.pdf
index 9125a53c34..124137b777 100644
--- a/macros/latex/contrib/lion-msc/lion-msc.pdf
+++ b/macros/latex/contrib/lion-msc/lion-msc.pdf
Binary files differ
diff --git a/macros/latex/contrib/lion-msc/lion-msc.tex b/macros/latex/contrib/lion-msc/lion-msc.tex
index 32fc3dbcf3..bb4454e322 100644
--- a/macros/latex/contrib/lion-msc/lion-msc.tex
+++ b/macros/latex/contrib/lion-msc/lion-msc.tex
@@ -263,7 +263,7 @@ Documents $\rhd$ Settings $\rhd$ Document Class $\rhd$ Local-layout
\section*{Acknowledgements}
This research was made possible by financial support from the Dutch Association for Scientific Research (NWO) and the Foundation for Fundamental Research of Matter (FOM).
-\bibliographystyle{lion-msc}
+\bibliographystyle{plain}
\bibliography{4photon}
\end{document}
diff --git a/macros/latex/contrib/lwarp/README.txt b/macros/latex/contrib/lwarp/README.txt
index 1fb8e49873..ce32b03bab 100644
--- a/macros/latex/contrib/lwarp/README.txt
+++ b/macros/latex/contrib/lwarp/README.txt
@@ -1,5 +1,5 @@
-LaTeX lwarp package v0.86 README.txt
+LaTeX lwarp package v0.87 README.txt
Files included are:
diff --git a/macros/latex/contrib/lwarp/lwarp.dtx b/macros/latex/contrib/lwarp/lwarp.dtx
index 8139da0040..bbfd42a9fc 100644
--- a/macros/latex/contrib/lwarp/lwarp.dtx
+++ b/macros/latex/contrib/lwarp/lwarp.dtx
@@ -16,7 +16,7 @@
% \iffalse
%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
%<package>\ProvidesPackage{lwarp}
-%<package> [2020/05/12 v0.86 Allows LaTeX to directly produce HTML5 output.]
+%<package> [2020/06/03 v0.87 Allows LaTeX to directly produce HTML5 output.]
%
%<*driver>
\documentclass{ltxdoc}
@@ -87,6 +87,7 @@
\usepackage[log-declarations=false]{xparse}
+\usepackage{ifptex}% *8* remove later
\usepackage[lwarpmk]{lwarp}
@@ -1505,20 +1506,45 @@ macros may be defined as follows:
To maintain compile speed, use the \env{warpMathJax} environment,
and use a separate math environment for each definition.
-\DescribeMacro{\DeclareIfstar}
-To define a starred macro, instead of:
+\DescribeMacro{\ifstar}
+For \brand{MathJax}, use \cs{ifstar} instead of \cs{@ifstar}:
+\gindex{starred macros}
+\gindex{ifnextstar=\cs{@ifnextstar} with \brand{MathJax}}
+\gindex{@ifstar=\cs{@ifstar} with \brand{MathJax}}
\gindex{mathjax=\brand{MathJax}>starred macros}
\trouble{mathjax=\brand{MathJax}>starred macros}
\trouble{math>starred macros and mathjax=\brand{MathJax}}
+\gindex{mathjax=\brand{MathJax}>@ifstar=\cs{@ifstar} macros}
+\trouble{mathjax=\brand{MathJax}>@ifstar=\cs{@ifstar} macros}
+\trouble{math>@ifstar=\cs{@ifstar} macros and \brand{MathJax}}
\begin{sourcedisplay}
-\cs{CustomizeMathJax}\{\cs{def}\cs{myname}\{\cs{@ifstar}\cs{starredaction}\cs{unstarredaction}\}\}
+\cs{CustomizeMathJax}\{ \\
+ \fquad \cs{def}\cs{myname}\{\\
+ \fqquad \cs{ifstar}\cs{starredaction}\cs{unstarredaction} \\
+ \fqquad \% \textred{(Do not place anything after!)} \\
+ \fquad \}
+\}
+\end{sourcedisplay}
+
+\DescribeMacro{\ifnextchar}
+For \brand{MathJax}, use \cs{ifnextchar} instead of \cs{@ifnextchar}:
+\gindex{@ifnextchar=\cs{@ifnextchar} with \brand{MathJax}}
+\gindex{ifnextchar=\cs{@ifnextchar} with \brand{MathJax}}
+\gindex{mathjax=\brand{MathJax}>@ifnextchar=\cs{@ifnextchar} macros}
+\trouble{mathjax=\brand{MathJax}>@ifnextchar=\cs{@ifnextchar} macros}
+\trouble{math>@ifnextchar=\cs{@ifnextchar} macros and \brand{MathJax}}
+\begin{sourcedisplay}
+\cs{CustomizeMathJax}\{cs{def}\cs{myname}\{\cs{ifnextchar} X \cs{found}\cs{notfound}\}\}
\end{sourcedisplay}
-use:
+``\texttt{X}'' may be a single \acro{ASCII} character,
+or a hex number inside braces, ex:
\begin{sourcedisplay}
-\cs{CustomizeMathJax}\{\cs{DeclareIfstar}\{\cs{myname}\}\{\cs{starredaction}\}\{\cs{unstarredaction}\}\}
+\cs{CustomizeMathJax}\{\cs{def}\cs{myname}\{\cs{ifnextchar}\{0x7B\}\cs{found}\cs{notfound}\}\}
\end{sourcedisplay}
-Inside a \brand{MathJax} math expression, \cs{myname} becomes a macro
-which uses \cs{starredaction} if it is starred, or \cs{unstarredaction} if not.
+Use ``\texttt{(}'' or ``\texttt{\{0x28\}}'' for a left parenthesis,
+``\texttt{\{0x7B\}}'' for a left brace,
+``\texttt{\{0x7D\}}'' for a right brace,
+or ``\texttt{\{0x5C\}}'' for a backslash.
}
%\newcommand{\limitscustomizeKaTeX}{%
@@ -1581,9 +1607,9 @@ from the \pkg{hyperref} package:
\item For the new \env{cases}-like environments,
\cs{text} must be used to set the normal roman font if desired.
\item \env{alignat} in \brand{MathJax} requires math mode, but
- in \LaTeX it doesn't. It may be required to use \env{warpHTML} and
+ in \LaTeX\ it doesn't. It may be required to use \env{warpHTML} and
\env{warpprint} to isolate a version for each mode.
- \item \cs{DeclareParedDelimiter} and related must be in the preamble
+ \item \cs{DeclarePairedDelimiter} and related must be in the preamble
before \linebreak \texttt{\cs{begin}\{document\}}.
\end{itemize}
}
@@ -2802,28 +2828,18 @@ These packages do work with \pkg{lwarp}'s option \optn{svgmath}.
\newcommand{\limitsphysics}{%
\pkg{physics} works as-is for \HTML\ with \SVG\ math.
-For \brand{MathJax}, emulation is provided via \pkg{lwarp}'s \brand{MathJax} macros.
-These are not the same as the third-party \brand{MathJax} extension.
-
-\begin{itemize}
-\item The \optn{notrig} option is honored.
-\item Most macros don't work with \cs{big}, etc.\watchout
-\item Macros do not auto-detect variable numbers of mandatory arguments. \watchout
- Provide empty \texttt{\{\}} arguments for those which are not used.
-\item Many of the macros do not work with auto-detected delimiters. \watchout
- Use the delimiter-specific versions instead.
- Some macros do not even consider the following arguments,
- so they may work as expected.
-\item For \cs{Re} and \cs{Im}, the arguments must be in braces.\watchout
-\item For \cs{functionalderivative}, for the example in the manual with $(E-TS)$,
- enclose the parens in braces.
-\item \cs{expectationvalue} requires and uses two mandatory arguments, \watchout
- unlike the third-party \brand{MathJax} \pkg{physics} extension.
-\item Each of \cs{matrixquantity}, \cs{smallmatrixquantity},
- and \cs{matrixdeterminant} work,
- while \cs{identitymatrix} and the following simply print a place-holder,
- and must be replaced by hand.
-\end{itemize}
+For \brand{MathJax}, the \brand{MathJax} v3 \pkg{physics} extension is used.
+% emulation is provided via \pkg{lwarp}'s \brand{MathJax} macros.
+% These are not the same as the third-party \brand{MathJax} extension.
+%
+% \begin{itemize}
+% \item The \optn{notrig} option is honored.
+% \item Most macros don't work with \cs{big}, etc.\watchout
+% \item Each of \cs{matrixquantity}, \cs{smallmatrixquantity},
+% and \cs{matrixdeterminant} work,
+% while \cs{identitymatrix} and the following simply print a place-holder,
+% and must be replaced by hand using \env{warpprint} and \env{warpHTML}.
+% \end{itemize}
}
@@ -3022,7 +3038,7 @@ This boolean may be tested by the user for later use.
%<*package>
% \fi
%
-% \CheckSum{44713}
+% \CheckSum{43783}
%
% \CharacterTable
% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
@@ -3151,6 +3167,7 @@ This boolean may be tested by the user for later use.
% \changes{v0.84}{2020/04/24}{\ 2020/04/24}
% \changes{v0.85}{2020/05/01}{\ 2020/05/01}
% \changes{v0.86}{2020/05/12}{\ 2020/05/12}
+% \changes{v0.87}{2020/06/03}{\ 2020/06/03}
@@ -3373,6 +3390,30 @@ This boolean may be tested by the user for later use.
%
% \begin{description}
% \needspace{2\baselineskip}
+% \item[v0.87:] \brand{MathJax}, bibliography packages.
+% \begin{itemize}
+% \item Added boolean \bool{FixSmallCaps} for fonts which render small caps as
+% \margintag{core}
+% all caps.
+% \item Fixed \cs{bibliography} to use the \HTML\ version's \filenm{.bbl} file.
+% Previously the \HTML\ bibliography relied on the print version's \filenm{.bbl},
+% thus would fail if the print document had not yet been created.
+% \item Added \cs{ifstar} and \cs{ifnextchar} to \brand{MathJax}, and
+% \margintag{\brand{MathJax}}
+% removed \cs{DeclareIfstar}.
+% \watchout[Removed \cs{DeclareIfstar}]
+% See \cref{sec:limitscustomizemathjax}.
+% \item \pkg{physics}: Now supports the \brand{MathJax} v3 extension.
+% \margintag{packages}
+% \item \pkg{mathtools}: Improved \cs{underbrakcet}, \cs{overbracket} for \brand{MathJax}.
+% \item \pkg{nccmath}: Improved \cs{underrel} for \brand{MathJax}.
+% \item \pkg{mhchem}: Now supports the \brand{MathJax} v3 extension for \cs{ce} inside math.
+% \item \pkg{cancel}: Now supports the \brand{MathJax} v3 extension.
+% \item \pkg{embrac}: Neutralized kerning for improved \HTML\ conversion.
+% \item Added \pkg{citeref}, \pkg{drftcite}, \pkg{jurabib}, \pkg{multibib}, \pkg{splitbib}.
+% \item Verified to work as-is with \pkg{bibtopic}, \pkg{collref}, \pkg{mciteplus}.
+% \end{itemize}
+% \needspace{2\baselineskip}
% \item[v0.86:] \brand{MathJax} major updates.
% \begin{itemize}
% \item Fixed: Filename if named files with \filenm{*}, parens, period in section name.
@@ -5374,9 +5415,11 @@ This boolean may be tested by the user for later use.
%
% Glossary: & \mpkg{gloss}, \mpkg{glossaries} and \prog{xindy}, \mpkg{nomencl}.\\
%
-% Bibliography: & \spkg{babelbib}, \mpkg{backref}, \mpkg{biblatex}, \mpkg{bibunits},
-% \mpkg{chapterbib}, \mpkg{cite}, \ipkg{hypernat}, \spkg{mcite}, \mpkg{natbib},
-% \spkg{notes2bib}, \ipkg{showtags}.
+% Bibliography: & \spkg{babelbib}, \spkg{bibtopic}, \mpkg{backref},
+% \mpkg{biblatex}, \mpkg{bibunits},
+% \mpkg{chapterbib}, \mpkg{cite}, \mpkg{citeref}, \spkg{collref}, \mpkg{drftcite},
+% \ipkg{hypernat}, \mpkg{jurabib}, \spkg{mcite}, \spkg{mciteplus}, \mpkg{multibib},
+% \mpkg{natbib}, \spkg{notes2bib}, \mpkg{splitbib}, \ipkg{showtags}.
%
% \\
%
@@ -5533,7 +5576,7 @@ This boolean may be tested by the user for later use.
% Direct formatting: & \cs{emph}, \cs{textsuperscript},
% \cs{textbf}, etc are supported.
% \cs{bfseries}, etc.\ are only supported in some cases.
-% \mpkg{cancel}, \epkg{ellipsis}, \mpkg{embrac}, \spkg{enparen},
+% \mpkg{cancel}\sjax, \epkg{ellipsis}, \mpkg{embrac}, \spkg{enparen},
% \ipkg{hyphenat}, \epkg{lettrine}, \epkg{lips},
% \ipkg{lua-check-hyphen}, \ipkg{luacolor}, \epkg{magaz}, \epkg{nolbreaks},
% \ipkg{normalcolor},
@@ -5571,9 +5614,11 @@ This boolean may be tested by the user for later use.
% Tested to work as-is: Special font macros in \spkg{cfr-lm} and others
% which use \spkg{nfssext-cfr}. \\
%
-% Symbols: & Native \LaTeX\ diacriticals, \mpkg{academicons}, \mpkg{bbding},
+% Symbols: & Native \LaTeX\ diacriticals, \mpkg{academicons}, \spkg{amssymb}\sjax,
+% \mpkg{bbding},
% \mpkg{chemgreek}, \mpkg{dingbat}, \spkg{euro}, \mpkg{eurosym},
-% \mpkg{fontawesome}, \mpkg{fontawesome5}, \spkg{gensymb}\ejax, \mpkg{marvosym},
+% \mpkg{fontawesome}, \mpkg{fontawesome5}, \spkg{gensymb}\ejax, \spkg{latexsym}\sjax,
+% \mpkg{marvosym},
% \spkg{mathcomp}\ejax, \mpkg{metalogo}, \mpkg{metalogox},
% \mpkg{pifont}, \spkg{textalpha},
% \mpkg{textcomp}, \spkg{textgreek}, \mpkg{typicons}, \mpkg{xunicode}.
@@ -5598,7 +5643,7 @@ This boolean may be tested by the user for later use.
% \mpkg{engtlc}\ejax, \spkg{fast-diagram}, \mpkg{ghsystem},
% \spkg{hepnicenames}, \spkg{heppennames}, \spkg{karnaughmap}, \mpkg{karnaugh-map},
% \mpkg{listings}, \spkg{linop}, \mpkg{mhchem}\sjax, \spkg{pgfgantt},
-% \mpkg{phfqit}, \spkg{physics}\ejax, \spkg{physunits}\ejax, \spkg{qcircuit},
+% \mpkg{phfqit}, \spkg{physics}\sjax, \spkg{physunits}\ejax, \spkg{qcircuit},
% \mpkg{register}, \spkg{simpler-wick},
% \spkg{slashed}\ejax, \mpkg{steinmetz}\ejax, \spkg{structmech}, \mpkg{struktex}.
% \spkg{tikz-karnaugh}, \spkg{tikzcodeblocks} \\
@@ -7728,6 +7773,7 @@ This boolean may be tested by the user for later use.
% \cs{HTMLPageTop} & Heading for the other pages. \\
% \cs{HTMLPageBottom} & Footer for the other pages. \\
% \midrule
+% FixSmallCaps & Set \optn{true} if small caps rendered as all caps. \\
% HTMLDebugComments & Boolean to generate \HTML\ comments. \\
% \bottomrule
% \end{tabular}
@@ -7938,6 +7984,11 @@ This boolean may be tested by the user for later use.
% Any pending footnotes are also placed at the bottom of each page
% before each file break.
%
+% \ItemDescribeBoolean{FixSmallCaps} \DescribeDefault{false}
+% Set |true| if \textsc{Small Caps} are rendering in all caps (``SMALL CAPS'').
+% May be required for some fonts (\pkg{erewhon}, \pkg{utopia}, \pkg{fbb}, et al.),
+% and packages such as \pkg{embrac}.
+%
% \ItemDescribeBoolean{HTMLDebugComments} \DescribeDefault{false}
% Set |true| to generate \HTML\ comments, such as which section or \element{div}
% is being opened or closed.
@@ -8617,6 +8668,29 @@ This boolean may be tested by the user for later use.
%
% \limitstext
%
+%
+% \subsubsection{Small caps}
+%
+% \DescribeBoolean{FixSmallCaps}
+% \trouble{font>small caps}
+% \trouble{small caps}
+% \trouble{font>CJK}
+% \trouble{CJK>font}
+% Some fonts, such as \pkg{erewhon}, \pkg{utopia}, or \pkg{fbb}, and some packages
+% such as \pkg{embrac}, copy/paste ``\textsc{Small Caps}''
+% as all caps (``SMALL CAPS''),
+% which \pkg{lwarp} then reads as all caps, so the text is printed in all caps.
+% If small caps are being rendered as all caps, set:
+% \begin{sourceverb}
+% \booltrue{FixSmallCaps}
+% \end{sourceverb}
+% Some CJK fonts may not work if \bool{FixSmallCaps} is set \optn{true}.
+% \watchout[CJK fonts]
+% \trouble{Chinese>font}
+% \trouble{Japanese>font}
+% \trouble{Korean>font}
+%
+%
% \subsubsection{Horizontal space}
%
% \limitshspace
@@ -10917,13 +10991,6 @@ This boolean may be tested by the user for later use.
% \watchout[\TeX\ boxes]
% require \cs{newpage}, which will not work in a \TeX\ box.
%
-% \changes{v0.57}{2018/05/28}{Docs: Recreating the index for \pkg{lwarp} source.}
-% To recreate the index for the \pkg{lwarp} documentation:
-% \margintag{index recreation}
-% \begin{Verbatim}[gobble=2,obeytabs,tabsize=4,frame=lines]
-% makeindex -s gglo.ist -o lwarp.gls lwarp.glo
-% splitindex lwarp.idx -- -s gind.ist
-% \end{Verbatim}
%
%
% \subsection{Creating a development system}
@@ -10943,7 +11010,7 @@ This boolean may be tested by the user for later use.
% hundred additional \filenm{lwarp-*.sty} files for the various packages which are
% supported.
%
-% To create the documentation \filenm{lwarp.pdf},
+% To create the initial documentation \filenm{lwarp.pdf},
% execute \userentry{pdflatex lwarp.dtx}
%
% \item[To make the development files visible to other projects:] \
@@ -10955,6 +11022,7 @@ This boolean may be tested by the user for later use.
%
% Inside this directory, create the file \filenm{update}, containing:
% \begin{Verbatim}[gobble=2,obeytabs,tabsize=4,frame=lines]
+% rm lwarp-*.sty
% ln -s /path_to_dev_directory/lwarp*.sty .
% ln -s /path_to_dev_directory/lwarp_baseline_marker.png .
% ln -s /path_to_dev_directory/lwarp_baseline_marker.eps .
@@ -10990,6 +11058,39 @@ This boolean may be tested by the user for later use.
% setenv PATH ${HOME}/bin:/opt/texbin_local:/opt/texbin:${PATH}
% \end{Verbatim}
%
+% \item[To fully compile the \pkg{lwarp} documentation and indexes:] \ \null
+% \changes{v0.57}{2018/05/28}{Docs: Recreating the index for \pkg{lwarp} source.}
+% \changes{v0.87}{2020/05/17}{Docs: Updated docs to compile \pkg{lwarp} documentation.}
+% \gindex{documentation>compile}
+% \gindex{lwarp=\pkg{lwarp}>compiling documentation}
+% \begin{sourcedisplay}
+% pdflatex lwarp.ins \\
+% pdflatex lwarp.dtx \\
+% pdflatex lwarp.dtx \hfill \textgreen{<if necessary>} \\
+% makeindex -s gglo.ist -o lwarp.gls lwarp.glo \hfill \textgreen{<indexes>} \\
+% splitindex lwarp.idx -- -s gind.ist \\
+% pdflatex lwarp.dtx \\
+% pdflatex lwarp.dtx \hfill \textgreen{<if necessary>} \\
+% makeindex -s gglo.ist -o lwarp.gls lwarp.glo \hfill \textgreen{<indexes>} \\
+% splitindex lwarp.idx -- -s gind.ist \hfill \textgreen{<again>} \\
+% pdflatex lwarp.dtx \\
+% pdflatex lwarp.dtx \hfill \textgreen{<if necessary>}
+% \end{sourcedisplay}
+% (The second round of index processing is required to fully resolve the
+% final Index of Indexes.)
+%
+% To make it easier to update the documentation after a minor change,
+% it is useful to create a command script called \filenm{make_index}, containing:
+% \begin{sourceverb}
+% makeindex -s gglo.ist -o lwarp.gls lwarp.glo
+% splitindex lwarp.idx -- -s gind.ist
+% \end{sourceverb}
+%
+% Note that Index of Indexes and the cross-references to the indexes
+% \trouble[references]{index>documentation references}
+% \trouble{documentation>index cross-references}
+% may not be correct until the above has been accomplished.
+%
% \end{description}
%
%
@@ -11886,8 +11987,12 @@ This boolean may be tested by the user for later use.
% \changes{v0.63}{2018/11/25}{Added p\TeX support.}
% \changes{v0.79}{2020/01/05}{\pkg{luatex85}: Removed.}
% \changes{v0.79}{2020/01/05}{\pkg{ifpdf}, \pkg{ifptex}: Provided by \pkg{iftex}.}
+% \changes{v0.87}{2020/05/21}{\pkg{ifpdf}, \pkg{ifptex}: Restored to work on TL2019 and earlier.}
+% ^^A *8* remove ifpdf, ifptex
% \begin{macrocode}
\RequirePackage{iftex}[2019/11/07]
+\RequirePackage{ifpdf}
+\RequirePackage{ifptex}
\newif\ifxetexorluatex
@@ -12161,7 +12266,9 @@ This boolean may be tested by the user for later use.
% \changes{v0.68}{2019/02/26}{Prevented \pkg{alg}, \pkg{algorithmic}, \pkg{fncylab}, \pkg{pdfcprot}.}
% \changes{v0.80}{2020/02/15}{Prevented \pkg{formula}, \pkg{shadethm}, \pkg{slashbox}.}
% \changes{v0.81}{2020/02/15}{Prevented \pkg{statex}.}
+% \changes{v0.87}{2020/05/14}{Prevented \pkg{csvtools}.}
%
+% ^^A *earlyloadnever *loadnever
% \begin{macrocode}
\LWR@earlyclassloadnever{jarticle}{ujarticle}
\LWR@earlyclassloadnever{jbook}{ujbook}
@@ -12178,6 +12285,7 @@ This boolean may be tested by the user for later use.
\LWR@earlyloadnever{caption2}{caption}
% \LWR@earlyloadnever{ccaption}{caption}% might be preloaded by memoir
\LWR@earlyloadnever{colortab}{colortbl}
+\LWR@earlyloadnever{csvtools}{datatool}
\LWR@earlyloadnever{doublespace}{setspace}
\LWR@earlyloadnever{epsf}{graphicx}
\LWR@earlyloadnever{fancyheadings}{fancyhdr}
@@ -12311,6 +12419,7 @@ This boolean may be tested by the user for later use.
\LWR@loadafter{chkfloat}
\LWR@notmemoirloadafter{chngpage}
\LWR@loadafter{cite}
+\LWR@loadafter{citeref}
\LWR@loadafter{cmdtrack}
\LWR@loadafter{colonequals}
\LWR@loadafter{color}
@@ -12334,6 +12443,7 @@ This boolean may be tested by the user for later use.
\LWR@loadafter{draftcopy}
\LWR@loadafter{draftfigure}
\LWR@loadafter{draftwatermark}
+\LWR@loadafter{drftcite}
\LWR@loadafter{easy-todo}
\LWR@loadafter{ebook}
\LWR@loadafter{econometrics}
@@ -12438,6 +12548,7 @@ This boolean may be tested by the user for later use.
% inputenx must be loaded before lwarp
% inputtrc may be loaded before lwarp
\LWR@loadafter{intopdf}
+\LWR@loadafter{jurabib}
\LWR@loadafter{karnaugh-map}
\LWR@loadafter{keyfloat}
\LWR@loadafter{layaureo}
@@ -12492,6 +12603,7 @@ This boolean may be tested by the user for later use.
% morewrites must be loaded before lwarp
\LWR@notmemoirloadafter{movie15}
\LWR@notmemoirloadafter{mparhack}
+\LWR@loadafter{multibib}
\LWR@loadafter{multicap}
%\LWR@loadafter{multicol}% loaded by ltxdoc
\LWR@loadafter{multicolrule}
@@ -12619,6 +12731,7 @@ This boolean may be tested by the user for later use.
\LWR@loadafter{soul}
\LWR@loadafter{soulpos}
\LWR@loadafter{soulutf8}
+\LWR@loadafter{splitbib}
\LWR@loadafter{splitidx}
\LWR@loadafter{srcltx}
\LWR@loadafter{srctex}
@@ -14626,7 +14739,6 @@ This boolean may be tested by the user for later use.
-% ^^A *checkload
% \begin{macro}{\LWR@checkloadfilename} \marg{filename}
% Checks if this filename should be loaded after \pkg{lwarp},
% or never at all.
@@ -14640,8 +14752,11 @@ This boolean may be tested by the user for later use.
% \changes{v0.79}{2020/01/09}{Prevented \pkg{bxcjkjatype}, \pkg{hangul}.}
% \changes{v0.80}{2020/02/15}{Prevented \pkg{formula}, \pkg{shadethm}, \pkg{slashbox}.}
% \changes{v0.81}{2020/02/28}{Prevented \pkg{statex}.}
+% \changes{v0.87}{2020/05/14}{Prevented \pkg{csvtools}.}
%
% The following should never be loaded:
+%
+% ^^A *checkload *loadnever
% \begin{macrocode}
\newcommand*{\LWR@checkloadfilename}[1]{%
\LWR@checkloadnever{#1}{ae}{cm-super, lmodern}
@@ -14653,6 +14768,7 @@ This boolean may be tested by the user for later use.
\LWR@checkloadnever{#1}{caption2}{caption}
\LWR@checkloadnever{#1}{ccaption}{caption}% might be preloaded by memoir
\LWR@checkloadnever{#1}{colortab}{colortbl}
+\LWR@checkloadnever{#1}{csvtools}{datatool}
\LWR@checkloadnever{#1}{doublespace}{setspace}
\LWR@checkloadnever{#1}{epsf}{graphicx}
\LWR@checkloadnever{#1}{fancyheadings}{fancyhdr}
@@ -18836,6 +18952,7 @@ page_compositor "."
% \changes{v0.86}{2020/05/03}{File: \filenm{lwarp_mathjax.txt}: Updated to \brand{MathJax} v3 current.}
% \changes{v0.86}{2020/05/03}{File: \filenm{lwarp_mathjax.txt}: Improved equation numbering.}
% \changes{v0.86}{2020/05/03}{File: \filenm{lwarp_mathjax.txt}: Added support for starred macros.}
+% \changes{v0.87}{2020/05/20}{File: \filenm{lwarp_mathjax.txt}: Now provides \cs{ifstar}, \cs{ifnextchar}.}
%
% ^^A *lwarp_mathjax.txt
%
@@ -18845,12 +18962,12 @@ page_compositor "."
\begin{filecontents*}[overwrite]{lwarp_mathjax.txt}
<script>
// Lwarp MathJax emulation code
+//
// Based on code by Davide P. Cervone.
-// Original code: https://github.com/mathjax/MathJax/issues/2313
-// Modified by Brian Dunn to adjust equation numbering, add subequations,
-// and add starred macros.
// Equation numbering: https://github.com/mathjax/MathJax/issues/2427
-// Starred macros: https://github.com/mathjax/MathJax/issues/2428
+// Starred and ifnextchar macros: https://github.com/mathjax/MathJax/issues/2428
+//
+// Modified by Brian Dunn to adjust equation numbering and add subequations.
//
// LaTeX can use \seteqnumber{subequations?}{section}{number} before each equation.
// subequations? is 0 usually, 1 if inside subequations.
@@ -18865,10 +18982,8 @@ MathJax = {
},
startup: {
ready() {
- //
// These would be replaced by import commands if you wanted to make
// a proper extension.
- //
const Configuration = MathJax._.input.tex.Configuration.Configuration;
const CommandMap = MathJax._.input.tex.SymbolMap.CommandMap;
const Macro = MathJax._.input.tex.Symbol.Macro;
@@ -18876,170 +18991,64 @@ MathJax = {
const ParseUtil = MathJax._.input.tex.ParseUtil.default;
const expandable = MathJax._.util.Options.expandable;
- //
- // These are the names of the command maps:
- //
- const SETEQNUMBERMAP = 'seteqnumberCoreMap' ;
-
- //
- // These functions implement the macros:
- //
- const seteqnumberFunction = (parser, name) => {
- // Get the macro parameters
- const star = parser.GetStar(); // true if there is a *
- const optBrackets = parser.GetBrackets(name); // contents of optional brackets
- const newsubequations = parser.GetArgument(name); // the subequations argument
- const neweqsection = parser.GetArgument(name); // the eq section argument
- const neweqnumber = parser.GetArgument(name); // the eq number argument
- MathJax.config.subequations=newsubequations ; // a string with boolean meaning
- MathJax.config.section=neweqsection ; // a string with numeric meaning
- parser.tags.counter = parser.tags.allCounter = neweqnumber ;
- };
-
- //
- // This is the configuration for the seteqnumberFunctionConfig TeX extension.
- //
- const seteqnumberFunctionConfig = Configuration.create('seteqnumberCore', {
- //
- // Initialize the extension by creating the command map,
- // then append the command map to the given configuration as a macro handler.
- //
- init(config) {
- const map = new CommandMap(SETEQNUMBERMAP,{},{});
- config.append(
- Configuration.create(
- 'seteqnumberDefs',
- {handler: {macro: [SETEQNUMBERMAP]}}
- )
- );
- },
-
- //
- // Add options (from the
- // seteqnumberCore configuration object in the document's
- // option list, if any).
- //
- config(config, jax) {
- const map = jax.parseOptions.handlers.retrieve(SETEQNUMBERMAP);
- const options = jax.parseOptions.options.seteqnumberCore;
- for (const cs of Object.keys(options)) {
- map.add(cs, new Macro(cs, seteqnumberFunction, options[cs]));
- }
- },
-
- options: {
- seteqnumberCore: expandable({})
- }
- }
- );
-
- const IFSTARMAP = 'ifstarMap';
-
- //
- // This function implements an ifstar macro.
- //
- const IfstarFunction = (parser, name, resultstar, resultnostar) => {
- //
- // Get the macro parameters
- //
- const star = parser.GetStar(); // true if there is a *
- //
- // Construct the replacement string for the macro
- //
- const macro = [(star ? resultstar : resultnostar)].join('');
- //
- // Insert the replacement string into the TeX string, and check
- // that there haven't been too many maxro substitutions (prevents
- // infinite loops).
- //
- parser.string = ParseUtil.addArgs(parser, macro, parser.string.slice(parser.i));
+ // Insert the replacement string into the TeX string, and check
+ // that there haven't been too many maxro substitutions (prevents
+ // infinite loops).
+ const useArgument = (parser, text) => {
+ parser.string = ParseUtil.addArgs(parser, text, parser.string.slice(parser.i));
parser.i = 0;
if (++parser.macroCount > parser.configuration.options.maxMacros) {
throw new TexError('MaxMacroSub1',
- 'MathJax maximum macro substitution count exceeded; ' +
- 'is there a recursive macro call?');
+ 'MathJax maximum macro substitution count exceeded; ' +
+ 'is there a recursive macro call?');
}
- };
+ }
- //
- // This is the configuration for the IfstarConfiguration TeX extension.
- //
- const IfstarConfiguration = Configuration.create('Ifstar', {
- //
- // Initialize the extension by creating the command map for the
- // macros defined by \DeclareIfstar, and add the
- // \DeclareIfstar macro itself. Then append the
- // command map to the given configuration as a macro handler
- //
- init(config) {
- const map = new CommandMap(IFSTARMAP, {
- DeclareIfstar: ['Declare_Ifstar']
- }, {
- //
- // Implements \DeclareIfstar control sequence.
- //
- Declare_Ifstar(parser, name) {
- //
- // Get the control sequence to define and the starred and
- // non-starred macros to use.
- //
- let cs = ParseUtil.trimSpaces(parser.GetArgument(name));
- const resultstar = parser.GetArgument(name);
- const resultnostar = parser.GetArgument(name);
- //
- // Check that the control sequence name is valid
- //
- if (cs.charAt(0) === '\\') cs = cs.substr(1);
- if (!cs.match(/^(.|[a-z]+)$/i)) { //$ syntax highlighting
- throw new TexError(
- 'IllegalControlSequenceName',
- 'Illegal control sequence name for %1',
- name
- );
- }
- //
- // Look up the command map and add the new macro to it using
- // IfstarFunction as the function and passing it the
- // given starred and non-starred macros.
- //
- const map = parser.configuration.handlers.retrieve(IFSTARMAP);
- map.add(cs, new Macro(cs, IfstarFunction, [resultstar, resultnostar]));
- }
- });
- config.append(
- Configuration.create('IfstarDefs', {handler: {macro: [IFSTARMAP]}})
- );
+ // Create the command map for \ifstar, \ifnextchar, \seteqnumber
+ new CommandMap('ifstar-ifnextchar-setequnumber', {
+ ifstar: 'IfstarFunction',
+ ifnextchar: 'IfnextcharFunction',
+ seteqnumber: 'SeteqnumberFunction'
+ }, {
+ // This function implements an ifstar macro.
+ IfstarFunction(parser, name) {
+ const resultstar = parser.GetArgument(name);
+ const resultnostar = parser.GetArgument(name);
+ const star = parser.GetStar(); // true if there is a *
+ useArgument(parser, star ? resultstar : resultnostar);
},
-
- //
- // Add any user-defined starred/non-starred macros (from the
- // Ifstar configuration object in the document's
- // option list), if any.
- //
- config(config, jax) {
- const map = jax.parseOptions.handlers.retrieve(IFSTARMAP);
- const starmacros = jax.parseOptions.options.Ifstar;
- for (const cs of Object.keys(starmacros)) {
- map.add(cs, new Macro(cs, IfstarFunction, starmacros[cs]));
+
+ // This function implements an ifnextchar macro.
+ IfnextcharFunction(parser, name) {
+ let whichchar = parser.GetArgument(name);
+ if (whichchar.match(/^(?:0x[0-9A-F]+|[0-9]+)$/i)) {
+ // $ syntax highlighting
+ whichchar = String.fromCodePoint(parseInt(whichchar));
}
+ const resultnextchar = parser.GetArgument(name);
+ const resultnotnextchar = parser.GetArgument(name);
+ const gotchar = (parser.GetNext() === whichchar);
+ useArgument(parser, gotchar ? resultnextchar : resultnotnextchar);
},
- //
- // Indicate that Ifstar is a valid option, and can have
- // any number of definitions. The format is
- //
- // name: [starred, non-starred]
- //
- // where 'name' is the macro name, and starred and non-starred are the
- // macros to use for the \name macro. You can include
- // pre-defined macros here, which will be available without
- // further configuration.
- //
- options: {
- Ifstar: expandable({})
+ // This function modifies the equation numbers.
+ SeteqnumberFunction(parser, name) {
+ // Get the macro parameters
+ const star = parser.GetStar(); // true if there is a *
+ const optBrackets = parser.GetBrackets(name); // contents of optional brackets
+ const newsubequations = parser.GetArgument(name); // the subequations argument
+ const neweqsection = parser.GetArgument(name); // the eq section argument
+ const neweqnumber = parser.GetArgument(name); // the eq number argument
+ MathJax.config.subequations=newsubequations ; // a string with boolean meaning
+ MathJax.config.section=neweqsection ; // a string with numeric meaning
+ parser.tags.counter = parser.tags.allCounter = neweqnumber ;
}
});
+ // Create the ifstar-ifnextchar-setequnumber package
+ Configuration.create('ifstar-ifnextchar-setequnumber', {
+ handler: {macro: ['ifstar-ifnextchar-setequnumber']}
+ });
MathJax.startup.defaultReady();
@@ -19060,10 +19069,7 @@ MathJax = {
}, // startup
tex: {
- packages: {'[+]': ['seteqnumberCore', 'tagFormat', 'Ifstar']},
- seteqnumberCore: {
- seteqnumber: [] // a user-defined macro
- },
+ packages: {'[+]': ['tagFormat', 'ifstar-ifnextchar-setequnumber']},
tags: "ams",
tagFormat: {
number: function (n) {
@@ -19213,7 +19219,7 @@ MathJax = {
-- Copyright 2016-2020 Brian Dunn
-printversion = "v0.86"
+printversion = "v0.87"
requiredconfversion = "2" -- also at *lwarpmk.conf
function printhelp ()
@@ -24564,9 +24570,10 @@ end -- not --version
%
%
% \DescribeCounter{LWR@currentautosec} Records the page number when the section
-% was created. If a math expression is included in the section name,
+% was created. (If a math expression is included in the section name,
% and SVG math is used, the corresponding \env{lateximage} will cause the
-% page number to change by the time the following autosec label is created.
+% page number to change by the time the following autosec label is created,
+% thus the initial page number is recorded here.)
% \changes{v0.43}{2017/11/01}{\ctr{LWR@currentautosec}: Added.}
% \changes{v0.66}{2019/01/28}{\ctr{LWR@currentautosec}: Fix for \LOF, \LOT float in home page.}
% \begin{macrocode}
@@ -33698,6 +33705,7 @@ end -- not --version
%
%
% \section{Bibliography presentation}
+% ^^A *bibliography
%
% \codehtml
% \begin{macrocode}
@@ -33705,21 +33713,12 @@ end -- not --version
% \end{macrocode}
%
%
-% \begin{macro}{\bibliography} \marg{filenames}
-%
-% Modified to use the base jobname instead of the |_html| jobname.
-% \changes{v0.48}{2018/02/04}{Fix: \cs{BaseJobname} for bibliography.}
-% \begin{macrocode}
-\def\bibliography#1{%
- \if@filesw
- \immediate\write\@auxout{\string\bibdata{#1}}%
- \fi
-% \@input@{\jobname.bbl}% original
- \begingroup%
- \@input@{\BaseJobname.bbl}% lwarp
- \endgroup%
-}
-% \end{macrocode}
+% \begin{macro}{\bibliography} \marg{filenames} \qquad
+% At one time this was modified to read \cs{BaseJobname}\filenm{.bbl},
+% which meant the \HTML\ version could not resolve until the print version was
+% also present. This also confused \pkg{multibib}.
+% It has been reverted to the original to use \cs{jobname}\filenm{.bbl}.
+% \changes{v0.87}{2020/05/17}{Reverted to original.}
% \end{macro}
%
%
@@ -38087,6 +38086,27 @@ color:\LWR@origpound\LWR@tempcolor%
% see \cref{sec:highlevelclasses}.
+% \codeall
+% \begin{macrocode}
+\begin{warpall}
+% \end{macrocode}
+
+% \DescribeBoolean{FixSmallCaps}
+% User may set \bool{FixSmallCaps} to \optn{true} if small caps
+% are being incorrectly rendered as all caps.
+%
+% \changes{v0.87}{2020/05/12}{Added \bool{FixSmallCaps} to remove \cs{LWR@print@scshape}
+% for \pkg{erewhon}, et. al.}
+% \begin{macrocode}
+\newbool{FixSmallCaps}
+\boolfalse{FixSmallCaps}
+% \end{macrocode}
+
+% \begin{macrocode}
+\end{warpall}
+% \end{macrocode}
+
+
% \codehtml
% \begin{macrocode}
\begin{warpHTML}
@@ -38519,10 +38539,19 @@ color:\LWR@origpound\LWR@tempcolor%
% \end{macrocode}
% \end{macro}
+
% \begin{macro}{\scshape}
+%
+% Note: \cs{LWR@print@scshape} is not used here since some fonts,
+% such as \pkg{erewhon}, copy/paste as all-caps.
+%
+% \changes{v0.87}{2020/05/12}{Added \bool{FixSmallCaps} to remove \cs{LWR@print@scshape}
+% for \pkg{erewhon}, et. al.}
% \begin{macrocode}
\newrobustcmd*{\LWR@HTML@scshape}{%
- \LWR@print@scshape%
+ \ifbool{FixSmallCaps}{}{%
+ \LWR@print@scshape%
+ }%
\renewcommand*{\LWR@f@shapecaps}{sc}%
}
\AtBeginDocument{\LWR@formatted{scshape}}
@@ -38545,12 +38574,16 @@ color:\LWR@origpound\LWR@tempcolor%
% \begin{macro}{\sishape}
% \changes{v0.65}{2018/12/10}{Added \cs{sishape}.}
+% \changes{v0.87}{2020/05/12}{Added \bool{FixSmallCaps} to remove \cs{LWR@print@scshape}
+% for \pkg{erewhon}, et. al.}
% \begin{macrocode}
\@ifundefined{sishape}{
\LetLtxMacro\sishape\scshape
}{}
\newrobustcmd*{\LWR@HTML@sishape}{%
- \LWR@print@sishape%
+ \ifbool{FixSmallCaps}{}{%
+ \LWR@print@sishape%
+ }%
\renewcommand*{\LWR@f@shape}{it}
\renewcommand*{\LWR@f@shapecaps}{sc}%
}
@@ -39999,6 +40032,11 @@ color:\LWR@origpound\LWR@tempcolor%
{Enclose its uses inside lateximage\MessageBreak
environments to force SVG output}
\LWR@mathjaxwarn{jkmath}{}
+ \LWR@mathjaxwarn{mathtools}
+ {See the Lwarp manual regarding the disallowspaces\MessageBreak
+ and showonlyrefs options, the alignat environment,\MessageBreak
+ and \protect\DeclarePairedDelimiter\space and related%
+ }
\LWR@mathjaxwarn{mathspec}{}
\LWR@mathjaxwarn{multirow}
{Multirow works as expected in text mode, but\MessageBreak
@@ -40008,11 +40046,10 @@ color:\LWR@origpound\LWR@tempcolor%
\LWR@mathjaxwarn{pb-diagram}
{Enclose its uses inside lateximage environments\MessageBreak
to force SVG output}
- \LWR@mathjaxwarn{physics}
- {The third-party extension is not used.\MessageBreak
- Avoid automatic delimiters.\MessageBreak
- Use all mandatory arguments, adding empty as needed.\MessageBreak
- See the Lwarp manual for details}
+% \LWR@mathjaxwarn{physics}
+% % {The third-party extension is not used.\MessageBreak
+% {The MathJax v3 extension is used.\MessageBreak
+% See the Lwarp manual for details}
\LWR@mathjaxwarn{unicode-math}
{Not all characters are encoded correctly.\MessageBreak
Some symbol fonts are not supported by MathJax,\MessageBreak
@@ -40427,43 +40464,6 @@ color:\LWR@origpound\LWR@tempcolor%
%
%
%
-%
-%
-%
-% \iffalse
-%<*afterpage>
-% \fi
-%
-% \part{lwarp-afterpage.sty}
-%
-% \section{afterpage}
-%
-% \credits{David Carlisle}
-%
-% \DescribePackage{afterpage} \pkg{afterpage} is emulated.
-%
-% \changes{v0.20}{2017/01/11}{\pkg{afterpage}: Added.}
-%
-% \codehtml
-%
-% Discard all options for \pkg{lwarp-afterpage}:
-% \begin{macrocode}
-\LWR@ProvidesPackageDrop{afterpage}[2014/10/28]
-% \end{macrocode}
-%
-% \begin{macrocode}
-\newcommand{\afterpage}[1]{#1}
-% \end{macrocode}
-%
-% \iffalse
-%</afterpage>
-% \fi
-%
-%
-%
-%
-%
-%
% \iffalse
%<*accessibility>
% \fi
@@ -44528,6 +44528,7 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
% \pkg{cancel} is used as-is for SVG math, and emulated for \HTML\ text output.
%
% \changes{v0.44}{2017/11/16}{\pkg{cancel}: Added.}
+% \changes{v0.87}{2020/06/02}{\pkg{cancel}: Now uses \brand{MathJax} v3 extension.}
%
% \codehtml
%
@@ -44582,6 +44583,15 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
% \end{macrocode}
% \end{noindmacro}
%
+% For \brand{MathJax}:
+% \begin{macrocode}
+\begin{warpMathJax}
+\PackageWarningNoLine{lwarp, cancel}{The MathJax v3 extension will be used}
+\CustomizeMathJax{\require{cancel}}
+\end{warpMathJax}
+% \end{macrocode}
+
+%
% \iffalse
%</cancel>
% \fi
@@ -47035,6 +47045,48 @@ name = \chemmacros_translate:n {scheme-name}
%
%
%
+% \iffalse
+%<*citeref>
+% \fi
+%
+% \part{lwarp-citeref.sty}
+%
+% \section{citeref}
+%
+% \credits{Bj\"orn Briel}
+%
+% \DescribePackage{citeref}
+% \pkg{citeref} is patched for use by \pkg{lwarp}.
+%
+% \changes{v0.87}{2020/05/16}{\pkg{citeref}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR@ProvidesPackagePass{citeref}[1999/27/05]
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\@cprwrite#1={\write\@auxout{\string\citepageref{#1}{\theLWR@currentautosec}}}
+
+\def\citepageref#1#2{%
+ \xdef\cpr@testa{\@nameuse{cpr@last@#1}}%letzte Zitatstelle
+ \xdef\cpr@testb{#2}% Seite dieser Zitatstelle
+ \ifx\cpr@testa\cpr@testb%
+ \relax% Konsekutive identische Seitenangaben weglassen
+ \else%
+ \@namexdef{cpr@last@#1}{#2}%
+ \@ifundefined{cpr@#1}%
+ {\@namexdef{cpr@#1}{\ref{\BaseJobname-autopage-#2}}}% lwarp
+ {\@namexdef{cpr@#1}{\@nameuse{cpr@#1}, \ref{\BaseJobname-autopage-#2}}}% lwarp
+ \fi
+ }
+% \end{macrocode}
+%
+% \iffalse
+%</citeref>
+% \fi
+%
%
%
% \iffalse
@@ -48304,6 +48356,44 @@ name = \chemmacros_translate:n {scheme-name}
%
%
%
+% \iffalse
+%<*drftcite>
+% \fi
+%
+% \part{lwarp-drftcite.sty}
+%
+% \section{drftcite}
+%
+% \credits{Donald Arseneau}
+%
+% \DescribePackage{drftcite}
+% \pkg{drftcite} is patched for use by \pkg{lwarp}.
+%
+% \changes{v0.87}{2020/06/02}{\pkg{drftcite}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR@ProvidesPackagePass{drftcite}[1995/01/23]
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\@lbibitem[#1]#2{\global\@HighCite\z@
+ \item[
+ \textsuperscript{\@nameuse{DCN@#2\@extra@b@citeb}}~% lwarp
+ \@biblabel{\@ifundefined{DCN@#2\@extra@b@citeb}{\@warning
+ {Reference `#2' on page \thepage\space was never cited}}{}%
+% \DC@llap{$^{\@nameuse{DCN@#2\@extra@b@citeb}}$\ \ }%%o
+ \@citeverb{#2}}\hfil]\if@filesw{\def\protect##1{\string ##1\space}%
+ \immediate\write\@auxout{\string\bibcite{#2}{#1}}}\fi\ignorespaces}
+% \end{macrocode}
+%
+% \iffalse
+%</drftcite>
+% \fi
+%
+%
+%
%
% \iffalse
%<*easy-todo>
@@ -48768,6 +48858,13 @@ name = \chemmacros_translate:n {scheme-name}
\LWR@ProvidesPackagePass{embrac}[2017/07/04]
% \end{macrocode}
%
+% \changes{v0.87}{2020/05/14}{\pkg{embrac}: Neutralized kerning.}
+% \begin{macrocode}
+\ExplSyntaxOn
+\RenewDocumentCommand{\embrac_kern:n}{m}{}
+\ExplSyntaxOff
+% \end{macrocode}
+%
% \begin{macrocode}
\LetLtxMacro\LWR@orig@HTML@emph\LWR@HTML@emph
\RenewDocumentCommand{\LWR@HTML@emph}{s m}{\LWR@orig@HTML@emph{#2}}
@@ -56056,6 +56153,98 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
%
%
%
+% \iffalse
+%<*jurabib>
+% \fi
+%
+% \part{lwarp-jurabib.sty}
+%
+% \section{jurabib}
+%
+% \credits{Jens Berger}
+%
+% \DescribePackage{jurabib}
+% \pkg{jurabib} is patched for use by \pkg{lwarp}.
+%
+% \changes{v0.87}{2020/05/18}{\pkg{jurabib}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR@ProvidesPackagePass{jurabib}[2004/01/25]
+% \end{macrocode}
+%
+% \begin{macrocode}
+\renewrobustcmd{\jblangle}{\textless}
+
+\renewrobustcmd{\jbrangle}{\textgreater}
+
+\renewcommand*{\jb@biblaw@item}{%
+ \hspace{0.5em}%
+% $\triangleright$
+ \HTMLunicode{25B7}% lwarp
+ \hspace{0.5em}%
+}
+
+\renewrobustcmd{\jbarchsig}[2]{%
+ \ifjbweareinbib
+ \settowidth{\jb@subarchitemwidth}{\jbsamesubarchindent+#1}%
+ \setlength{\jb@subarchentrywidth}{\textwidth-\jb@subarchitemwidth-4em}%
+% \begin{tabular}{@{}p{\jb@subarchitemwidth}@{}j{\jb@subarchentrywidth}@{}}%
+ #1\ifjb@dot\unskip\unskip\unskip.\fi
+% &
+ \quad% lwarp
+ \ifthenelse{\equal{#2}{}}{}{\jbarchnameformat{#2}}%
+% \end{tabular}
+ \fi
+}%
+
+
+\xpatchcmd{\jb@do@post@item}
+ {\begin{tabular}{p{\jb@biblaw@item@width}j{\jb@biblaw@entry@width}}}
+ {}
+ {}
+ {\LWR@patcherror{jurabib}{jb@do@post@item 1}}
+
+\xpatchcmd{\jb@do@post@item}
+ {\multicolumn{2}{p{\columnwidth}}{\jb@@name}}
+ {\jb@@name}
+ {}
+ {\LWR@patcherror{jurabib}{jb@do@post@item 2}}
+
+\xpatchcmd{\jb@do@post@item}
+ {\jb@biblaw@item & \jb@@fulltitle}
+ {\jb@biblaw@item \quad \jb@@fulltitle}
+ {}
+ {\LWR@patcherror{jurabib}{jb@do@post@item 3}}
+
+\xpatchcmd{\jb@do@post@item}
+ {\end{tabular}}
+ {}
+ {}
+ {\LWR@patcherror{jurabib}{jb@do@post@item 4}}
+
+\xpatchcmd{\jb@do@post@item}
+ {\begin{minipage}[t]{\bibnumberwidth}}
+ {}
+ {}
+ {\LWR@patcherror{jurabib}{jb@do@post@item 5}}
+
+\xpatchcmd{\jb@do@post@item}
+ {\end{minipage}}
+ {\quad}
+ {}
+ {\LWR@patcherror{jurabib}{jb@do@post@item 6}}
+% \end{macrocode}
+%
+% \iffalse
+%</jurabib>
+% \fi
+%
+%
+%
+%
+%
%
% \iffalse
%<*karnaugh-map>
@@ -59101,6 +59290,8 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
% For \brand{MathJax}:
%
% \changes{v0.79}{2020/01/26}{\pkg{mathtools}: Added \brand{MathJax} emulation.}
+% \changes{v0.87}{2020/05/20}{\pkg{mathtools}: Updated starred macros.}
+% \changes{v0.87}{2020/05/20}{\pkg{mathtools}: Improved \cs{underbraket}, \cs{overbracket}.}
% \begin{macrocode}
\begin{warpMathJax}
\LWR@infoprocessingmathjax{mathtools}
@@ -59136,10 +59327,10 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
\CustomizeMathJax{\Newextarrow\xleftharpoonup{10,10}{0x21bc}}
\CustomizeMathJax{\Newextarrow\xleftrightharpoons{10,10}{0x21cb}}
-\CustomizeMathJax{\newcommand{\LWRdounderbracket}[1]{\underline{#1}}}
+\CustomizeMathJax{\newcommand{\LWRdounderbracket}[3]{\underset{#3}{\underline{#1}}}}
\CustomizeMathJax{\newcommand{\LWRunderbracket}[2][]{\LWRdounderbracket{#2}}}
\CustomizeMathJax{\newcommand{\underbracket}[1][]{\LWRunderbracket}}
-\CustomizeMathJax{\newcommand{\LWRdooverbracket}[1]{\overline{#1}}}
+\CustomizeMathJax{\newcommand{\LWRdooverbracket}[3]{\overset{#3}{\overline{#1}}}}
\CustomizeMathJax{\newcommand{\LWRoverbracket}[2][]{\LWRdooverbracket{#2}}}
\CustomizeMathJax{\newcommand{\overbracket}[1][]{\LWRoverbracket}}
@@ -59193,7 +59384,7 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
% \begin{macrocode}
\CustomizeMathJax{
\newcommand{\LWRABLines}[1][\Updownarrow]{#1 \notag \\}% star/nostar the same
- \DeclareIfstar{\ArrowBetweenLines}{\LWRABLines}{\LWRABLines}
+ \newcommand{\ArrowBetweenLines}{\ifstar\LWRABLines\LWRABLines}
}
% \end{macrocode}
%
@@ -59210,9 +59401,8 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
\CustomizeMathJax{\newcommand{\LWRshortvdotswithinstar}[1]{\vdots \hspace{.5em} & \\}}
\CustomizeMathJax{\newcommand{\LWRshortvdotswithinnostar}[1]{& \hspace{.5em}\vdots \\}}
\CustomizeMathJax{%
- \DeclareIfstar{\shortvdotswithin}%
- {\LWRshortvdotswithinstar}%
- {\LWRshortvdotswithinnostar}%
+ \newcommand{\shortvdotswithin}%
+ {\ifstar\LWRshortvdotswithinstar\LWRshortvdotswithinnostar}%
}
\CustomizeMathJax{\newcommand{\MTFlushSpaceAbove}{}}
@@ -59244,9 +59434,11 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
% user macro:
\appto\LWR@customizedMathJax{\LWRbackslash(}
\appto\LWR@customizedMathJax{%
- \LWRbackslash{}DeclareIfstar\{\LWRbackslash{}\macrotocsname{#1}\}%
- \{\LWRbackslash{}\macrotocsname{#1}LWRsubstar\}%
- \{\LWRbackslash{}\macrotocsname{#1}LWRsubnostar\}%
+ \LWRbackslash{}newcommand\{\LWRbackslash{}\macrotocsname{#1}\}%
+ \{\LWRbackslash{}ifstar%
+ \LWRbackslash{}\macrotocsname{#1}LWRsubstar%
+ \LWRbackslash{}\macrotocsname{#1}LWRsubnostar%
+ \}%
}%
\appto\LWR@customizedMathJax{\LWRbackslash)\par}%
}
@@ -59308,9 +59500,13 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
% user macro:
\appto\LWR@customizedMathJax{\LWRbackslash(}
\appto\LWR@customizedMathJax{%
- \LWRbackslash{}DeclareIfstar\{\LWRbackslash{}\macrotocsname{#1}\}%
- \{\LWRbackslash{}\macrotocsname{#1}LWRsubstar\}%
- \{\LWRbackslash{}\macrotocsname{#1}LWRsubnostar\}%
+ \LWRbackslash{}newcommand\{%
+ \LWRbackslash{}\macrotocsname{#1}%
+ \}%
+ \{\LWRbackslash{}ifstar%
+ \LWRbackslash{}\macrotocsname{#1}LWRsubstar%
+ \LWRbackslash{}\macrotocsname{#1}LWRsubnostar%
+ \}%
}%
\appto\LWR@customizedMathJax{\LWRbackslash)\par}%
}
@@ -60270,21 +60466,19 @@ background:
% \begin{sourceverb}
% $\ce{C6H5-CHO}$
% \end{sourceverb}
-%
-% If \emph{not} used inside a math expression, \pkg{lwarp} converts standalone \pkg{mhchem}
-% \marginpar{not inside math}
-% expressions into \SVG\ math images.
-%
-% If the \brand{MathJax} \pkg{mhchem} extension is not used,
-% \margintag{\brand{MathJax} without \pkg{mhchem} extension}
-% expressions inside math must be placed
-% between \cs{displaymathother} and \cs{displaymathnormal}:
+% To force the use of \SVG\ math for an expression which does not work with
+% \brand{MathJax},
+% place the expression between \cs{displaymathother} and \cs{displaymathnormal}:
% \begin{sourcedisplay}
% \cs{displaymathother} \\
% \cs{[} \cs{ce}\{ \dots\ \} \cs{]} \qquad \dots \qquad \$ \cs{ce} \{ \dots\ \} \$ \\
% \cs{displaymathnormal}
% \end{sourcedisplay}
%
+% If \emph{not} used inside a math expression, \pkg{lwarp} converts standalone \pkg{mhchem}
+% \marginpar{not inside math}
+% expressions into \SVG\ math images.
+%
% When producing \HTML\ output without the \brand{MathJax} \pkg{mhchem} extension,
% \pkg{lwarp} does not support
% \trouble[nested math]{mhchem=\pkg{mhchem}>nested dollar signs}
@@ -60312,6 +60506,7 @@ background:
%
% \changes{v0.51}{2018/03/04}{\pkg{mhchem}: Added.}
% \changes{v0.74}{2019/08/26}{\pkg{mhchem}: Modified for new \env{lateximage}.}
+% \changes{v0.87}{2020/06/02}{\pkg{mhchem}: Now uses \brand{MathJax} v3 extension.}
%
% \codehtml
%
@@ -60423,6 +60618,10 @@ background:
\LetLtxMacro\ce\LWR@mhchem@origce%
\LetLtxMacro\cesplit\LWR@mhchem@origcesplit%
}
+
+\begin{warpHTML}
+\CustomizeMathJax{\require{mhchem}}
+\end{warpHTML}
% \end{macrocode}
% \iffalse
@@ -61112,6 +61311,42 @@ background:
%
%
%
+% \iffalse
+%<*multibib>
+% \fi
+%
+% \part{lwarp-multibib.sty}
+%
+% \section{multibib}
+%
+% \credits{Thorsten Hansen}
+%
+% \DescribePackage{multibib}
+% \pkg{multibib} is patched for use by \pkg{lwarp}.
+%
+% \changes{v0.87}{2020/05/17}{\pkg{multibib}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR@ProvidesPackagePass{multibib}[2008/12/10]
+% \end{macrocode}
+%
+% \begin{macrocode}
+\xpatchcmd{\newcites}
+ {{\@suffix}}
+ {{\@suffix_html}}
+ {}
+ {\LWR@patcherror{multibib}{newcites}}
+% \end{macrocode}
+%
+% \iffalse
+%</multibib>
+% \fi
+%
+%
+%
+%
%
% \iffalse
%<*multicap>
@@ -62179,12 +62414,13 @@ do not attempt to patch lwarp's version of `nameref'.)\MessageBreak
% As of v0.86, \brand{MathJax} v3 does not offer \cs{\textbackslash*}, so
% the unstarred version is used here.
% \changes{v0.86}{2020/05/10}{\pkg{nccmath}: Fixed \cs{nr}, added starred.}
+% \changes{v0.87}{2020/05/20}{\pkg{nccmath}: Updated starred, improved \cs{underref}.}
% \begin{macrocode}
\CustomizeMathJax{\newcommand{\LWRnrnostar}[1][0.5ex]{\\[#1]}}
-\CustomizeMathJax{\DeclareIfstar{\nr}{\LWRnrnostar}{\LWRnrnostar}}
+\CustomizeMathJax{\newcommand{\nr}{\ifstar\LWRnrnostar\LWRnrnostar}}
\CustomizeMathJax{\newcommand{\mrel}[1]{\begin{aligned}#1\end{aligned}}}
-\CustomizeMathJax{\newcommand{\underrel}[2]{{#1}_{#2}}}
+\CustomizeMathJax{\newcommand{\underrel}[2]{\underset{#2}{#1}}}
\CustomizeMathJax{\newcommand{\medmath}[1]{#1}}
\CustomizeMathJax{\newcommand{\medop}[1]{#1}}
\CustomizeMathJax{\newcommand{\medint}[1]{#1}}
@@ -65362,7 +65598,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \limitsphysics
%
% \changes{v0.79}{2020/01/29}{\pkg{physics}: Added.}
-% \changes{v0.86}{2020/05/09}{\pkg{physics}: Added starred macros.}
+% \changes{v0.87}{2020/06/02}{\pkg{physics}: Now uses \brand{MathJax} v3 extension.}
%
% \codehtml
%
@@ -65371,469 +65607,9 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \end{macrocode}
%
% \begin{macrocode}
-% doesn't work with \big, etc:
\begin{warpMathJax}
-\LWR@infoprocessingmathjax{physics}
-
-\CustomizeMathJax{\newcommand{\quantity}{}}
-\CustomizeMathJax{\let\qty\quantity}
-\CustomizeMathJax{\newcommand{\pqty}[1]{\left(#1\right)}}
-\CustomizeMathJax{\newcommand{\bqty}[1]{\left\lbrack#1\right\rbrack}}
-\CustomizeMathJax{\newcommand{\vqty}[1]{\left\vert#1\right\rvert}}
-\CustomizeMathJax{\newcommand{\Bqty}[1]{\left\lbrace#1\right\rbrace}}
-
-% doesn't work with \big, etc.
-\CustomizeMathJax{\newcommand{\LWRabsolutevaluenostar}[1]{\left\lvert#1\right\rvert}}
-\CustomizeMathJax{\newcommand{\LWRabsolutevaluestar}[1]{\lvert#1\rvert}}
-\CustomizeMathJax{%
- \DeclareIfstar{\absolutevalue}{\LWRabsolutevaluestar}{\LWRabsolutevaluenostar}%
-}
-
-\CustomizeMathJax{\let\abs\absolutevalue}
-
-% doesn't work with \big, etc.
-\CustomizeMathJax{%
- \newcommand{\LWRnormnostar}[1]{\left\lvert\left\lvert#1\right\rvert\right\rvert}%
-}
-\CustomizeMathJax{\newcommand{\LWRnormstar}[1]{\lvert\lvert#1\rvert\rvert}}
-\CustomizeMathJax{%
- \DeclareIfstar{\norm}{\LWRnormstar}{\LWRnormnostar}%
-}
-
-% doesn't work with \big, etc., no paren or bracket
-\CustomizeMathJax{\newcommand{\LWRevaluatednostar}[1]{\left . #1\right\vert}}
-\CustomizeMathJax{\newcommand{\LWRevaluatedstar}[1]{#1\vert}}
-\CustomizeMathJax{%
- \DeclareIfstar{\evaluated}{\LWRevaluatedstar}{\LWRevaluatednostar}%
-}
-
-\CustomizeMathJax{\let\eval\evaluated}
-
-% no \Big
-\CustomizeMathJax{\newcommand{\LWRordernostar}[1]{\mathcal{O}\left(#1\right)}}
-\CustomizeMathJax{\newcommand{\LWRorderstar}[1]{\mathcal{O}(#1)}}
-\CustomizeMathJax{%
- \DeclareIfstar{\order}{\LWRorderstar}{\LWRordernostar}%
-}
-
-% no \Big
-\CustomizeMathJax{\newcommand{\LWRcommutatornostar}[2]{\left\lbrack#1,#2\right\rbrack}}
-\CustomizeMathJax{\newcommand{\LWRcommutatorstar}[2]{\lbrack#1,#2\rbrack}}
-\CustomizeMathJax{%
- \DeclareIfstar{\commutator}{\LWRcommutatorstar}{\LWRcommutatornostar}%
-}
-
-\CustomizeMathJax{\let\comm\commutator}
-
-% no \Big
-\CustomizeMathJax{\newcommand{\LWRanticommutatornostar}[2]{%
- \left\lbrace#1,#2\right\rbrace}%
-}
-\CustomizeMathJax{\newcommand{\LWRanticommutatorstar}[2]{%
- \lbrace#1,#2\rbrace}%
-}
-\CustomizeMathJax{%
- \DeclareIfstar{\anticommutator}{\LWRanticommutatorstar}{\LWRanticommutatornostar}%
-}
-
-\CustomizeMathJax{\let\acomm\anticommutator}
-
-% no \Big
-\CustomizeMathJax{\let\poissonbracket\anticommutator}
-\CustomizeMathJax{\let\pb\anticommutator}
-
-\CustomizeMathJax{\newcommand{\LWRvectorboldnostar}[1]{\mathbf{#1}}}
-\CustomizeMathJax{\newcommand{\LWRvectorboldstar}[1]{\pmb{#1}}}
-\CustomizeMathJax{%
- \DeclareIfstar{\vectorbold}{\LWRvectorboldstar}{\LWRvectorboldnostar}%
-}
-\CustomizeMathJax{\let\vb\vectorbold}
-
-\CustomizeMathJax{\newcommand{\LWRvectorarrownostar}[1]{\vec{\mathbf{#1}}}}
-\CustomizeMathJax{\newcommand{\LWRvectorarrowstar}[1]{\vec{\pmb{#1}}}}
-\CustomizeMathJax{%
- \DeclareIfstar{\vectorarrow}{\LWRvectorarrowstar}{\LWRvectorarrownostar}%
-}
-\CustomizeMathJax{\let\va\vectorarrow}
-
-% no star
-\CustomizeMathJax{\newcommand{\LWRvectorunitnostar}[1]{\mathbf{\hat{#1}}}}
-\CustomizeMathJax{\newcommand{\LWRvectorunitstar}[1]{\pmb{\hat{#1}}}}
-\CustomizeMathJax{%
- \DeclareIfstar{\vectorunit}{\LWRvectorunitstar}{\LWRvectorunitnostar}%
-}
-\CustomizeMathJax{\let\va\vectorunit}
-
-\CustomizeMathJax{\newcommand{\dotproduct}{\boldsymbol\cdot}}
-\CustomizeMathJax{\let\vdot\dotproduct}
-
-\CustomizeMathJax{\newcommand{\crossproduct}{\boldsymbol\times}}
-\CustomizeMathJax{\let\cross\crossproduct}
-\CustomizeMathJax{\let\cp\crossproduct}
-
-\CustomizeMathJax{\newcommand{\gradient}{\mathbf{\nabla}}}
-\CustomizeMathJax{\let\grad\gradient}
-
-\CustomizeMathJax{\let\divisionsymbol\div}
-
-\CustomizeMathJax{\newcommand{\divergence}{\nabla\vdot}}
-\CustomizeMathJax{\let\div\divergence}
-
-\CustomizeMathJax{\newcommand{\curl}{\nabla\cross}}
-
-\CustomizeMathJax{\newcommand{\laplacian}{\nabla^2}}
-
-% responds to notrig option
-\ifx\trigopt 1
- \CustomizeMathJax{\DeclareMathOperator{\sine}{sin}}
- \CustomizeMathJax{\DeclareMathOperator{\cosine}{cos}}
- \CustomizeMathJax{\DeclareMathOperator{\tangent}{tan}}
- \CustomizeMathJax{\DeclareMathOperator{\cosecant}{csc}}
- \CustomizeMathJax{\DeclareMathOperator{\secant}{sec}}
- \CustomizeMathJax{\DeclareMathOperator{\cotangent}{cot}}
- \CustomizeMathJax{\DeclareMathOperator{\arcsine}{arcsin}}
- \CustomizeMathJax{\DeclareMathOperator{\arccosine}{arccos}}
- \CustomizeMathJax{\DeclareMathOperator{\arctangent}{arctan}}
- \CustomizeMathJax{\DeclareMathOperator{\hypsine}{sinh}}
- \CustomizeMathJax{\DeclareMathOperator{\hypcosine}{cosh}}
- \CustomizeMathJax{\DeclareMathOperator{\hyptangent}{tanh}}
- \CustomizeMathJax{\DeclareMathOperator{\hypcotangent}{coth}}
- \CustomizeMathJax{\DeclareMathOperator{\exponential}{exp}}
- \CustomizeMathJax{\DeclareMathOperator{\logarithm}{log}}
- \CustomizeMathJax{\DeclareMathOperator{\naturallogarithm}{\ln}}
- \CustomizeMathJax{\DeclareMathOperator{\determinant}{det}}
- \CustomizeMathJax{\DeclareMathOperator{\Probability}{Pr}}
- \CustomizeMathJax{\newcommand{\sin}[1][{}]{\mathrm{sin}^#1}}
- \CustomizeMathJax{\newcommand{\sinh}[1][{}]{\mathrm{sinh}^#1}}
- \CustomizeMathJax{\newcommand{\arcsin}[1][{}]{\mathrm{arcsin}^#1}}
- \CustomizeMathJax{\newcommand{\asin}[1][{}]{\mathrm{asin}^#1}}
- \CustomizeMathJax{\newcommand{\cos}[1][{}]{\mathrm{cos}^#1}}
- \CustomizeMathJax{\newcommand{\cosh}[1][{}]{\mathrm{cosh}^#1}}
- \CustomizeMathJax{\newcommand{\arccos}[1][{}]{\mathrm{arccos}^#1}}
- \CustomizeMathJax{\newcommand{\acos}[1][{}]{\mathrm{acos}^#1}}
- \CustomizeMathJax{\newcommand{\tan}[1][{}]{\mathrm{tan}^#1}}
- \CustomizeMathJax{\newcommand{\tanh}[1][{}]{\mathrm{tanh}^#1}}
- \CustomizeMathJax{\newcommand{\arctan}[1][{}]{\mathrm{arctan}^#1}}
- \CustomizeMathJax{\newcommand{\atan}[1][{}]{\mathrm{atan}^#1}}
- \CustomizeMathJax{\newcommand{\csc}[1][{}]{\mathrm{csc}^#1}}
- \CustomizeMathJax{\newcommand{\csch}[1][{}]{\mathrm{csch}^#1}}
- \CustomizeMathJax{\newcommand{\arccsc}[1][{}]{\mathrm{arccsc}^#1}}
- \CustomizeMathJax{\newcommand{\acsc}[1][{}]{\mathrm{acsc}^#1}}
- \CustomizeMathJax{\newcommand{\sec}[1][{}]{\mathrm{sec}^#1}}
- \CustomizeMathJax{\newcommand{\sech}[1][{}]{\mathrm{sech}^#1}}
- \CustomizeMathJax{\newcommand{\arcsec}[1][{}]{\mathrm{arcsec}^#1}}
- \CustomizeMathJax{\newcommand{\asec}[1][{}]{\mathrm{asec}^#1}}
- \CustomizeMathJax{\newcommand{\cot}[1][{}]{\mathrm{cot}^#1}}
- \CustomizeMathJax{\newcommand{\coth}[1][{}]{\mathrm{coth}^#1}}
- \CustomizeMathJax{\newcommand{\arccot}[1][{}]{\mathrm{arccot}^#1}}
- \CustomizeMathJax{\newcommand{\acot}[1][{}]{\mathrm{acot}^#1}}
-\else
- \CustomizeMathJax{\DeclareMathOperator{\arccsc}{arccsc}}
- \CustomizeMathJax{\DeclareMathOperator{\arcsec}{arcsec}}
- \CustomizeMathJax{\DeclareMathOperator{\arccot}{arccot}}
- \CustomizeMathJax{\DeclareMathOperator{\asin}{asin}}
- \CustomizeMathJax{\DeclareMathOperator{\acos}{acos}}
- \CustomizeMathJax{\DeclareMathOperator{\atan}{atan}}
- \CustomizeMathJax{\DeclareMathOperator{\acsc}{acsc}}
- \CustomizeMathJax{\DeclareMathOperator{\asec}{asec}}
- \CustomizeMathJax{\DeclareMathOperator{\acot}{acot}}
- \CustomizeMathJax{\DeclareMathOperator{\csch}{csch}}
- \CustomizeMathJax{\DeclareMathOperator{\sech}{sech}}
- \CustomizeMathJax{\newcommand{\tr}{\trace}}
- \CustomizeMathJax{\newcommand{\Tr}{\Trace}}
- \CustomizeMathJax{\newcommand{\Res}{\Residue}}
-\fi
-
-\CustomizeMathJax{\DeclareMathOperator{\trace}{tr}}
-\CustomizeMathJax{\let\tr\trace}
-\CustomizeMathJax{\DeclareMathOperator{\Trace}{Tr}}
-\CustomizeMathJax{\let\Tr\Trace}
-\CustomizeMathJax{\DeclareMathOperator{\rank}{rank}}
-\CustomizeMathJax{\DeclareMathOperator{\erf}{erf}}
-\CustomizeMathJax{\DeclareMathOperator{\Residue}{Res}}
-\CustomizeMathJax{\newcommand{\principalvalue}{\mathcal{P}}}
-\CustomizeMathJax{\let\pv\principalvalue}
-\CustomizeMathJax{\newcommand{\PV}{\text{P.V.}}}
-\CustomizeMathJax{\newcommand{\real}{\mathcal{R}}}
-\CustomizeMathJax{\newcommand{\imaginary}{\mathcal{I}}}
-
-% must be brace arguments
-\CustomizeMathJax{\newcommand{\Re}[1]{\mathrm{Re}\left\lbrace#1\right\rbrace}}
-\CustomizeMathJax{\newcommand{\Im}[1]{\mathrm{Im}\left\lbrace#1\right\rbrace}}
-
-\CustomizeMathJax{\newcommand{\LWRqqtextnostar}[1]{\quad\mathrm{#1}\quad}}
-\CustomizeMathJax{\newcommand{\LWRqqtextstar}[1]{\mathrm{#1}\quad}}
-\CustomizeMathJax{\DeclareIfstar{\qqtext}{\LWRqqtextstar}{\LWRqqtextnostar}}
-\CustomizeMathJax{\let\qq\qqtext}
-
-\CustomizeMathJax{\newcommand{\qqcomma}{\text{,}\quad}}
-\CustomizeMathJax{\let\qc\qqcomma}
-
-% \LWR@physics@qtext{\name}{text}
-\newcommand*{\LWR@physics@qtext}[2]{%
-% nostar:
- \appto\LWR@customizedMathJax{\LWRbackslash(}
- \appto\LWR@customizedMathJax{%
- \LWRbackslash{}newcommand\{\LWRbackslash{}LWR\macrotocsname{#1}subnostar\}%
- }%
- \appto\LWR@customizedMathJax{\{}%
- \appto\LWR@customizedMathJax{%
- \LWRbackslash{}quad\LWRbackslash{}text\{#2\}\LWRbackslash{}quad%
- }%
- \appto\LWR@customizedMathJax{\}}%
- \appto\LWR@customizedMathJax{\LWRbackslash)\par}%
-% star:
- \appto\LWR@customizedMathJax{\LWRbackslash(}
- \appto\LWR@customizedMathJax{%
- \LWRbackslash{}newcommand\{\LWRbackslash{}LWR\macrotocsname{#1}substar\}%
- }%
- \appto\LWR@customizedMathJax{\{}%
- \appto\LWR@customizedMathJax{\LWRbackslash{}text\{#2\}\LWRbackslash{}quad}%
- \appto\LWR@customizedMathJax{\}}%
- \appto\LWR@customizedMathJax{\LWRbackslash)\par}%
-% user macro:
- \appto\LWR@customizedMathJax{\LWRbackslash(}
- \appto\LWR@customizedMathJax{%
- \LWRbackslash{}DeclareIfstar\{\LWRbackslash\macrotocsname{#1}\}%
- }%
- \appto\LWR@customizedMathJax{\{}%
- \appto\LWR@customizedMathJax{\LWRbackslash{}LWR\macrotocsname{#1}substar\}}%
- \appto\LWR@customizedMathJax{\LWRbackslash{}LWR\macrotocsname{#1}subnostar\}}%
- \appto\LWR@customizedMathJax{\LWRbackslash)\par}%
-}
-
-\LWR@physics@qtext{\qcc}{c.c.}
-\LWR@physics@qtext{\qif}{if}
-\LWR@physics@qtext{\qthen}{then}
-\LWR@physics@qtext{\qelse}{else}
-\LWR@physics@qtext{\qotherwise}{otherwise}
-\LWR@physics@qtext{\qunless}{unless}
-\LWR@physics@qtext{\qgiven}{given}
-\LWR@physics@qtext{\qusing}{using}
-\LWR@physics@qtext{\qassume}{assume}
-\LWR@physics@qtext{\qsince}{since}
-\LWR@physics@qtext{\qlet}{let}
-\LWR@physics@qtext{\qfor}{for}
-\LWR@physics@qtext{\qall}{all}
-\LWR@physics@qtext{\qeven}{even}
-\LWR@physics@qtext{\qodd}{odd}
-\LWR@physics@qtext{\qinteger}{integer}
-\LWR@physics@qtext{\qand}{and}
-\LWR@physics@qtext{\qor}{or}
-\LWR@physics@qtext{\qas}{as}
-\LWR@physics@qtext{\qin}{in}
-
-
-\CustomizeMathJax{\newcommand{\differential}[1][]{\text{d}^{#1}}}
-\CustomizeMathJax{\let\dd\differential}
-
-
-\CustomizeMathJax{\newcommand{\LWRderivativenostar}[3][]{%
- \frac{\text{d}^{#1}#2}{\text{d}#3^{#1}}}%
-}
-\CustomizeMathJax{\newcommand{\LWRderivativestar}[3][]{%
- {\text{d}^{#1}#2}/{\text{d}#3^{#1}}}%
-}
-\CustomizeMathJax{%
- \DeclareIfstar{\derivative}{\LWRderivativestar}{\LWRderivativenostar}%
-}
-
-\CustomizeMathJax{\let\dv\derivative}
-
-
-\CustomizeMathJax{\newcommand{\LWRpartialderivativenostar}[3][]{%
- \frac{\partial^{#1}#2}{\partial#3^{#1}}}%
-}
-\CustomizeMathJax{\newcommand{\LWRpartialderivativestar}[3][]{%
- {\partial^{#1}#2}/{\partial#3^{#1}}}%
-}
-\CustomizeMathJax{%
- \DeclareIfstar{\partialderivative}%
- {\LWRpartialderivativestar}{\LWRpartialderivativenostar}
-}
-
-\CustomizeMathJax{\let\pderivative\partialderivative}
-\CustomizeMathJax{\let\pdv\partialderivative}
-
-
-\CustomizeMathJax{\newcommand{\variation}{\delta}}
-\CustomizeMathJax{\let\var\variation}
-
-% Must provide two mandatory args.
-% For the example in the manual with (E-TS), enclose the parens in braces
-\CustomizeMathJax{\newcommand{\LWRfunctionalderivativenostar}[3][]{%
- \frac{\delta^{#1}#2}{\delta#3^{#1}}}%
-}
-\CustomizeMathJax{\newcommand{\LWRfunctionalderivativestar}[3][]{%
- {\delta^{#1}#2}/{\delta#3^{#1}}}%
-}
-\CustomizeMathJax{%
- \DeclareIfstar{\functionalderivative}
- {\LWRfunctionalderivativestar}{\LWRfunctionalderivativenostar}
-}
-\CustomizeMathJax{\let\fdv\functionalderivative}
-
-
-% use \braket to contract
-\CustomizeMathJax{\newcommand{\LWRbranostar}[1]{\left\langle{#1}\right\rvert}}
-\CustomizeMathJax{\newcommand{\LWRbrastar}[1]{\langle{#1}\rvert}}
-\CustomizeMathJax{\DeclareIfstar{\bra}{\LWRbrastar}{\LWRbranostar}}
-
-\CustomizeMathJax{\newcommand{\LWRketnostar}[1]{\left\lvert{#1}\right\rangle}}
-\CustomizeMathJax{\newcommand{\LWRketstar}[1]{\lvert{#1}\rangle}}
-\CustomizeMathJax{\DeclareIfstar{\ket}{\LWRketstar}{\LWRketnostar}}
-
-% must have two args
-\CustomizeMathJax{\newcommand{\LWRinnerproductnostar}[2]{%
- \left\langle{#1}\middle\vert{#2}\right\rangle}%
-}
-\CustomizeMathJax{\newcommand{\LWRinnerproductstar}[2]{%
- \langle{#1}\vert{#2}\rangle}%
-}
-\CustomizeMathJax{%
- \DeclareIfstar{\innerproduct}
- {\LWRinnerproductstar}{\LWRinnerproductnostar}
-}
-
-\CustomizeMathJax{\let\braket\innerproduct}
-\CustomizeMathJax{\let\ip\innerproduct}
-
-
-% must have two args
-\CustomizeMathJax{\newcommand{\LWRouterproductnostar}[2]{%
- \left\lvert{#1}\middle\rangle\!\middle\langle#2\right\rvert}%
-}
-\CustomizeMathJax{\newcommand{\LWRouterproductstar}[2]{%
- \lvert{#1}\rangle\!\langle#2\rvert}%
-}
-\CustomizeMathJax{%
- \DeclareIfstar{\outerproduct}
- {\LWRouterproductstar}{\LWRouterproductnostar}
-}
-
-\CustomizeMathJax{\let\dyad\outerproduct}
-\CustomizeMathJax{\let\op\outerproduct}
-
-
-% must have two args, unlike the MathJax version
-\CustomizeMathJax{%
- \newcommand{\LWRexpectationvaluenostar}[2]{%
- \vphantom{#1}%
- \left\langle{#2}\middle\vert\smash{#1}\middle\vert{#2}%
- \right\rangle%
- }%
-}
-\CustomizeMathJax{%
- \newcommand{\LWRexpectationvaluestar}[2]{%
- \vphantom{#1#2}%
- \left\langle\smash{#2}%
- \middle\vert\smash{#1}\middle\vert\smash{#2}%
- \right\rangle%
- }%
-}
-\CustomizeMathJax{%
- \newcommand{\LWRexpectationvaluedoublestar}[2]{%
- \left\langle{#2}\middle\vert{#1}\middle\vert{#2}\right\rangle%
- }%
-}
-\CustomizeMathJax{% second star
- \DeclareIfstar{\LWRsubexpectationvalue}
- {\LWRexpectationvaluedoublestar}{\LWRexpectationvaluestar}
-}
-\CustomizeMathJax{% first star
- \DeclareIfstar{\expectationvalue}
- {\LWRsubexpectationvalue}{\LWRexpectationvaluenostar}
-}
-
-\CustomizeMathJax{\let\expval\expectationvalue}
-\CustomizeMathJax{\let\ev\expectationvalue}
-
-
-\CustomizeMathJax{%
- \newcommand{\LWRmatrixelementnostar}[3]{%
- \vphantom{#2}\left\langle{#1}\middle\vert\smash{#2}\middle\vert{#3}\right\rangle%
- }%
-}
-\CustomizeMathJax{%
- \newcommand{\LWRmatrixelementstar}[3]{%
- \vphantom{#1#2#3}%
- \left\langle\smash{#1}%
- \middle\vert\smash{#2}\middle\vert\smash{#3}%
- \right\rangle%
- }%
-}
-\CustomizeMathJax{%
- \newcommand{\LWRmatrixelementdoublestar}[3]{%
- \left\langle{#1}\middle\vert{#2}\middle\vert{#3}\right\rangle%
- }%
-}
-\CustomizeMathJax{% second star
- \DeclareIfstar{\LWRsubmatrixelement}
- {\LWRmatrixelementdoublestar}{\LWRmatrixelementstar}
-}
-
-\CustomizeMathJax{% first star
- \DeclareIfstar{\matrixelement}
- {\LWRsubmatrixelement}{\LWRmatrixelementnostar}
-}
-
-\CustomizeMathJax{\let\mel\matrixelement}
-
-
-\CustomizeMathJax{\newcommand{\matrixquantity}[1]{\begin{matrix}#1\end{matrix}}}
-\CustomizeMathJax{\let\mqty\matrixquantity}
-
-
-\CustomizeMathJax{\newcommand{\pmqty}[1]{\begin{pmatrix}#1\end{pmatrix}}}
-\CustomizeMathJax{\newcommand{\Pmqty}[1]{%
- \left\lgroup\begin{matrix}#1\end{matrix}\right\rgroup}%
-}
-\CustomizeMathJax{\newcommand{\bmqty}[1]{\begin{bmatrix}#1\end{bmatrix}}}
-\CustomizeMathJax{\newcommand{\vmqty}[1]{\begin{vmatrix}#1\end{vmatrix}}}
-
-\CustomizeMathJax{\newcommand{\smallmatrixquantity}[1]{%
- \begin{smallmatrix}#1\end{smallmatrix}}%
-}
-\CustomizeMathJax{\let\smqty\smallmatrixquantity}
-\CustomizeMathJax{\newcommand{\spmqty}[1]{%
- \pqty{\begin{smallmatrix}#1\end{smallmatrix}}}%
-}
-\CustomizeMathJax{\newcommand{\sPmqty}[1]{%
- \left\lgroup\begin{smallmatrix}#1\end{smallmatrix}\right\rgroup}%
-}
-\CustomizeMathJax{\newcommand{\sbmqty}[1]{%
- \bqty{\begin{smallmatrix}#1\end{smallmatrix}}}%
-}
-\CustomizeMathJax{\newcommand{\svmqty}[1]{%
- \vqty{\begin{smallmatrix}#1\end{smallmatrix}}}%
-}
-
-\CustomizeMathJax{\let\matrixdeterminant\vmqty}
-\CustomizeMathJax{\let\mdet\vmqty}
-\CustomizeMathJax{\let\smdet\svmqty}
-
-\CustomizeMathJax{\newcommand{\identitymatrix}[1]{(\text{imat}\{#1\})}}
-\CustomizeMathJax{\let\imat\identitymatrix}
-
-\CustomizeMathJax{\newcommand{\LWRxmatrix}[3]{(\text{xmat}\{\}\{#2\}\{#3\})}}
-\CustomizeMathJax{\DeclareIfstar{\xmatrix}{\LWRxmatrix}{\LWRxmatrix}}
-\CustomizeMathJax{\let\xmat\xmatrix}
-
-\CustomizeMathJax{\newcommand{\zeromatrix}[2]{(\text{zmat}\{#1\}\{#2\})}}
-\CustomizeMathJax{\let\zmat\zeromatrix}
-
-\CustomizeMathJax{\newcommand{\paulimatrix}[1]{(\text{pmat}\{#1\})}}
-\CustomizeMathJax{\let\pmat\paulimatrix}
-
-\CustomizeMathJax{\newcommand{\diagonalmatrix}[2][]{%
- \left(\text{dmat}\right)}%
-}
-\CustomizeMathJax{\let\dmat\diagonalmatrix}
-
-\CustomizeMathJax{\newcommand{\antidiagonalmatrix}[2][]{%
- \left(\text{admat}\right)}%
-}
-\CustomizeMathJax{\let\admat\antidiagonalmatrix}
+\PackageWarningNoLine{lwarp, physics}{The MathJax v3 extension will be used}
+\CustomizeMathJax{\require{physics}}
\end{warpMathJax}
% \end{macrocode}
%
@@ -70271,6 +70047,68 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
%
%
+% \iffalse
+%<*splitbib>
+% \fi
+%
+% \part{lwarp-splitbib.sty}
+%
+% \section{splitbib}
+%
+% \credits{Nicolas Markey}
+%
+% \DescribePackage{splitbib}
+% \pkg{splitbib} is patched for use by \pkg{lwarp}.
+%
+% \changes{v0.87}{2020/05/17}{\pkg{splitbib}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR@ProvidesPackagePass{splitbib}[2005/12/22]
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\NMSB@stylebox#1#2{%
+\begin{BlockClass}[text-align:center ; border: 1px solid black]{splitbibbox}
+ \csname SB\NMSB@level font\endcsname{\LWR@textcurrentfont{#1#2}}
+\end{BlockClass}
+}
+
+\def\NMSB@stylebar#1#2{%
+\begin{BlockClass}[%
+ text-align:center ;
+ border-top: 1px solid black ;
+ border-bottom: 1px solid black ;
+]{splitbibbar}
+ \csname SB\NMSB@level font\endcsname{\LWR@textcurrentfont{#1#2}}
+\end{BlockClass}
+}
+
+\def\NMSB@styledash#1#2{%
+\begin{BlockClass}[%
+ text-align:center ;
+]{splitbibdash}
+ \csname SB\NMSB@level font\endcsname{\LWR@textcurrentfont{---~#1#2~---}}
+\end{BlockClass}
+}
+
+\def\NMSB@stylenone#1#2{%
+ \par
+}
+
+\def\NMSB@stylesimple#1#2{%
+\par
+ \csname SB\NMSB@level font\endcsname{\LWR@textcurrentfont{#1#2}}
+\par
+}
+% \end{macrocode}
+%
+% \iffalse
+%</splitbib>
+% \fi
+%
+%
%
% \iffalse
%<*splitidx>
@@ -70688,6 +70526,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \end{sourceverb}
%
% \changes{v0.81}{2020/02/28}{\pkg{statex2}: Added.}
+% \changes{v0.87}{2020/05/31}{\pkg{statex2}: \cs{pBin} exponent.}
%
% \codehtml
%
@@ -70804,7 +70643,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
\I[#1]{\{0, 1,\., #2\}}, \where #3>0,\; #4>0 \and n=1, 2,\.}%
}}
\CustomizeMathJax{\newcommand{\pBin}[3][x]{%
- \mb{\binom{#2}{#1}#3^#1} \LWRwrapparen{\mb{{1-#3}^{#2-#1}}}%
+ \mb{\binom{#2}{#1}#3^{#1}} \LWRwrapparen{\mb{{1-#3}^{#2-#1}}}%
\mb{\I[#1]{\{0,1,\.,#2\}}, \where p \in (0, 1) \and n=1, 2,\.}%
}}
\CustomizeMathJax{\newcommand{\pPoi}[2][x]{%
@@ -77097,7 +76936,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \subsection{\cs{normalcolor}}
%
% \begin{macro}{\normalcolor}
-% \changes{v0.75}{2019/09/12}{Added for \HTML.}
+% \changes{v0.75}{2019/09/12}{\pkg{xcolor}: Added for \HTML.}
% \begin{macrocode}
\DeclareRobustCommand{\LWR@HTML@normalcolor}{\color{black}}%
@@ -77153,7 +76992,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
% \begin{noindmacro}{\LWR@colorstyle} \marg{2: model} \marg{3: color}
%
-% \changes{v0.19}{2016/06/01}{Supports colored \cs{rule}.}
+% \changes{v0.19}{2016/06/01}{\pkg{xcolor}: Supports colored \cs{rule}.}
% \changes{v0.36}{2017/08/11}{\pkg{xcolor}: Refactored \cs{LWR@colorstyle}.}
%
% For a color style, prints the color converted to \HTML\ colors.
@@ -77182,7 +77021,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% Similar to \cs{textcolor}, but prints black text against a color background.
%
% Converted into an \HTML\ hex color span.
-% \changes{v0.44}{2017/11/10}{Added.}
+% \changes{v0.44}{2017/11/10}{\pkg{xcolor}: Added \cs{LWR@backgroundcolor}.}
% \begin{macrocode}
\NewDocumentCommand{\LWR@backgroundcolor}{O{named} m m}{%
\begingroup%
@@ -77223,7 +77062,7 @@ padding:\LWR@printlength{\fboxsep}%
% the lack of \HTML\ states and scoping limitations.
% Use \cs{textcolor} if possible.
%
-% \changes{v0.73}{2019/06/14}{Added \HTML\ support.}
+% \changes{v0.73}{2019/06/14}{\pkg{xcolor}: Added \HTML\ support.}
% \begin{macrocode}
\NewDocumentCommand{\LWR@HTML@color}{o m}{%
\IfValueTF{#1}{%
@@ -77322,7 +77161,7 @@ padding:\LWR@printlength{\fboxsep}%
\begingroup%
\LWR@FBcancel%
% \end{macrocode}
-% \changes{v0.62}{2018/11/11}{Fix: Horiz white space.}
+% \changes{v0.62}{2018/11/11}{\pkg{xcolor}: Fix: Horiz white space.}
% \begin{macrocode}
\LWR@stoppars%
% \end{macrocode}
@@ -77337,7 +77176,7 @@ padding:\LWR@printlength{\fboxsep}%
% \end{macrocode}
% Prevent paragraph tags around horizontal white space
% until the start of the next paragraph:
-% \changes{v0.62}{2018/11/11}{Fix: Horiz white space.}
+% \changes{v0.62}{2018/11/11}{\pkg{xcolor}: Fix: Horiz white space.}
% \begin{macrocode}
\global\booltrue{LWR@minipagethispar}%
}
@@ -77399,7 +77238,7 @@ padding:\LWR@printlength{\fboxsep}%
\LWR@FBcancel%
\LWR@forceminwidth{\fboxrule}%
% \end{macrocode}
-% \changes{v0.62}{2018/11/11}{Fix: Horiz white space.}
+% \changes{v0.62}{2018/11/11}{\pkg{xcolor}: Fix: Horiz white space.}
% \begin{macrocode}
\LWR@stoppars%
% \end{macrocode}
@@ -77425,7 +77264,7 @@ padding:\LWR@printlength{\fboxsep}%
% \end{macrocode}
% Prevent paragraph tags around horizontal white space
% until the start of the next paragraph:
-% \changes{v0.62}{2018/11/11}{Fix: Horiz white space.}
+% \changes{v0.62}{2018/11/11}{\pkg{xcolor}: Fix: Horiz white space.}
% \begin{macrocode}
\global\booltrue{LWR@minipagethispar}%
\LWR@traceinfo{HTML fcolorboxBlock done}%
@@ -77443,14 +77282,14 @@ padding:\LWR@printlength{\fboxsep}%
%
% A print-output version is defined in the \pkg{lwarp} core: \cref{sec:xcolorpatches}
%
-% \changes{v0.34}{2017/07/31}{Added.}
+% \changes{v0.34}{2017/07/31}{\pkg{xcolor}: Added \cs{LWR@subfcolorminipage}.}
%
% \begin{noindmacro}{\LWR@subfcolorminipage}
% \marg{framemodel} \marg{framecolor} \marg{background tag} \marg{height}
% \begin{macrocode}
\NewDocumentCommand{\LWR@subfcolorminipage}{m m m m}{%
% \end{macrocode}
-% \changes{v0.62}{2018/11/11}{Fix: Horiz white space.}
+% \changes{v0.62}{2018/11/11}{\pkg{xcolor}: Fix: Horiz white space.}
% \begin{macrocode}
\LWR@stoppars%
% \end{macrocode}
@@ -77492,7 +77331,7 @@ width:\LWR@printlength{\LWR@tempwidth}%
% \end{macrocode}
% Prevent paragraph tags around horizontal white space
% until the start of the next paragraph:
-% \changes{v0.62}{2018/11/11}{Fix: Horiz white space.}
+% \changes{v0.62}{2018/11/11}{\pkg{xcolor}: Fix: Horiz white space.}
% \begin{macrocode}
\global\booltrue{LWR@minipagethispar}%
}
diff --git a/macros/latex/contrib/lwarp/lwarp.ins b/macros/latex/contrib/lwarp/lwarp.ins
index eded7a542a..6df4f6965c 100644
--- a/macros/latex/contrib/lwarp/lwarp.ins
+++ b/macros/latex/contrib/lwarp/lwarp.ins
@@ -113,6 +113,7 @@ version 2005/12/01 or later.
\file{lwarp-chkfloat.sty}{\from{lwarp.dtx}{chkfloat}}
\file{lwarp-chngpage.sty}{\from{lwarp.dtx}{chngpage}}
\file{lwarp-cite.sty}{\from{lwarp.dtx}{cite}}
+\file{lwarp-citeref.sty}{\from{lwarp.dtx}{citeref}}
\file{lwarp-CJK.sty}{\from{lwarp.dtx}{CJK}}
\file{lwarp-CJKutf8.sty}{\from{lwarp.dtx}{CJKutf8}}
\file{lwarp-clrdblpg.sty}{\from{lwarp.dtx}{clrdblpg}}
@@ -138,6 +139,7 @@ version 2005/12/01 or later.
\file{lwarp-draftcopy.sty}{\from{lwarp.dtx}{draftcopy}}
\file{lwarp-draftfigure.sty}{\from{lwarp.dtx}{draftfigure}}
\file{lwarp-draftwatermark.sty}{\from{lwarp.dtx}{draftwatermark}}
+\file{lwarp-drftcite.sty}{\from{lwarp.dtx}{drftcite}}
\file{lwarp-easy-todo.sty}{\from{lwarp.dtx}{easy-todo}}
\file{lwarp-ebook.sty}{\from{lwarp.dtx}{ebook}}
\file{lwarp-econometrics.sty}{\from{lwarp.dtx}{econometrics}}
@@ -188,6 +190,7 @@ version 2005/12/01 or later.
\file{lwarp-fnbreak.sty}{\from{lwarp.dtx}{fnbreak}}
\file{lwarp-fncychap.sty}{\from{lwarp.dtx}{fncychap}}
\file{lwarp-fnlineno.sty}{\from{lwarp.dtx}{fnlineno}}
+\file{lwarp-fnpara.sty}{\from{lwarp.dtx}{fnpara}}
\file{lwarp-fnpos.sty}{\from{lwarp.dtx}{fnpos}}
\file{lwarp-fontawesome.sty}{\from{lwarp.dtx}{fontawesome}}
\file{lwarp-fontawesome5.sty}{\from{lwarp.dtx}{fontawesome5}}
@@ -238,6 +241,7 @@ version 2005/12/01 or later.
\file{lwarp-index.sty}{\from{lwarp.dtx}{index}}
\file{lwarp-inputtrc.sty}{\from{lwarp.dtx}{inputtrc}}
\file{lwarp-intopdf.sty}{\from{lwarp.dtx}{intopdf}}
+\file{lwarp-jurabib.sty}{\from{lwarp.dtx}{jurabib}}
\file{lwarp-karnaugh-map.sty}{\from{lwarp.dtx}{karnaugh-map}}
\file{lwarp-keyfloat.sty}{\from{lwarp.dtx}{keyfloat}}
\file{lwarp-layaureo.sty}{\from{lwarp.dtx}{layaureo}}
@@ -294,6 +298,7 @@ version 2005/12/01 or later.
\file{lwarp-moreverb.sty}{\from{lwarp.dtx}{moreverb}}
\file{lwarp-movie15.sty}{\from{lwarp.dtx}{movie15}}
\file{lwarp-mparhack.sty}{\from{lwarp.dtx}{mparhack}}
+\file{lwarp-multibib.sty}{\from{lwarp.dtx}{multibib}}
\file{lwarp-multicap.sty}{\from{lwarp.dtx}{multicap}}
\file{lwarp-multicol.sty}{\from{lwarp.dtx}{multicol}}
\file{lwarp-multicolrule.sty}{\from{lwarp.dtx}{multicolrule}}
@@ -417,6 +422,7 @@ version 2005/12/01 or later.
\file{lwarp-soul.sty}{\from{lwarp.dtx}{soul}}
\file{lwarp-soulpos.sty}{\from{lwarp.dtx}{soulpos}}
\file{lwarp-soulutf8.sty}{\from{lwarp.dtx}{soulutf8}}
+\file{lwarp-splitbib.sty}{\from{lwarp.dtx}{splitbib}}
\file{lwarp-splitidx.sty}{\from{lwarp.dtx}{splitidx}}
\file{lwarp-srcltx.sty}{\from{lwarp.dtx}{srcltx}}
\file{lwarp-srctex.sty}{\from{lwarp.dtx}{srctex}}
diff --git a/macros/latex/contrib/lwarp/lwarp.pdf b/macros/latex/contrib/lwarp/lwarp.pdf
index eb7f89a220..cd48fd49ee 100644
--- a/macros/latex/contrib/lwarp/lwarp.pdf
+++ b/macros/latex/contrib/lwarp/lwarp.pdf
Binary files differ
diff --git a/macros/latex/contrib/lwarp/lwarpmk.lua b/macros/latex/contrib/lwarp/lwarpmk.lua
index d68a28e32e..ff6824e14d 100755
--- a/macros/latex/contrib/lwarp/lwarpmk.lua
+++ b/macros/latex/contrib/lwarp/lwarpmk.lua
@@ -2,7 +2,7 @@
-- Copyright 2016-2020 Brian Dunn
-printversion = "v0.86"
+printversion = "v0.87"
requiredconfversion = "2" -- also at *lwarpmk.conf
function printhelp ()