diff options
author | Norbert Preining <norbert@preining.info> | 2020-06-04 03:02:40 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2020-06-04 03:02:40 +0000 |
commit | 6c90555ebb89f41cc4dfb6cf3ee6bfaa8107650e (patch) | |
tree | d3475ab1d6bd6675a0975dfa6059602be057f0d5 /macros | |
parent | 44fde4a143b75ae4f383b05832343d497c254989 (diff) |
CTAN sync 202006040302
Diffstat (limited to 'macros')
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 Binary files differdeleted file mode 100644 index 890efdb4d2..0000000000 --- a/macros/latex/contrib/l3backend/l3backend-code.pdf +++ /dev/null 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 Binary files differindex a63753aa45..72a9adab9b 100644 --- a/macros/latex/contrib/l3experimental/l3benchmark.pdf +++ b/macros/latex/contrib/l3experimental/l3benchmark.pdf 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 Binary files differindex ecdbbe7152..e9dee31807 100644 --- a/macros/latex/contrib/l3experimental/l3cctab.pdf +++ b/macros/latex/contrib/l3experimental/l3cctab.pdf 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 Binary files differindex cfffa89396..e0b2ff021e 100644 --- a/macros/latex/contrib/l3experimental/l3color.pdf +++ b/macros/latex/contrib/l3experimental/l3color.pdf 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 Binary files differindex 58ec9c8866..47c0c200a8 100644 --- a/macros/latex/contrib/l3experimental/l3draw-code.pdf +++ b/macros/latex/contrib/l3experimental/l3draw-code.pdf 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 Binary files differindex e68c0a0a77..dd2d618601 100644 --- a/macros/latex/contrib/l3experimental/l3draw.pdf +++ b/macros/latex/contrib/l3experimental/l3draw.pdf 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 Binary files differindex 2c4091dce6..e8ab5d7646 100644 --- a/macros/latex/contrib/l3experimental/l3galley.pdf +++ b/macros/latex/contrib/l3experimental/l3galley.pdf 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 Binary files differindex 61d989c0ad..527b5d58a3 100644 --- a/macros/latex/contrib/l3experimental/l3graphics.pdf +++ b/macros/latex/contrib/l3experimental/l3graphics.pdf diff --git a/macros/latex/contrib/l3experimental/l3pdf-code.pdf b/macros/latex/contrib/l3experimental/l3pdf-code.pdf Binary files differindex 33d08d4d7b..582ddc3f73 100644 --- a/macros/latex/contrib/l3experimental/l3pdf-code.pdf +++ b/macros/latex/contrib/l3experimental/l3pdf-code.pdf 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 Binary files differindex 2afe2f9eed..3c59c400f0 100644 --- a/macros/latex/contrib/l3experimental/l3pdf.pdf +++ b/macros/latex/contrib/l3experimental/l3pdf.pdf 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 Binary files differindex dae19872df..916298e882 100644 --- a/macros/latex/contrib/l3experimental/l3str-format.pdf +++ b/macros/latex/contrib/l3experimental/l3str-format.pdf 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 Binary files differindex 68a82d4a4d..6f82415408 100644 --- a/macros/latex/contrib/l3experimental/l3sys-shell.pdf +++ b/macros/latex/contrib/l3experimental/l3sys-shell.pdf 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 Binary files differindex 289ba3c15e..3a81273337 100644 --- a/macros/latex/contrib/l3experimental/xcoffins.pdf +++ b/macros/latex/contrib/l3experimental/xcoffins.pdf 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 Binary files differindex 20cf474c39..f73c94d31a 100644 --- a/macros/latex/contrib/l3experimental/xgalley.pdf +++ b/macros/latex/contrib/l3experimental/xgalley.pdf 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 Binary files differindex 9b4fe1854e..1fa7547ef7 100644 --- a/macros/latex/contrib/l3kernel/expl3.pdf +++ b/macros/latex/contrib/l3kernel/expl3.pdf diff --git a/macros/latex/contrib/l3kernel/interface3.pdf b/macros/latex/contrib/l3kernel/interface3.pdf Binary files differindex b05f2e5d2d..f4469c5223 100644 --- a/macros/latex/contrib/l3kernel/interface3.pdf +++ b/macros/latex/contrib/l3kernel/interface3.pdf 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 Binary files differindex e11a3d19b2..f9e4794c1c 100644 --- a/macros/latex/contrib/l3kernel/l3docstrip.pdf +++ b/macros/latex/contrib/l3kernel/l3docstrip.pdf 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 Binary files differindex 03794ae5be..68891b4cb4 100644 --- a/macros/latex/contrib/l3kernel/l3news.pdf +++ b/macros/latex/contrib/l3kernel/l3news.pdf diff --git a/macros/latex/contrib/l3kernel/l3news01.pdf b/macros/latex/contrib/l3kernel/l3news01.pdf Binary files differindex e4af9d1475..05d8f5b451 100644 --- a/macros/latex/contrib/l3kernel/l3news01.pdf +++ b/macros/latex/contrib/l3kernel/l3news01.pdf diff --git a/macros/latex/contrib/l3kernel/l3news02.pdf b/macros/latex/contrib/l3kernel/l3news02.pdf Binary files differindex db213ca44b..4971e668a7 100644 --- a/macros/latex/contrib/l3kernel/l3news02.pdf +++ b/macros/latex/contrib/l3kernel/l3news02.pdf diff --git a/macros/latex/contrib/l3kernel/l3news03.pdf b/macros/latex/contrib/l3kernel/l3news03.pdf Binary files differindex 14fd4f5f10..92c4792497 100644 --- a/macros/latex/contrib/l3kernel/l3news03.pdf +++ b/macros/latex/contrib/l3kernel/l3news03.pdf diff --git a/macros/latex/contrib/l3kernel/l3news04.pdf b/macros/latex/contrib/l3kernel/l3news04.pdf Binary files differindex d9b407c1f6..abfb4d4e06 100644 --- a/macros/latex/contrib/l3kernel/l3news04.pdf +++ b/macros/latex/contrib/l3kernel/l3news04.pdf diff --git a/macros/latex/contrib/l3kernel/l3news05.pdf b/macros/latex/contrib/l3kernel/l3news05.pdf Binary files differindex 707d39b18c..414e9c5ea2 100644 --- a/macros/latex/contrib/l3kernel/l3news05.pdf +++ b/macros/latex/contrib/l3kernel/l3news05.pdf diff --git a/macros/latex/contrib/l3kernel/l3news06.pdf b/macros/latex/contrib/l3kernel/l3news06.pdf Binary files differindex f32bb37c19..86ca1299d2 100644 --- a/macros/latex/contrib/l3kernel/l3news06.pdf +++ b/macros/latex/contrib/l3kernel/l3news06.pdf diff --git a/macros/latex/contrib/l3kernel/l3news07.pdf b/macros/latex/contrib/l3kernel/l3news07.pdf Binary files differindex 03b1ea05bf..7ad6cfd988 100644 --- a/macros/latex/contrib/l3kernel/l3news07.pdf +++ b/macros/latex/contrib/l3kernel/l3news07.pdf diff --git a/macros/latex/contrib/l3kernel/l3news08.pdf b/macros/latex/contrib/l3kernel/l3news08.pdf Binary files differindex c82c137d39..c9fd5acb04 100644 --- a/macros/latex/contrib/l3kernel/l3news08.pdf +++ b/macros/latex/contrib/l3kernel/l3news08.pdf diff --git a/macros/latex/contrib/l3kernel/l3news09.pdf b/macros/latex/contrib/l3kernel/l3news09.pdf Binary files differindex 7a58dcd35f..e5b0088c54 100644 --- a/macros/latex/contrib/l3kernel/l3news09.pdf +++ b/macros/latex/contrib/l3kernel/l3news09.pdf diff --git a/macros/latex/contrib/l3kernel/l3news10.pdf b/macros/latex/contrib/l3kernel/l3news10.pdf Binary files differindex 57ee772bb9..76eee99422 100644 --- a/macros/latex/contrib/l3kernel/l3news10.pdf +++ b/macros/latex/contrib/l3kernel/l3news10.pdf diff --git a/macros/latex/contrib/l3kernel/l3news11.pdf b/macros/latex/contrib/l3kernel/l3news11.pdf Binary files differindex 7a0f2044c4..efa6befc92 100644 --- a/macros/latex/contrib/l3kernel/l3news11.pdf +++ b/macros/latex/contrib/l3kernel/l3news11.pdf diff --git a/macros/latex/contrib/l3kernel/l3news12.pdf b/macros/latex/contrib/l3kernel/l3news12.pdf Binary files differindex 8970788a4d..2e6b0bec70 100644 --- a/macros/latex/contrib/l3kernel/l3news12.pdf +++ b/macros/latex/contrib/l3kernel/l3news12.pdf 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 Binary files differindex 1ec1ee1526..16b24d95d7 100644 --- a/macros/latex/contrib/l3kernel/l3prefixes.pdf +++ b/macros/latex/contrib/l3kernel/l3prefixes.pdf 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 Binary files differindex dfeabc06a9..3fbedfb171 100644 --- a/macros/latex/contrib/l3kernel/l3styleguide.pdf +++ b/macros/latex/contrib/l3kernel/l3styleguide.pdf 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 Binary files differindex 1760654ff2..f47d9fbf9e 100644 --- a/macros/latex/contrib/l3kernel/l3syntax-changes.pdf +++ b/macros/latex/contrib/l3kernel/l3syntax-changes.pdf 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 Binary files differindex 651110e948..e0b64a7edc 100644 --- a/macros/latex/contrib/l3kernel/l3term-glossary.pdf +++ b/macros/latex/contrib/l3kernel/l3term-glossary.pdf 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 Binary files differindex 401a597eec..6f9dbc2238 100644 --- a/macros/latex/contrib/l3kernel/source3.pdf +++ b/macros/latex/contrib/l3kernel/source3.pdf 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 Binary files differindex 9125a53c34..124137b777 100644 --- a/macros/latex/contrib/lion-msc/lion-msc.pdf +++ b/macros/latex/contrib/lion-msc/lion-msc.pdf 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 Binary files differindex eb7f89a220..cd48fd49ee 100644 --- a/macros/latex/contrib/lwarp/lwarp.pdf +++ b/macros/latex/contrib/lwarp/lwarp.pdf 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 () |