summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2022-08-04 20:33:42 +0000
committerKarl Berry <karl@freefriends.org>2022-08-04 20:33:42 +0000
commite5abeecbac2ac10f0170c8f3d03d886484dd15c3 (patch)
treeaf85d75b300a48ca0e33b9c6cd8aa39eba8ddcea /Master/texmf-dist/tex/latex
parent781ac8759d97a1cd2be3c2c765ea08571c54e639 (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.sty62
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}