diff options
Diffstat (limited to 'macros/jptex/latex/plautopatch/plsiunitx.sty')
-rw-r--r-- | macros/jptex/latex/plautopatch/plsiunitx.sty | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/macros/jptex/latex/plautopatch/plsiunitx.sty b/macros/jptex/latex/plautopatch/plsiunitx.sty new file mode 100644 index 0000000000..f4041287d5 --- /dev/null +++ b/macros/jptex/latex/plautopatch/plsiunitx.sty @@ -0,0 +1,71 @@ +% +% plsiunitx.sty +% written by Hironobu Yamashita (@aminophen) +% +% This package is part of the plautopatch bundle. +% https://github.com/aminophen/plautopatch +% (mostly based on lltjp-siunitx.sty 2019-06-06) +% +% This package is expected to be compatible with +% * siunitx.sty +% (????/??/?? v?.?? -- 2018/05/17 v2.7s) +% * plarray.sty in platex-tools +% (2018/03/01 v0.1d -- 2018/10/27 v0.1h) +% + +%% package declaration +\NeedsTeXFormat{pLaTeX2e} +\ProvidesPackage{plsiunitx} + [2019/06/06 v0.3 siunitx package for pLaTeX/upLaTeX] +\RequirePackageWithOptions{siunitx} +\RequirePackage{plarray}% siunitx requires array + +\ExplSyntaxOn + +%% patching internal code for siunitx.sty +% +%% inhibit JFM glue around tabular cell components (pLaTeX2e 2018/03/09) +\@ifl@t@r{\pfmtversion}{2017/07/29}{\@firstofone}{\@gobble} +{% = for pLaTeX2e 2017/07/29 or newer +% +%% new table column: S and s +\bool_new:N \l__platpc_siunitx_table_collect_relax_bool +\cs_set_protected:Npn \__siunitx_table_collect_begin_s: { + \bool_set_false:N \l__platpc_siunitx_table_collect_relax_bool + \cs_set_eq:NN \__siunitx_table_collect_token:N + \__siunitx_table_collect_token_s:N + \cs_set_eq:NN \__siunitx_table_print: \__siunitx_table_print_s: + \__siunitx_table_collect_init_s: + \__siunitx_table_collect_get: +} +% +\@ifpackageloaded{mdwtab}{}{% + \cs_set_protected:Npn \__siunitx_table_collect_not_braced:N #1 + { + \token_if_eq_meaning:NNTF #1 \tex_relax:D { + \bool_if:NTF \l__platpc_siunitx_table_collect_relax_bool { + \__siunitx_table_collect_not_braced_aux_i:N #1 + } { + \bool_set_true:N \l__platpc_siunitx_table_collect_relax_bool + } + } { + \token_if_eq_meaning:NNF #1 \pltx@next@inhibitglue { + \token_if_eq_meaning:NNF #1 \removejfmglue { + \token_if_eq_meaning:NNF #1 \tex_ignorespaces:D + { + \token_if_eq_meaning:NNF #1 \tex_unskip:D + { \__siunitx_table_collect_not_braced_aux_i:N #1 } + } + }} + } + \__siunitx_table_collect_next: + } + } +% +}% = +% +%% done + +\ExplSyntaxOff + +\endinput |