summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/plautopatch/plsiunitx.sty
blob: c76efed7bca659f323b039cf70db918757eb0c0d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
%
% 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 2018-11-02)
%
% 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}
  [2018/11/03 v0.1 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
\cs_set_protected:Npn \__siunitx_table_collect_not_braced:N #1
  {
    \token_if_eq_meaning:NNF #1 \relax {
    \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:
  }
\AtBeginDocument
  {
    \@ifpackageloaded { mdwtab }
      {
        \cs_set_protected:Npn \__siunitx_table_collect_not_braced:N #1
          {
            \token_if_eq_meaning:NNF #1 \relax {
            \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
                  {
                    \token_if_eq_meaning:NNF #1 \tab@setcr
                      {
                        \token_if_eq_meaning:NNF #1 \@maybe@unskip
                          { \__siunitx_table_collect_not_braced_aux_i:N #1 }
                      }
                  }
              }
            }}}
            \__siunitx_table_collect_next:
          }
      }
      { }
  }
}% =
%
%% done

\ExplSyntaxOff

\endinput