From 8066d488b928d94698e8367244c096c3b67dfb46 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sat, 4 Feb 2017 00:24:46 +0000 Subject: xsavebox (3feb17) git-svn-id: svn://tug.org/texlive/trunk@43134 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/latex/xsavebox/xsavebox.sty | 32 ++++++++++++++++------- 1 file changed, 22 insertions(+), 10 deletions(-) (limited to 'Master/texmf-dist/tex/latex/xsavebox') diff --git a/Master/texmf-dist/tex/latex/xsavebox/xsavebox.sty b/Master/texmf-dist/tex/latex/xsavebox/xsavebox.sty index b79d15b222b..7d86868fb2d 100644 --- a/Master/texmf-dist/tex/latex/xsavebox/xsavebox.sty +++ b/Master/texmf-dist/tex/latex/xsavebox/xsavebox.sty @@ -49,8 +49,8 @@ \RequirePackage{pdfbase} %everything with `pbs_' prefix \RequirePackage{l3keys2e} -\def\g@xsb@version@tl{0.3} -\def\g@xsb@date@tl{2017/01/30} +\def\g@xsb@version@tl{0.4} +\def\g@xsb@date@tl{2017/02/03} \ProvidesExplPackage{xsavebox}{\g@xsb@date@tl}{\g@xsb@version@tl} {saveboxes for repeating content without code replication} @@ -97,7 +97,7 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \DeclareDocumentCommand\xsavebox{smO{\width}O{c}m}{ \group_begin: - \int_compare:nT{\TeXXeTstate>\c_zero}{\beginL} + \xsb_beginLTR: \IfBooleanTF{#1}{ %later colour injection possible (pdfTeX, LuaTeX) \hbox_set:Nn\l_xsb_raw_box{\color@begingroup#5\color@endgroup} %raw @@ -133,7 +133,7 @@ }{ \xsb_process_box:nnnN{#2}{\width}{c}\l_xsb_box } - \int_compare:nT{\TeXXeTstate>\c_zero}{\endL} + \xsb_endLTR: \group_end: } @@ -154,7 +154,7 @@ \cs_new_nopar:Nn\xsb_xlrbox:{ \group_begin: - \int_compare:nT{\TeXXeTstate>\c_zero}{\beginL} + \xsb_beginLTR: \hbox_set:Nn\l_xsb_box\bgroup\bgroup \ignorespaces } @@ -164,13 +164,13 @@ \egroup\egroup \sbox\l_xsb_box{\hbox_unpack_clear:N\l_xsb_box} \xsb_process_box:nnnN{#1}{\width}{c}\l_xsb_box - \int_compare:nT{\TeXXeTstate>\c_zero}{\endL} + \xsb_endLTR: \group_end: } \cs_new_nopar:Nn\xsb_xlrbox_star:{ \group_begin: - \int_compare:nT{\TeXXeTstate>\c_zero}{\beginL} + \xsb_beginLTR: \hbox_set:Nn\l_xsb_box\bgroup\color@begingroup \ignorespaces } @@ -179,7 +179,7 @@ \unskip \color@endgroup\egroup \xsb_process_box:nnnN{#1}{\width}{c}\l_xsb_box - \int_compare:nT{\TeXXeTstate>\c_zero}{\endL} + \xsb_endLTR: \group_end: } @@ -206,7 +206,7 @@ \pbs_pdfxform:nnn{1}{0}{#4} %define command for inserting the m-boxed XObject reference \tl_gset:cx{the#1}{ - \exp_not:N\int_compare:nT{\TeXXeTstate>\c_zero}{\beginL} + \exp_not:N\xsb_beginLTR: \exp_not:N\makebox[\l_xsb_new_wd_tl][#3]{ \exp_not:N\hbox_to_wd:nn{\l_xsb_wd_tl}{ \exp_not:N\vrule~width~\c_zero_dim~height~\l_xsb_ht_tl~ @@ -215,9 +215,21 @@ \exp_not:N\pbs_pdfrefxform:n{\pbs_pdflastxform:}\hss } } - \exp_not:N\int_compare:nT{\TeXXeTstate>\c_zero}{\endL} + \exp_not:N\xsb_endLTR: } } \box_new:N\l_xsb_box %for saving the re-aligned content \box_new:N\l_xsb_raw_box %for saving the raw content + +%environment for setting LTR typesetting direction with e-TeX based engines +\cs_new:Nn\xsb_beginLTR:{ + \cs_if_exist:NT\TeXXeTstate{ + \int_compare:nT{\TeXXeTstate>\c_zero}{\beginL} + } +} +\cs_new:Nn\xsb_endLTR:{ + \cs_if_exist:NT\TeXXeTstate{ + \int_compare:nT{\TeXXeTstate>\c_zero}{\endL} + } +} -- cgit v1.2.3