2 % lltjp-siunitx.sty 2022-12-14
5 \NeedsTeXFormat{LaTeX2e}
7 \RequirePackage{siunitx}
10 \cs_if_exist:NTF \siunitx_print_text:n {% siunitx v3.00
11 \cs_set_protected:Npn \siunitx_print_text:n #1
15 \ltj@allalchar % <--- LuaTeX-ja
16 \bool_if:NT \l__siunitx_print_text_family_bool
18 \fontfamily { \familydefault }
21 \bool_if:NT \l__siunitx_print_text_series_bool
23 \fontseries { \seriesdefault }
26 \bool_if:NT \l__siunitx_print_text_shape_bool
28 \fontshape { \shapedefault }
31 \__siunitx_print_text_replace:n {#1}
34 \cs_set_eq:NN \ltj_orig__siunitx_table_collect_begin:w \__siunitx_table_collect_begin:w
35 \cs_set_protected:Npn \__siunitx_table_collect_begin:w #1 \relax
36 { \ltj_orig__siunitx_table_collect_begin:w }
37 \RenewDocumentCommand \tablenum { O { } m }
41 \keys_set:nn { siunitx } {#1}
43 \relax \ignorespaces #2
49 \cs_generate_variant:Nn \tl_if_in:NnT { coT }
50 \cs_new:Nn \__ltj_siunix_patch_inner:n {
51 \cs_if_exist:cT { #1_tl } {
52 \tl_if_in:coT { #1_tl } { \tex_char:D } {
53 \tl_replace_all:cnn { #1_tl } { \tex_char:D } { \ltjalchar }
57 \cs_new:Nn \__ltj_siunix_patch_inner_math:n {
58 \__ltj_siunix_patch_inner:n { l__siunitx_#1_math }
59 \__ltj_siunix_patch_inner:n { l__siunitx_#1_text }
62 \__ltj_siunix_patch_inner:n { c__siunitx_minus }
63 \__ltj_siunix_patch_inner:n { c__siunitx_mu }
64 \__ltj_siunix_patch_inner_math:n { angstrom }
65 \__ltj_siunix_patch_inner_math:n { arcminute }
66 \__ltj_siunix_patch_inner_math:n { arcsecond }
67 \__ltj_siunix_patch_inner_math:n { ohm }
70 %%%% new table column: S and s
71 \bool_new:N \l__ltj_siunitx_table_collect_relax_bool
72 \cs_set_protected:Npn \__siunitx_table_collect_begin_s: {
73 \bool_set_false:N \l__ltj_siunitx_table_collect_relax_bool
74 \cs_set_eq:NN \__siunitx_table_collect_token:N
75 \__siunitx_table_collect_token_s:N
76 \cs_set_eq:NN \__siunitx_table_print: \__siunitx_table_print_s:
77 \__siunitx_table_collect_init_s:
78 \__siunitx_table_collect_get:
81 \cs_set_protected:Npn \__siunitx_table_collect_not_braced:N #1
83 \token_if_eq_meaning:NNTF #1 \tex_relax:D {
84 \bool_if:NTF \l__ltj_siunitx_table_collect_relax_bool {
85 \__siunitx_table_collect_not_braced_aux_i:N #1
87 \bool_set_true:N \l__ltj_siunitx_table_collect_relax_bool
90 \token_if_eq_meaning:NNF #1 \ltjfakeboxbdd {
91 \token_if_eq_meaning:NNF #1 \pltx@next@inhibitglue {
92 \token_if_eq_meaning:NNF #1 \tex_ignorespaces:D
94 \token_if_eq_meaning:NNF #1 \tex_unskip:D
95 { \__siunitx_table_collect_not_braced_aux_i:N #1 }
98 \__siunitx_table_collect_next:
103 \@ifpackageloaded { mdwtab }
105 \cs_set_protected:Npn \__siunitx_table_collect_not_braced:N #1
107 \token_if_eq_meaning:NNTF #1 \tex_relax:D {
108 \bool_if:NTF \l__ltj_siunitx_table_collect_relax_bool {
109 \__siunitx_table_collect_not_braced_aux_i:N #1
111 \bool_set_true:N \l__ltj_siunitx_table_collect_relax_bool
114 \token_if_eq_meaning:NNF #1 \ltjfakeboxbdd {
115 \token_if_eq_meaning:NNF #1 \pltx@next@inhibitglue {
116 \token_if_eq_meaning:NNF #1 \tex_ignorespaces:D
118 \token_if_eq_meaning:NNF #1 \tex_unskip:D
120 \token_if_eq_meaning:NNF #1 \tab@setcr
122 \token_if_eq_meaning:NNF #1 \@maybe@unskip
123 { \__siunitx_table_collect_not_braced_aux_i:N #1 }
128 \__siunitx_table_collect_next: