summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/ocgx2/ocgx2.sty
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/ocgx2/ocgx2.sty')
-rw-r--r--macros/latex/contrib/ocgx2/ocgx2.sty72
1 files changed, 50 insertions, 22 deletions
diff --git a/macros/latex/contrib/ocgx2/ocgx2.sty b/macros/latex/contrib/ocgx2/ocgx2.sty
index 46c42aca35..16319e52a3 100644
--- a/macros/latex/contrib/ocgx2/ocgx2.sty
+++ b/macros/latex/contrib/ocgx2/ocgx2.sty
@@ -43,10 +43,8 @@
%
% The Current Maintainer of this work is A. Grahn.
- \RequirePackage{l3keys2e}
-
- \def\g@ocgxii@date@tl{2022/04/01}
- \def\g@ocgxii@version@tl{0.54}
+ \def\g@ocgxii@date@tl{2022/08/04}
+ \def\g@ocgxii@version@tl{0.55}
\ProvidesExplPackage{ocgx2}{\g@ocgxii@date@tl}{\g@ocgxii@version@tl}
{ports `ocgx' functionality to dvips+ps2pdf, xelatex and dvipdfmx}
@@ -86,8 +84,8 @@
Using~`colorlinks'~instead.
}
- %package opts
- %unknown package option error message
+ % package options
+
\msg_set:nnnn{ocgx2}{unknown~package~option}{Unknown~package~option~`#1'.}{
Package option~'#1'~is~unknown;\\
perhaps~it~is~spelled~incorrectly.
@@ -100,13 +98,22 @@
\bool_new:N\l_ocgxii_showingui_bool
\keys_define:nn{ocgx2}{
- xetex .code:n = {}, %dummy
+ pdftex.code:n = {},
+ pdftex.value_forbidden:n = true,
+
+ luatex.code:n = {},
+ luatex.value_forbidden:n = true,
+
+ xetex.code:n = {},
+ xetex.value_forbidden:n = true,
+
+ dvips.code:n = {},
+ dvips.value_forbidden:n = true,
dvipdfmx .code:n = {
\PassOptionsToPackage{dvipdfmx}{ocgbase}
- \PassOptionsToPackage{dvipdfmx}{pdfbase}
- \bool_gset_true:N\g_ocgxii_dvipdfmx_bool
},
+ dvipdfmx .value_forbidden:n = true,
viewocg .choice:,
viewocg / always .code:n={
@@ -162,11 +169,18 @@
\keys_set:nn{ocgx2}{viewocg,printocg,exportocg,showingui,tikz=false}
%process package options
- \ProcessKeysOptions{ocgx2}
- \sys_if_engine_xetex:T{\bool_gset_true:N\g_ocgxii_dvipdfmx_bool}
+ \ProcessKeyOptions[ocgx2]
\RequirePackage{ocgbase} %also loads pdfbase.sty
+ \bool_gset_eq:NN\g_ocgxii_dvipdfmx_bool\g_pbs_dvipdfmx_bool
+
+ \bool_if:NT\g_pbs_dvisvgm_bool{
+ \msg_error:nnn{ocgx2}{generic~msg}{
+ Package~`ocgx2'~is~incompatible~with~the~`dvisvgm'~backend.
+ }
+ }
+
%re-implement ocg-p's `ocg' environment
\DeclareDocumentEnvironment{ocg}{O{}mmm}{
\ocgxii_begin_ocg:nnnn{#1}{#2}{#3}{#4}
@@ -1578,10 +1592,8 @@
%
% The Current Maintainer of this work is A. Grahn.
-\RequirePackage{l3keys2e}
-
-\def\g@ocgxii@date@tl{2022/04/01}
-\def\g@ocgxii@version@tl{0.54}
+\def\g@ocgxii@date@tl{2022/08/04}
+\def\g@ocgxii@version@tl{0.55}
\ProvidesExplPackage{ocgx2}{\g@ocgxii@date@tl}{\g@ocgxii@version@tl}
{ports `ocgx' functionality to dvips+ps2pdf, xelatex and dvipdfmx}
@@ -1621,8 +1633,8 @@
Using~`colorlinks'~instead.
}
-%package opts
-%unknown package option error message
+% package options
+
\msg_set:nnnn{ocgx2}{unknown~package~option}{Unknown~package~option~`#1'.}{
Package option~'#1'~is~unknown;\\
perhaps~it~is~spelled~incorrectly.
@@ -1635,13 +1647,22 @@
\bool_new:N\l_ocgxii_showingui_bool
\keys_define:nn{ocgx2}{
- xetex .code:n = {}, %dummy
+ pdftex.code:n = {},
+ pdftex.value_forbidden:n = true,
+
+ luatex.code:n = {},
+ luatex.value_forbidden:n = true,
+
+ xetex.code:n = {},
+ xetex.value_forbidden:n = true,
+
+ dvips.code:n = {},
+ dvips.value_forbidden:n = true,
dvipdfmx .code:n = {
\PassOptionsToPackage{dvipdfmx}{ocgbase}
- \PassOptionsToPackage{dvipdfmx}{pdfbase}
- \bool_gset_true:N\g_ocgxii_dvipdfmx_bool
},
+ dvipdfmx .value_forbidden:n = true,
viewocg .choice:,
viewocg / always .code:n={
@@ -1697,11 +1718,18 @@
\keys_set:nn{ocgx2}{viewocg,printocg,exportocg,showingui,tikz=false}
%process package options
-\ProcessKeysOptions{ocgx2}
-\sys_if_engine_xetex:T{\bool_gset_true:N\g_ocgxii_dvipdfmx_bool}
+\ProcessKeyOptions[ocgx2]
\RequirePackage{ocgbase} %also loads pdfbase.sty
+\bool_gset_eq:NN\g_ocgxii_dvipdfmx_bool\g_pbs_dvipdfmx_bool
+
+\bool_if:NT\g_pbs_dvisvgm_bool{
+ \msg_error:nnn{ocgx2}{generic~msg}{
+ Package~`ocgx2'~is~incompatible~with~the~`dvisvgm'~backend.
+ }
+}
+
%re-implement ocg-p's `ocg' environment
\DeclareDocumentEnvironment{ocg}{O{}mmm}{
\ocgxii_begin_ocg:nnnn{#1}{#2}{#3}{#4}