diff options
author | Norbert Preining <norbert@preining.info> | 2020-05-08 03:02:15 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2020-05-08 03:02:15 +0000 |
commit | 8b5866024fec68c13a91973cc6cfc2cb5697baba (patch) | |
tree | 6abad841dced763b6ee50ae5bb83fc50d8816ca1 /macros | |
parent | 56bd1f5b8377f54b4af39a114362a7762d27f13c (diff) |
CTAN sync 202005080302
Diffstat (limited to 'macros')
166 files changed, 913 insertions, 296 deletions
diff --git a/macros/latex/contrib/animate/ChangeLog b/macros/latex/contrib/animate/ChangeLog index b67e5692c8..820f6bb3a3 100644 --- a/macros/latex/contrib/animate/ChangeLog +++ b/macros/latex/contrib/animate/ChangeLog @@ -1,3 +1,6 @@ +2020-05-07 + * fix: control button issue (dvisvgm) + 2020-05-06 * fix: control button transparency (all drivers) diff --git a/macros/latex/contrib/animate/animate.pdf b/macros/latex/contrib/animate/animate.pdf Binary files differindex bc969083f5..e936974244 100644 --- a/macros/latex/contrib/animate/animate.pdf +++ b/macros/latex/contrib/animate/animate.pdf diff --git a/macros/latex/contrib/animate/animate.sty b/macros/latex/contrib/animate/animate.sty index eaf27e7440..679dad68f3 100644 --- a/macros/latex/contrib/animate/animate.sty +++ b/macros/latex/contrib/animate/animate.sty @@ -13,7 +13,7 @@ \NeedsTeXFormat{LaTeX2e} -\def\@anim@version{2020/05/06} +\def\@anim@version{2020/05/07} \ProvidesPackage{animate} [\@anim@version\space PDF & SVG animations from files and inline graphics] @@ -316,12 +316,8 @@ \gdef\@anim@lscape{}% \gdef\@anim@@lscape{:ls}% \ifdefined\landscape% -% \if@anim@dvisvgm% disable `landscape' environment -% \renewenvironment{landscape}{}{}% -% \else% - \g@addto@macro{\landscape}{\gdef\@anim@lscape{:ls}}% - \g@addto@macro{\endlandscape}{\gdef\@anim@lscape{}}% -% \fi% + \g@addto@macro{\landscape}{\gdef\@anim@lscape{:ls}}% + \g@addto@macro{\endlandscape}{\gdef\@anim@lscape{}}% \fi% } @@ -887,13 +883,11 @@ % separately. \ifcsname btn#1:#2\endcsname\else% \ifx\empty\@anim@bg\empty\else% - \@anim@xbutton{ResetBG}{% - \@anim@btnresetbg}{#2}% + \@anim@xbutton{ResetBG}{\@anim@btnresetbg}{#2}% \fi% \begingroup% \def\@anim@alpha{}% - \@anim@xbutton{ResetFG}{% - \@anim@btnreset}{#2}% + \@anim@xbutton{ResetFG}{\@anim@btnreset}{#2}% \endgroup% \ifx\empty\@anim@bg\empty\else% \global\setbox\@anim@box=\hbox to \@anim@btnsize {% @@ -1720,11 +1714,12 @@ \if@anim@export\else% % insert <script> part \if@anim@dvisvgm\@anim@script{\the\@anim@num}\fi% - \@anim@insertwidgets{\the\@anim@num}{% + \edef\@anim@btnattrs{% \@anim@bgcolour:\@anim@fgcolour:\@anim@alpha% \if@anim@dvisvgm:\@anim@btnsize:\@anim@abspage\fi% \@anim@lscape% }% + \@anim@insertwidgets{\the\@anim@num}{\@anim@btnattrs}% \fi% \fi% \@anim@endLTR% @@ -2167,11 +2162,12 @@ \if@anim@export\else% % insert <script> part \if@anim@dvisvgm\@anim@script{\the\@anim@num}\fi% - \@anim@insertwidgets{\the\@anim@num}{% + \edef\@anim@btnattrs{% \@anim@bgcolour:\@anim@fgcolour:\@anim@alpha% \if@anim@dvisvgm:\@anim@btnsize:\@anim@abspage\fi% \@anim@lscape% }% + \@anim@insertwidgets{\the\@anim@num}{\@anim@btnattrs}% \fi% % if last frame used as poster, write frame num to aux file \ifnum\@anim@poster=\@anim@mone\relax% diff --git a/macros/latex/contrib/animate/animate.tex b/macros/latex/contrib/animate/animate.tex index bd9c37de1e..34f8d2de67 100644 --- a/macros/latex/contrib/animate/animate.tex +++ b/macros/latex/contrib/animate/animate.tex @@ -371,7 +371,7 @@ buttonbg=<colour> buttonfg=<colour> buttonalpha=<opacity> \end{verbatim} -By default, control button widgets are drawn with black strokes on transparent background. The background can be turned into a solid colour by the first option, while the second option specifies the stroke colour. The parameter \verb+<colour>+ is an array of colon-(\verb+:+)-separated numbers in the range from 0.0 to 1.0. The number of array elements determines the colour model in which the colour is defined: (1) gray value, (3) RGB, (4) CMYK. For example, `\verb+1+', `\verb+1:0.5:0.2+' and `\verb+0.5:0.3:0.7:0.1+' are valid colour specifications. Option \verb+buttonalpha+ adds transparency to the control buttons. Its parameter \verb+<opacity>+ is a number between 0.0 and 1.0, where 0.0 produces fully transparent and 1.0 fully opaque buttons. +By default, control button widgets are drawn with black strokes on empty, fully transparent background. The background can be filled with colour using the first option, while the second option specifies the stroke colour. Option \verb+buttonalpha+ adds transparency to the background colour. The parameter \verb+<colour>+ is an array of colon-(\verb+:+)-separated numbers in the range from 0.0 to 1.0. The number of array elements determines the colour model in which the colour is defined: (1) gray value, (3) RGB, (4) CMYK. For example, `\verb+1+', `\verb+1:0.5:0.2+' and `\verb+0.5:0.3:0.7:0.1+' are valid colour specifications. The parameter \verb+<opacity>+ is a number between 0.0 and 1.0, where 0.0 produces fully transparent and 1.0 fully opaque buttons. \begin{verbatim} draft final diff --git a/macros/latex/contrib/l3backend/CHANGELOG.md b/macros/latex/contrib/l3backend/CHANGELOG.md index 920e730ce8..ffd7ae74c0 100644 --- a/macros/latex/contrib/l3backend/CHANGELOG.md +++ b/macros/latex/contrib/l3backend/CHANGELOG.md @@ -6,6 +6,14 @@ this project uses date-based 'snapshot' version identifiers. ## [Unreleased] +## [2020-05-05] + +### Added +- `\__pdf_backend_pageobject_ref:n` + +### Changed +- Extend PDF compression control to `dvips` + ## [2020-03-12] ### Fixed @@ -61,7 +69,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-03-12...HEAD +[Unreleased]: https://github.com/latex3/latex3/compare/2020-05-05...HEAD +[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 [2020-02-21]: https://github.com/latex3/latex3/compare/2020-02-03...2020-02-21 diff --git a/macros/latex/contrib/l3backend/README.md b/macros/latex/contrib/l3backend/README.md index 370b2a991e..8871160d12 100644 --- a/macros/latex/contrib/l3backend/README.md +++ b/macros/latex/contrib/l3backend/README.md @@ -1,7 +1,7 @@ LaTeX3 Backend Drivers ====================== -Release 2020-03-12 +Release 2020-05-05 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 1ab76b974d..71085fb1ba 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-03-12} +% \date{Released 2020-05-05} % % \maketitle % @@ -71,23 +71,23 @@ %<*package> \ProvidesExplFile %<*dvipdfmx> - {l3backend-dvipdfmx.def}{2020-03-12}{} + {l3backend-dvipdfmx.def}{2020-05-05}{} {L3 backend support: dvipdfmx} %</dvipdfmx> %<*dvips> - {l3backend-dvips.def}{2020-03-12}{} + {l3backend-dvips.def}{2020-05-05}{} {L3 backend support: dvips} %</dvips> %<*dvisvgm> - {l3backend-dvisvgm.def}{2020-03-12}{} + {l3backend-dvisvgm.def}{2020-05-05}{} {L3 backend support: dvisvgm} %</dvisvgm> %<*pdfmode> - {l3backend-pdfmode.def}{2020-03-12}{} + {l3backend-pdfmode.def}{2020-05-05}{} {L3 backend support: PDF mode} %</pdfmode> %<*xdvipdfmx> - {l3backend-xdvipdfmx.def}{2020-03-12}{} + {l3backend-xdvipdfmx.def}{2020-05-05}{} {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 8a855c54c8..5544192ea6 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-03-12} +% \date{Released 2020-05-05} % % \maketitle % diff --git a/macros/latex/contrib/l3backend/l3backend-code.pdf b/macros/latex/contrib/l3backend/l3backend-code.pdf Binary files differindex e15a5040e0..890efdb4d2 100644 --- a/macros/latex/contrib/l3backend/l3backend-code.pdf +++ b/macros/latex/contrib/l3backend/l3backend-code.pdf diff --git a/macros/latex/contrib/l3backend/l3backend-color.dtx b/macros/latex/contrib/l3backend/l3backend-color.dtx index 6381a09b93..faadeb83ad 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-03-12} +% \date{Released 2020-05-05} % % \maketitle % diff --git a/macros/latex/contrib/l3backend/l3backend-draw.dtx b/macros/latex/contrib/l3backend/l3backend-draw.dtx index 88114fec28..f1d83363db 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-03-12} +% \date{Released 2020-05-05} % % \maketitle % diff --git a/macros/latex/contrib/l3backend/l3backend-graphics.dtx b/macros/latex/contrib/l3backend/l3backend-graphics.dtx index e6ca664660..f986a2d1a7 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-03-12} +% \date{Released 2020-05-05} % % \maketitle % @@ -166,7 +166,7 @@ \graphics_bb_restore:xF { #1 \l_@@_graphics_attr_tl } { \@@_backend_getbb_auxii:n {#1} } } -% \begin{macrocode} +% \end{macrocode} % Measuring the graphic is done by boxing up: for PDF graphics we could % use |\tex_pdfximagebbox:D|, but if doesn't work for other types. % As the box always starts at $(0,0)$ there is no need to worry about diff --git a/macros/latex/contrib/l3backend/l3backend-header.dtx b/macros/latex/contrib/l3backend/l3backend-header.dtx index 490d552233..b3c7f0527e 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-03-12} +% \date{Released 2020-05-05} % % \maketitle % diff --git a/macros/latex/contrib/l3backend/l3backend-pdf.dtx b/macros/latex/contrib/l3backend/l3backend-pdf.dtx index 14496bbc89..95d1cc6530 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-03-12} +% \date{Released 2020-05-05} % % \maketitle % @@ -227,6 +227,14 @@ % \end{macrocode} % \end{macro} % +% \begin{macro}[EXP]{\@@_backend_pageobject_ref:n} +% Page references are easy in \texttt{dvips}. +% \begin{macrocode} +\cs_new:Npn \@@_backend_pageobject_ref:n #1 + { { Page #1 } } +% \end{macrocode} +% \end{macro} +% % \subsubsection{Annotations} % % In \texttt{dvips}, annotations have to be constructed manually. As such, @@ -263,7 +271,7 @@ % \begin{macrocode} \cs_new_protected:Npn \@@_backend_annotation:nnnn #1#2#3#4 { - \exp_args:Nf \@@_backend_annotation_aux:nnnn + \exp_args:Nf \@@_backend_annotation_aux:nnnn { \dim_eval:n {#1} } {#2} {#3} {#4} } \cs_new_protected:Npn \@@_backend_annotation_aux:nnnn #1#2#3#4 @@ -666,10 +674,32 @@ % % \begin{macro}{\@@_backend_compresslevel:n} % \begin{macro}{\@@_backend_compress_objects:n} -% These are all no-ops. +% Doable for the usual \texttt{ps2pdf} method. % \begin{macrocode} -\cs_new_protected:Npn \@@_backend_compresslevel:n #1 { } -\cs_new_protected:Npn \@@_backend_compress_objects:n #1 { } +\cs_new_protected:Npn \@@_backend_compresslevel:n #1 + { + \int_compare:nNnT {#1} = 0 + { + \__kernel_backend_literal_postscript:n + { + /setdistillerparams ~ where + { pop << /CompressPages ~ false >> setdistillerparams } + if + } + } + } +\cs_new_protected:Npn \@@_backend_compress_objects:n #1 + { + \bool_if:nF {#1} + { + \__kernel_backend_literal_postscript:n + { + /setdistillerparams ~ where + { pop << /CompressStreams ~ false >> setdistillerparams } + if + } + } + } % \end{macrocode} % \end{macro} % \end{macro} @@ -998,6 +1028,20 @@ % \end{macrocode} % \end{macro} % +% \begin{macro}[EXP]{\@@_backend_pageobject_ref:n} +% The usual wrapper situation. +% \begin{macrocode} +\cs_new:Npx \@@_backend_pageobject_ref:n #1 + { + \exp_not:N \int_value:w + \cs_if_exist:NTF \tex_pdffeedback:D + { \exp_not:N \tex_pdffeedback:D pageref } + { \exp_not:N \tex_pdfpageref:D } + \c_space_tl #1 \c_space_tl \c_space_tl \c_space_tl 0 ~ R + } +% \end{macrocode} +% \end{macro} +% % \subsubsection{Structure} % % \begin{macro}{\@@_backend_compresslevel:n} @@ -1240,6 +1284,14 @@ % \end{macrocode} % \end{macro} % +% \begin{macro}[EXP]{\@@_backend_pageobject_ref:n} +% Page references are easy in \texttt{(x)dvipdfmx}. +% \begin{macrocode} +\cs_new:Npn \@@_backend_pageobject_ref:n #1 + { @page #1 } +% \end{macrocode} +% \end{macro} +% % \subsubsection{Annotations} % % \begin{variable}{\g_@@_landscape_bool} @@ -1498,6 +1550,7 @@ % \begin{macro}{\@@_backend_object_write:nn, , \@@_backend_object_write:nx} % \begin{macro}{\@@_backend_object_now:nn, , \@@_backend_object_now:nx} % \begin{macro}{\@@_backend_object_last:} +% \begin{macro}[EXP]{\@@_backend_pageobject_ref:n} % All no-ops here. % \begin{macrocode} \cs_new_protected:Npn \@@_backend_object_new:nn #1#2 { } @@ -1507,12 +1560,14 @@ \cs_new_protected:Npn \@@_backend_object_now:nn #1#2 { } \cs_new_protected:Npn \@@_backend_object_now:nx #1#2 { } \cs_new:Npn \@@_backend_object_last: { } +\cs_new:Npn \@@_backend_pageobject_ref:n #1 { } % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} +% \end{macro} % % \subsubsection{Structure} % diff --git a/macros/latex/contrib/l3kernel/CHANGELOG.md b/macros/latex/contrib/l3kernel/CHANGELOG.md index 935c8f3212..fdcb30461f 100644 --- a/macros/latex/contrib/l3kernel/CHANGELOG.md +++ b/macros/latex/contrib/l3kernel/CHANGELOG.md @@ -7,10 +7,18 @@ this project uses date-based 'snapshot' version identifiers. ## [Unreleased] +## [2020-05-05] + +### Added +- Recognize the exponent marker `E` (same as `e`) in floating point numbers + +### Fixed +- Leave active characters untouched when case-changing (see #715) + ## [2020-04-06] ### Added -- Control for start-of-titecasing: see `\l_text_titlecase_check_letter_bool` +- Control for start-of-titlecasing: see `\l_text_titlecase_check_letter_bool` ### Fixed - Nesting of `\seq_shuffle:N` in another sequence mapping (issue #687) @@ -665,7 +673,8 @@ this project uses date-based 'snapshot' version identifiers. - Step functions have been added for dim variables, e.g. `\dim_step_inline:nnnn` -[Unreleased]: https://github.com/latex3/latex3/compare/2020-04-06...HEAD +[Unreleased]: https://github.com/latex3/latex3/compare/2020-05-05...HEAD +[2020-05-05]: https://github.com/latex3/latex3/compare/2020-04-06...2020-05-05 [2020-04-06]: https://github.com/latex3/latex3/compare/2020-03-06...2020-04-06 [2020-03-06]: https://github.com/latex3/latex3/compare/2020-03-03...2020-03-06 [2020-03-03]: https://github.com/latex3/latex3/compare/2020-02-25...2020-03-03 diff --git a/macros/latex/contrib/l3kernel/README.md b/macros/latex/contrib/l3kernel/README.md index 527917484f..2dc96da2b8 100644 --- a/macros/latex/contrib/l3kernel/README.md +++ b/macros/latex/contrib/l3kernel/README.md @@ -1,7 +1,7 @@ LaTeX3 Programming Conventions ============================== -Release 2020-04-06 +Release 2020-05-05 Overview -------- diff --git a/macros/latex/contrib/l3kernel/expl3.dtx b/macros/latex/contrib/l3kernel/expl3.dtx index b2367b1fa5..3c90cc81a3 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-04-06}% +\def\ExplFileDate{2020-05-05}% %<*driver> \documentclass[full]{l3doc} \usepackage{graphicx} @@ -51,7 +51,7 @@ % }^^A % } % -% \date{Released 2020-04-06} +% \date{Released 2020-05-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/expl3.pdf b/macros/latex/contrib/l3kernel/expl3.pdf Binary files differindex b22e3aa8d6..7c1568abfb 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 0f72a47968..302d3f088b 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 afdedf34b3..7b0c6e179b 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-04-06} +\date{Released 2020-05-05} \pagenumbering{roman} \maketitle diff --git a/macros/latex/contrib/l3kernel/l3alloc.dtx b/macros/latex/contrib/l3kernel/l3alloc.dtx index b319591df4..fee2e0fdfa 100644 --- a/macros/latex/contrib/l3kernel/l3alloc.dtx +++ b/macros/latex/contrib/l3kernel/l3alloc.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-04-06} +% \date{Released 2020-05-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3basics.dtx b/macros/latex/contrib/l3kernel/l3basics.dtx index 7ec163623a..5784ade6f5 100644 --- a/macros/latex/contrib/l3kernel/l3basics.dtx +++ b/macros/latex/contrib/l3kernel/l3basics.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-04-06} +% \date{Released 2020-05-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3bootstrap.dtx b/macros/latex/contrib/l3kernel/l3bootstrap.dtx index 9d6f2cce41..224163be1b 100644 --- a/macros/latex/contrib/l3kernel/l3bootstrap.dtx +++ b/macros/latex/contrib/l3kernel/l3bootstrap.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-04-06} +% \date{Released 2020-05-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3box.dtx b/macros/latex/contrib/l3kernel/l3box.dtx index 638396d4e6..3c8e9d93f2 100644 --- a/macros/latex/contrib/l3kernel/l3box.dtx +++ b/macros/latex/contrib/l3kernel/l3box.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-04-06} +% \date{Released 2020-05-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3candidates.dtx b/macros/latex/contrib/l3kernel/l3candidates.dtx index bb16a00a6e..7ae1a7afe8 100644 --- a/macros/latex/contrib/l3kernel/l3candidates.dtx +++ b/macros/latex/contrib/l3kernel/l3candidates.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2020-04-06} +% \date{Released 2020-05-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3clist.dtx b/macros/latex/contrib/l3kernel/l3clist.dtx index 6b58b6020f..ec24d2de47 100644 --- a/macros/latex/contrib/l3kernel/l3clist.dtx +++ b/macros/latex/contrib/l3kernel/l3clist.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2020-04-06} +% \date{Released 2020-05-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3coffins.dtx b/macros/latex/contrib/l3kernel/l3coffins.dtx index 1d51c40623..fb7d09bcc7 100644 --- a/macros/latex/contrib/l3kernel/l3coffins.dtx +++ b/macros/latex/contrib/l3kernel/l3coffins.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-04-06} +% \date{Released 2020-05-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3color-base.dtx b/macros/latex/contrib/l3kernel/l3color-base.dtx index 66141b7912..124d07bccd 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-04-06} +% \date{Released 2020-05-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3debug.dtx b/macros/latex/contrib/l3kernel/l3debug.dtx index e6baacd677..2e80e1b8a3 100644 --- a/macros/latex/contrib/l3kernel/l3debug.dtx +++ b/macros/latex/contrib/l3kernel/l3debug.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-04-06} +% \date{Released 2020-05-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3deprecation.dtx b/macros/latex/contrib/l3kernel/l3deprecation.dtx index 674ad81457..ab3f7a3dee 100644 --- a/macros/latex/contrib/l3kernel/l3deprecation.dtx +++ b/macros/latex/contrib/l3kernel/l3deprecation.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-04-06} +% \date{Released 2020-05-05} % % \maketitle % @@ -358,8 +358,8 @@ % \begin{macrocode} \__kernel_msg_new:nnn { kernel } { deprecated-command } { - '#2'~deprecated~on~#1. - \tl_if_empty:nF {#3} { ~Use~'#3'. } + \tl_if_blank:nF {#3} { Use~ \tl_trim_spaces:n {#3} ~not~ } + #2~deprecated~on~#1. \str_if_eq:nnT {#4} { grace } { \c_space_tl diff --git a/macros/latex/contrib/l3kernel/l3doc.dtx b/macros/latex/contrib/l3kernel/l3doc.dtx index 2da64b57e2..94217cd8c5 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-04-06} +% \date{Released 2020-05-05} % \maketitle % \tableofcontents % diff --git a/macros/latex/contrib/l3kernel/l3docstrip.dtx b/macros/latex/contrib/l3kernel/l3docstrip.dtx index e9eacfdd02..ab79ecabf1 100644 --- a/macros/latex/contrib/l3kernel/l3docstrip.dtx +++ b/macros/latex/contrib/l3kernel/l3docstrip.dtx @@ -63,7 +63,7 @@ % }^^A % } % -% \date{Released 2020-04-06} +% \date{Released 2020-05-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3docstrip.pdf b/macros/latex/contrib/l3kernel/l3docstrip.pdf Binary files differindex d3f4a45760..00c3018ede 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 f40faf0c14..7eb3465b7c 100644 --- a/macros/latex/contrib/l3kernel/l3expan.dtx +++ b/macros/latex/contrib/l3kernel/l3expan.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-04-06} +% \date{Released 2020-05-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3file.dtx b/macros/latex/contrib/l3kernel/l3file.dtx index 55d906d062..a3e398c2e8 100644 --- a/macros/latex/contrib/l3kernel/l3file.dtx +++ b/macros/latex/contrib/l3kernel/l3file.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2020-04-06} +% \date{Released 2020-05-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3final.dtx b/macros/latex/contrib/l3kernel/l3final.dtx index 537880051a..4cd9eead10 100644 --- a/macros/latex/contrib/l3kernel/l3final.dtx +++ b/macros/latex/contrib/l3kernel/l3final.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-04-06} +% \date{Released 2020-05-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3flag.dtx b/macros/latex/contrib/l3kernel/l3flag.dtx index 711a809a62..8309ffad51 100644 --- a/macros/latex/contrib/l3kernel/l3flag.dtx +++ b/macros/latex/contrib/l3kernel/l3flag.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-04-06} +% \date{Released 2020-05-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3fp-assign.dtx b/macros/latex/contrib/l3kernel/l3fp-assign.dtx index ece2128794..ce09c02627 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-04-06} +% \date{Released 2020-05-05} % \maketitle % % \begin{documentation} diff --git a/macros/latex/contrib/l3kernel/l3fp-aux.dtx b/macros/latex/contrib/l3kernel/l3fp-aux.dtx index 1b9d63ff59..44b55728cd 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-04-06} +% \date{Released 2020-05-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3fp-basics.dtx b/macros/latex/contrib/l3kernel/l3fp-basics.dtx index 501ae09c6e..65165842fc 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-04-06} +% \date{Released 2020-05-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3fp-convert.dtx b/macros/latex/contrib/l3kernel/l3fp-convert.dtx index be5bb9530e..e070533c59 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-04-06} +% \date{Released 2020-05-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3fp-expo.dtx b/macros/latex/contrib/l3kernel/l3fp-expo.dtx index 35fae0ce49..00ff667502 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-04-06} +% \date{Released 2020-05-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3fp-extended.dtx b/macros/latex/contrib/l3kernel/l3fp-extended.dtx index 026fdda410..2c906bf480 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-04-06} +% \date{Released 2020-05-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3fp-logic.dtx b/macros/latex/contrib/l3kernel/l3fp-logic.dtx index b81a1066e3..632346bc4a 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-04-06} +% \date{Released 2020-05-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3fp-parse.dtx b/macros/latex/contrib/l3kernel/l3fp-parse.dtx index e69b63ba05..8c5a03bd24 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-04-06} +% \date{Released 2020-05-05} % % \maketitle % @@ -1647,8 +1647,8 @@ % This function should be called within an \cs{int_value:w} % expansion (or within an integer expression). It leaves digits of the % exponent behind it in the input stream, and terminates the expansion -% with a semicolon. If there is no~|e|, leave an exponent of~$0$. If -% there is an~|e|, expand the next token to run some tests on it. The +% with a semicolon. If there is no~|e| (or~|E|), leave an exponent of~$0$. If +% there is an~|e| or~|E|, expand the next token to run some tests on it. The % first rough test is that if the character code of~|#1| is greater % than that of~|9| (largest code valid for an exponent, less than any % code valid for an identifier), there was in fact no exponent; @@ -1656,7 +1656,7 @@ % \begin{macrocode} \cs_new:Npn \@@_parse_exponent:N #1 { - \if:w e \exp_not:N #1 + \if:w e \if:w E \exp_not:N #1 e \else: \exp_not:N #1 \fi: \exp_after:wN \@@_parse_exponent_aux:N \exp:w \else: diff --git a/macros/latex/contrib/l3kernel/l3fp-random.dtx b/macros/latex/contrib/l3kernel/l3fp-random.dtx index b2bcf484a1..8ff26feedd 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-04-06} +% \date{Released 2020-05-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3fp-round.dtx b/macros/latex/contrib/l3kernel/l3fp-round.dtx index 59b7f978ee..89453a55ca 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-04-06} +% \date{Released 2020-05-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3fp-traps.dtx b/macros/latex/contrib/l3kernel/l3fp-traps.dtx index 4b394358d6..441a2e9436 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-04-06} +% \date{Released 2020-05-05} % \maketitle % % \begin{documentation} diff --git a/macros/latex/contrib/l3kernel/l3fp-trig.dtx b/macros/latex/contrib/l3kernel/l3fp-trig.dtx index cbe388e0fd..1a34892a4b 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-04-06} +% \date{Released 2020-05-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3fp.dtx b/macros/latex/contrib/l3kernel/l3fp.dtx index 61904f6ca4..b781dda55d 100644 --- a/macros/latex/contrib/l3kernel/l3fp.dtx +++ b/macros/latex/contrib/l3kernel/l3fp.dtx @@ -49,7 +49,7 @@ % }^^A % } % -% \date{Released 2020-04-06} +% \date{Released 2020-05-05} % % \maketitle % @@ -96,7 +96,7 @@ % $\operatorname{asech} x$, $\operatorname{acsch} x$. % \item Extrema: $\max(x_{1},x_{2},\ldots)$, $\min(x_{1},x_{2},\ldots)$, % $\operatorname{abs}(x)$. -% \item Rouning functions, controlled by two optional +% \item Rounding functions, controlled by two optional % values, $n$ (number of places, $0$ by default) and % $t$ (behavior on a tie, $\nan$ by default): % \begin{itemize} @@ -446,10 +446,10 @@ % \end{syntax} % Evaluates the \meta{floating point expressions} as described for % \cs{fp_eval:n} and compares consecutive result using the -% corresponding \meta{relation}, namely it compares \meta{intexpr_1} -% and \meta{intexpr_2} using the \meta{relation_1}, then -% \meta{intexpr_2} and \meta{intexpr_3} using the \meta{relation_2}, -% until finally comparing \meta{intexpr_N} and \meta{intexpr_{N+1}} +% corresponding \meta{relation}, namely it compares \meta{fpexpr_1} +% and \meta{fpexpr_2} using the \meta{relation_1}, then +% \meta{fpexpr_2} and \meta{fpexpr_3} using the \meta{relation_2}, +% until finally comparing \meta{fpexpr_N} and \meta{fpexpr_{N+1}} % using the \meta{relation_N}. The test yields \texttt{true} if all % comparisons are \texttt{true}. Each \meta{floating point % expression} is evaluated only once. Contrarily to @@ -813,7 +813,7 @@ % \item \meta{sign}: a possibly empty string of |+| and |-| characters; % \item \meta{significand}: a non-empty string of digits together with zero % or one dot; -% \item \meta{exponent} optionally: the character |e|, followed by a +% \item \meta{exponent} optionally: the character |e| or |E|, followed by a % possibly empty string of |+|~and~|-| tokens, and a non-empty string % of digits. % \end{itemize} @@ -843,7 +843,7 @@ % valid floating point numbers. Note that the latter could be mistaken % with the difference of \enquote{\texttt{e}} and $1$. To avoid % confusions, the base of natural logarithms cannot be input as |e| and -% should be input as \texttt{exp(1)} or \cs{c_e_fp}. +% should be input as \texttt{exp(1)} or \cs{c_e_fp} (which is faster). % % Special numbers are input as follows: % \begin{itemize} diff --git a/macros/latex/contrib/l3kernel/l3fparray.dtx b/macros/latex/contrib/l3kernel/l3fparray.dtx index f615473e38..74c09b293c 100644 --- a/macros/latex/contrib/l3kernel/l3fparray.dtx +++ b/macros/latex/contrib/l3kernel/l3fparray.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2020-04-06} +% \date{Released 2020-05-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3int.dtx b/macros/latex/contrib/l3kernel/l3int.dtx index f116ca72ce..6ec7cd6528 100644 --- a/macros/latex/contrib/l3kernel/l3int.dtx +++ b/macros/latex/contrib/l3kernel/l3int.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-04-06} +% \date{Released 2020-05-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3intarray.dtx b/macros/latex/contrib/l3kernel/l3intarray.dtx index b83c9b2a90..900151aa0c 100644 --- a/macros/latex/contrib/l3kernel/l3intarray.dtx +++ b/macros/latex/contrib/l3kernel/l3intarray.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2020-04-06} +% \date{Released 2020-05-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3kernel-functions.dtx b/macros/latex/contrib/l3kernel/l3kernel-functions.dtx index 40e53bb11f..fa09742458 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-04-06} +% \date{Released 2020-05-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3keys.dtx b/macros/latex/contrib/l3kernel/l3keys.dtx index fb7b8050b1..f00f95309c 100644 --- a/macros/latex/contrib/l3kernel/l3keys.dtx +++ b/macros/latex/contrib/l3kernel/l3keys.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-04-06} +% \date{Released 2020-05-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3legacy.dtx b/macros/latex/contrib/l3kernel/l3legacy.dtx index fe455e7abd..f1505be1b1 100644 --- a/macros/latex/contrib/l3kernel/l3legacy.dtx +++ b/macros/latex/contrib/l3kernel/l3legacy.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-04-06} +% \date{Released 2020-05-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3luatex.dtx b/macros/latex/contrib/l3kernel/l3luatex.dtx index 2aeaa1179d..c3a5ec4985 100644 --- a/macros/latex/contrib/l3kernel/l3luatex.dtx +++ b/macros/latex/contrib/l3kernel/l3luatex.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-04-06} +% \date{Released 2020-05-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3msg.dtx b/macros/latex/contrib/l3kernel/l3msg.dtx index 240649d5fa..8dd4c2df83 100644 --- a/macros/latex/contrib/l3kernel/l3msg.dtx +++ b/macros/latex/contrib/l3kernel/l3msg.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-04-06} +% \date{Released 2020-05-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3names.dtx b/macros/latex/contrib/l3kernel/l3names.dtx index 93251497f4..1ff80abdbf 100644 --- a/macros/latex/contrib/l3kernel/l3names.dtx +++ b/macros/latex/contrib/l3kernel/l3names.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-04-06} +% \date{Released 2020-05-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3news.pdf b/macros/latex/contrib/l3kernel/l3news.pdf Binary files differindex 1e3e01d361..1f47cf6159 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 f1a37d4ba5..5a6cf44044 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 986777e47c..242ad64340 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 243cad0aab..10e4d27c06 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 81c7f2855a..9d236ae6ec 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 d429260a99..5285b6494a 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 6cbf184b1a..18cf35ef6c 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 104ddd98a3..558df172bd 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 8ee6c24654..9003cc10ad 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 654eb6bf26..aa6826ec5c 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 095c990ffc..ed057b204c 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 b18962335f..2b42dd8612 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 50c6cdcfeb..56b04c76ac 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 642979ef6e..bf6e968edc 100644 --- a/macros/latex/contrib/l3kernel/l3prefixes.csv +++ b/macros/latex/contrib/l3kernel/l3prefixes.csv @@ -3,7 +3,7 @@ ENdiagram,endiagram,Clemens Niederberger,https://bitbucket.org/cgnieder/endiagra 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://bitbucket.org/cgnieder/acro/,git@bitbucket.org:cgnieder/acro.git,https://bitbucket.org/cgnieder/acro/issues,2013-03-16,2013-03-16, +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, 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 @@ -14,6 +14,7 @@ atsign,l3kernel,The LaTeX3 Project,https://www.latex-project.org/latex3.html,htt avm,langsci-avm,Felix Kopecky,https://ctan.org/pkg/langsci-avm,https://github.com/langsci/langsci-avm,https://github.com/langsci/langsci-avm/issues,2020-03-11,2020-03-11, backend,l3backend,The LaTeX3 Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2019-06-04,2019-06-04, backslash,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, +bearwear,bearwear,Ulrike Fischer,https://github.com/u-fischer/bearwear,https://github.com/u-fischer/bearwear,https://github.com/u-fischer/bearwear/issues,2020-04-24,2020-04-24, bool,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, box,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, bxjh,BXjaholiday,Takuto Asakura,https://github.com/wtsnjp/BXjaholiday,https://github.com/wtsnjp/BXjaholiday.git,https://github.com/wtsnjp/BXjaholiday/issues,2018-02-02,2019-02-02, @@ -21,9 +22,9 @@ catcode,l3kernel,The LaTeX3 Project,https://www.latex-project.org/latex3.html,ht cctab,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, cellprops,cellprops,Julien Rivaud,,,,2018-06-13,2018-06-13, char,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, -chemformula,chemmacros,Clemens Niederberger,https://bitbucket.org/cgnieder/chemmacros/,git@bitbucket.org:cgnieder/chemmacros.git,https://bitbucket.org/cgnieder/chemmacros/issues,2013-03-16,2013-03-16, -chemmacros,chemmacros,Clemens Niederberger,https://bitbucket.org/cgnieder/chemmacros/,git@bitbucket.org:cgnieder/chemmacros.git,https://bitbucket.org/cgnieder/chemmacros/issues,2013-03-16,2013-03-16, -chemnum,chemnum,Clemens Niederberger,https://bitbucket.org/cgnieder/chemnum/,git@bitbucket.org:cgnieder/chemnum.git,https://bitbucket.org/cgnieder/chemnum/issues,2013-03-16,2013-03-16, +chemformula,chemformula,Clemens Niederberger,https://github.com/cgnieder/chemformula/,https://github.com/cgnieder/chemformula.git,https://github.com/cgnieder/chemformula/issues,2013-03-16,2020-04-14, +chemmacros,chemmacros,Clemens Niederberger,https://github.com/cgnieder/chemmacros/,https://github.com/cgnieder/chemmacros.git,https://github.com/cgnieder/chemmacros/issues,2013-03-16,2020-04-14, +chemnum,chemnum,Clemens Niederberger,https://github.com/cgnieder/chemnum/,https://github.com/cgnieder/chemnum.git,https://github.com/cgnieder/chemnum/issues,2013-03-16,2020-04-14, chk,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,Currently internal-only but reserved circumflex,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, classics,classics,Eduardo C. Lourenço de Lima,,,,2013-03-16,2013-03-16, @@ -52,7 +53,7 @@ e,l3kernel,The LaTeX3 Project,https://www.latex-project.org/latex3.html,https:// else,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, emoji,emoji,Xiangdong Zeng,https://github.com/stone-zeng/latex-emoji,https://github.com/stone-zeng/latex-emoji.git,https://github.com/stone-zeng/latex-emoji/issues,2020-03-08,2020-03-08, empty,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, -enotez,enotez,Clemens Niederberger,https://bitbucket.org/cgnieder/enotez/,git@bitbucket.org:cgnieder/enotez.git,https://bitbucket.org/cgnieder/enotez/issues,2013-03-16,2013-03-16, +enotez,enotez,Clemens Niederberger,https://github.com/cgnieder/enotez/,https://github.com/cgnieder/enotez.git,https://github.com/cgnieder/enotez/issues,2013-03-16,2020-04-14, etex,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, exp,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, expl,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, @@ -69,14 +70,14 @@ fltr,newlfm,Paul Thomson,,,,2013-01-29,2013-01-29, fmdug,dashundergaps,Frank Mittelbach,https://www.latex-project.org/,https://github.com/FrankMittelbach/fmitex.git,https://github.com/FrankMittelbach/fmitex/issues,2018-06-24,2018-06-24, fmuft,unicodefonttable,Frank Mittelbach,https://www.latex-project.org/,https://github.com/FrankMittelbach/fmitex.git,https://github.com/FrankMittelbach/fmitex/issues,2020-02-17,2020-02-17, fmwao,widows-and-orphans,Frank Mittelbach,https://www.latex-project.org/,https://github.com/FrankMittelbach/fmitex.git,https://github.com/FrankMittelbach/fmitex/issues,2018-09-26,2018-09-26, -fnpct,fnpct,Clemens Niederberger,https://bitbucket.org/cgnieder/fnpct/,git@bitbucket.org:cgnieder/fnpct.git,https://bitbucket.org/cgnieder/fnpct/issues,2013-03-16,2013-03-16, +fnpct,fnpct,Clemens Niederberger,https://github.com/cgnieder/fnpct/,https://github.com/cgnieder/fnpct.git,https://github.com/cgnieder/fnpct/issues,2013-03-16,2020-04-14, fontsizes,fontsizes,Julien Rivaud,,,,,2018-06-13, fontspec,fontspec,Will Robertson,https://github.com/wspr/fontspec,https://github.com/wspr/fontspec.git,https://github.com/wspr/fontspec/issues,2013-03-16,2013-03-16, fp,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, galley,l3galley,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, gatherenum,gatherenum,Julien Rivaud,,,,2018-06-13,2018-06-14, getree,genealogytree,Thomas F. Sturm,https://github.com/T-F-S/genealogytree,https://github.com/T-F-S/genealogytree.git,https://github.com/T-F-S/genealogytree/issues,2020-02-19,2020-02-19, -ghsystem,chemmacros,Clemens Niederberger,https://bitbucket.org/cgnieder/chemmacros/,git@bitbucket.org:cgnieder/chemmacros.git,https://bitbucket.org/cgnieder/chemmacros/issues,2013-03-16,2013-03-16, +ghsystem,ghsystem,Clemens Niederberger,https://github.com/cgnieder/ghsystem/,https://github.com/cgnieder/ghsystem.git,https://github.com/cgnieder/ghsystem/issues,2013-03-16,2020-04-14, 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, @@ -108,11 +109,13 @@ max,l3kernel,The LaTeX3 Project,https://www.latex-project.org/latex3.html,https: mcrule,multicolrule,Karl Hagen,https://github.com/polysyllabic/multicolrule,https://github.com/polysyllabic/multicolrule.git,https://github.com/polysyllabic/multicolrule/issues,2018-12-24,2018-12-24, mermap,mercatormap,Thomas F. Sturm,https://github.com/T-F-S/mercatormap,https://github.com/T-F-S/mercatormap.git,https://github.com/T-F-S/mercatormap/issues,2020-02-19,2020-02-19, mhchem,mhchem,Martin Hensel,,,,2014-02-05,2014-02-05, +minibox,minibox,Will Robertson,,https://github.com/wspr/will2e.git,https://github.com/wspr/will2e/issues,2020-04-24,2020-04-24, minus,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, -mix,media9,Alexander Grahn,,,,2013-01-18,2013-01-18, +mix,media9,Alexander Grahn,,https://gitlab.com/agrahn/media9,https://gitlab.com/agrahn/media9/issues,2013-01-18,2020-04-15, mode,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, morewrites,morewrites,Bruno Le Floch,https://github.com/blefloch/latex-morewrites,https://github.com/blefloch/latex-morewrites.git,https://github.com/blefloch/latex-morewrites/issues,2013-03-16,2015-09-22, msg,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, +msvg,media4svg,Alexander Grahn,,https://gitlab.com/agrahn/media4svg,https://gitlab.com/agrahn/media4svg/issues,2020-04-15,2020-04-15, muskip,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, nan,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, nicematrix,nicematrix,François Pantigny,,,,2019-12-19,2019-12-19, @@ -120,12 +123,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, -ocgbase,ocgx2,Alexander Grahn,,,,2016-02-26,2016-02-26, -ocgxii,ocgx2,Alexander Grahn,,,,2016-02-26,2016-02-26, +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, 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,,,,2016-02-26,2016-02-26, +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, pdftex,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, peek,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, @@ -158,10 +161,10 @@ statistics,statistics,Julien Rivaud,https://gitlab.com/frnchfrgg-latex/statistic stm,lt3-stm,CV Radhakrishnan,http://www.cvr.cc/,,,2014-02-26,2014-02-26, stop,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, str,"l3kernel,l3str,l3str-format",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, -substances,substances,Clemens Niederberger,https://bitbucket.org/cgnieder/substances/,git@bitbucket.org:cgnieder/substances.git,https://bitbucket.org/cgnieder/substances/issues,2013-03-16,2013-03-16, +substances,substances,Clemens Niederberger,https://github.com/cgnieder/substances/,https://github.com/cgnieder/substances.git,https://github.com/cgnieder/substances/issues,2013-03-16,2020-04-14, sys,l3kernel,The LaTeX3 Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2015-09-07,2015-09-08, tag,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, -tasks,exsheets,Clemens Niederberger,https://bitbucket.org/cgnieder/exsheets/,git@bitbucket.org:cgnieder/exsheets.git,https://bitbucket.org/cgnieder/exsheets/issues,2013-03-16,2013-03-16, +tasks,tasks,Clemens Niederberger,https://github.com/cgnieder/tasks/,https://github.com/cgnieder/tasks.git,https://github.com/cgnieder/cgnieder/tasks/issues,2013-03-16,2020-04-14, tcobox,tcolorbox,Thomas F. Sturm,https://github.com/T-F-S/tcolorbox,https://github.com/T-F-S/tcolorbox.git,https://github.com/T-F-S/tcolorbox/issues,2020-02-19,2020-02-19, term,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, tex,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, @@ -172,6 +175,8 @@ tl,"l3kernel,l3tl-analysis,l3tl-build",The LaTeX3 Project,https://www.latex-proj tmpa,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, tmpb,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, token,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, +ufcombo,combofont,Ulrike Fischer,https://github.com/u-fischer/combofont,https://github.com/u-fischer/combofont,https://github.com/u-fischer/combofont/issues,2020-04-24,2020-04-24, +ufgrid,returntogrid,Ulrike Fischer,https://github.com/u-fischer/returntogrid,https://github.com/u-fischer/returntogrid,https://github.com/u-fischer/returntogrid/issues,2020-04-24,2020-04-24, uftag,tagpdf,Ulrike Fischer,,,,2018-07-15,2018-07-15, um,unicode-math,Will Robertson,https://github.com/wspr/unicode-math,https://github.com/wspr/unicode-math.git,https://github.com/wspr/unicode-math/issues,2013-03-16,2013-03-16, underscore,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, @@ -190,7 +195,8 @@ xparse,xparse,The LaTeX3 Project,https://www.latex-project.org/latex3.html,https xpatch,"regexpatch,xpatch",Enrico Gregorio,,,,2013-03-16,2013-03-16, xpeek,xpeek,Joel C. Salomon,,,,2013-03-16,2013-03-16, xpinyin,xpinyin,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,2013-03-16,2013-05-26, -xsb,xsavebox,Alexander Grahn,,,,2016-02-26,2016-02-26, +xsb,xsavebox,Alexander Grahn,,https://gitlab.com/agrahn/xsavebox,https://gitlab.com/agrahn/xsavebox/issues,2016-02-26,2020-04-15, +xsim,xsim,Clemens Niederberger,https://github.com/cgnieder/xsim/,https://github.com/cgnieder/xsim.git,https://github.com/cgnieder/xsim/issues,2020-04-14,2020-04-14, xtemplate,xtemplate,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, yoin,yoin,Tom Hejda,https://github.com/tohecz/yoin,https://github.com/tohecz/yoin.git,https://github.com/tohecz/yoin/issues,2016-02-22,2016-02-22, zero,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, diff --git a/macros/latex/contrib/l3kernel/l3prefixes.pdf b/macros/latex/contrib/l3kernel/l3prefixes.pdf Binary files differindex ba39dffe84..0fe83d65c8 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 469c43fb0e..1ea045aa74 100644 --- a/macros/latex/contrib/l3kernel/l3prg.dtx +++ b/macros/latex/contrib/l3kernel/l3prg.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-04-06} +% \date{Released 2020-05-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3prop.dtx b/macros/latex/contrib/l3kernel/l3prop.dtx index f728416ae2..9cc9111f34 100644 --- a/macros/latex/contrib/l3kernel/l3prop.dtx +++ b/macros/latex/contrib/l3kernel/l3prop.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-04-06} +% \date{Released 2020-05-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3quark.dtx b/macros/latex/contrib/l3kernel/l3quark.dtx index 772ffde63b..a6c66f1561 100644 --- a/macros/latex/contrib/l3kernel/l3quark.dtx +++ b/macros/latex/contrib/l3kernel/l3quark.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-04-06} +% \date{Released 2020-05-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3regex.dtx b/macros/latex/contrib/l3kernel/l3regex.dtx index b5eac07360..3b4fc4fbc8 100644 --- a/macros/latex/contrib/l3kernel/l3regex.dtx +++ b/macros/latex/contrib/l3kernel/l3regex.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-04-06} +% \date{Released 2020-05-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3seq.dtx b/macros/latex/contrib/l3kernel/l3seq.dtx index 0f5f561655..071f202e81 100644 --- a/macros/latex/contrib/l3kernel/l3seq.dtx +++ b/macros/latex/contrib/l3kernel/l3seq.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-04-06} +% \date{Released 2020-05-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3skip.dtx b/macros/latex/contrib/l3kernel/l3skip.dtx index 32facf9bf0..152b90a3c0 100644 --- a/macros/latex/contrib/l3kernel/l3skip.dtx +++ b/macros/latex/contrib/l3kernel/l3skip.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2020-04-06} +% \date{Released 2020-05-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3sort.dtx b/macros/latex/contrib/l3kernel/l3sort.dtx index e6e254a57c..2dbb5b6931 100644 --- a/macros/latex/contrib/l3kernel/l3sort.dtx +++ b/macros/latex/contrib/l3kernel/l3sort.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-04-06} +% \date{Released 2020-05-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3str-convert.dtx b/macros/latex/contrib/l3kernel/l3str-convert.dtx index ea0839abf0..9092f8fdbc 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-04-06} +% \date{Released 2020-05-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3str.dtx b/macros/latex/contrib/l3kernel/l3str.dtx index af9fa9cd8b..66909707c0 100644 --- a/macros/latex/contrib/l3kernel/l3str.dtx +++ b/macros/latex/contrib/l3kernel/l3str.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-04-06} +% \date{Released 2020-05-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3styleguide.pdf b/macros/latex/contrib/l3kernel/l3styleguide.pdf Binary files differindex 885fc2a53c..ecd36e76ee 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 3da0760535..1896458840 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-04-06} +\date{Released 2020-05-05} \begin{document} diff --git a/macros/latex/contrib/l3kernel/l3syntax-changes.pdf b/macros/latex/contrib/l3kernel/l3syntax-changes.pdf Binary files differindex ea1fcb7bfb..37dd80b173 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 2b28f611f9..e1aa7562c0 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-04-06} +\date{Released 2020-05-05} \newcommand{\TF}{\textit{(TF)}} diff --git a/macros/latex/contrib/l3kernel/l3sys.dtx b/macros/latex/contrib/l3kernel/l3sys.dtx index 889e3f14fb..4b36af5e14 100644 --- a/macros/latex/contrib/l3kernel/l3sys.dtx +++ b/macros/latex/contrib/l3kernel/l3sys.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-04-06} +% \date{Released 2020-05-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3term-glossary.pdf b/macros/latex/contrib/l3kernel/l3term-glossary.pdf Binary files differindex 676371bcc3..7955976684 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 2f044e01b6..4d96050ff0 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-04-06} +\date{Released 2020-05-05} \newcommand{\TF}{\textit{(TF)}} diff --git a/macros/latex/contrib/l3kernel/l3text-case.dtx b/macros/latex/contrib/l3kernel/l3text-case.dtx index cb898633a7..950635ec93 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-04-06} +% \date{Released 2020-05-05} % % \maketitle % @@ -160,7 +160,7 @@ % \begin{macro}[EXP] % {\@@_change_case_char_title:nN, \@@_change_case_char_titleonly:nN} % \begin{macro}[EXP]{\@@_change_case_char_title:nnnN} -% \begin{macro}[EXP]{\@@_change_case_char_char:nnnN} +% \begin{macro}[EXP]{\@@_change_case_char:nnnN, \@@_change_case_char_aux:nnnN} % \begin{macro}[EXP]{\@@_change_case_char_UTFviii:nnnNN} % \begin{macro}[EXP]{\@@_change_case_char_UTFviii:nnnNNN} % \begin{macro}[EXP]{\@@_change_case_char_UTFviii:nnnNNNNN} @@ -568,19 +568,23 @@ % Unicode character, which is then used in a lookup. (As will become % obvious below, there is no intention here of covering all of Unicode.) % \begin{macrocode} -\bool_lazy_or:nnTF - { \sys_if_engine_luatex_p: } - { \sys_if_engine_xetex_p: } +\cs_new:Npn \@@_change_case_char:nnnN #1#2#3#4 { - \cs_new:Npn \@@_change_case_char:nnnN #1#2#3#4 + \token_if_active:NTF #4 + { \@@_change_case_store:n {#4} } { \@@_change_case_store:e { \use:c { char_ #1 case :N } #4 } - \use:c { @@_change_case_char_next_ #2 :nn } {#2} {#3} } + \use:c { @@_change_case_char_next_ #2 :nn } {#2} {#3} } +\bool_lazy_or:nnF + { \sys_if_engine_luatex_p: } + { \sys_if_engine_xetex_p: } { - \cs_new:Npn \@@_change_case_char:nnnN #1#2#3#4 + \cs_new_eq:NN \@@_change_case_char_aux:nnnN + \@@_change_case_char:nnnN + \cs_gset:Npn \@@_change_case_char:nnnN #1#2#3#4 { \int_compare:nNnTF { `#4 } > { "80 } { @@ -593,10 +597,7 @@ } {#1} {#2} {#3} #4 } - { - \@@_change_case_store:e{ \use:c { char_ #1 case :N } #4 } - \use:c { @@_change_case_char_next_ #2 :nn } {#2} {#3} - } + { \@@_change_case_char_aux:nnnN {#1} {#2} {#3} #4 } } \cs_new:Npn \@@_change_case_char_UTFviii:nnnNN #1#2#3#4#5 { \@@_change_case_char_UTFviii:nnnn {#1} {#2} {#3} {#4#5} } diff --git a/macros/latex/contrib/l3kernel/l3text-purify.dtx b/macros/latex/contrib/l3kernel/l3text-purify.dtx index eda15bd643..0de4896617 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-04-06} +% \date{Released 2020-05-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3text.dtx b/macros/latex/contrib/l3kernel/l3text.dtx index b8d536b18a..73f2064561 100644 --- a/macros/latex/contrib/l3kernel/l3text.dtx +++ b/macros/latex/contrib/l3kernel/l3text.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-04-06} +% \date{Released 2020-05-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3tl-analysis.dtx b/macros/latex/contrib/l3kernel/l3tl-analysis.dtx index 0ae289273f..969e15a485 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-04-06} +% \date{Released 2020-05-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3tl.dtx b/macros/latex/contrib/l3kernel/l3tl.dtx index f12430ba38..7c5217cb1d 100644 --- a/macros/latex/contrib/l3kernel/l3tl.dtx +++ b/macros/latex/contrib/l3kernel/l3tl.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-04-06} +% \date{Released 2020-05-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3token.dtx b/macros/latex/contrib/l3kernel/l3token.dtx index ba8e7a7d9c..61565b47c0 100644 --- a/macros/latex/contrib/l3kernel/l3token.dtx +++ b/macros/latex/contrib/l3kernel/l3token.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-04-06} +% \date{Released 2020-05-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3unicode.dtx b/macros/latex/contrib/l3kernel/l3unicode.dtx index 5f001aa2c0..346f310a93 100644 --- a/macros/latex/contrib/l3kernel/l3unicode.dtx +++ b/macros/latex/contrib/l3kernel/l3unicode.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-04-06} +% \date{Released 2020-05-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/source3.pdf b/macros/latex/contrib/l3kernel/source3.pdf Binary files differindex bc72b54e52..efdf8a34ec 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 af8f98fc94..27cfc97124 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-04-06} +\date{Released 2020-05-05} \pagenumbering{roman} \maketitle diff --git a/macros/latex/contrib/marginfix/marginfix.dtx b/macros/latex/contrib/marginfix/marginfix.dtx index 1e7b43ea06..914f95b96d 100644 --- a/macros/latex/contrib/marginfix/marginfix.dtx +++ b/macros/latex/contrib/marginfix/marginfix.dtx @@ -12,10 +12,10 @@ % %<package>\NeedsTeXFormat{LaTeX2e} %<package>\ProvidesPackage{marginfix}% - [2013/09/08 v1.1 Fix Margin Paragraphs] + [2020/05/06 v1.2 Fix Margin Paragraphs] %<*driver> \documentclass{ltxdoc} -\CheckSum{1197} +\CheckSum{1159} %\OnlyDescription % (un)comment this line to show (hide) source code \RecordChanges \EnableCrossrefs @@ -70,6 +70,9 @@ % {(SDH) Globally calculate margin phantoms over 4 passes.} % \changes{v1.1}{2013/09/08} % {(SDH) Add \cs{topskip} to notes at the top of the margin.} +% \changes{v1.2}{2020/05/06} +% {(SDH) Fix long-standing bug where margin notes called out in +% the last few points of a page were being entirely dropped.} % % \GetFileInfo{marginfix.dtx} % \title{\Lopt{marginfix} package documentation} @@ -225,8 +228,7 @@ % \begin{macros}{\MFX@debug} % We have some optionally-included code for debugging. \cs{MFX@debug} % prints a new line followed by ``|MFX: |'' and then the message. -% The newline can be suppressed with a |*|. We'll also ask for more -% error context in the debug mode. +% We'll also ask for more error context in the debug mode. % \begin{macrocode} %<*debug> \def\MFX@debug{\message{^^JMFX:}\message} @@ -234,8 +236,6 @@ \def\MFX@mac#1{\expandafter\MFX@@mac\meaning#1>>>} \def\MFX@@mac#1->{<<<} \def\MFX@htdp#1{\ht#1=\the\ht#1, \dp#1=\the\dp#1} -\showboxbreadth=100 -\showboxdepth=10 %</debug> % \end{macrocode} % \end{macros} @@ -511,11 +511,11 @@ % \end{macrocode} % \end{macros} % -% \begin{macros}{\MFX@cons,\MFX@snoc,\MFX@run@clear} +% \begin{macros}{\MFX@cons,\MFX@snoc} % In passing we'll define the cons macro, which fully-expands % its second argument, but makes sure to only expand the first % one once, so that any fragile control sequences in it are -% corectly protected. We also define snoc, which prepends. +% correctly protected. We also define snoc, which prepends. % Note that we could put the \cs{temp@} definition into a group % if it was really gonna matter\ldots % \begin{macrocode} @@ -533,6 +533,9 @@ \expandafter\expandafter\expandafter{\expandafter\temp@#1}% } % \end{macrocode} +% \end{macros} +% +% \begin{macros}{\MFX@run@clear} % Finally, \cs{MFX@run@clear} is a quick trick to expand the % contents of a macro and then clear it (to \cs{@empty}) before % any of its tokens are consumed. @@ -602,7 +605,7 @@ % \end{macros} % % \section{Shipout-time patches} -% \begin{macros}{\@combinefloats,\MFX@combinefloats@before} +% \begin{macros}{\@combinefloats} % We need to patch in somewhere before \cs{@combinefloats} at the latest, % so that any heights calculated from \cs{@pageht} are correct---otherwise % the top figures will confuse us. So we'll start by simply adding our @@ -611,7 +614,9 @@ \expandafter\def\expandafter\@combinefloats\expandafter{\expandafter \MFX@combinefloats@before\@combinefloats} % \end{macrocode} -% +% \end{macros} +% +% \begin{macros}{\MFX@combinefloats@before} % \cs{MFX@combinefloats@before} is then responsible for picking the % needed notes from \cs{mfx@marginlist}, building them into a box, and % attaching that box onto the correct side of \cs{@outputbox}. We also @@ -636,25 +641,11 @@ \def\MFX@attachmargin{% %<debug>\MFX@debug{attachmargin}% % \end{macrocode} -% First, we need to make sure that the boxes we're combining are the -% same size. +% We start by moving the reference point of \cs{Mfx@marginbox} to the top. % \begin{macrocode} %<debug>\MFX@debug{attachmargin: \MFX@htdp\@outputbox, \MFX@htdp\Mfx@marginbox}% - %<debug>\showbox\@outputbox - %<debug>\showbox\Mfx@marginbox \setbox\Mfx@marginbox\vtop{% \vskip\z@\unvbox\Mfx@marginbox}% - %% \ifdim\ht\@outputbox<\ht\Mfx@marginbox - %% \setbox\Mfx@marginbox\vbox to \ht\@outputbox{% - %% \unvbox\Mfx@marginbox - %% \vskip\z@ shrink 1filll\relax - %% }% - %% \else - %% \setbox\Mfx@marginbox\vbox to \ht\@outputbox{% - %% \unvbox\Mfx@marginbox - %% \vfill - %% }% - %% \fi % \end{macrocode} % Next we need to figure out which side of \cs{@outputbox} to attach % the \cs{Mfx@marginbox} on. We now use \cs{columnwidth} instead of @@ -665,10 +656,10 @@ % might have unintended consequences w.r.t. any glue being retained that % should have been swallowed. This will require further investigation. % \begin{macrocode} - \setbox\@outputbox\vbox{% to \ht\@outputbox{% + \setbox\@outputbox\vbox{% \begingroup - \setbox\@tempboxa\vbox{% to \ht\@outputbox{% - \hbox{% to \wd\@outputbox{% + \setbox\@tempboxa\vbox{% + \hbox{% \if\MFX@leftmargin \llap{\box\Mfx@marginbox\hskip\marginparsep}% \else @@ -683,7 +674,6 @@ \unskip \unvbox\@outputbox }% - %<debug>\showbox\@outputbox } % \end{macrocode} % \end{macros} @@ -704,7 +694,7 @@ % line up the notes with their callouts). This procedure happens in % four passes. But first, we initialize \cs{Mfx@marginheight} to % \cs{@colroom}, which is the height of the page minus any floats that -% have been added to the top of bottom (these floats may extend into the +% have been added to the top or bottom (these floats may extend into the % margins: in the future we may look into detecting this and using the % whole page, with overwide floats blocked off as phantoms). We add % \cs{@colroom} rather than assigning it because any global or per-page @@ -794,12 +784,10 @@ % \end{macrocode} % \end{macros} % -% \begin{macros}{\MFX@margin@note@down,\MFX@margin@skip@down, -% \MFX@margin@clear@down} % We now define the various |\MFX@margin@...@down| macros. % At this stage in the game, the only difference between notes % and skips is that we ignore skips before any notes by setting -% \cs{mfx@build@note} initially to \cs{@gobble}. Once we've +% \cs{mfx@build@skip} initially to \cs{@gobble}. Once we've % seen the first note, skips are treated exactly the same: as % fixed-height material. If there is room in the current piece % for the given height, then we prepend it to \cs{mfx@marginout}, @@ -808,6 +796,7 @@ % \cs{mfx@pieceheights} and try again, until \cs{mfx@pieceheights} % is empty and we simply defer everything to later pages. % +% \begin{macros}{\MFX@margin@note@down} % Upon seeing a note, we must do several things: % \begin{enumerate} % \item determine which box (left or right) is needed for the @@ -836,7 +825,9 @@ \fi } % \end{macrocode} +% \end{macros} % +% \begin{macros}{\MFX@margin@skip@down} % Skips are similar. A skip needs only to save itself back into % \cs{mfx@marginout}, provided it fits. If not, there is no need % to defer it because it will just get gobbled at the top of the @@ -851,7 +842,9 @@ \fi } % \end{macrocode} +% \end{macros} % +% \begin{macros}{\MFX@margin@clear@down} % Finally, \cs{MFX@margin@clear@down} is the only place we actually % need to handle full-margin clears, since the downward pass does not % ever push \cs{mfx@build@clear} onto \cs{mfx@marginout}. When we @@ -870,7 +863,7 @@ % \end{macrocode} % \end{macros} % -% \begin{macros}{\MFX@check@fit,\MFX@popdimen} +% \begin{macros}{\MFX@check@fit} % We factored out some of the common functionality between the % note and skip routines, so that must now be defined. The % \cs{MFX@check@fit} macro acts as a conditional and should be @@ -901,6 +894,8 @@ \if@tempswa % start a new \if } % \end{macrocode} +% \end{macros} +% \begin{macros}{\MFX@popdimen} % Here is a quick convenience routine. \cs{MFX@popdimen}\marg{dimen}% % \marg{list} removes the first dimension from \emph{list} and stores % it into \emph{dimen}. @@ -917,7 +912,7 @@ % \end{macrocode} % \end{macros} % -% \begin{macros}{\MFX@whichbox,\MFX@leftmargin} +% \begin{macros}{\MFX@whichbox} % We also need to determine which box should be used, since they % may have different heights. The macro \cs{MFX@whichbox}% % \marg{target-box}\marg{left-box}\marg{right-box} checks which margin @@ -933,9 +928,11 @@ %<debug>\MFX@debug{whichbox: \@marbox (\the\dimexpr\ht#1+\dp#1)}% } % \end{macrocode} +% \end{macros} % -% And here is the logic to figure out which margin were in, based -% on the page number and other flags. This is another conditional-like +% \begin{macros}{\MFX@leftmargin} +% And here is the logic to figure out which margin we're in, based on +% the page number and other flags. This is another conditional-like % macro, and should be used after an \cs{if}, as in % \cs{if}\cs{MFX@leftmargin}\ldots\cs{else}\ldots\cs{fi}. % @@ -1022,7 +1019,7 @@ % \end{macrocode} % \end{macros} % -% \begin{macros}{\MFX@margin@note@up,\MFX@margin@skip@up} +% \begin{macros}{\MFX@margin@note@up} % We must again define the specific behavior of each build command. % These macros simply reuse \cs{MFX@check@fit}, but ask it to % decrement the piece counter when a piece runs out of space. @@ -1045,7 +1042,7 @@ % look for a piece that can fit this note, making sure to decrement % the piece count and pop off a phantom for each new piece we check. % Once it's found, we add the note back to \cs{mfx@marginout} with -% the corect piece. +% the correct piece. % \begin{macrocode} \if\MFX@check@fit{\advance\Mfx@piece@count\m@ne \MFX@popdimen\dimen@\mfx@phantomheights}{\ht#1+\dp#1}% @@ -1055,6 +1052,9 @@ \else\MFX@AssertionError\fi } % \end{macrocode} +% \end{macros} +% +% \begin{macros}{\MFX@margin@skip@up} % Skips are similar, but we have the added complication of handling % margin phantoms. When we cross between phantom and piece, we split % the skip so that we can use the simplest recursion possible. @@ -1095,7 +1095,7 @@ % \end{macros} % % \subsection{Margin pieces} -% \begin{macros}{\MFX@buildmargin@pieces,\MFX@buildmargin@piece} +% \begin{macros}{\MFX@buildmargin@pieces} % Before we can start the third and fourth passes, we need to set up % a loop over the pieces so that each piece can do these passes at % one time. In case we didn't use up all the pieces in the second @@ -1114,10 +1114,12 @@ \let\@elt\MFX@buildmargin@piece \MFX@run@clear\mfx@marginpieces \let\@elt\relax - \Mfx@piece@count\z@ + \global\Mfx@piece@count\z@ } % \end{macrocode} +% \end{macros} % +% \begin{macros}{\MFX@buildmargin@piece} % The \cs{MFX@buildmargin@piece} macro is called for each piece of % the margin, and is passed the top and bottom positions of the piece. % Here we need to do a few things. First, if the output so far is @@ -1185,7 +1187,7 @@ % \end{macrocode} % \end{macros} % -% \begin{macros}{\MFX@piece@note@down,\MFX@piece@skip@down,\MFX@piece@clear} +% \begin{macros}{\MFX@piece@note@down} % We again define each of our building macros. First, the note builder. % When we encounter a note, we first zero out \cs{Mfx@marginspace}. Then % we need to decide whether to put it in the current piece, or whether @@ -1261,7 +1263,9 @@ \fi } % \end{macrocode} +% \end{macros} % +% \begin{macros}{\MFX@piece@skip@down} % Skips are a bit more complicated now. We no longer gobble the % initial skips (since the skips at the top and bottom of the page % have already been eaten). Instead, we need to look at @@ -1301,7 +1305,9 @@ \fi } % \end{macrocode} +% \end{macros} % +% \begin{macros}{\MFX@piece@clear} % Finally, we need to handle the case of deferring material. By % analogy with the previous two passes, we'll continue to refer to % this as clearing. In this case, we need to redefine the note and @@ -1365,7 +1371,7 @@ % \end{macrocode} % \end{macros} % -% \begin{macros}{\MFX@piece@note@up,\MFX@piece@skip@up} +% \begin{macros}{\MFX@piece@note@up} % Now that we've taken care of late deferrals, we can define the % standard behavior without worrying as much about that. % These macros finally set their contents into \cs{Mfx@piece@content}, @@ -1379,6 +1385,8 @@ \let\mfx@build@skip\MFX@piece@skip@up } % \end{macrocode} +% \end{macros} +% \begin{macros}{\MFX@piece@skip@up} % Skips are also straightforward. % \begin{macrocode} \def\MFX@piece@skip@up#1#2{% @@ -1451,13 +1459,15 @@ % \end{macrocode} % \end{macros} % -% \begin{macros}{\clearmargin,\softclearmargin} +% \begin{macros}{\clearmargin} % Likewise, \cs{clearmargin} is easy too. % \begin{macrocode} \def\clearmargin{% \MFX@cons\mfx@marginlist{\noexpand\mfx@build@clear}% } % \end{macrocode} +% \end{macros} +% \begin{macros}{\softclearmargin} % While we call \cs{softclearmargin} a ``clear margin'', it's % actually just a big \cs{marginskip}. This allows us to stack % multiple copies without backing them all up. diff --git a/macros/latex/contrib/marginfix/marginfix.pdf b/macros/latex/contrib/marginfix/marginfix.pdf Binary files differindex 6c922f94fc..d8c44f7f0b 100644 --- a/macros/latex/contrib/marginfix/marginfix.pdf +++ b/macros/latex/contrib/marginfix/marginfix.pdf diff --git a/macros/luatex/generic/luaotfload/NEWS b/macros/luatex/generic/luaotfload/NEWS index 501af67e47..cec3defd4c 100644 --- a/macros/luatex/generic/luaotfload/NEWS +++ b/macros/luatex/generic/luaotfload/NEWS @@ -1,5 +1,9 @@ Change History -------------- +2020-05-01 luaotfload v3.14 + * bug fix for luaotfload-tool, luaotfload-tool --list=basename failed (texlive list) + * fontloader patched to resolve issue #124 + 2020-05-01 luaotfload v3.13 * A problem with text fonts with minimal math table has been fixed (issue 148.) In new luaotfload versions, math parameters will only be loaded for fonts with `script=math`. diff --git a/macros/luatex/generic/luaotfload/README.md b/macros/luatex/generic/luaotfload/README.md index 91d1d45acf..7ceb1797fb 100644 --- a/macros/luatex/generic/luaotfload/README.md +++ b/macros/luatex/generic/luaotfload/README.md @@ -1,8 +1,8 @@ # The Luaotfload Package -VERSION: 3.13 +VERSION: 3.14 -DATE: 2020-05-01 +DATE: 2020-05-06 ## Description diff --git a/macros/luatex/generic/luaotfload/filegraph.pdf b/macros/luatex/generic/luaotfload/filegraph.pdf Binary files differindex 76c5754744..4b8c2922fb 100644 --- a/macros/luatex/generic/luaotfload/filegraph.pdf +++ b/macros/luatex/generic/luaotfload/filegraph.pdf diff --git a/macros/luatex/generic/luaotfload/fontloader-2020-04-30.lua b/macros/luatex/generic/luaotfload/fontloader-2020-05-06.lua index 721d246121..418ca726ba 100644 --- a/macros/luatex/generic/luaotfload/fontloader-2020-04-30.lua +++ b/macros/luatex/generic/luaotfload/fontloader-2020-05-06.lua @@ -27853,10 +27853,11 @@ local function initializeoverlay(tfmdata,kind,value) local s=#colorlist local goback=w~=0 and leftcommand[w] or nil local t={ + start, not u and actualb or { "pdf","page",(getactualtext(tounicode(u))) }, push, } - local n=2 + local n=3 local l=nil for i=1,s do local entry=colorlist[i] diff --git a/macros/luatex/generic/luaotfload/fontloader-basics-gen.lua b/macros/luatex/generic/luaotfload/fontloader-basics-gen.lua index 3959ca0222..f52fec6967 100644 --- a/macros/luatex/generic/luaotfload/fontloader-basics-gen.lua +++ b/macros/luatex/generic/luaotfload/fontloader-basics-gen.lua @@ -189,7 +189,7 @@ local readables = { } local usingjit = jit if not caches.namespace or caches.namespace == "" or caches.namespace == "context" then - caches.namespace = 'generic' + caches.namespace = 'generic-dev' end do diff --git a/macros/luatex/generic/luaotfload/fontloader-font-ocl.lua b/macros/luatex/generic/luaotfload/fontloader-font-ocl.lua index 1890e5ec54..094e8b88ee 100644 --- a/macros/luatex/generic/luaotfload/fontloader-font-ocl.lua +++ b/macros/luatex/generic/luaotfload/fontloader-font-ocl.lua @@ -5,7 +5,7 @@ if not modules then modules = { } end modules ['font-ocl'] = { copyright = "PRAGMA ADE / ConTeXt Development Team", license = "see context related readme files" } - +-- patched version 2020-05-06 UF (colr/restorefix -- -- todo : user list of colors if CONTEXTLMTXMODE and CONTEXTLMTXMODE > 0 then @@ -278,10 +278,11 @@ local function initializeoverlay(tfmdata,kind,value) local s = #colorlist local goback = w ~= 0 and leftcommand[w] or nil -- needs checking: are widths the same local t = { + start, not u and actualb or { "pdf", "page", (getactualtext(tounicode(u))) }, push, } - local n = 2 + local n = 3 local l = nil for i=1,s do local entry = colorlist[i] diff --git a/macros/luatex/generic/luaotfload/fontloader-reference.lua b/macros/luatex/generic/luaotfload/fontloader-reference.lua index 32f25b931e..9f381d358a 100644 --- a/macros/luatex/generic/luaotfload/fontloader-reference.lua +++ b/macros/luatex/generic/luaotfload/fontloader-reference.lua @@ -1,6 +1,7 @@ -- merged file : c:/data/develop/context/sources/luatex-fonts-merged.lua -- parent file : c:/data/develop/context/sources/luatex-fonts.lua -- merge date : 2020-04-30 11:10 +-- patched on 2020-05-06 (colr-restore fix do -- begin closure to overcome local limits and interference @@ -32531,10 +32532,11 @@ local function initializeoverlay(tfmdata,kind,value) local s=#colorlist local goback=w~=0 and leftcommand[w] or nil local t={ + start, not u and actualb or { "pdf","page",(getactualtext(tounicode(u))) }, push, } - local n=2 + local n=3 local l=nil for i=1,s do local entry=colorlist[i] diff --git a/macros/luatex/generic/luaotfload/luaotfload-auxiliary.lua b/macros/luatex/generic/luaotfload/luaotfload-auxiliary.lua index 02f52f59bd..62ef5d57a9 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-auxiliary.lua +++ b/macros/luatex/generic/luaotfload/luaotfload-auxiliary.lua @@ -6,8 +6,8 @@ local ProvidesLuaModule = { name = "luaotfload-auxiliary", - version = "3.13", --TAGVERSION - date = "2020-05-01", --TAGDATE + version = "3.14", --TAGVERSION + date = "2020-05-06", --TAGDATE description = "luaotfload submodule / auxiliary functions", license = "GPL v2.0" } diff --git a/macros/luatex/generic/luaotfload/luaotfload-colors.lua b/macros/luatex/generic/luaotfload/luaotfload-colors.lua index 52d38a7eec..070fe868c7 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-colors.lua +++ b/macros/luatex/generic/luaotfload/luaotfload-colors.lua @@ -5,8 +5,8 @@ local ProvidesLuaModule = { name = "luaotfload-colors", - version = "3.13", --TAGVERSION - date = "2020-05-01", --TAGDATE + version = "3.14", --TAGVERSION + date = "2020-05-06", --TAGDATE description = "luaotfload submodule / color", license = "GPL v2.0", author = "Khaled Hosny, Elie Roux, Philipp Gesang, Dohyun Kim, David Carlisle", diff --git a/macros/luatex/generic/luaotfload/luaotfload-conf.pdf b/macros/luatex/generic/luaotfload/luaotfload-conf.pdf Binary files differindex 1e112f413f..c1efb7d479 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-conf.pdf +++ b/macros/luatex/generic/luaotfload/luaotfload-conf.pdf diff --git a/macros/luatex/generic/luaotfload/luaotfload-configuration.lua b/macros/luatex/generic/luaotfload/luaotfload-configuration.lua index 736b9c64d3..36bb31dda1 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-configuration.lua +++ b/macros/luatex/generic/luaotfload/luaotfload-configuration.lua @@ -7,8 +7,8 @@ local ProvidesLuaModule = { name = "luaotfload-configuration", - version = "3.13", --TAGVERSION - date = "2020-05-01", --TAGDATE + version = "3.14", --TAGVERSION + date = "2020-05-06", --TAGDATE description = "luaotfload submodule / config file reader", license = "GPL v2.0" } diff --git a/macros/luatex/generic/luaotfload/luaotfload-database.lua b/macros/luatex/generic/luaotfload/luaotfload-database.lua index 11f3d91142..af123a0296 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-database.lua +++ b/macros/luatex/generic/luaotfload/luaotfload-database.lua @@ -5,8 +5,8 @@ do -- block to avoid to many local variables error local ProvidesLuaModule = { name = "luaotfload-database", - version = "3.13", --TAGVERSION - date = "2020-05-01", --TAGDATE + version = "3.14", --TAGVERSION + date = "2020-05-06", --TAGDATE description = "luaotfload submodule / database", license = "GPL v2.0", author = "Khaled Hosny, Elie Roux, Philipp Gesang, Marcel Krüger", diff --git a/macros/luatex/generic/luaotfload/luaotfload-diagnostics.lua b/macros/luatex/generic/luaotfload/luaotfload-diagnostics.lua index 956e24e747..c90aa0f5be 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-diagnostics.lua +++ b/macros/luatex/generic/luaotfload/luaotfload-diagnostics.lua @@ -7,8 +7,8 @@ local ProvidesLuaModule = { name = "luaotfload-diagnostics", - version = "3.13", --TAGVERSION - date = "2020-05-01", --TAGDATE + version = "3.14", --TAGVERSION + date = "2020-05-06", --TAGDATE description = "luaotfload-tool submodule / diagnostics", license = "GPL v2.0" } diff --git a/macros/luatex/generic/luaotfload/luaotfload-embolden.lua b/macros/luatex/generic/luaotfload/luaotfload-embolden.lua index 9d36071c03..479c485d62 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-embolden.lua +++ b/macros/luatex/generic/luaotfload/luaotfload-embolden.lua @@ -5,8 +5,8 @@ local ProvidesLuaModule = { name = "luaotfload-embolden", - version = "3.13", --TAGVERSION - date = "2020-05-01", --TAGDATE + version = "3.14", --TAGVERSION + date = "2020-05-06", --TAGDATE description = "luaotfload submodule / color", license = "GPL v2.0", author = "Marcel Krüger" diff --git a/macros/luatex/generic/luaotfload/luaotfload-fallback.lua b/macros/luatex/generic/luaotfload/luaotfload-fallback.lua index 9b790ae854..6218d9caeb 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-fallback.lua +++ b/macros/luatex/generic/luaotfload/luaotfload-fallback.lua @@ -5,8 +5,8 @@ local ProvidesLuaModule = { name = "luaotfload-fallback", - version = "3.13", --TAGVERSION - date = "2020-05-01", --TAGDATE + version = "3.14", --TAGVERSION + date = "2020-05-06", --TAGDATE description = "luaotfload submodule / fallback", license = "GPL v2.0", author = "Marcel Krüger" diff --git a/macros/luatex/generic/luaotfload/luaotfload-features.lua b/macros/luatex/generic/luaotfload/luaotfload-features.lua index a54ef20e9d..59fe42da32 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-features.lua +++ b/macros/luatex/generic/luaotfload/luaotfload-features.lua @@ -5,8 +5,8 @@ local ProvidesLuaModule = { name = "luaotfload-features", - version = "3.13", --TAGVERSION - date = "2020-05-01", --TAGDATE + version = "3.14", --TAGVERSION + date = "2020-05-06", --TAGDATE description = "luaotfload submodule / features", license = "GPL v2.0", author = "Hans Hagen, Khaled Hosny, Elie Roux, Philipp Gesang, Marcel Krüger", diff --git a/macros/luatex/generic/luaotfload/luaotfload-filelist.lua b/macros/luatex/generic/luaotfload/luaotfload-filelist.lua index 35b74f6fa3..1e3a4fff38 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-filelist.lua +++ b/macros/luatex/generic/luaotfload/luaotfload-filelist.lua @@ -6,8 +6,8 @@ local ProvidesLuaModule = { name = "luaotfload-filelist", - version = "3.13", --TAGVERSION - date = "2020-05-01", --TAGDATE + version = "3.14", --TAGVERSION + date = "2020-05-06", --TAGDATE description = "luaotfload submodule / filelist", license = "GPL v2.0" } diff --git a/macros/luatex/generic/luaotfload/luaotfload-glyphlist.lua b/macros/luatex/generic/luaotfload/luaotfload-glyphlist.lua index ca74e47257..6c19570ab7 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-glyphlist.lua +++ b/macros/luatex/generic/luaotfload/luaotfload-glyphlist.lua @@ -1,7 +1,7 @@ local ProvidesLuaModule = { name = "luaotfload-glyphlist", - version = "3.13", --TAGVERSION - date = "2020-05-01", --TAGDATE + version = "3.14", --TAGVERSION + date = "2020-05-06", --TAGDATE description = "luaotfload submodule / autogenerated glyphlist", copyright = "derived from https://raw.githubusercontent.com/adobe-type-tools/agl-aglfn/master/glyphlist.txt", original = "Adobe Glyph List, version 2.0, September 20, 2002", diff --git a/macros/luatex/generic/luaotfload/luaotfload-harf-define.lua b/macros/luatex/generic/luaotfload/luaotfload-harf-define.lua index 80895d0f4f..31a92e4aa0 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-harf-define.lua +++ b/macros/luatex/generic/luaotfload/luaotfload-harf-define.lua @@ -5,8 +5,8 @@ do -- block to avoid to many local variables error local ProvidesLuaModule = { name = "luaotfload-harf-define", - version = "3.13", --TAGVERSION - date = "2020-05-01", --TAGDATE + version = "3.14", --TAGVERSION + date = "2020-05-06", --TAGDATE description = "luaotfload submodule / database", license = "GPL v2.0", author = "Khaled Hosny, Marcel Krüger", diff --git a/macros/luatex/generic/luaotfload/luaotfload-harf-plug.lua b/macros/luatex/generic/luaotfload/luaotfload-harf-plug.lua index 726aaaea7e..8e1883e23f 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-harf-plug.lua +++ b/macros/luatex/generic/luaotfload/luaotfload-harf-plug.lua @@ -5,8 +5,8 @@ do -- block to avoid to many local variables error local ProvidesLuaModule = { name = "luaotfload-harf-plug", - version = "3.13", --TAGVERSION - date = "2020-05-01", --TAGDATE + version = "3.14", --TAGVERSION + date = "2020-05-06", --TAGDATE description = "luaotfload submodule / database", license = "GPL v2.0", author = "Khaled Hosny, Marcel Krüger", diff --git a/macros/luatex/generic/luaotfload/luaotfload-init.lua b/macros/luatex/generic/luaotfload/luaotfload-init.lua index e68741666a..e86945b033 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-init.lua +++ b/macros/luatex/generic/luaotfload/luaotfload-init.lua @@ -7,8 +7,8 @@ local ProvidesLuaModule = { name = "luaotfload-init", - version = "3.13", --TAGVERSION - date = "2020-05-01", --TAGDATE + version = "3.14", --TAGVERSION + date = "2020-05-06", --TAGDATE description = "luaotfload submodule / initialization", license = "GPL v2.0" } diff --git a/macros/luatex/generic/luaotfload/luaotfload-latex.pdf b/macros/luatex/generic/luaotfload/luaotfload-latex.pdf Binary files differindex 673ae5f976..fbdcad78c9 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-latex.pdf +++ b/macros/luatex/generic/luaotfload/luaotfload-latex.pdf diff --git a/macros/luatex/generic/luaotfload/luaotfload-letterspace.lua b/macros/luatex/generic/luaotfload/luaotfload-letterspace.lua index 2825b87ea7..927fa68771 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-letterspace.lua +++ b/macros/luatex/generic/luaotfload/luaotfload-letterspace.lua @@ -5,8 +5,8 @@ local ProvidesLuaModule = { name = "luaotfload-letterspace", - version = "3.13", --TAGVERSION - date = "2020-05-01", --TAGDATE + version = "3.14", --TAGVERSION + date = "2020-05-06", --TAGDATE description = "luaotfload submodule / color", license = "GPL v2.0", copyright = "PRAGMA ADE / ConTeXt Development Team", diff --git a/macros/luatex/generic/luaotfload/luaotfload-loaders.lua b/macros/luatex/generic/luaotfload/luaotfload-loaders.lua index 3146fbd3c3..02dd8359e6 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-loaders.lua +++ b/macros/luatex/generic/luaotfload/luaotfload-loaders.lua @@ -8,8 +8,8 @@ local ProvidesLuaModule = { name = "luaotfload-loaders", - version = "3.13", --TAGVERSION - date = "2020-05-01", --TAGDATE + version = "3.14", --TAGVERSION + date = "2020-05-06", --TAGDATE description = "luaotfload submodule / callback handling", license = "GPL v2.0" } diff --git a/macros/luatex/generic/luaotfload/luaotfload-log.lua b/macros/luatex/generic/luaotfload/luaotfload-log.lua index 2a084772f5..801310981d 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-log.lua +++ b/macros/luatex/generic/luaotfload/luaotfload-log.lua @@ -6,8 +6,8 @@ local ProvidesLuaModule = { name = "luaotfload-log", - version = "3.13", --TAGVERSION - date = "2020-05-01", --TAGDATE + version = "3.14", --TAGVERSION + date = "2020-05-06", --TAGDATE description = "luaotfload submodule / logging", license = "GPL v2.0", author = "Khaled Hosny, Elie Roux, Philipp Gesang", diff --git a/macros/luatex/generic/luaotfload/luaotfload-main.lua b/macros/luatex/generic/luaotfload/luaotfload-main.lua index 1c962c3950..0c8a909c1b 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-main.lua +++ b/macros/luatex/generic/luaotfload/luaotfload-main.lua @@ -20,8 +20,8 @@ local authors = "\z -- version number is used below! local ProvidesLuaModule = { name = "luaotfload-main", - version = "3.13", --TAGVERSION - date = "2020-05-01", --TAGDATE + version = "3.14", --TAGVERSION + date = "2020-05-06", --TAGDATE description = "luaotfload entry point", author = authors, copyright = authors, diff --git a/macros/luatex/generic/luaotfload/luaotfload-main.tex b/macros/luatex/generic/luaotfload/luaotfload-main.tex index 91983354bc..69502b5b12 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-main.tex +++ b/macros/luatex/generic/luaotfload/luaotfload-main.tex @@ -32,7 +32,7 @@ \beginfrontmatter \setdocumenttitle {The \identifier{luaotfload} package} - \setdocumentdate {2020-05-01 v3.13} + \setdocumentdate {2020-05-06 v3.14} \setdocumentauthor {LaTeX3 Project\\ Elie Roux · Khaled Hosny · Philipp Gesang · Ulrike Fischer · Marcel Krüger\\ Home: \hyperlink {https://github.com/latex3/luaotfload}} @@ -62,6 +62,13 @@ Supported is the \identifier{luatex} versions of a current TeXLive 2019 (and a c \endsection \beginsection{Changes} +\beginsubsection {New in version 3.14 (by Ulrike Fischer/Marcel Krüger)} +\begin{itemize} +\item a bug in luaotfload-tool has been corrected (reported on the texlive list) +\item the fontloader has been patched to resolve a problem with color fonts and save/restore pairs \gitissue{124} +\end{itemize} +\endsubsection + \beginsubsection {New in version 3.13 (by Ulrike Fischer/Marcel Krüger)} \begin{itemize} \item A\marginpar{\mbox{}\hfill \textbf{Change!}} problem with text fonts with minimal math table has been fixed \gitissue{148}: diff --git a/macros/luatex/generic/luaotfload/luaotfload-multiscript.lua b/macros/luatex/generic/luaotfload/luaotfload-multiscript.lua index 5638d281c7..fe6cf17985 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-multiscript.lua +++ b/macros/luatex/generic/luaotfload/luaotfload-multiscript.lua @@ -5,8 +5,8 @@ local ProvidesLuaModule = { name = "luaotfload-multiscript", - version = "3.13", --TAGVERSION - date = "2020-05-01", --TAGDATE + version = "3.14", --TAGVERSION + date = "2020-05-06", --TAGDATE description = "luaotfload submodule / multiscript", license = "GPL v2.0", author = "Marcel Krüger" diff --git a/macros/luatex/generic/luaotfload/luaotfload-notdef.lua b/macros/luatex/generic/luaotfload/luaotfload-notdef.lua index 7108e7d7df..e027d20666 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-notdef.lua +++ b/macros/luatex/generic/luaotfload/luaotfload-notdef.lua @@ -5,8 +5,8 @@ local ProvidesLuaModule = { name = "luaotfload-notdef", - version = "3.13", --TAGVERSION - date = "2020-05-01", --TAGDATE + version = "3.14", --TAGVERSION + date = "2020-05-06", --TAGDATE description = "luaotfload submodule / color", license = "GPL v2.0", author = "Marcel Krüger" diff --git a/macros/luatex/generic/luaotfload/luaotfload-parsers.lua b/macros/luatex/generic/luaotfload/luaotfload-parsers.lua index c331cb4ef0..c69cb86f56 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-parsers.lua +++ b/macros/luatex/generic/luaotfload/luaotfload-parsers.lua @@ -7,8 +7,8 @@ local ProvidesLuaModule = { name = "luaotfload-parsers", - version = "3.13", --TAGVERSION - date = "2020-05-01", --TAGDATE + version = "3.14", --TAGVERSION + date = "2020-05-06", --TAGDATE description = "luaotfload submodule / filelist", license = "GPL v2.0" } diff --git a/macros/luatex/generic/luaotfload/luaotfload-resolvers.lua b/macros/luatex/generic/luaotfload/luaotfload-resolvers.lua index e07c09cde6..14a503bb14 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-resolvers.lua +++ b/macros/luatex/generic/luaotfload/luaotfload-resolvers.lua @@ -11,8 +11,8 @@ local ProvidesLuaModule = { name = "luaotfload-resolvers", - version = "3.13", --TAGVERSION - date = "2020-05-01", --TAGDATE + version = "3.14", --TAGVERSION + date = "2020-05-06", --TAGDATE description = "luaotfload submodule / resolvers", license = "GPL v2.0" } diff --git a/macros/luatex/generic/luaotfload/luaotfload-scripts.lua b/macros/luatex/generic/luaotfload/luaotfload-scripts.lua index 4a9ec0f6dc..fb842c5532 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-scripts.lua +++ b/macros/luatex/generic/luaotfload/luaotfload-scripts.lua @@ -5,8 +5,8 @@ local ProvidesLuaModule = { name = "luaotfload-script", - version = "3.13", --TAGVERSION - date = "2020-05-01", --TAGDATE + version = "3.14", --TAGVERSION + date = "2020-05-06", --TAGDATE description = "luaotfload submodule / Script helpers", license = "CC0 1.0 Universal", author = "Marcel Krüger" diff --git a/macros/luatex/generic/luaotfload/luaotfload-status.lua b/macros/luatex/generic/luaotfload/luaotfload-status.lua index 02cf06f89c..69fa2f6ab5 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-status.lua +++ b/macros/luatex/generic/luaotfload/luaotfload-status.lua @@ -1,6 +1,6 @@ return { ["hashes"]={ - { "fontloader-2020-04-30.lua", "e3b9c1d6344645b552f8002a97aa09ca" }, + { "fontloader-2020-05-06.lua", "cb465e20137d75429cb876688189ff36" }, { "fontloader-util-fil.lua", "4bb3e4dc72e308d8ed67cd7a80027fa7" }, { "fontloader-util-str.lua", "2c1a12d8248d3719c0b5fc93184242bf" }, { "fontloader-l-unicode.lua", "9bc311ce08ce498f9caacb6164ea1d9f" }, @@ -32,7 +32,7 @@ return { { "fontloader-font-one.lua", "987c5c5ed3754ad2feab80985067d59e" }, { "fontloader-font-onr.lua", "22572ec0f86f53631e14b6d1ed43ee51" }, { "fontloader-font-otc.lua", "1204a2fdc436e644127c0aa38ab69607" }, - { "fontloader-font-ocl.lua", "e6b45379971219a6227e8655cda14aff" }, + { "fontloader-font-ocl.lua", "ee310c8d0ac411d5ba6b50d338548013" }, { "fontloader-font-osd.lua", "61f05fcf91add1aa5dac9bc8b235adc9" }, { "fontloader-font-ots.lua", "113b7ad0c40d4786bb026706e479c3f3" }, { "fontloader-font-ota.lua", "dd5f1c8ba28abaf4505fd960d04a3a98" }, @@ -52,44 +52,46 @@ return { { "fontloader-font-con.lua", "40e3a857b2f31be1959dc6d445aaa9c4" }, { "fontloader-font-ini.lua", "4dee96e1e1474d324dd126bd5d375df8" }, { "fontloader-data-con.lua", "de6ae0997b0e70a23bcc9afff5d8b072" }, - { "fontloader-reference.lua", "87a3b4d84d8ca6551dc8ccb539d30fd8" }, - { "fontloader-basics-gen.lua", "b21e91bbd534f77e368f0ec13f865aed" }, + { "fontloader-reference.lua", "2479b532aa53f60c4a83041c4f0e6632" }, + { "fontloader-basics-gen.lua", "b88f9848c3247e4222b7bb63b0ee3f35" }, { "mktests", "c7cff7025962922944376acc1ffa9c47" }, - { "mkstatus", "879eb12b7dc63a18d94ed61b90c4b3da" }, + { "mkstatus", "8f230b751f58ec989604884a58cb5cfa" }, { "mkcharacters", "92c24bb582fc84c0365634f29eb89863" }, { "mkglyphlist", "95bbf91338214d40b2102114285ccd3f" }, { "mkimport", "60e0b11a1a68719033e86a3e0f4d5e86" }, - { "luaotfload-glyphlist.lua", "d717ba808181ed805d7012259ceec613" }, + { "luaotfload-glyphlist.lua", "f14bb296a5a4eb9a6cb130f6a703d160" }, { "luaotfload-characters.lua", "6a46f4749368e4f56a863da9c61b7bd6" }, - { "luaotfload-tounicode.lua", "1423c465dd9674c1d048314566e4c9e5" }, - { "luaotfload-unicode.lua", "2ef5d6f97171db54da3fbb304571bf4d" }, - { "luaotfload-resolvers.lua", "028ada14621d61296d6c193113841a3c" }, - { "luaotfload-parsers.lua", "1bb3f4e75cd433de2b29ea9961896dba" }, - { "luaotfload-fallback.lua", "26ac47f65211bee402055d656ebedf30" }, - { "luaotfload-multiscript.lua", "bc5cd5ca148d8938310317f8f70b51f4" }, - { "luaotfload-loaders.lua", "b6bca1abc2fef454a4e14997b87c500e" }, - { "luaotfload-harf-plug.lua", "e0b02973cd653b50d5ad8c0f971bbf44" }, - { "luaotfload-harf-define.lua", "74026f364fd71375c6ac0fcdabaf2c69" }, - { "luaotfload-notdef.lua", "feccfc85ad4ddb6ccaeb4974f50d93c1" }, - { "luaotfload-embolden.lua", "faa7cdeb00ba548b7f8f4cf79f52ea62" }, - { "luaotfload-letterspace.lua", "d12550ea62b1edb348f0f6d388b2701f" }, - { "luaotfload-features.lua", "4941176787992fa1b319d3e8822672a6" }, - { "luaotfload-database.lua", "6a17fb92cbb4d0e2ccdb435b7f33c052" }, - { "luaotfload-configuration.lua", "5ba63b9b0731e3701c39c06a1217dbe4" }, - { "luaotfload-colors.lua", "5fe6a37d50374deb75f041a4c26e08ce" }, - { "luaotfload-auxiliary.lua", "f721a22653fe32413af7d057b6236382" }, - { "luaotfload-filelist.lua", "b9383bafa3dbf4ef3140592f6ed47e54" }, - { "luaotfload-tool.lua", "2b1a2aabe4f9c3f88836feb833c89e78" }, - { "luaotfload-diagnostics.lua", "b32da598f5bbb68e2b76cce03a7df033" }, - { "luaotfload-log.lua", "30158f122a25bc38eecd61ab86c4bc70" }, - { "luaotfload-init.lua", "ab2d6107e6d94455f1d024afb8f6a8c1" }, - { "luaotfload-main.lua", "6ee30f9b6f5d381df4d5f9c868bc9d9f" }, + { "luaotfload-tounicode.lua", "610d27c11ea928a7a299ada038db3a6d" }, + { "luaotfload-unicode.lua", "737a96fb0cd50197bb2ceb6e28fec021" }, + { "luaotfload-resolvers.lua", "8349bdce20fa37470f985f1aabc7946f" }, + { "luaotfload-parsers.lua", "f61808c1b01a3a40385b3e74f8171c3e" }, + { "luaotfload-fallback.lua", "5d613223f8153767305bd8d3d4387de7" }, + { "luaotfload-szss.lua", "58a838170ea2d61affee0a83cbf602c2" }, + { "luaotfload-scripts.lua", "702a128883d033ab9f3726ba2e21fc8d" }, + { "luaotfload-multiscript.lua", "7089c788fa75d8074e73919532fefa92" }, + { "luaotfload-loaders.lua", "53d26bba499abf18cf823675c77e36de" }, + { "luaotfload-harf-plug.lua", "840abb8a4965dd32532cc73e670f5906" }, + { "luaotfload-harf-define.lua", "ba5861271933078de634b9e00172f69a" }, + { "luaotfload-notdef.lua", "af12a1afe613f42b0d8d1033776eefaf" }, + { "luaotfload-embolden.lua", "9f2cda5502e5a0ceb6402f6dd075732f" }, + { "luaotfload-letterspace.lua", "06639c9e935da07c4694da6579a36781" }, + { "luaotfload-features.lua", "0bd3943f65c0688738407ff1a186900f" }, + { "luaotfload-database.lua", "8e9e26a9acd048ec1217fad9fa80cd0d" }, + { "luaotfload-configuration.lua", "827b91b6f6881a69ea48885093f10c71" }, + { "luaotfload-colors.lua", "23cfde48b9609e33e9b809a3ebd1a670" }, + { "luaotfload-auxiliary.lua", "50a56ccd209e59b66514c483fd8af85d" }, + { "luaotfload-filelist.lua", "e3139b052bc5789b9135c1eb20753d3e" }, + { "luaotfload-tool.lua", "89fc62620ef6f534ea1f6a3f6253886b" }, + { "luaotfload-diagnostics.lua", "a4635cd5da922b6cb3ef27e74a3cf6d8" }, + { "luaotfload-log.lua", "b37a69c07eecaecc17d2d069e088b133" }, + { "luaotfload-init.lua", "8c9b852cdf019fa43c938618773ecd5e" }, + { "luaotfload-main.lua", "5ccffdfbe87102c13d6d1910873935d3" }, }, ["notes"]={ - ["committer"]="Ulrike Fischer <fischer@troubleshooting-tex.de>", - ["description"]="v3.13/2020-05-01", - ["loader"]="fontloader-2020-04-30.lua", - ["revision"]="aa279bff2274832c341338d7763132bad3941768", - ["timestamp"]="2020-05-01 15:37:41 +0200", + ["committer"]="Marcel Fabian Krüger <tex@2krueger.de>", + ["description"]="v3.14/2020-05-06", + ["loader"]="fontloader-2020-05-06.lua", + ["revision"]="79077b0311ec65e8eb3c60bfc306500d72fd270e", + ["timestamp"]="2020-05-06 20:58:39 +0200", }, }
\ No newline at end of file diff --git a/macros/luatex/generic/luaotfload/luaotfload-suppress.lua b/macros/luatex/generic/luaotfload/luaotfload-suppress.lua index eba776fe85..50a0037c43 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-suppress.lua +++ b/macros/luatex/generic/luaotfload/luaotfload-suppress.lua @@ -5,8 +5,8 @@ local ProvidesLuaModule = { name = "luaotfload-suppress", - version = "3.13", --TAGVERSION - date = "2020-05-01", --TAGDATE + version = "3.14", --TAGVERSION + date = "2020-05-06", --TAGDATE description = "luaotfload submodule / suppress", license = "GPL v2.0", author = "Marcel Krüger" diff --git a/macros/luatex/generic/luaotfload/luaotfload-szss.lua b/macros/luatex/generic/luaotfload/luaotfload-szss.lua index 23b479f33e..de3b47230c 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-szss.lua +++ b/macros/luatex/generic/luaotfload/luaotfload-szss.lua @@ -5,8 +5,8 @@ local ProvidesLuaModule = { name = "luaotfload-szss", - version = "3.13", --TAGVERSION - date = "2020-05-01", --TAGDATE + version = "3.14", --TAGVERSION + date = "2020-05-06", --TAGDATE description = "luaotfload submodule / color", license = "GPL v2.0", author = "Marcel Krüger" diff --git a/macros/luatex/generic/luaotfload/luaotfload-tool.1 b/macros/luatex/generic/luaotfload/luaotfload-tool.1 index a2ea173474..98d1a0abc5 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-tool.1 +++ b/macros/luatex/generic/luaotfload/luaotfload-tool.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH LUAOTFLOAD-TOOL 1 "2020-05-01" "3.13" "text processing" +.TH LUAOTFLOAD-TOOL 1 "2020-05-06" "3.14" "text processing" .SH NAME luaotfload-tool \- generate and query the Luaotfload font names database . diff --git a/macros/luatex/generic/luaotfload/luaotfload-tool.lua b/macros/luatex/generic/luaotfload/luaotfload-tool.lua index 6994bfc755..eabd8e4434 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-tool.lua +++ b/macros/luatex/generic/luaotfload/luaotfload-tool.lua @@ -9,8 +9,8 @@ local ProvidesLuaModule = { name = "luaotfload-tool", - version = "3.13", --TAGVERSION - date = "2020-05-01", --TAGDATE + version = "3.14", --TAGVERSION + date = "2020-05-06", --TAGDATE description = "luaotfload-tool / database functionality", license = "GPL v2.0" } @@ -1334,7 +1334,6 @@ function actions.list (job) else criterion = stringexplode(criterion, ":") --> { field, value } local asked_value = criterion[2] - local sane_asked_pattern = sane_pattern(criterion[2]) criterion = criterion[1] asked_fields = set_primary_field(asked_fields, criterion) @@ -1343,6 +1342,7 @@ function actions.list (job) --- firstly, build a list of fonts to operate on local targets = { } if asked_value then --- only those whose value matches + local sane_asked_pattern = sane_pattern(asked_value) logreport (false, 2, "list", "Restricting to value %s", asked_value) for i=1, nmappings do local entry = mappings[i] diff --git a/macros/luatex/generic/luaotfload/luaotfload-tool.pdf b/macros/luatex/generic/luaotfload/luaotfload-tool.pdf Binary files differindex cbd3cd06b4..142a65e486 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-tool.pdf +++ b/macros/luatex/generic/luaotfload/luaotfload-tool.pdf diff --git a/macros/luatex/generic/luaotfload/luaotfload-tool.rst b/macros/luatex/generic/luaotfload/luaotfload-tool.rst index 98168422c3..20ab6b253e 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-tool.rst +++ b/macros/luatex/generic/luaotfload/luaotfload-tool.rst @@ -6,9 +6,9 @@ generate and query the Luaotfload font names database ----------------------------------------------------------------------- -:Date: 2020-05-01 +:Date: 2020-05-06 :Copyright: GPL v2.0 -:Version: 3.13 +:Version: 3.14 :Manual section: 1 :Manual group: text processing diff --git a/macros/luatex/generic/luaotfload/luaotfload-tounicode.lua b/macros/luatex/generic/luaotfload/luaotfload-tounicode.lua index 95e4b55b66..73bab11709 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-tounicode.lua +++ b/macros/luatex/generic/luaotfload/luaotfload-tounicode.lua @@ -5,8 +5,8 @@ local ProvidesLuaModule = { name = "luaotfload-tounicode", - version = "3.13", --TAGVERSION - date = "2020-05-01", --TAGDATE + version = "3.14", --TAGVERSION + date = "2020-05-06", --TAGDATE description = "luaotfload submodule / tounicode", license = "GPL v2.0", author = "Hans Hagen, Khaled Hosny, Elie Roux, Philipp Gesang, Marcel Krüger", diff --git a/macros/luatex/generic/luaotfload/luaotfload-unicode.lua b/macros/luatex/generic/luaotfload/luaotfload-unicode.lua index 79d196fb64..0fd71ec27a 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-unicode.lua +++ b/macros/luatex/generic/luaotfload/luaotfload-unicode.lua @@ -5,8 +5,8 @@ local ProvidesLuaModule = { name = "luaotfload-unicode", - version = "3.13", --TAGVERSION - date = "2020-05-01", --TAGDATE + version = "3.14", --TAGVERSION + date = "2020-05-06", --TAGDATE description = "luaotfload submodule / Unicode helpers", license = "CC0 1.0 Universal", author = "Marcel Krüger" diff --git a/macros/luatex/generic/luaotfload/luaotfload.conf.5 b/macros/luatex/generic/luaotfload/luaotfload.conf.5 index 151cc6aea2..54a845709f 100644 --- a/macros/luatex/generic/luaotfload/luaotfload.conf.5 +++ b/macros/luatex/generic/luaotfload/luaotfload.conf.5 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH LUAOTFLOAD.CONF 5 "2020-05-01" "3.13" "text processing" +.TH LUAOTFLOAD.CONF 5 "2020-05-06" "3.14" "text processing" .SH NAME luaotfload.conf \- Luaotfload configuration file . diff --git a/macros/luatex/generic/luaotfload/luaotfload.conf.rst b/macros/luatex/generic/luaotfload/luaotfload.conf.rst index 779bcb7370..589fcd9825 100644 --- a/macros/luatex/generic/luaotfload/luaotfload.conf.rst +++ b/macros/luatex/generic/luaotfload/luaotfload.conf.rst @@ -6,9 +6,9 @@ Luaotfload configuration file ----------------------------------------------------------------------- -:Date: 2020-05-01 +:Date: 2020-05-06 :Copyright: GPL v2.0 -:Version: 3.13 +:Version: 3.14 :Manual section: 5 :Manual group: text processing diff --git a/macros/luatex/generic/luaotfload/luaotfload.sty b/macros/luatex/generic/luaotfload/luaotfload.sty index 383bbde5fd..590a0b27ab 100644 --- a/macros/luatex/generic/luaotfload/luaotfload.sty +++ b/macros/luatex/generic/luaotfload/luaotfload.sty @@ -40,7 +40,7 @@ \fi \ifdefined\ProvidesPackage \ProvidesPackage{luaotfload}% - [2020/05/01 v3.13 OpenType layout system] + [2020/05/06 v3.14 OpenType layout system] \fi \directlua{ if xpcall(function ()% diff --git a/macros/luatex/generic/luaotfload/scripts-demo.pdf b/macros/luatex/generic/luaotfload/scripts-demo.pdf Binary files differindex 16e1a6163d..319824cb1e 100644 --- a/macros/luatex/generic/luaotfload/scripts-demo.pdf +++ b/macros/luatex/generic/luaotfload/scripts-demo.pdf diff --git a/macros/luatex/generic/luaotfload/shaper-demo-graphite.pdf b/macros/luatex/generic/luaotfload/shaper-demo-graphite.pdf Binary files differindex 285cb48353..602f3ce86f 100644 --- a/macros/luatex/generic/luaotfload/shaper-demo-graphite.pdf +++ b/macros/luatex/generic/luaotfload/shaper-demo-graphite.pdf diff --git a/macros/luatex/generic/luaotfload/shaper-demo.pdf b/macros/luatex/generic/luaotfload/shaper-demo.pdf Binary files differindex 15775d568b..8861d5067a 100644 --- a/macros/luatex/generic/luaotfload/shaper-demo.pdf +++ b/macros/luatex/generic/luaotfload/shaper-demo.pdf diff --git a/macros/luatex/latex/unitconv/Changes b/macros/luatex/latex/unitconv/Changes new file mode 100644 index 0000000000..bf2c7386aa --- /dev/null +++ b/macros/luatex/latex/unitconv/Changes @@ -0,0 +1 @@ +0.01 2020-05-07 - first CTAN version diff --git a/macros/luatex/latex/unitconv/README.md b/macros/luatex/latex/unitconv/README.md new file mode 100644 index 0000000000..8bef4b5b65 --- /dev/null +++ b/macros/luatex/latex/unitconv/README.md @@ -0,0 +1,16 @@ +# README # +Package unitconv can conver t a TeX length or a given +value with unit into another unit, Supported are all +TeX units and also m and km. The output can be in +scientic notation for large values. + +This package needs lualatex! + +% This file is distributed under the terms of the LaTeX Project Public +% License from CTAN archives in directory macros/latex/base/lppl.txt. +% Either version 1.3 or, at your option, any later version. +% +% Copyright 2020 Herbert Voss hvoss@tug.org +% + +%% $Id: README.md 1177 2020-05-07 15:38:43Z herbert $ diff --git a/macros/luatex/latex/unitconv/doc/unitconv-doc.pdf b/macros/luatex/latex/unitconv/doc/unitconv-doc.pdf Binary files differnew file mode 100644 index 0000000000..6932069f0d --- /dev/null +++ b/macros/luatex/latex/unitconv/doc/unitconv-doc.pdf diff --git a/macros/luatex/latex/unitconv/doc/unitconv-doc.tex b/macros/luatex/latex/unitconv/doc/unitconv-doc.tex new file mode 100644 index 0000000000..c0dfa1de4b --- /dev/null +++ b/macros/luatex/latex/unitconv/doc/unitconv-doc.tex @@ -0,0 +1,216 @@ +%% $Id: unitconv-doc.tex 1177 2020-05-07 15:38:43Z herbert $ +\listfiles +\documentclass[english,parskip=half]{scrartcl} +\usepackage{libertinus} +\setmonofont[Scale=MatchLowercase,FakeStretch=0.9]{AnonymousPro} +\usepackage{babel} +\usepackage[autostyle]{csquotes} + +\usepackage{unitconv} +\usepackage{showexpl,xltabular,nicefrac,booktabs} +\lstset{basicstyle=\ttfamily\small} + +\title{Convert a length into one with another unit +with Lua\TeX} +\author{Herbert Voß} +\parindent=0pt + +\begin{document} +\maketitle +\tableofcontents +\section{Using} + +\begin{verbatim} +\usepackage{unitconv} +\end{verbatim} + + +\section{Macros} + +\begin{verbatim} +\convTeXLength*[<unit>][<digits>]{<TeX length>} +\convLength*[<unit>][<digits>]{<value>}[<unit>] +\end{verbatim} + +The star version prints the number in scientific notation. +The default setting for the unit is \verb|cm| +and for the number of digits \verb|-1| (print all digits). +The dynamic units \verb|em|, \verb|ex|, and \verb|mu| depend on the +current fontsize. + +\begin{itemize} +\item This package works only with \verb|lualatex|! +\item With \textsf{AmsMath} you have to load the package before \texttt{unitconv}. +\end{itemize} + + +\section{The units} + +\def\Index#1{#1}% +\begin{tabular}{@{}>{\bfseries\ttfamily}c l @{}}\toprule +\rmfamily\normalfont\emph{Short}& \emph{Long} \\\midrule +\Index{bp} & Big Point (72\,bp/in) \\ +\Index{cc} & Cîcero (1\,cc=12\,dd) \\ +\Index{cm} & Centimeter \\ +\Index{dd} & Didôt ($1157\,\mathrm{dd}=1238\,\mathrm{pt}$) \\ +\Index{em} & Width of »M« in the current font \\ +\Index{ex} & Height of »x« in the current font \\ +\Index{in} & Inch (72.27\,pt) \\ +\Index{km} & Kilometer \\ +\Index{m} & Meter \\ +\Index{mm} & Millimeter \\ +\Index{mu} & Math unit (1\,mu=\nicefrac{1}{18}em) \\ +\Index{pc} & Pica (12\,pt/pc) \\ +\Index{pt} & (\TeX-)Points ($\nicefrac{1}{72.27}$\,Inch) \\ +\Index{px} & Pixel, 1\,px=\nicefrac{1}{72}in (pdf\TeX)\\ +\Index{sp} & Scaled Point (65536\,sp/pt) \\ +\bottomrule +\end{tabular} + + +\section{Examples} +\subsection{Converting a \TeX\ length} + +\begin{LTXexample}[width=0.5\linewidth] +The current example linewidth is +\the\linewidth, which is + +\convTeXLength{\linewidth}\\ +\convTeXLength[bp]{\linewidth}\\ +\convTeXLength[cc]{\linewidth}\\ +\convTeXLength[dd]{\linewidth}\\ +\convTeXLength[em]{\linewidth}\\ +\convTeXLength[ex]{\linewidth}\\ +\convTeXLength[in]{\linewidth}\\ +\convTeXLength[km]{\linewidth}\\ +\convTeXLength[m]{\linewidth}\\ +\convTeXLength[mm]{\linewidth}\\ +\convTeXLength[mu]{\linewidth}\\ +\convTeXLength[pc]{\linewidth}\\ +\convTeXLength[pt]{\linewidth}\\ +\convTeXLength[px]{\linewidth}\\ +\convTeXLength*[sp]{\linewidth} +\end{LTXexample} + +\begin{LTXexample}[width=0.5\linewidth] +The current character width of M +is 1\,em, which is + +\convTeXLength{1em}\\ +\convTeXLength[bp]{1em}\\ +\convTeXLength[cc]{1em}\\ +\convTeXLength[dd]{1em}\\ +\convTeXLength[em]{1em}\\ +\convTeXLength[ex]{1em}\\ +\convTeXLength[in]{1em}\\ +\convTeXLength[km]{1em}\\ +\convTeXLength[m]{1em}\\ +\convTeXLength[mm]{1em}\\ +\convTeXLength[mu]{1em}\\ +\convTeXLength[pc]{1em}\\ +\convTeXLength[pt]{1em}\\ +\convTeXLength[px]{1em}\\ +\convTeXLength*[sp]{1em} +\end{LTXexample} + + +\begin{LTXexample}[width=0.5\linewidth] +The current example linewidth is +\the\linewidth, which is + +\convTeXLength[bp][3]{\linewidth}\\ +\convTeXLength[cc][3]{\linewidth}\\ +\convTeXLength[cm][3]{\linewidth}\\ +\convTeXLength[dd][3]{\linewidth}\\ +\convTeXLength[em][3]{\linewidth}\\ +\convTeXLength[ex][3]{\linewidth}\\ +\convTeXLength[in][3]{\linewidth}\\ +\convTeXLength[km][3]{\linewidth}\\ +\convTeXLength[m][3]{\linewidth}\\ +\convTeXLength[mm][3]{\linewidth}\\ +\convTeXLength[mu][3]{\linewidth}\\ +\convTeXLength[pc][3]{\linewidth}\\ +\convTeXLength[pt][3]{\linewidth}\\ +\convTeXLength[px][3]{\linewidth}\\ +\convTeXLength*[sp][3]{\linewidth} +\end{LTXexample} + +\begin{LTXexample}[width=0.5\linewidth] +The current width of the letter M is +1\,em, which is + +\convTeXLength[bp][3]{1em}\\ +\convTeXLength[cc][3]{1em}\\ +\convTeXLength[cm][3]{1em}\\ +\convTeXLength[dd][3]{1em}\\ +\convTeXLength[em][3]{1em}\\ +\convTeXLength[ex][3]{1em}\\ +\convTeXLength[in][3]{1em}\\ +\convTeXLength[km][3]{1em}\\ +\convTeXLength[m][3]{1em}\\ +\convTeXLength[mm][3]{1em}\\ +\convTeXLength[mu][3]{1em}\\ +\convTeXLength[pc][3]{1em}\\ +\convTeXLength[pt][3]{1em}\\ +\convTeXLength[px][3]{1em}\\ +\convTeXLength*[sp][3]{1em} +\end{LTXexample} + +\begin{LTXexample}[width=0.5\linewidth] +The current example linewidth is +\the\linewidth, which is + +\convTeXLength[bp][-1]{\linewidth}\\ +\convTeXLength[cc][0]{\linewidth}\\ +\convTeXLength[cm][1]{\linewidth}\\ +\convTeXLength[dd][2]{\linewidth}\\ +\convTeXLength[em][3]{\linewidth}\\ +\convTeXLength[ex][4]{\linewidth}\\ +\convTeXLength[in][5]{\linewidth}\\ +\convTeXLength[km][6]{\linewidth}\\ +\convTeXLength[m][7]{\linewidth}\\ +\convTeXLength[mm][8]{\linewidth}\\ +\convTeXLength[mu][9]{\linewidth}\\ +\convTeXLength[pc][10]{\linewidth}\\ +\convTeXLength[pt][11]{\linewidth}\\ +\convTeXLength[px][12]{\linewidth}\\ +\convTeXLength*[sp][13]{\linewidth} +\end{LTXexample} + + + +\begin{LTXexample}[width=0.5\linewidth] +\convTeXLength[em][2]{1}\\ % default is cm +\convTeXLength[em][2]{2}\\ +\convTeXLength[em][2]{3} +\end{LTXexample} + + + +\begin{LTXexample}[width=0.5\linewidth] +The current example linewidth is +\the\linewidth, which is + +\convTeXLength[em][2]{\linewidth}\\ +\convTeXLength[ex][2]{\linewidth}\\ +\convTeXLength[mu][2]{\linewidth} + +\Huge Test\\ +\convTeXLength[em][2]{\linewidth}\\ +\convTeXLength[ex][2]{\linewidth}\\ +\convTeXLength[mu][2]{\linewidth} +\end{LTXexample} + +\subsection{Converting a value with given unit into another one} + +\begin{LTXexample}[width=0.5\linewidth] +\convLength[m]{1.2345}[km]\\ +\convLength[cm]{1.2345}[km]\\ +\convLength*[mm]{1.2345}[km]\\ +\convLength[bp]{1.2345}[km]\\ +\convLength[km][4]{3499402.985833}[bp] +\end{LTXexample} + + + +\end{document} diff --git a/macros/luatex/latex/unitconv/latex/unitconv.sty b/macros/luatex/latex/unitconv/latex/unitconv.sty new file mode 100644 index 0000000000..9a16dcd2c9 --- /dev/null +++ b/macros/luatex/latex/unitconv/latex/unitconv.sty @@ -0,0 +1,128 @@ +%% $Id: unitconv.sty 1177 2020-05-07 15:38:43Z herbert $ +%% +%% This file is distributed under the terms of the LaTeX Project Public +%% License from CTAN archives in directory macros/latex/base/lppl.txt. +%% Either version 1.3 or, at your option, any later version. +%% +% +% Copyright 2020 Herbert Voss hvoss@tug.org +% +\RequirePackage{iftex,xparse,luacode} +\ProvidesPackage{unitconv}[% + 2020/05/07 v. 0.01 (Herbert Voss) Supports unit conversion of a length (only lualatex)] + +\ifluatex +\else + \ExplSyntaxOn + \msg_new:nnn {unitconv} {need-lualatex} + { + The~ unitconv~ package~ requires~ LuaLaTeX.\\\\ + You~ must~ change~ your~ typesetting~ engine~ to,~ + "lualatex" instead~ of~ "latex", ~"pdflatex",~ or~ + "xelatex". + } + \msg_fatal:nn {unitconv} {need-lualatex} + \ExpSyntaxOff + \endinput +\fi + +\newif\ifconv@Scientific + +\providecommand\text{\mbox} + +\begin{luacode} + convList = { ["bp"] = 1.00374, -- 1bp = 1.00374pt + ["cc"] = 12.8401, + ["cm"] = 28.45274, -- 1cm = 28.45274pt + ["dd"] = 1.07, + ["em"] = 10, + ["ex"] = 4.37, + ["in"] = 72.27, + ["km"] = 2.845274e6, + ["m"] = 2845.274, + ["mm"] = 2.84526, + ["mu"] = 0.05554, + ["pc"] = 12.0, + ["pt"] = 1.0, + ["px"] = 1.00374, + ["sp"] = 0.00005 } +\end{luacode} + +\def\convLength{\@ifnextchar*{\global\conv@Scientifictrue\conv@Length}{\global\conv@Scientificfalse\conv@Length*}} +\def\conv@Length*{\@ifnextchar[\convLength@i{\convLength@i[cm]}}% [unit] +\def\convLength@i[#1]{\@ifnextchar[{\convLength@ii[#1]}{\convLength@ii[#1][-1]}} +\def\convLength@ii[#1][#2]#3{\convLen@iii{#3}{#1}{#2}} + +\def\convTeXLength{\@ifnextchar*{\global\conv@Scientifictrue\conv@TeXLength}{\global\conv@Scientificfalse\conv@TeXLength*}} +\def\conv@TeXLength*{\@ifnextchar[\convTeXLength@i{\convTeXLength@i[cm]}}% [unit] +\def\convTeXLength@i[#1]{\@ifnextchar[{\convTeXLength@ii[#1]}{\convTeXLength@ii[#1][-1]}} +\def\convTeXLength@ii[#1][#2]#3{% + \conv@setlength\@tempdima{#3}% + \expandafter\convLen@iii\expandafter{\expandafter\rem@pt\the\@tempdima}{#1}{#2}} + +\def\convLen@iii#1#2#3{% #1 length; #2 unit; #3 decimals + \@ifnextchar[{\convLen@v{#1}{#2}{#3}}{\convLen@iv{#1}{#2}{#3}}} + +\def\convLen@iv#1#2#3{% + \@tempdima=1em \@tempdimb=1ex + \directlua{% + convList["em"]=\strip@pt\@tempdima; + convList["ex"]=\strip@pt\@tempdimb; + convList["mu"]=convList["em"]/18 + }% + \ifconv@Scientific + \luaexec{% + div0 = convList["#2"] + if (#3 < 0) then + tex.print(string.format("\%e",#1/div0)) + else + tex.print(string.format("\%#3e",#1/div0)) + end}% + \else + \luaexec{% + div0 = convList["#2"] + if (#3 < 0) then + tex.print(string.format(#1/div0)) + else + tex.print(string.format("\%.#3f",#1/div0)) + end}% + \fi + \text{\,#2}}% + +\def\convLen@v#1#2#3[#4]{% #1 length; #2 unit; #3 decimals; #4 orig unit + \@tempdima=1em \@tempdimb=1ex + \directlua{convList["em"]=\strip@pt\@tempdima; convList["ex"]=\strip@pt\@tempdimb; convList["mu"]=convList["em"]/18;}% + \ifconv@Scientific + \luaexec{% + divOrig = convList["#4"] + div0 = convList["#2"] + if (#3 < 0) then + tex.print(string.format("\%e",#1*divOrig/div0)) + else + tex.print(string.format("\%#3e",#1*divOrig/div0)) + end}% + \else + \luaexec{% + divOrig = convList["#4"] + div0 = convList["#2"] + if (#3 < 0) then + tex.print(string.format(#1*divOrig/div0)) + else + tex.print(string.format("\%.#3f",#1*divOrig/div0)) + end}% + \fi + \text{\,#2}}% + + +\newdimen\conv@unit \conv@unit 1cm +\def\conv@unit@off{\let\@conv@unit\ignorespaces\ignorespaces} +% +\def\conv@setlength#1#2{% + \let\@conv@unit\conv@unit + \afterassignment\conv@unit@off + #1 #2\@conv@unit% +} + + +\endinput + diff --git a/macros/xetex/latex/xepersian-hm/doc-samples-glyph.pdf b/macros/xetex/latex/xepersian-hm/doc-samples-glyph.pdf Binary files differnew file mode 100644 index 0000000000..35eb72dd7a --- /dev/null +++ b/macros/xetex/latex/xepersian-hm/doc-samples-glyph.pdf diff --git a/macros/xetex/latex/xepersian-hm/doc-samples-hrule.pdf b/macros/xetex/latex/xepersian-hm/doc-samples-hrule.pdf Binary files differnew file mode 100644 index 0000000000..783decc2cd --- /dev/null +++ b/macros/xetex/latex/xepersian-hm/doc-samples-hrule.pdf diff --git a/macros/xetex/latex/xepersian-hm/doc-samples-xep.pdf b/macros/xetex/latex/xepersian-hm/doc-samples-xep.pdf Binary files differnew file mode 100644 index 0000000000..37ae4f5e1c --- /dev/null +++ b/macros/xetex/latex/xepersian-hm/doc-samples-xep.pdf diff --git a/macros/xetex/latex/xepersian-hm/kashida-glyph-example.pdf b/macros/xetex/latex/xepersian-hm/kashida-glyph-example.pdf Binary files differindex 91047f8cec..77033af7c5 100644 --- a/macros/xetex/latex/xepersian-hm/kashida-glyph-example.pdf +++ b/macros/xetex/latex/xepersian-hm/kashida-glyph-example.pdf diff --git a/macros/xetex/latex/xepersian-hm/kashida-glyph-example.tex b/macros/xetex/latex/xepersian-hm/kashida-glyph-example.tex index 299b605aa7..4bcbcfc66c 100644 --- a/macros/xetex/latex/xepersian-hm/kashida-glyph-example.tex +++ b/macros/xetex/latex/xepersian-hm/kashida-glyph-example.tex @@ -1,4 +1,4 @@ -% \PassOptionsToPackage{Kashida=off,RTLdocument=on}{xepersian} % Load xepersian with a few options +% \PassOptionsToPackage{debugfootnotedirection=off,localise=off}{xepersian} % Load xepersian with a few options \documentclass{report} % \textwidth=345.0pt % \textheight=550.0pt diff --git a/macros/xetex/latex/xepersian-hm/kashida-hrule-example.pdf b/macros/xetex/latex/xepersian-hm/kashida-hrule-example.pdf Binary files differindex 865d7a3551..6cf4f8078c 100644 --- a/macros/xetex/latex/xepersian-hm/kashida-hrule-example.pdf +++ b/macros/xetex/latex/xepersian-hm/kashida-hrule-example.pdf diff --git a/macros/xetex/latex/xepersian-hm/kashida-hrule-example.tex b/macros/xetex/latex/xepersian-hm/kashida-hrule-example.tex index 64926c354a..48894d1413 100644 --- a/macros/xetex/latex/xepersian-hm/kashida-hrule-example.tex +++ b/macros/xetex/latex/xepersian-hm/kashida-hrule-example.tex @@ -1,4 +1,4 @@ -% \PassOptionsToPackage{Kashida=off,RTLdocument=on}{xepersian} % Load xepersian with a few options +% \PassOptionsToPackage{debugfootnotedirection=off,localise=off}{xepersian} % Load xepersian with a few options \documentclass{report} % \textwidth=345.0pt % \textheight=550.0pt diff --git a/macros/xetex/latex/xepersian-hm/kashida-xep-XB-example.pdf b/macros/xetex/latex/xepersian-hm/kashida-xep-XB-example.pdf Binary files differnew file mode 100644 index 0000000000..a35eef3bcd --- /dev/null +++ b/macros/xetex/latex/xepersian-hm/kashida-xep-XB-example.pdf diff --git a/macros/xetex/latex/xepersian-hm/kashida-xep-XB-example.tex b/macros/xetex/latex/xepersian-hm/kashida-xep-XB-example.tex new file mode 100644 index 0000000000..f623cb26e6 --- /dev/null +++ b/macros/xetex/latex/xepersian-hm/kashida-xep-XB-example.tex @@ -0,0 +1,71 @@ +\documentclass{report} +\usepackage[Kashida=on]{xepersian} +\settextfont[Scale=4.5]{XB Kayhan} +\setlatintextfont[Scale=1.5,Colour=0000FF]{XB Kayhan} + +\defpersianfont\XBKayhanIt[Scale=4.5]{XB Kayhan Italic} +\defpersianfont\XBKayhanOb[Scale=4.5]{XB Zar Oblique} +\defpersianfont\XBKayhanOl[Scale=4.5]{XB Kayhan Pook} +\defpersianfont\XBKayhanSd[Scale=4.5]{XB Kayhan Sayeh} + +\def\SampleText{ + راهی جایی تابی چاپی چاههی تلاشهایی + شتابهایی تابی چاپی راهی تلاشهــایی + که کتابهایی که کلاههایی که کتابهایی } + +\setlength\parindent{0pt} +\pagestyle{empty} + +\begin{document} + +\begin{latin} +\begin{center} +\Huge\textsf{xepersian}\vspace{20pt}\\ Example of Use\vspace{20pt}\\ \texttt{Kashida=hrule} \vspace{40pt} + +{\Large +\begin{tabular}{ll} + \textsf{Font:} & \textsf{XB Kayhan} \\ + \textsf{Font Scale:} & \texttt{4.5} \\ +\end{tabular} +} +\end{center} + +\end{latin} + +\newpage + +\KashidaOff{\hfill\lr{(Kashida Off, Regular)}\hfill} + +\SampleText + +\newpage + +\KashidaOn{\hfill\lr{(Kashida On, Regular)}\hfill} + +\SampleText + +\newpage + +\KashidaOn{\hfill\lr{(Kashida On, Italic)}\hfill} + +{\XBKayhanIt \SampleText} + +\newpage + +\KashidaOn{\hfill\lr{(Kashida On, Oblique)}\hfill} + +{\XBKayhanOb \SampleText} + +\newpage + +\KashidaOn{\hfill\lr{(Kashida On, Pook)}\hfill} + +{\XBKayhanOl \SampleText} + +\newpage + +\KashidaOn{\hfill\lr{(Kashida On, Sayeh)}\hfill} + +{\XBKayhanSd \SampleText} + +\end{document} diff --git a/macros/xetex/latex/xepersian-hm/xepersian-hm-doc.ltx b/macros/xetex/latex/xepersian-hm/xepersian-hm-doc.ltx index 1a2d88f8aa..ba04fee903 100644 --- a/macros/xetex/latex/xepersian-hm/xepersian-hm-doc.ltx +++ b/macros/xetex/latex/xepersian-hm/xepersian-hm-doc.ltx @@ -8,8 +8,11 @@ %% this license is at: http://www.latex-project.org/lppl.txt %% \documentclass{ltxdoc} +\usepackage{graphicx} \usepackage{longtable} \usepackage{hypdoc} +\usepackage{xepersian-hm} +\settextfont[Scale=1]{HM XKayhan} \title{ The \textsf{xepersian-hm} package\\Fixing kashida in xepersian\\User Documentation @@ -24,9 +27,12 @@ } } -\date{Released \quad 2020-05-01 \quad v0.5c} +\date{Released \quad 2020-05-07 \quad v0.5d} +\let\tmpthepage\thepage +\renewcommand{\thepage}{\lr{\Large\textbf\tmpthepage}} \begin{document} +\begin{latin} \maketitle @@ -49,6 +55,61 @@ I will do my best to fix all the bugs you report, but, unfortunately, time is a big hurdle to overcome; so, my apologies in advance for those which I cannot make time to fix. +\section{Brief outline of the issues} + +Kashida is one of the most important features that must be included in any +Persian typesetter. In xepersian this feature is implemented but with some +problems. These problems along withe fixes in xepersian-hm are briefly: + +\newcounter{bean} + \begin{list}{P-\Roman{bean}}{\usecounter{bean}\setlength{\rightmargin}{\leftmargin}} + \item In \textsf{xepersian} overlapping of glyphs occurs in letter + combinations such as "\rl{ب + ی}", "\rl{ت + ی}", and + "\rl{پ + ی}" because the character + \textsf{U+FEF0 (ARABIC LETTER FARSI YEH FINAL FORM)} is replaced with + another character. This is fixed by modifying the fixed part of the + glue inserted between the consecutive characters. Furthermore, both, + the fixed and the stretchable parts of the glue can be changed by the + user. + \item In letter combinations such as "\rl{ه + ی}", in \textsf{xepersian}, + the character \textsf{U+FEEB (ARABIC LETTER HEH INITIAL FORM)} is + replaced with \textsf{U+06BE (ARABIC LETTER HEH DOACHASHEMEE)}. This + is fixed by inserting the character \textsf{U+200E} before the + combination "\textsf{U+200D + hrule + U+200D}" which is used as + stretching item. + \item In \textsf{xepersian} when outline or shadow fonts are used, the gaps + filled by horizontal rule appears as a solid box. This is fixed by + using the \textsf{kashida} glyph instead of the horizontal rule in + \textsf{xepersian-hm}. + \item If italic or oblique style of some fonts such as \textsf{X Series 2} + is used in \textsf{xepersian}, an extra gap is left between the + stretched characters. This is fixed in \textsf{HM Series} fonts. +\end{list} + +For comparing the outputs of \textsf{xepersian} and \textsf{xepersian-hm} with +a variety of options available to these packages, please see the +\mbox{Figure \ref{fig:xepersian-XB}}, +\mbox{Figure \ref{fig:xepersian-hm-hrule}}, and +\mbox{Figure \ref{fig:xepersian-hm-glyph}}. + +\begin{figure} + \centerline{\includegraphics[scale=1]{doc-samples-xep.pdf}} + \caption{Package: \textsf{xeprsian}, Font: \textsf{XB Kayhan}, \textsf{Scale=4.5}, \textsf{Kashida=0n}} + \label{fig:xepersian-XB} +\end{figure} + +\begin{figure} + \centerline{\includegraphics[scale=1]{doc-samples-hrule.pdf}} + \caption{Package: \textsf{xeprsian-hm}, Font: \textsf{HM XKayhan}, \textsf{Scale=4.5}, \textsf{Kashida=hrule}} + \label{fig:xepersian-hm-hrule} +\end{figure} + +\begin{figure} + \centerline{\includegraphics[scale=1]{doc-samples-glyph.pdf}} + \caption{Package: \textsf{xeprsian-hm}, Font: \textsf{HM XKayhan}, \textsf{Scale=4.5}, \textsf{Kashida=glyph}} + \label{fig:xepersian-hm-glyph} +\end{figure} + \section{Package loading and options} Please note that \textsf{xepersian-hm} loads \textsf{xepersian} automatically, @@ -56,7 +117,7 @@ so you may only pass options to the package using the command \verb|\PassOptionsToPackage| before \verb|\documentclass|. For example: \begin{verbatim} -\PassOptionsToPackage{Kashida=off,RTLdocument=on}{xepersian} +\PassOptionsToPackage{debugfootnotedirection=off,localise=off}{xepersian} \documentclass{report} \usepackage{xcolor} \usepackage[Kashida,kashidastretch=0.14 em plus 0.5 em]{xepersian-hm} @@ -77,7 +138,8 @@ The options available in \textsf{xepersian-hm} are: xelatex kashida-example.tex} Please note that this feature is still experimental and is not regarded as stable. - If you are going to use this option be ready for unpredictable results. + If you are going to use this option be ready for unpredictable results. Note that + the value of \texttt{Kashida} is mandatory. \item \texttt{hrule}: \\ which uses a horizontal rule (\verb|\hrule|) to stretch the text. @@ -154,6 +216,17 @@ The options available in \textsf{xepersian-hm} are: \texttt{\bslash discouragebadlinebreaks[9][0.12 em plus 0.5 em]\{\dots\}} \end{description} + +\section{Important notes} + +\begin{description} + \item Kashida and ligatures: + + The method used to implement kashida feature breaks a ligature if it is applied to the letters which are joined to form + the ligature. +\end{description} + +\end{latin} \end{document} %% %% diff --git a/macros/xetex/latex/xepersian-hm/xepersian-hm-doc.pdf b/macros/xetex/latex/xepersian-hm/xepersian-hm-doc.pdf Binary files differindex cc80a88443..f1f5e0dad2 100644 --- a/macros/xetex/latex/xepersian-hm/xepersian-hm-doc.pdf +++ b/macros/xetex/latex/xepersian-hm/xepersian-hm-doc.pdf diff --git a/macros/xetex/latex/xepersian-hm/xepersian-hm.dtx b/macros/xetex/latex/xepersian-hm/xepersian-hm.dtx index 0cf960fe36..5e2ac7ef40 100644 --- a/macros/xetex/latex/xepersian-hm/xepersian-hm.dtx +++ b/macros/xetex/latex/xepersian-hm/xepersian-hm.dtx @@ -67,7 +67,7 @@ make time to fix. % }^^A % } % -% \date{Released \quad 2020-05-01 \quad v0.5c} +% \date{Released \quad 2020-05-07 \quad v0.5d} % % \maketitle % @@ -96,7 +96,7 @@ make time to fix. \RequirePackage{zref-savepos}[2020-03-03] \RequirePackage{xepersian} \ExplSyntaxOn -\ProvidesExplPackage {xepersian-hm} {2020-05-01} {0.5c} { Fixes~issues~in~xepersian~package } +\ProvidesExplPackage {xepersian-hm} {2020-05-07} {0.5d} { Fixes~issues~in~xepersian~package } \int_const:Nn \c_xephm_ksh_int {"0640} % kashida \int_const:Nn \c_xephm_lrm_int {"200E} % left-right-mark @@ -175,14 +175,19 @@ make time to fix. \tl_set:Nn \l_xephm_default_tl { default } \tl_set:Nn \l_xephm_noskip_tl { noskip } -\msg_new:nnx { xepersian-hm } { kashida-character-is-not-available-in-the-main-font } +\msg_new:nnn { xepersian-hm } { kashida-character-is-not-available-in-the-main-font } { Sorry,~ kashida~ character~ is~ not~ available~ in~ the~ main~ font~! } -\msg_new:nnx { xepersian-hm } { value-not-available-for-kashida-option } +\msg_new:nnn { xepersian-hm } { value-not-available-for-kashida-option } { - Sorry,~ value~ `\l_xephm_gap_filler_tl'~ is~ not~ available~ for~ kashida~ option~ yet~! + Sorry,~ value~ `#1'~ is~ not~ available~ for~ `Kashida'~ option~ yet~! + } + +\msg_new:nnn { xepersian-hm } { specify-value-for-kashida-option } + { + Sorry,~ you~ must~ specify~ a~ value~ for~ `Kashida'~ option~ yet~! } \keys_define:nn { xepersian-hm } @@ -211,7 +216,8 @@ make time to fix. { \tl_set:Nn \l_xephm_gap_filler_tl { \l_xephm_stretch_hrule_tl } } - } { } { \tl_set:Nn \l_xephm_filler_default_tl { #1 } } + } { } { \tl_set:Nx \l_xephm_gap_filler_tl { #1 } } + \tl_if_empty:NT \l_xephm_gap_filler_tl { \msg_error:nn { xepersian-hm } { specify-value-for-kashida-option } } \bool_set_true:N \l_xephm_kashida_hm_fix_bool \tex_input:D { kashida-xepersian-hm.def } } , @@ -282,7 +288,7 @@ make time to fix. % \begin{macrocode} %<*kashida-xepersian-hm-def> \ExplSyntaxOn -\ProvidesExplFile {kashida-xepersian-hm.def} {2020-05-01} {0.5c} { Fixes~implementation~of~Kashida~in~xepersian~package } +\ProvidesExplFile {kashida-xepersian-hm.def} {2020-05-07} {0.5d} { Fixes~implementation~of~Kashida~in~xepersian~package } \newXeTeXintercharclass \c_xephm_d_charclass % dual-joiner class \newXeTeXintercharclass \c_xephm_l_charclass % lam @@ -499,7 +505,7 @@ make time to fix. \XeTeXinterchartoks \c_xephm_l_charclass \c_xephm_a_charclass = { } } - } { } { \msg_error:nn { xepersian-hm } { value-not-available-for-kashida-option } } + } { } { \msg_error:nnx { xepersian-hm } { value-not-available-for-kashida-option } { \l_xephm_gap_filler_tl } } \NewDocumentCommand \KashidaHMFixOn {} { \bool_set_true:N \l_xephm_kashida_hm_fix_bool } \NewDocumentCommand \KashidaHMFixOff {} { \bool_set_false:N \l_xephm_kashida_hm_fix_bool } diff --git a/macros/xetex/latex/xepersian-hm/xepersian-hm.pdf b/macros/xetex/latex/xepersian-hm/xepersian-hm.pdf Binary files differindex b460f20455..fd7f043992 100644 --- a/macros/xetex/latex/xepersian-hm/xepersian-hm.pdf +++ b/macros/xetex/latex/xepersian-hm/xepersian-hm.pdf |