From 83b88676e8526454a292a894c5f30451eb75b828 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Fri, 30 Jul 2021 03:02:15 +0000 Subject: CTAN sync 202107300302 --- macros/latex/contrib/media9/ChangeLog | 5 ++ macros/latex/contrib/media9/doc/media9.pdf | Bin 3748253 -> 3748120 bytes macros/latex/contrib/media9/media9.sty | 10 +-- macros/latex/contrib/media9/pdfbase.sty | 118 ++++++++++++++++++----------- macros/latex/contrib/spbmark/spbmark.pdf | Bin 65490 -> 65446 bytes macros/latex/contrib/spbmark/spbmark.sty | 61 +++++++++------ macros/latex/contrib/spbmark/spbmark.tex | 25 +++--- 7 files changed, 133 insertions(+), 86 deletions(-) (limited to 'macros/latex') diff --git a/macros/latex/contrib/media9/ChangeLog b/macros/latex/contrib/media9/ChangeLog index 4c625c9304..7114b7fdfd 100644 --- a/macros/latex/contrib/media9/ChangeLog +++ b/macros/latex/contrib/media9/ChangeLog @@ -1,3 +1,8 @@ +2021-07-29 + * v1.19 : media9.sty + * v0.50 : pdfbase.sty + * fix : issue with xforms and DVI magnification (dvips) + 2021-07-28 * v1.18 : media9.sty * v0.49 : pdfbase.sty diff --git a/macros/latex/contrib/media9/doc/media9.pdf b/macros/latex/contrib/media9/doc/media9.pdf index 289a322c0b..5ea35a9beb 100644 Binary files a/macros/latex/contrib/media9/doc/media9.pdf and b/macros/latex/contrib/media9/doc/media9.pdf differ diff --git a/macros/latex/contrib/media9/media9.sty b/macros/latex/contrib/media9/media9.sty index 5196d59b4f..dee003d3ef 100644 --- a/macros/latex/contrib/media9/media9.sty +++ b/macros/latex/contrib/media9/media9.sty @@ -41,12 +41,12 @@ \RequirePackage{l3keys2e} -\def\g@mix@date@tl{2021/07/28} -\def\g@mix@version@tl{1.18} +\def\g@mix@date@tl{2021/07/29} +\def\g@mix@version@tl{1.19} \NeedsTeXFormat{LaTeX2e}[2020-10-01] \ProvidesExplPackage{media9}{\g@mix@date@tl}{\g@mix@version@tl} -{acrobat-9/X compatible media} +{acrobat-9/X~compatible~media} \tl_gset_eq:NN\g_mix_date_tl\g@mix@date@tl \tl_gset_eq:NN\g_mix_version_tl\g@mix@version@tl @@ -2409,8 +2409,8 @@ \RequirePackage{l3keys2e} -\def\g@mix@date@tl{2021/07/28} -\def\g@mix@version@tl{1.18} +\def\g@mix@date@tl{2021/07/29} +\def\g@mix@version@tl{1.19} \NeedsTeXFormat{LaTeX2e}[2020-10-01] \ProvidesExplPackage{media9}{\g@mix@date@tl}{\g@mix@version@tl} diff --git a/macros/latex/contrib/media9/pdfbase.sty b/macros/latex/contrib/media9/pdfbase.sty index 61397e2a15..b61b8b56aa 100644 --- a/macros/latex/contrib/media9/pdfbase.sty +++ b/macros/latex/contrib/media9/pdfbase.sty @@ -158,12 +158,12 @@ \RequirePackage{l3keys2e} -\def\g@pbs@date@tl{2021/07/28} -\def\g@pbs@version@tl{0.49} +\def\g@pbs@date@tl{2021/07/29} +\def\g@pbs@version@tl{0.50} \NeedsTeXFormat{LaTeX2e}[2020-10-01] \ProvidesExplPackage{pdfbase}{\g@pbs@date@tl}{\g@pbs@version@tl} -{driver independent access to low-level PDF features} +{driver~independent~access~to~low-level~PDF~features} \int_new:N\g_pbs_page_int %abs. page counter @@ -1083,13 +1083,19 @@ }{ \tl_use:c{scale_{pbs@obj\int_use:N\g_pbs_obj_int}} } - %store dimensions in "dots" units (DPI) + %store content dimensions in DPI units (Dots) \tl_set:Nx\l_pbs_width_tl{ - \dim_to_decimal:n{\box_wd:N#5}~72.27~div~Resolution~mul~} + \dim_to_decimal_in_sp:n{\box_wd:N#5}~65536~div~72.27~div~DVImag~mul~ + Resolution~mul~ + } \tl_set:Nx\l_pbs_height_tl{ - \dim_to_decimal:n{\box_ht:N#5}~72.27~div~VResolution~mul~} + \dim_to_decimal_in_sp:n{\box_ht:N#5}~65536~div~72.27~div~DVImag~mul~ + VResolution~mul~ + } \tl_set:Nx\l_pbs_depth_tl{ - \dim_to_decimal:n{\box_dp:N#5}~72.27~div~VResolution~mul~} + \dim_to_decimal_in_sp:n{\box_dp:N#5}~65536~div~72.27~div~DVImag~mul~ + VResolution~mul~ + } %additional dict entries \tl_set:Nx\l_tmpa_tl{#4} \tl_trim_spaces:N\l_tmpa_tl \pbs_special:n{ @@ -1122,29 +1128,36 @@ %distill graphics to XObject mark~ /_objdef~{pbs@obj\int_use:N\g_pbs_obj_int}~ - /BBox~[ - isls { - landplus90 { - % geometry with landscape - \l_pbs_height_tl~neg~\l_pbs_width_tl~\l_pbs_depth_tl~0 + /BBox~[ % rotated BBoxes; o = reference point = origin (0,0), + isls { % x = top-left page corner, vert. coord downwards positive + landplus90 { % x----o-+ + % geometry with landscape | | | + \l_pbs_height_tl~neg~ % llx | | | + \l_pbs_width_tl~ % lly | | | + \l_pbs_depth_tl~0 % urx ury +----+-+ }{ - % landscape as class option - \l_pbs_depth_tl~neg~0~\l_pbs_height_tl~\l_pbs_width_tl~neg - } ifelse + % landscape as class option x-+----+ + \l_pbs_depth_tl~neg~0~ % llx lly | | | + \l_pbs_height_tl~ % urx | | | + \l_pbs_width_tl~neg % ury | | | + } ifelse % +-o----+ }{ - % portrait - 0~\l_pbs_height_tl~\l_pbs_width_tl~\l_pbs_depth_tl~neg - } ifelse - ] + % portrait x----------+ + 0~\l_pbs_height_tl~ % llx lly | | + \l_pbs_width_tl~ % urx o----------+ + \l_pbs_depth_tl~neg % ury | | + } ifelse % | | + ] % +----------+ %insert additional dict entries (the Distiller way) \str_if_eq:eeF{\l_tmpa_tl}{}{ product~(Distiller)~search~{pop~pop~pop~\l_tmpa_tl}{pop}ifelse~ } /BP~pdfmark~grestore~ - % content transformations required for appearances - { - pbs@curx~pbs@cury~2~copy~translate~1~-1~scale~ - isls {90~landplus90 {neg} if~rotate} if~ + % content transformations required for appearances, cf. BBox + { % orientations above + pbs@curx~pbs@cury~2~copy~translate~1~ + -1~scale~ % upside-down (mirrored) + isls {90~landplus90 {neg} if~rotate} if~ % rotated neg~exch~neg~exch~translate }?pdfmark } @@ -1509,8 +1522,8 @@ \RequirePackage{l3keys2e} -\def\g@pbs@date@tl{2021/07/28} -\def\g@pbs@version@tl{0.49} +\def\g@pbs@date@tl{2021/07/29} +\def\g@pbs@version@tl{0.50} \NeedsTeXFormat{LaTeX2e}[2020-10-01] \ProvidesExplPackage{pdfbase}{\g@pbs@date@tl}{\g@pbs@version@tl} @@ -1607,7 +1620,7 @@ \bool_if:NF\g_pbs_dvisvgm_bool{\bool_gset_true:N\g_pbs_dvipdfmx_bool} } -% writing to core objects in the PDF, using the new +% writing to core objects in the PDF, using the new % pdfmanagement interface \cs_new_protected_nopar:Nn\pbs_appendtofields:n{ \pdfmanagement_add:nnx{Catalog/AcroForm}{Fields}{#1} @@ -2384,13 +2397,19 @@ }{ \tl_use:c{scale_{pbs@obj\int_use:N\g_pbs_obj_int}} } - %store dimensions (in "dots" units) + %store content dimensions in DPI units (Dots) \tl_set:Nx\l_pbs_width_tl{ - \dim_to_decimal:n{\box_wd:N#5}~72.27~div~Resolution~mul~} + \dim_to_decimal_in_sp:n{\box_wd:N#5}~65536~div~72.27~div~DVImag~mul~ + Resolution~mul~ + } \tl_set:Nx\l_pbs_height_tl{ - \dim_to_decimal:n{\box_ht:N#5}~72.27~div~VResolution~mul~} + \dim_to_decimal_in_sp:n{\box_ht:N#5}~65536~div~72.27~div~DVImag~mul~ + VResolution~mul~ + } \tl_set:Nx\l_pbs_depth_tl{ - \dim_to_decimal:n{\box_dp:N#5}~72.27~div~VResolution~mul~} + \dim_to_decimal_in_sp:n{\box_dp:N#5}~65536~div~72.27~div~DVImag~mul~ + VResolution~mul~ + } %additional dict entries \tl_set:Nx\l_tmpa_tl{#4} \tl_trim_spaces:N\l_tmpa_tl \pbs_special:n{ @@ -2423,29 +2442,36 @@ %distill graphics to XObject mark~ /_objdef~{pbs@obj\int_use:N\g_pbs_obj_int}~ - /BBox~[ - isls { - landplus90 { - % geometry with landscape - \l_pbs_height_tl~neg~\l_pbs_width_tl~\l_pbs_depth_tl~0 + /BBox~[ % rotated BBoxes; o = reference point = origin (0,0), + isls { % x = top-left page corner, vert. coord downwards positive + landplus90 { % x----o-+ + % geometry with landscape | | | + \l_pbs_height_tl~neg~ % llx | | | + \l_pbs_width_tl~ % lly | | | + \l_pbs_depth_tl~0 % urx ury +----+-+ }{ - % landscape as class option - \l_pbs_depth_tl~neg~0~\l_pbs_height_tl~\l_pbs_width_tl~neg - } ifelse + % landscape as class option x-+----+ + \l_pbs_depth_tl~neg~0~ % llx lly | | | + \l_pbs_height_tl~ % urx | | | + \l_pbs_width_tl~neg % ury | | | + } ifelse % +-o----+ }{ - % portrait - 0~\l_pbs_height_tl~\l_pbs_width_tl~\l_pbs_depth_tl~neg - } ifelse - ] + % portrait x----------+ + 0~\l_pbs_height_tl~ % llx lly | | + \l_pbs_width_tl~ % urx o----------+ + \l_pbs_depth_tl~neg % ury | | + } ifelse % | | + ] % +----------+ %insert additional dict entries (the Distiller way) \str_if_eq:eeF{\l_tmpa_tl}{}{ product~(Distiller)~search~{pop~pop~pop~\l_tmpa_tl}{pop}ifelse~ } /BP~pdfmark~grestore~ - % content transformations required for appearances - { - pbs@curx~pbs@cury~2~copy~translate~1~-1~scale~ - isls {90~landplus90 {neg} if~rotate} if~ + % content transformations required for appearances, cf. BBox + { % orientations above + pbs@curx~pbs@cury~2~copy~translate~1~ + -1~scale~ % upside-down (mirrored) + isls {90~landplus90 {neg} if~rotate} if~ % rotated neg~exch~neg~exch~translate }?pdfmark } diff --git a/macros/latex/contrib/spbmark/spbmark.pdf b/macros/latex/contrib/spbmark/spbmark.pdf index f1e0305048..b166f95802 100644 Binary files a/macros/latex/contrib/spbmark/spbmark.pdf and b/macros/latex/contrib/spbmark/spbmark.pdf differ diff --git a/macros/latex/contrib/spbmark/spbmark.sty b/macros/latex/contrib/spbmark/spbmark.sty index 3a35bcd11f..56c06b6d0a 100644 --- a/macros/latex/contrib/spbmark/spbmark.sty +++ b/macros/latex/contrib/spbmark/spbmark.sty @@ -9,7 +9,7 @@ % https://creativecommons.org/licenses/by/4.0/legalcode \NeedsTeXFormat{LaTeX2e}[2018/12/31] \RequirePackage{xparse,l3keys2e} -\ProvidesExplPackage{spbmark}{2021/07/28}{1.08} +\ProvidesExplPackage{spbmark}{2021/07/29}{1.1} {Customize superscripts and subscripts} \cs_new_protected:Npn \spb_define:n { \keys_define:nn { spbmark } } @@ -59,8 +59,18 @@ { \hbox_to_zero:n { \hss #1\hss } } \cs_new:Npn \spb_boxa_move_up:n #1 { \box_move_up:nn {#1} { \box_use:N \l_tmpa_box } } +\cs_new:Npn \spb_boxa_move_down:n #1 + { \box_move_down:nn {#1} { \box_use:N \l_tmpa_box } } \cs_new:Npn \spb_boxb_move_down:n #1 { \box_move_down:nn {#1} { \box_use:N \l_tmpb_box } } +\cs_new:Npn \spb_boxa_vshift:nn #1 + { + \str_case:nn {#1} + { + { super } { \spb_boxa_move_up:n } + { sub } { \spb_boxa_move_down:n } + } + } \cs_new:Npn \spb_hbox_overlap_vshift:n #1#2 { \use:c { hbox_overlap_#2:n } { \spb_boxa_move_up:n {#1} } @@ -78,13 +88,15 @@ } \cs_new:Npn \spb_math_print_store:nnnn #1#2#3#4 { - \hbox_set:Nn \l_tmpa_box { \ensuremath{#1{\spb@sp@save{#2}}} } - \hbox_set:Nn \l_tmpb_box { \ensuremath{#3{\spb@sb@save{#4}}} } + \hbox_set:Nn \l_tmpa_box { \ensuremath{#1{\spb@sp@save{#3}}} } + \hbox_set:Nn \l_tmpb_box + { \ensuremath{\tl_if_novalue:nF {#2} {#2}{\spb@sb@save{#4}}} } } \cs_new:Npn \spb_text_print_store:nnnn #1#2#3#4 { - \hbox_set:Nn \l_tmpa_box { #1{\spb@textsuperscript@save{#2}} } - \hbox_set:Nn \l_tmpb_box { #3{\spb@textsubscript@save{#4}} } + \hbox_set:Nn \l_tmpa_box { #1{\spb@textsuperscript@save{#3}} } + \hbox_set:Nn \l_tmpb_box + { \tl_if_novalue:nF {#2} {#2}{\spb@textsubscript@save{#4}} } } \cs_set_eq:NN \spb@textsuperscript@save \textsuperscript \cs_set_eq:NN \spb@textsubscript@save \textsubscript @@ -139,12 +151,12 @@ \hbox_overlap_left:n { \hbox_to_wd:nn { \l__spb_boxa_wd_tl - ##6 } - { \spb_boxa_move_up:n {##2}\hss } + { \spb_boxa_vshift:nn {#1} {##2}\hss } } } { \hbox_to_wd:nn { \l__spb_boxa_wd_tl + ##6 } - { \hss\spb_boxa_move_up:n {##2} } + { \hss\spb_boxa_vshift:nn {#1} {##2} } } } \spb_box_ht_dp_assign:nn ##3 @@ -154,18 +166,21 @@ \NewDocumentCommand{\supersub} { sO{\l__spb_supersub_script_sep_dim} - O{\l__spb_supersub_script_align_tl} - D(){\l__spb_super_script_formatii_tl}mm - O{\l__spb_supersub_script_hshift_dim} - D(){\l__spb_sub_script_formatii_tl} + D(){\l__spb_supersub_script_align_tl} + mmO{\l__spb_supersub_script_hshift_dim} + >{\SplitArgument{1}{,}}D() + { + \l__spb_super_script_formatii_tl, + \l__spb_sub_script_formatii_tl + } } { \IfBooleanTF{#1} - {\spb_math_print_store:nnnn {#4} {#5} {#8} {#6}} + {\spb_math_print_store:nnnn #7 {#4} {#5}} { \mode_if_math:TF - { \spb_math_print_store:nnnn {#4} {#5} {#8} {#6} } - { \spb_text_print_store:nnnn {#4} {#5} {#8} {#6} } + { \spb_math_print_store:nnnn #7 {#4} {#5} } + { \spb_text_print_store:nnnn #7 {#4} {#5} } } \str_case:onF {#3} { @@ -178,54 +193,54 @@ \use_i:nnn } { - \dim_compare:nNnTF {#7} < { 0pt } + \dim_compare:nNnTF {#6} < { 0pt } { \hbox_overlap_left:n { \spb_hbox_overlap_vshift:n {#2} { right } - \skip_horizontal:n { -#7 } + \skip_horizontal:n { -#6 } } } { \hbox:n { - \skip_horizontal:n {#7} + \skip_horizontal:n {#6} \spb_hbox_overlap_vshift:n {#2} { right } \skip_horizontal:n { \l__spb_box_max_wd_tl } } } } { - \dim_compare:nNnTF {#7} < { 0pt } + \dim_compare:nNnTF {#6} < { 0pt } { \hbox_overlap_left:n { \spb_hbox_overlap_vshift:n {#2} { center } - \skip_horizontal:n { \l__spb_box_max_wd_tl/2 - #7 } + \skip_horizontal:n { \l__spb_box_max_wd_tl/2 - #6 } } } { \hbox:n { - \skip_horizontal:n { \l__spb_box_max_wd_tl/2 + #7 } + \skip_horizontal:n { \l__spb_box_max_wd_tl/2 + #6 } \spb_hbox_overlap_vshift:n {#2} { center } \skip_horizontal:n { \l__spb_box_max_wd_tl/2 } } } } { - \dim_compare:nNnTF {#7} < { 0pt } + \dim_compare:nNnTF {#6} < { 0pt } { \hbox_overlap_left:n { \spb_hbox_overlap_vshift:n {#2} { left } - \skip_horizontal:n { -#7 } + \skip_horizontal:n { -#6 } } } { \hbox:n { - \skip_horizontal:n { \l__spb_box_max_wd_tl + #7 } + \skip_horizontal:n { \l__spb_box_max_wd_tl + #6 } \spb_hbox_overlap_vshift:n {#2} { left } } } diff --git a/macros/latex/contrib/spbmark/spbmark.tex b/macros/latex/contrib/spbmark/spbmark.tex index 52d32744ce..b755e565e7 100644 --- a/macros/latex/contrib/spbmark/spbmark.tex +++ b/macros/latex/contrib/spbmark/spbmark.tex @@ -6,8 +6,8 @@ { package = spbmark, title = the spbmark package, - version = v1.08, - date = 2021/07/28, + version = v1.1, + date = 2021/07/29, authors = Qu Yi, info = Customize superscript and subscript, email = quee123@foxmail.com, @@ -28,7 +28,7 @@ {% \ensuremath{\langle}% \textcolor{meta}{\argumentformat #1}% - \ensuremath{\rangle,\langle}% + \ensuremath{\rangle},\ensuremath{\langle}% \textcolor{meta}{\argumentformat #2}% \ensuremath{\rangle}% } @@ -41,6 +41,7 @@ {\item\code{\option{#1}\cnltx@isvalue\splitmarg{#2}{#3}}} \newsplitarg{\splitoarg}{[}{]} \newsplitarg{\splitmarg}{\{}{\}} +\newsplitarg{\splitdarg}{(}{)} \makeatother \begin{document} @@ -49,7 +50,7 @@ \label{sec:macro package options} \begin{options} \opt{ctex}\Default! - This option works with the C\TeX{} document class used by simplified Chinese users, there's actually no functional change. Adding path \option*{style} to \cs*{ctexset} command, which is equivalent to using \cs{spbset}. + This option works with the C\TeX{} document class used by simplified Chinese users, there's actually no functional change. Adding path \module*{style} to \cs*{ctexset} command, which is equivalent to using \cs{spbset}. \keybool{newsupb}\Default{true} \option{newsupb} is a boolean option with a default value of true that redefines the \LaTeX{} kernel commands to cause \cs{sp} and \cs{textsuperscript} are equivalent to \cs{super} command, and \cs{sb} and \cs{textsubscript} are equivalent to \cs{sub} command. \end{options} @@ -61,8 +62,8 @@ There are currently three commands to set superscript and subscript. Their forma This is a superscript output command. If \meta{vshift} or \meta{hshift} is a positive value, the superscript moves up or to the right, if it's negative, the superscript moves down or to the left. \command{sub}[\sarg\oarg{vshift}\splitoarg{height}{depth}\darg{code}\marg{content}\oarg{hshift}] This is a subscript output command. If \meta{vshift} or \meta{hshift} is a positive value, the subscript moves down or to the right, if it's negative, the subscript moves up or to the left. - \command{supersub}[\sarg\oarg{vsep}\oarg{align}\darg{sup code}\marg{sup cont}\marg{sub cont}\oarg{hshift}\darg{sub code}] - This is a command that outputs both superscript and subscript at the same time. The \meta{vsep} represents the vertical spacing between superscript and subscript, same as option \option{supersubsep}. The parameters of \meta{align} are the same as the \option{supersubalign}. + \command{supersub}[\sarg\oarg{vsep}\darg{align}\marg{sup cont}\marg{sub cont}\oarg{hshift}\splitdarg{sup code}{sub code}] + This is a command that outputs both superscript and subscript at the same time. You can also use the shorter command \cs{spb} instead of it. The \meta{vsep} represents the vertical spacing between superscript and subscript, same as option \option{supersubsep}. The parameters of \meta{align} are the same as the \option{supersubalign}. \end{commands} These commands can match the corresponding pattern depending on whether they are currently in text mode or mathematical mode, or they can use an asterisk variant to force the mathematical pattern. @@ -79,7 +80,7 @@ If you need to use the original definitions of \cs{textsuperscript}, \cs{textsub Save the original definition of the \cs{textsubscript} command, output subscript in the text. \command{spb@sp@save}[\marg{content}] Save the original definition of the \cs{sp} command, output superscript in the math mode. - \command{spb@sbt@save}[\marg{content}] + \command{spb@sb@save}[\marg{content}] Save the original definition of the \cs{sb} command, output subscript in the math mode. \end{commands} @@ -112,10 +113,10 @@ The following list of keys control the format of superscript and subscript. They Extra vertical shift of the superscript and the subscript. \kvsplit{supersub-format}{super code}{sub code}\Default{0pt} Control the format of superscript or subscript. The first part is in superscript format, and the latter part is in subscript format. The two are separated by commas, or only the first part exists. - \keyval{supersubsep}{rubber length}\Default{0.3ex} + \keyval{supersubsep}{fixed length}\Default{0.3ex} The distance between superscript and subscript, its default value is \code{0.3ex}. \keychoice{supersubalign}{l,c,r}\Default{l} - The alignment of superscript and subscript, which contains \option*{l}, \option*{c}, and \option*{r} parameters respectively for left, center, and right alignment. + The alignment of superscript and subscript, which contains \code{l}, \code{c}, and \code{r} parameters respectively for left, center, and right alignment. \end{options} \section{Examples of use} @@ -124,14 +125,14 @@ Here is a list of the three commands, please pay attention to the delimiter and \spbset{supersub-format = {\ttfamily,\color{blue}}} A\super[0.2ex](\textcolor{red}){exam}[0.2em]B \\ $A\sub(\mathsf){exam}B$ \\ -A\supersub[0.3ex][c]{examsuper}{sub}B \\ -A\super[5pt]{c}[-1.5pt]B\sub[-5pt]{d}[-1pt]AB +A\supersub[0.3ex](c){examsuper}{sub}B \\ +A\super[5pt]{c}[-1.5pt]B\sub[5pt]{d}[-1pt]AB \end{example} It can also be used with the \pkg*{siunitx} package to output superscript and subscript in the unit: \begin{example} \unit[mode = math]{kg.m/s\super*[-1pt]{2}} \\ -\qty[mode = text]{30}{A\supersub(\color{red}){b}{c}[1pt]} \\ +\qty[mode = text]{30}{A\supersub{b}{c}[1pt](\color{red})} \\ \spbset{sub-hshift = 2pt}\unit[mode = text]{A_b} \end{example} -- cgit v1.2.3