From 38280eae96de3dadef30422111c85a5781b710b7 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Mon, 30 Jan 2023 20:50:15 +0000 Subject: pseudo (30jan23) git-svn-id: svn://tug.org/texlive/trunk@65690 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/latex/pseudo/pseudo.sty | 55 +++++++++++++++++++-------- 1 file changed, 39 insertions(+), 16 deletions(-) (limited to 'Master/texmf-dist/tex') diff --git a/Master/texmf-dist/tex/latex/pseudo/pseudo.sty b/Master/texmf-dist/tex/latex/pseudo/pseudo.sty index 2634ab7d38f..6fd03eca74c 100644 --- a/Master/texmf-dist/tex/latex/pseudo/pseudo.sty +++ b/Master/texmf-dist/tex/latex/pseudo/pseudo.sty @@ -1,6 +1,6 @@ % MIT License % -% Copyright (c) 2019-2022 Magnus Lie Hetland +% Copyright (c) 2019-2023 Magnus Lie Hetland % % Permission is hereby granted, free of charge, to any person obtaining a copy % of this software and associated documentation files (the "Software"), to deal @@ -20,8 +20,8 @@ % OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE % SOFTWARE. % -\def \pseudoversion {1.2.1} -\def \pseudodate {2022/08/23} +\def \pseudoversion {1.2.2} +\def \pseudodate {2023/01/30} \RequirePackage{expl3} \ProvidesExplPackage {pseudo} @@ -143,12 +143,19 @@ \DeclareDocumentCommand \pseudosavelabel { } { \__pseudo_save_label: } -\cs_new:Npn \__pseudo_gsave_as:NN #1 #2 { +\cs_new:Npn \__pseudo_cs_gsave_as:NN #1 #2 { \cs_gset_eq:NN #2 #1 \group_insert_after:N \cs_gset_eq:NN \group_insert_after:N #1 \group_insert_after:N #2 } +\cs_new:Npn \__pseudo_skip_pars:n #1 { + \peek_meaning_remove_ignore_spaces:NTF \par { + \__pseudo_skip_pars:n { #1 } + } { + #1 + } +} \__pseudo_new_cmd:Nnn \nf { } { \normalfont } \__pseudo_new_cmd:Nnn \tn { m } { \textnormal { #1 } } \__pseudo_new_cmd:Nnn \kw { m } { \textnormal {\kwfont { #1 } } } @@ -157,7 +164,7 @@ \cs_new:Npn \__pseudo_b_or_bx: { \group_begin: \cs_if_exist:NT \@defaultsubs { - \__pseudo_gsave_as:NN \@defaultsubs \__pseudo_defaultsubs + \__pseudo_cs_gsave_as:NN \@defaultsubs \__pseudo_defaultsubs \cs_gset_eq:NN \@defaultsubs \relax } \cs_gset:Nn \__pseudo_b_or_bx: { \fontseries{b}\selectfont } @@ -274,6 +281,13 @@ } \ProcessKeysOptions{ pseudo/package } \keys_define:nn { pseudo } { + init .tl_set:N = \l__pseudo_init_tl, + init-append .code:n = { + \tl_put_right:Nn \l__pseudo_init_tl {#1} + }, + init-prepend .code:n = { + \tl_put_left:Nn \l__pseudo_init_tl {#1} + }, font .tl_set:N = \pseudofont, font .initial:n = \normalfont, hpad .meta:n = { @@ -551,15 +565,21 @@ } \NewDocumentCommand \__pseudo_eol_tail { s d<> +O{ } } { \__pseudo_eol_handle_args:nnn{#1}{#2}{#3} - \tl_set:Nx \l_tmpa_tl { - \exp_not:N \tabularnewline [ \l__pseudo_extra_space_tl ] - } - \peek_meaning_ignore_spaces:NTF \end { - \l_tmpa_tl + \dim_compare:nNnTF \l__pseudo_extra_space_tl = { 0pt } { + \tl_set_eq:NN \l_tmpa_tl \tabularnewline } { - \pseudoeol - \l_tmpa_tl - \__pseudo_bol: + \tl_set:Nx \l_tmpa_tl { + \exp_not:N \tabularnewline [ \l__pseudo_extra_space_tl ] + } + } + \__pseudo_skip_pars:n { + \peek_meaning_ignore_spaces:NTF \end { + \l_tmpa_tl + } { + \pseudoeol + \l_tmpa_tl + \__pseudo_bol: + } } } \cs_new:Npn \__pseudo_eol: { @@ -598,8 +618,8 @@ } \NewDocumentEnvironment { pseudo } { +o s d<> +O{ } } { \group_begin: - \__pseudo_gsave_as:NN \\ \c__pseudo_saved_cr_cs - \__pseudo_gsave_as:NN \= \c__pseudo_saved_eq_cs + \__pseudo_cs_gsave_as:NN \\ \c__pseudo_saved_cr_cs + \__pseudo_cs_gsave_as:NN \= \c__pseudo_saved_eq_cs \RestorePseudoEq \int_set:Nn \g__pseudo_last_saved_line_int {\arabic{pseudoline}} \__pseudo_star_setup: @@ -630,6 +650,7 @@ \stepcounter{pseudoenv} \setcounter{pseudoline}{\l__pseudo_start_tl} \addtocounter{pseudoline}{-1} + \tl_use:N \l__pseudo_init_tl \tl_use:N \l__pseudo_begin_tabular_tl \tex_noalign:D { \RestorePseudoBackslash @@ -855,7 +876,9 @@ filled/.style = { \@ifpackageloaded { tcolorbox } { \cs_new:Npn \__pseudo_vmaj:n #1 { \__pseudo_vmaj_aux:w #1 \q_stop } \cs_new:Npn \__pseudo_vmaj_aux:w #1 . #2 \q_stop { #1 } - \tl_set:Nx \l_tmpa_tl { \exp_args:No \__pseudo_vmaj:n \tcb@version } + \tl_set:Nx \l_tmpa_tl { + \exp_args:No \__pseudo_vmaj:n \tcb@version + } \int_compare:nNnT \l_tmpa_tl < 5 { \tcbuselibrary { hooks } \tcbset { -- cgit v1.2.3