diff options
18 files changed, 124 insertions, 18 deletions
diff --git a/Master/texmf-dist/doc/latex/xpackages/xbase/ldcsetup.pdf b/Master/texmf-dist/doc/latex/xpackages/xbase/ldcsetup.pdf Binary files differindex 61c6bc93b49..46ddb3af2d7 100644 --- a/Master/texmf-dist/doc/latex/xpackages/xbase/ldcsetup.pdf +++ b/Master/texmf-dist/doc/latex/xpackages/xbase/ldcsetup.pdf diff --git a/Master/texmf-dist/doc/latex/xpackages/xbase/template.pdf b/Master/texmf-dist/doc/latex/xpackages/xbase/template.pdf Binary files differindex e495e035e32..e0658ab2cfc 100644 --- a/Master/texmf-dist/doc/latex/xpackages/xbase/template.pdf +++ b/Master/texmf-dist/doc/latex/xpackages/xbase/template.pdf diff --git a/Master/texmf-dist/doc/latex/xpackages/xbase/xparse.pdf b/Master/texmf-dist/doc/latex/xpackages/xbase/xparse.pdf Binary files differindex 24747af109e..cac2713ab39 100644 --- a/Master/texmf-dist/doc/latex/xpackages/xbase/xparse.pdf +++ b/Master/texmf-dist/doc/latex/xpackages/xbase/xparse.pdf diff --git a/Master/texmf-dist/doc/latex/xpackages/xbase/xtemplate.pdf b/Master/texmf-dist/doc/latex/xpackages/xbase/xtemplate.pdf Binary files differindex de314bc0fcc..602171eabae 100644 --- a/Master/texmf-dist/doc/latex/xpackages/xbase/xtemplate.pdf +++ b/Master/texmf-dist/doc/latex/xpackages/xbase/xtemplate.pdf diff --git a/Master/texmf-dist/doc/latex/xpackages/xcoffins/l3coffins.pdf b/Master/texmf-dist/doc/latex/xpackages/xcoffins/l3coffins.pdf Binary files differindex 120c741b297..cea7c8213a9 100644 --- a/Master/texmf-dist/doc/latex/xpackages/xcoffins/l3coffins.pdf +++ b/Master/texmf-dist/doc/latex/xpackages/xcoffins/l3coffins.pdf diff --git a/Master/texmf-dist/doc/latex/xpackages/xcoffins/xcoffins.pdf b/Master/texmf-dist/doc/latex/xpackages/xcoffins/xcoffins.pdf Binary files differindex 962c02a587d..1efc45c081d 100644 --- a/Master/texmf-dist/doc/latex/xpackages/xcoffins/xcoffins.pdf +++ b/Master/texmf-dist/doc/latex/xpackages/xcoffins/xcoffins.pdf diff --git a/Master/texmf-dist/doc/latex/xpackages/xhead/xhead.pdf b/Master/texmf-dist/doc/latex/xpackages/xhead/xhead.pdf Binary files differindex 3918fe303cc..a1cd0c615b7 100644 --- a/Master/texmf-dist/doc/latex/xpackages/xhead/xhead.pdf +++ b/Master/texmf-dist/doc/latex/xpackages/xhead/xhead.pdf diff --git a/Master/texmf-dist/doc/latex/xpackages/xtras/l3keys2e.pdf b/Master/texmf-dist/doc/latex/xpackages/xtras/l3keys2e.pdf Binary files differindex e5612c59a58..68746b10821 100644 --- a/Master/texmf-dist/doc/latex/xpackages/xtras/l3keys2e.pdf +++ b/Master/texmf-dist/doc/latex/xpackages/xtras/l3keys2e.pdf diff --git a/Master/texmf-dist/doc/latex/xpackages/xbase/template-test.tex b/Master/texmf-dist/source/latex/xpackages/xbase/template-test.tex index 5684ce7a90f..5684ce7a90f 100644 --- a/Master/texmf-dist/doc/latex/xpackages/xbase/template-test.tex +++ b/Master/texmf-dist/source/latex/xpackages/xbase/template-test.tex diff --git a/Master/texmf-dist/doc/latex/xpackages/xbase/template-test2.tex b/Master/texmf-dist/source/latex/xpackages/xbase/template-test2.tex index 489e9f2304a..489e9f2304a 100644 --- a/Master/texmf-dist/doc/latex/xpackages/xbase/template-test2.tex +++ b/Master/texmf-dist/source/latex/xpackages/xbase/template-test2.tex diff --git a/Master/texmf-dist/doc/latex/xpackages/xbase/tprestrict-test.tex b/Master/texmf-dist/source/latex/xpackages/xbase/tprestrict-test.tex index d981888d450..d981888d450 100644 --- a/Master/texmf-dist/doc/latex/xpackages/xbase/tprestrict-test.tex +++ b/Master/texmf-dist/source/latex/xpackages/xbase/tprestrict-test.tex diff --git a/Master/texmf-dist/source/latex/xpackages/xbase/xparse.dtx b/Master/texmf-dist/source/latex/xpackages/xbase/xparse.dtx index ab2f5d2887c..ab45217f33f 100644 --- a/Master/texmf-dist/source/latex/xpackages/xbase/xparse.dtx +++ b/Master/texmf-dist/source/latex/xpackages/xbase/xparse.dtx @@ -41,7 +41,7 @@ \RequirePackage{l3names} %</driver|package> %\fi -\GetIdInfo$Id: xparse.dtx 2125 2011-01-09 15:24:39Z joseph $ +\GetIdInfo$Id: xparse.dtx 2136 2011-01-23 12:15:49Z joseph $ {Generic document command parser} %\iffalse %<*driver> @@ -90,7 +90,7 @@ % \item \cs{RenewDocumentEnvironment} % \item \cs{ProvideDocumentEnvironment} % \item \cs{IfNoValue(TF)} (the need for \cs{IfValue(TF)} is currently -% an item of active discussion)x +% an item of active discussion) % \item \cs{IfBoolean(TF)} %\end{itemize} % with the other functions currently regarded as `experimental'. Please @@ -166,7 +166,7 @@ % \item |#4| = |{Bar}| % \item |#5| = |{default}| %\end{itemize} -% whereas `|[One][Two]{}[three]|' would be parsed as: +% whereas `|[One][Two]{}[Three]|' would be parsed as: %\begin{itemize}[nolistsep] % \item |#1| = |\BooleanFalse| % \item |#2| = |{One}| @@ -175,8 +175,10 @@ % \item |#5| = |{Three}| %\end{itemize} % Note that after parsing the input there will be always exactly the -% same number of brace groups or tokens as the number of letters in the -% argument specifier. +% same number of \meta{balanced text} arguments as the number of letters +% in the argument specifier. The \cs{BooleanTrue} and \cs{BooleanFalse} +% tokens are passed without braces; all other arguments are passed as +% brace groups. % % Two more tokens have a special meaning when creating an argument % specifier. First, \texttt{+} is used to make an argument long (to @@ -324,7 +326,7 @@ % \IfNoValueTF {#1} { % \DoSomethingJustWithMandatoryArgument {#2} % }{ -% \DoSomethingBothArguments {#1} {#2} +% \DoSomethingWithBothArguments {#1} {#2} % } % } % \end{verbatim} @@ -441,6 +443,9 @@ % An error is given if too many \meta{tokens} are present in the % input. The processed input is places inside % \( \text{\meta{number}} + 1 \) sets of braces for further use. +% If there are less than \Arg{number} of \Arg{tokens} in the argument +% then empty brace groups are added at the end of the processed +% argument. % \begin{verbatim} % \DeclareDocumentCommand \foo % { > { \SplitArgument { 2 } { ; } } m } @@ -577,6 +582,10 @@ % the \meta{function} or \meta{environment} has no known argument % specification then an error is issued. %\end{function} +% +%\end{documentation} +% +%\begin{implementation} % %\subsection{Variables and constants} % @@ -954,10 +963,6 @@ % depending on the \cs{long} status of the expandable function. %\end{function} % -%\end{documentation} -% -%\begin{implementation} -% %\section{\pkg{xparse} implementation} % % The usual lead-off: only needed for the package, of course (one day we @@ -1796,7 +1801,7 @@ } #5 \xparse_grab_arg_aux_ii:w ##1 #2 { \tl_if_in:nnTF {##1} {#1} { - \xparse_grab_D_nested:NNNnn #1 #2 {##1} {#4} #5 + \xparse_grab_D_nested:NNnnN #1 #2 {##1} {#4} #5 }{ \xparse_add_arg:n {##1} #4 \l_xparse_args_tl @@ -1815,7 +1820,7 @@ %\end{macro} %\end{macro} %\end{macro} -%\begin{macro}[aux]{\xparse_grab_D_nested:NNnNn} +%\begin{macro}[aux]{\xparse_grab_D_nested:NNnnN} %\begin{macro}{\_l_xparse_nesting_a_tl} %\begin{macro}{\_l_xparse_nesting_b_tl} %\begin{macro}{\q_xparse} @@ -1834,7 +1839,7 @@ \tl_new:N \_l_xparse_nesting_a_tl \tl_new:N \_l_xparse_nesting_b_tl \quark_new:N \q_xparse -\cs_new_protected:Npn \xparse_grab_D_nested:NNNnn #1#2#3#4#5 { +\cs_new_protected:Npn \xparse_grab_D_nested:NNnnN #1#2#3#4#5 { \tl_clear:N \_l_xparse_nesting_a_tl \tl_clear:N \_l_xparse_nesting_b_tl #5 \xparse_grab_arg:w ##1 #1 ##2 \q_xparse ##3 #2 @@ -1844,6 +1849,7 @@ \tl_if_in:nnTF {##2} {#1} { \xparse_grab_arg:w ##2 \q_xparse } { + \tl_put_right:Nn \_l_xparse_nesting_a_tl {##2} \tl_if_in:NnTF \_l_xparse_nesting_b_tl {#1} { \tl_set_eq:NN \l_xparse_tmp_tl \_l_xparse_nesting_b_tl @@ -1852,7 +1858,6 @@ \l_xparse_tmp_tl \q_xparse } { - \tl_put_right:Nn \_l_xparse_nesting_a_tl {##2} \tl_put_right:NV \_l_xparse_nesting_a_tl \_l_xparse_nesting_b_tl \xparse_add_arg:V \_l_xparse_nesting_a_tl diff --git a/Master/texmf-dist/doc/latex/xpackages/xcoffins/xcoffins-test.tex b/Master/texmf-dist/source/latex/xpackages/xcoffins/xcoffins-test.tex index 1ede1770c08..1ede1770c08 100644 --- a/Master/texmf-dist/doc/latex/xpackages/xcoffins/xcoffins-test.tex +++ b/Master/texmf-dist/source/latex/xpackages/xcoffins/xcoffins-test.tex diff --git a/Master/texmf-dist/doc/latex/xpackages/xcoffins/xcoffins-tschichold-example.tex b/Master/texmf-dist/source/latex/xpackages/xcoffins/xcoffins-tschichold-example.tex index 1d76806feb2..1d76806feb2 100644 --- a/Master/texmf-dist/doc/latex/xpackages/xcoffins/xcoffins-tschichold-example.tex +++ b/Master/texmf-dist/source/latex/xpackages/xcoffins/xcoffins-tschichold-example.tex diff --git a/Master/texmf-dist/doc/latex/xpackages/xhead/xhead-test.tex b/Master/texmf-dist/source/latex/xpackages/xhead/xhead-test.tex index f845a1f077a..f845a1f077a 100644 --- a/Master/texmf-dist/doc/latex/xpackages/xhead/xhead-test.tex +++ b/Master/texmf-dist/source/latex/xpackages/xhead/xhead-test.tex diff --git a/Master/texmf-dist/doc/latex/xpackages/xtras/l3keys2e-demo.tex b/Master/texmf-dist/source/latex/xpackages/xtras/l3keys2e-demo.tex index a00531e0741..a00531e0741 100644 --- a/Master/texmf-dist/doc/latex/xpackages/xtras/l3keys2e-demo.tex +++ b/Master/texmf-dist/source/latex/xpackages/xtras/l3keys2e-demo.tex diff --git a/Master/texmf-dist/tex/latex/xpackages/xbase/xparse.sty b/Master/texmf-dist/tex/latex/xpackages/xbase/xparse.sty index f2c04ee2d9c..a6c0132ec16 100644 --- a/Master/texmf-dist/tex/latex/xpackages/xbase/xparse.sty +++ b/Master/texmf-dist/tex/latex/xpackages/xbase/xparse.sty @@ -57,7 +57,7 @@ %% ----------------------------------------------------------------------- %% \RequirePackage{l3names} -\GetIdInfo$Id: xparse.dtx 2125 2011-01-09 15:24:39Z joseph $ +\GetIdInfo$Id: xparse.dtx 2136 2011-01-23 12:15:49Z joseph $ {Generic document command parser} \ProvidesExplPackage {\filename}{\filedate}{\fileversion}{\filedescription} @@ -452,7 +452,7 @@ } #5 \xparse_grab_arg_aux_ii:w ##1 #2 { \tl_if_in:nnTF {##1} {#1} { - \xparse_grab_D_nested:NNNnn #1 #2 {##1} {#4} #5 + \xparse_grab_D_nested:NNnnN #1 #2 {##1} {#4} #5 }{ \xparse_add_arg:n {##1} #4 \l_xparse_args_tl @@ -468,7 +468,7 @@ \tl_new:N \_l_xparse_nesting_a_tl \tl_new:N \_l_xparse_nesting_b_tl \quark_new:N \q_xparse -\cs_new_protected:Npn \xparse_grab_D_nested:NNNnn #1#2#3#4#5 { +\cs_new_protected:Npn \xparse_grab_D_nested:NNnnN #1#2#3#4#5 { \tl_clear:N \_l_xparse_nesting_a_tl \tl_clear:N \_l_xparse_nesting_b_tl #5 \xparse_grab_arg:w ##1 #1 ##2 \q_xparse ##3 #2 @@ -478,6 +478,7 @@ \tl_if_in:nnTF {##2} {#1} { \xparse_grab_arg:w ##2 \q_xparse } { + \tl_put_right:Nn \_l_xparse_nesting_a_tl {##2} \tl_if_in:NnTF \_l_xparse_nesting_b_tl {#1} { \tl_set_eq:NN \l_xparse_tmp_tl \_l_xparse_nesting_b_tl @@ -486,7 +487,6 @@ \l_xparse_tmp_tl \q_xparse } { - \tl_put_right:Nn \_l_xparse_nesting_a_tl {##2} \tl_put_right:NV \_l_xparse_nesting_a_tl \_l_xparse_nesting_b_tl \xparse_add_arg:V \_l_xparse_nesting_a_tl diff --git a/Master/texmf-dist/tex/latex/xpackages/xhead/xtextblock.sty b/Master/texmf-dist/tex/latex/xpackages/xhead/xtextblock.sty new file mode 100644 index 00000000000..3f1907a5b5d --- /dev/null +++ b/Master/texmf-dist/tex/latex/xpackages/xhead/xtextblock.sty @@ -0,0 +1,101 @@ +% tmp file during development + +\DeclareObjectType {textblock-1} {1} +\DeclareObjectType {textblock-2} {2} +\DeclareObjectType {textblock-3} {3} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\DeclareTemplateInterface {textblock-1} {std} {1} + { + font : tokenlist = , + parshape : instance {parshape} = plain , + justification : instance {justification} = default , + } + + +\tl_new:N \l_tblock_font_tl + +\cs_new:Npn \tblock_parshape: {} +\cs_new:Npn \tblock_justification: {} + + +\DeclareTemplateCode {textblock-1} {std} {1} + { + font = \l_tblock_font_tl , + parshape = \tblock_parshape: , + justification = \tblock_justification: , + } + { + \AssignTemplateKeys + \group_begin: + \l_tblock_font_tl + \tblock_parshape: + \tblock_justification: + #1 + \@@par + \group_end: +} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\dim_new:N \l_tblock_h_dim +\tl_new:N \l_tblock_font_ii_tl + +\DeclareTemplateInterface {textblock-2} {hangfrom} {2} + { + font-1 : tokenlist = , + font-2 : tokenlist = , + h-sep : length = 1em , + parshape : instance {parshape} = plain , + justification : instance {justification} = default , + } + + +\DeclareTemplateCode {textblock-2} {hangfrom} {2} + { + + font-1 = \l_tblock_font_tl , + font-2 = \l_tblock_font_ii_tl , + h-sep = \l_tblock_h_dim , + parshape = \tblock_parshape: , + justification = \tblock_justification: , + } + { + \AssignTemplateKeys + \group_begin: + \l_tblock_font_tl + + \hbox_set:Nn \l_tmpa_box + { \tl_if_empty:oF {#1} {#1 \hskip \l_tblock_h_dim } } + + \UseInstance{measure}{fullwidth} + { \box_wd:N \l_tmpa_box } + + \l_tblock_font_ii_tl + \tblock_parshape: + \tblock_justification: + + \leavevmode + \box_set_to_last:N \l_tmpb_box + \hskip -\leftskip + \hbox_overlap_left:n{ \box_use:N \l_tmpa_box } + \hskip \leftskip + \box_use:N \l_tmpb_box + #2 + \@@par + \group_end: +} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%555 + + +\DeclareTemplateInterface {textblock-3} {std} {3} + { + } + + + |