summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/ocgx2
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-20 03:00:40 +0000
committerNorbert Preining <norbert@preining.info>2019-09-20 03:00:40 +0000
commit4b0f677aea00124171602de9498d50ac10d71eb3 (patch)
tree495035d1f1760c35dc2cefddbc9c73b08510bc11 /macros/latex/contrib/ocgx2
parent344e74a832ad49360aa4e08c467ff783c1f02f66 (diff)
CTAN sync 201909200300
Diffstat (limited to 'macros/latex/contrib/ocgx2')
-rw-r--r--macros/latex/contrib/ocgx2/ChangeLog5
-rw-r--r--macros/latex/contrib/ocgx2/README.md18
-rw-r--r--macros/latex/contrib/ocgx2/ocgx2.sty37
3 files changed, 41 insertions, 19 deletions
diff --git a/macros/latex/contrib/ocgx2/ChangeLog b/macros/latex/contrib/ocgx2/ChangeLog
index 3384906d48..5957ad4c5c 100644
--- a/macros/latex/contrib/ocgx2/ChangeLog
+++ b/macros/latex/contrib/ocgx2/ChangeLog
@@ -1,3 +1,8 @@
+2019-09-19
+ * v0.45: ocgx2.sty
+ * new: using comma for separating OCG ids in \showocg, \hideocg etc.; <space>
+ still accepted for compatibility with ocgx/ocg-p
+
2019-09-17
* v0.44: ocgx2.sty
* fix: wrong visibility of reopened ocg (introduced in v0.41)
diff --git a/macros/latex/contrib/ocgx2/README.md b/macros/latex/contrib/ocgx2/README.md
index e8b100e0cd..1f33d755ed 100644
--- a/macros/latex/contrib/ocgx2/README.md
+++ b/macros/latex/contrib/ocgx2/README.md
@@ -162,9 +162,9 @@ directive `\AllOff{...}` is written as `\Not{ \Or{ ... } }`.
These are the available commands:
````latex
-\switchocg[<trigger>]{<OCG ids to toggle, space separated>}{<link text>}
-\showocg[<trigger>]{<OCG ids to switch ON, space separated>}{<link text>}
-\hideocg[<trigger>]{<OCG ids to switch OFF, space separated>}{<link text>}
+\switchocg[<trigger>]{<OCG ids to toggle, comma-separated>}{<link text>}
+\showocg[<trigger>]{<OCG ids to switch ON, comma-separated>}{<link text>}
+\hideocg[<trigger>]{<OCG ids to switch OFF, comma-separated>}{<link text>}
\actionsocg[<trigger>]{<ids to toggle>}{<ids to switch ON>}{<ids to switch OFF>}{<link text>}
````
For details about their usage, read the
@@ -172,18 +172,22 @@ For details about their usage, read the
By default, links are triggered on mouse-click. Other triggers are possible
with `ocgx2`. For this, `ocgx2` provides the optional argument `[<trigger>]` to
-the commands listed above. Choose one of
+the commands listed above. Choose *one* of
````latex
onmousenter, onmouseexit, onmousedown, onmouseup, onmouseall
````
for `<trigger>`. In order to listen to more than one mouse event, use
`onmouseall`. OCG ids in the mandatory argument(s) must then be grouped with
-commas as follows:
+braces and commas as follows:
````latex
- <mouse-enter group>, <mouse-exit group>, <mouse-down group>, <mouse-up group>
+ {<mouse-enter group>}, {<mouse-exit group>}, {<mouse-down group>}, {<mouse-up group>}
````
Any of these groups may be left empty in order to configure only some
-triggers. Inside the groups, OCG ids are separated by spaces.
+triggers. Inside the groups, OCG ids are also separated by commas. Therefore,
+braces must be put around the groups. For example:
+````latex
+\switchocg[onmouseall]{, ,{ocg1, ocg2, ocg3, ocg4},{ocg1, ocg2, ocg3, ocg4}}{Toggle layers on mouse-down and -up}
+````
----
diff --git a/macros/latex/contrib/ocgx2/ocgx2.sty b/macros/latex/contrib/ocgx2/ocgx2.sty
index 2e6cbdf6aa..235fe5f90e 100644
--- a/macros/latex/contrib/ocgx2/ocgx2.sty
+++ b/macros/latex/contrib/ocgx2/ocgx2.sty
@@ -48,8 +48,8 @@
\RequirePackage{xparse}
\RequirePackage{l3keys2e}
-\def\g@ocgxii@date@tl{2019/09/17}
-\def\g@ocgxii@version@tl{0.44}
+\def\g@ocgxii@date@tl{2019/09/19}
+\def\g@ocgxii@version@tl{0.45}
\ProvidesExplPackage{ocgx2}{\g@ocgxii@date@tl}{\g@ocgxii@version@tl}
{ports `ocgx' functionality to dvips+ps2pdf, xelatex and dvipdfmx}
@@ -697,7 +697,22 @@
\cs_new_protected_nopar:Nn\ocgxii_ocglist_build:Nn{
\tl_set:Nx\l_ocglistarg_tl{#2}\tl_trim_spaces:N\l_ocglistarg_tl
- \seq_set_split:NnV\l_ocgxii_ocglistarg_seq{~}\l_ocglistarg_tl
+ % first try splitting at commas (ocgx2 syntax)
+ \tl_set_eq:NN\l_tmpa_tl\l_ocglistarg_tl
+ \tl_remove_all:Nn\l_tmpa_tl{~}
+ \seq_set_split:NnV\l_ocgxii_ocglistarg_seq{,}\l_tmpa_tl
+ \seq_remove_all:Nn\l_ocgxii_ocglistarg_seq{}
+ \tl_set:Nx\l_tmpa_tl{\seq_count:N\l_ocgxii_ocglistarg_seq}
+ % now at spaces (legacy ocgx/ocg-p)
+ \tl_set_eq:NN\l_tmpb_tl\l_ocglistarg_tl
+ \tl_remove_all:Nn\l_tmpb_tl{,}
+ \seq_set_split:NnV\l_tmpb_seq{~}\l_tmpb_tl
+ \seq_remove_all:Nn\l_tmpb_seq{}
+ \tl_set:Nx\l_tmpb_tl{\seq_count:N\l_tmpb_seq}
+ %take the seq having more elements (guessing the separator most likely used)
+ \int_compare:nT{\l_tmpb_tl>\l_tmpa_tl}{
+ \seq_set_eq:NN\l_ocgxii_ocglistarg_seq\l_tmpb_seq
+ }
\seq_map_variable:NNn\l_ocgxii_ocglistarg_seq\l_tempa_tl{
\ocgxii_process_ocgref:NN#1\l_tempa_tl
}
@@ -986,15 +1001,13 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\cs_new_protected:Nn\ocgxii_process_ocgref:NN{
- \str_if_eq:eeF{#2}{}{
- \tl_if_exist:cTF{ocgx2.ocg.#2}{
- \tl_put_right:Nx#1{~\tl_use:c{ocgx2.ocg.#2}}
- }{
- \msg_warning:nnx{ocgx2}{undefined~OCG}{#2}
- \tl_if_exist:NF\g_ocgxii_refundefwarned_tl{
- \tl_new:N\g_ocgxii_refundefwarned_tl
- \AtEndDocument{\msg_warning:nn{ocgx2}{undefined~OCGs}}
- }
+ \tl_if_exist:cTF{ocgx2.ocg.#2}{
+ \tl_put_right:Nx#1{~\tl_use:c{ocgx2.ocg.#2}}
+ }{
+ \msg_warning:nnx{ocgx2}{undefined~OCG}{#2}
+ \tl_if_exist:NF\g_ocgxii_refundefwarned_tl{
+ \tl_new:N\g_ocgxii_refundefwarned_tl
+ \AtEndDocument{\msg_warning:nn{ocgx2}{undefined~OCGs}}
}
}
}