diff options
Diffstat (limited to 'Master/texmf-dist/tex/lualatex/piton/piton.sty')
-rw-r--r-- | Master/texmf-dist/tex/lualatex/piton/piton.sty | 42 |
1 files changed, 30 insertions, 12 deletions
diff --git a/Master/texmf-dist/tex/lualatex/piton/piton.sty b/Master/texmf-dist/tex/lualatex/piton/piton.sty index 28a9c2148a9..a6e37299a30 100644 --- a/Master/texmf-dist/tex/lualatex/piton/piton.sty +++ b/Master/texmf-dist/tex/lualatex/piton/piton.sty @@ -19,8 +19,8 @@ %% LaTeX version 2005/12/01 or later. %% ------------------------------------------- %% -\def\PitonFileVersion{2.7a} -\def\PitonFileDate{2024/03/30} +\def\PitonFileVersion{2.8} +\def\PitonFileDate{2024/04/14} \NeedsTeXFormat{LaTeX2e} @@ -171,7 +171,7 @@ \str_new:N \l_piton_language_str \str_set:Nn \l_piton_language_str { python } \tl_new:N \g_piton_last_code_tl -\str_new:N \l__piton_path_str +\seq_new:N \l__piton_path_seq \str_new:N \l__piton_path_write_str \bool_new:N \l__piton_in_PitonOptions_bool \bool_new:N \l__piton_in_PitonInputFile_bool @@ -537,8 +537,15 @@ language .code:n = \str_set:Nx \l_piton_language_str { \str_lowercase:n { #1 } } , language .value_required:n = true , - path .str_set:N = \l__piton_path_str , + path .code:n = + \seq_clear:N \l__piton_path_seq + \clist_map_inline:nn { #1 } + { + \str_set:Nn \l_tmpa_str { ##1 } + \seq_put_right:No \l__piton_path_seq \l_tmpa_str + } , path .value_required:n = true , + path .initial:n = . , path-write .str_set:N = \l__piton_path_write_str , path-write .value_required:n = true , gobble .int_set:N = \l__piton_gobble_int , @@ -994,20 +1001,31 @@ { \keys_set:nn { PitonOptions } { #1 } } { } } -\NewDocumentCommand { \PitonInputFile } { d < > O { } m } +\NewDocumentCommand { \PitonInputFileTF } { d < > O { } m m m } { \group_begin: - \tl_if_empty:NTF \l__piton_path_str - { \str_set:Nn \l__piton_file_name_str { #3 } } + \bool_set_false:N \l_tmpa_bool + \seq_map_inline:Nn \l__piton_path_seq { - \str_set_eq:NN \l__piton_file_name_str \l__piton_path_str - \str_put_right:Nn \l__piton_file_name_str { / #3 } + \str_set:Nn \l__piton_file_name_str { ##1 / #3 } + \file_if_exist:nT { \l__piton_file_name_str } + { + \__piton_input_file:nn { #1 } { #2 } + \bool_set_true:N \l_tmpa_bool + \seq_map_break: + } } - \file_if_exist:nTF { \l__piton_file_name_str } - { \__piton_input_file:nn { #1 } { #2 } } - { \msg_error:nnn { piton } { Unknown~file } { #3 } } + \bool_if:NTF \l_tmpa_bool { #4 } { #5 } \group_end: } +\cs_new_protected:Npn \__piton_unknown_file:n #1 + { \msg_error:nnn { piton } { Unknown~file } { #1 } } +\NewDocumentCommand { \PitonInputFile } { d < > O { } m } + { \PitonInputFileTF < #1 > [ #2 ] { #3 } { } { \__piton_unknown_file:n { #3 } } } +\NewDocumentCommand { \PitonInputFileT } { d < > O { } m m } + { \PitonInputFileTF < #1 > [ #2 ] { #3 } { #4 } { \__piton_unknown_file:n { #3 } } } +\NewDocumentCommand { \PitonInputFileF } { d < > O { } m m } + { \PitonInputFileTF < #1 > [ #2 ] { #3 } { } { #4 } } \cs_new_protected:Npn \__piton_input_file:nn #1 #2 { \tl_if_novalue:nF { #1 } |