From 4b0f677aea00124171602de9498d50ac10d71eb3 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Fri, 20 Sep 2019 03:00:40 +0000 Subject: CTAN sync 201909200300 --- macros/latex/contrib/ocgx2/ChangeLog | 5 +++++ macros/latex/contrib/ocgx2/README.md | 18 +++++++++++------- macros/latex/contrib/ocgx2/ocgx2.sty | 37 ++++++++++++++++++++++++------------ 3 files changed, 41 insertions(+), 19 deletions(-) (limited to 'macros/latex/contrib/ocgx2') 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.; + 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[]{}{} -\showocg[]{}{} -\hideocg[]{}{} +\switchocg[]{}{} +\showocg[]{}{} +\hideocg[]{}{} \actionsocg[]{}{}{}{} ```` 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 `[]` to -the commands listed above. Choose one of +the commands listed above. Choose *one* of ````latex onmousenter, onmouseexit, onmousedown, onmouseup, onmouseall ```` for ``. 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 - , , , + {}, {}, {}, {} ```` 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}} } } } -- cgit v1.2.3