diff options
author | Karl Berry <karl@freefriends.org> | 2022-08-04 20:33:42 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2022-08-04 20:33:42 +0000 |
commit | e5abeecbac2ac10f0170c8f3d03d886484dd15c3 (patch) | |
tree | af85d75b300a48ca0e33b9c6cd8aa39eba8ddcea /Master/texmf-dist/tex/latex | |
parent | 781ac8759d97a1cd2be3c2c765ea08571c54e639 (diff) |
xsavebox (4aug22)
git-svn-id: svn://tug.org/texlive/trunk@64049 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex')
-rw-r--r-- | Master/texmf-dist/tex/latex/xsavebox/xsavebox.sty | 62 |
1 files changed, 32 insertions, 30 deletions
diff --git a/Master/texmf-dist/tex/latex/xsavebox/xsavebox.sty b/Master/texmf-dist/tex/latex/xsavebox/xsavebox.sty index 36aeaaa1d0f..ddec5f43830 100644 --- a/Master/texmf-dist/tex/latex/xsavebox/xsavebox.sty +++ b/Master/texmf-dist/tex/latex/xsavebox/xsavebox.sty @@ -34,25 +34,24 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % This work may be distributed and/or modified under the -% conditions of the LaTeX Project Public License, either version 1.3 -% of this license or (at your option) any later version. -% The latest version of this license is in +% conditions of the LaTeX Project Public License +% % http://mirrors.ctan.org/macros/latex/base/lppl.txt -% and version 1.3 or later is part of all distributions of LaTeX -% version 2005/12/01 or later. % % This work has the LPPL maintenance status `maintained'. % % The Current Maintainer of this work is A. Grahn. -\NeedsTeXFormat{LaTeX2e}[2020-10-01] -\RequirePackage{l3keys2e} +\NeedsTeXFormat{LaTeX2e}[2022-06-01] -\def\g@xsb@version@tl{0.17} -\def\g@xsb@date@tl{2022/03/10} +\def\g@xsb@version@tl{0.18} +\def\g@xsb@date@tl{2022/08/04} \ProvidesExplPackage{xsavebox}{\g@xsb@date@tl}{\g@xsb@version@tl} {saveboxes for repeating content without code replication} +% ensure that backend code is loaded +\cs_if_exist:NF\c_sys_backend_str{\sys_load_backend:n{}} + \msg_set:nnnn{xsavebox}{support~outdated}{ Support~package~`#1'~too~old. }{ @@ -75,51 +74,54 @@ perhaps~it~is~spelled~incorrectly. } +% possible values for \c_sys_backend_str: pdftex, luatex, xetex, dvips, dvipdfmx, dvisvgm %package options -\bool_new:N\g_xsb_dvisvgm_bool %`dvisvgm' driver option \tl_gset:Nn\g_xsb_margin_tl{3pt} \keys_define:nn{xsavebox}{ - margin .code:n = { - \setlength\l_tmpa_dim{#1} - \tl_gset:Nx\g_xsb_margin_tl{\dim_use:N\l_tmpa_dim} - }, + pdftex.code:n = {}, + pdftex.value_forbidden:n = true, + + luatex.code:n = {}, + luatex.value_forbidden:n = true, + + xetex.code:n = {}, + xetex.value_forbidden:n = true, - xetex .code:n = {}, %dummy, we use engine test instead + dvips.code:n = {}, + dvips.value_forbidden:n = true, - dvipdfmx .choice:, - dvipdfmx / true .code:n = { - \bool_gset_false:N\g_xsb_dvisvgm_bool + dvipdfmx.code:n = { \PassOptionsToPackage{dvipdfmx}{pdfbase} }, - dvipdfmx / false .code:n = {}, - dvipdfmx .default:n = {true}, + dvipdfmx.value_forbidden:n = true, - dvisvgm .choice:, - dvisvgm / true .code:n = { - \bool_gset_true:N\g_xsb_dvisvgm_bool + dvisvgm.code:n = { \PassOptionsToPackage{dvisvgm}{pdfbase} }, - dvisvgm / false .code:n = {\bool_gset_false:N\g_xsb_dvisvgm_bool}, - dvisvgm .default:n = {true}, + dvisvgm.value_forbidden:n = true, + + margin .code:n = { + \setlength\l_tmpa_dim{#1} + \tl_gset:Nx\g_xsb_margin_tl{\dim_use:N\l_tmpa_dim} + }, unknown .code:n = { \msg_error:nnx{xsavebox}{unknown~package~option}{\l_keys_key_tl} } } -\ProcessKeysOptions{xsavebox} - -\sys_if_output_pdf:T{\bool_gset_false:N\g_xsb_dvisvgm_bool} +\ProcessKeyOptions[xsavebox] \RequirePackage{pdfbase} -\@ifpackagelater{pdfbase}{2017/03/23}{}{ +\@ifpackagelater{pdfbase}{2022/08/04}{}{ \msg_error:nnn{xsavebox}{support~outdated}{pdfbase.sty} \tex_endinput:D } + \cs_gset_eq:NN\xsb_pdfxform:nnnnn\pbs_pdfxform:nnnnn \cs_gset_eq:NN\xsb_pdflastxform:\pbs_pdflastxform: \cs_gset_eq:NN\xsb_pdfrefxform:n\pbs_pdfrefxform:n -\bool_if:NTF\g_xsb_dvisvgm_bool{ +\bool_if:NTF\g_pbs_dvisvgm_bool{ \tl_gset:Nn\g_xsb_margin_tl{0pt} \cs_new_protected_nopar:Nn\xsb_updatebbox:nnn{ \special{dvisvgm:bbox~#1~#2~#3~transform} |