2 % lltjp-siunitx.sty 2022-12-12
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 }
38 \cs_if_exist:NT \TblrNum
39 { \RenewDocumentCommand \TblrNum { m }
41 \__tblr_siunitx_process:Nn
42 { \cs_set_eq:NN \__siunitx_table_collect_begin:w
43 \ltj_orig__siunitx_table_collect_begin:w
51 \cs_generate_variant:Nn \tl_if_in:NnT { coT }
52 \cs_new:Nn \__ltj_siunix_patch_inner:n {
53 \cs_if_exist:cT { #1_tl } {
54 \tl_if_in:coT { #1_tl } { \tex_char:D } {
55 \tl_replace_all:cnn { #1_tl } { \tex_char:D } { \ltjalchar }
59 \cs_new:Nn \__ltj_siunix_patch_inner_math:n {
60 \__ltj_siunix_patch_inner:n { l__siunitx_#1_math }
61 \__ltj_siunix_patch_inner:n { l__siunitx_#1_text }
64 \__ltj_siunix_patch_inner:n { c__siunitx_minus }
65 \__ltj_siunix_patch_inner:n { c__siunitx_mu }
66 \__ltj_siunix_patch_inner_math:n { angstrom }
67 \__ltj_siunix_patch_inner_math:n { arcminute }
68 \__ltj_siunix_patch_inner_math:n { arcsecond }
69 \__ltj_siunix_patch_inner_math:n { ohm }
72 %%%% new table column: S and s
73 \bool_new:N \l__ltj_siunitx_table_collect_relax_bool
74 \cs_set_protected:Npn \__siunitx_table_collect_begin_s: {
75 \bool_set_false:N \l__ltj_siunitx_table_collect_relax_bool
76 \cs_set_eq:NN \__siunitx_table_collect_token:N
77 \__siunitx_table_collect_token_s:N
78 \cs_set_eq:NN \__siunitx_table_print: \__siunitx_table_print_s:
79 \__siunitx_table_collect_init_s:
80 \__siunitx_table_collect_get:
83 \cs_set_protected:Npn \__siunitx_table_collect_not_braced:N #1
85 \token_if_eq_meaning:NNTF #1 \tex_relax:D {
86 \bool_if:NTF \l__ltj_siunitx_table_collect_relax_bool {
87 \__siunitx_table_collect_not_braced_aux_i:N #1
89 \bool_set_true:N \l__ltj_siunitx_table_collect_relax_bool
92 \token_if_eq_meaning:NNF #1 \ltjfakeboxbdd {
93 \token_if_eq_meaning:NNF #1 \pltx@next@inhibitglue {
94 \token_if_eq_meaning:NNF #1 \tex_ignorespaces:D
96 \token_if_eq_meaning:NNF #1 \tex_unskip:D
97 { \__siunitx_table_collect_not_braced_aux_i:N #1 }
100 \__siunitx_table_collect_next:
105 \@ifpackageloaded { mdwtab }
107 \cs_set_protected:Npn \__siunitx_table_collect_not_braced:N #1
109 \token_if_eq_meaning:NNTF #1 \tex_relax:D {
110 \bool_if:NTF \l__ltj_siunitx_table_collect_relax_bool {
111 \__siunitx_table_collect_not_braced_aux_i:N #1
113 \bool_set_true:N \l__ltj_siunitx_table_collect_relax_bool
116 \token_if_eq_meaning:NNF #1 \ltjfakeboxbdd {
117 \token_if_eq_meaning:NNF #1 \pltx@next@inhibitglue {
118 \token_if_eq_meaning:NNF #1 \tex_ignorespaces:D
120 \token_if_eq_meaning:NNF #1 \tex_unskip:D
122 \token_if_eq_meaning:NNF #1 \tab@setcr
124 \token_if_eq_meaning:NNF #1 \@maybe@unskip
125 { \__siunitx_table_collect_not_braced_aux_i:N #1 }
130 \__siunitx_table_collect_next: