diff options
author | Karl Berry <karl@freefriends.org> | 2007-05-22 17:49:29 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2007-05-22 17:49:29 +0000 |
commit | b7e7419f2fbc20f964ebd505f4c9d35c4b37d6e7 (patch) | |
tree | 81f166fc88d80a1bc49c16f7de6aff4d4250cdec /Master/texmf-dist/doc | |
parent | 51266997b22750d1cef71d44b0785cc31337f0d5 (diff) |
new package xbase, subsuming some others?
git-svn-id: svn://tug.org/texlive/trunk@4337 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc')
-rw-r--r-- | Master/texmf-dist/doc/latex/xbase/ldcsetup.pdf | bin | 0 -> 104068 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/xbase/template-test.tex | 77 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/xbase/template-test2.tex | 110 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/xbase/template.pdf | bin | 0 -> 233686 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/xbase/tprestrict-test.tex | 80 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/xbase/xparse-test.tex | 310 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/xbase/xparse.pdf | bin | 0 -> 480359 bytes |
7 files changed, 577 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/xbase/ldcsetup.pdf b/Master/texmf-dist/doc/latex/xbase/ldcsetup.pdf Binary files differnew file mode 100644 index 00000000000..ae48b3b8bec --- /dev/null +++ b/Master/texmf-dist/doc/latex/xbase/ldcsetup.pdf diff --git a/Master/texmf-dist/doc/latex/xbase/template-test.tex b/Master/texmf-dist/doc/latex/xbase/template-test.tex new file mode 100644 index 00000000000..f8c47c82d59 --- /dev/null +++ b/Master/texmf-dist/doc/latex/xbase/template-test.tex @@ -0,0 +1,77 @@ +% \iffalse +%% (C) Copyright 2000-2004 LaTeX3 Project +%% +%% It may be distributed and/or modified under the conditions of the +%% LaTeX Project Public License (LPPL), either version 1.3a of this +%% license or (at your option) any later version. The latest version +%% of this license is in the file +%% +%% http://www.latex-project.org/lppl.txt +%% +%% This file is part of the ``xbase bundle'' (The Work in LPPL) +%% and all files in that bundle must be distributed together. +%% +%% The released version of this bundle is available from CTAN. +%% +%% ----------------------------------------------------------------------- +%% +%% The development version of the bundle can be found at +%% +%% http://www.latex-project.org/cgi-bin/cvsweb.cgi/ +%% +%% for those people who are interested. +%% +%%%%%%%%%%% +%% NOTE: %% +%%%%%%%%%%% +%% +%% Snapshots taken from the repository represent work in progress and may +%% not work or may contain conflicting material! We therefore ask +%% people _not_ to put them into distributions, archives, etc. without +%% prior consultation with the LaTeX Project Team. +%% +%% ----------------------------------------------------------------------- +%% +%% $Id: template-test.tex 251 2004-11-11 19:01:16Z mittelba $ +%% +% \fi +% +\RequirePackage{template} + +\DeclareTemplateType{xxx}{0} + +\DeclareTemplate{xxx}{test}{0} + { + xkey=n \xkey, + key =i {yyy} \value + } + { + \DoParameterAssignments + \show\xkey + \show\value + \value + } + +\DeclareTemplateType{yyy}{0} + +\DeclareTemplate{yyy}{foo}{0} + { + keya =L \foo + } + { + \DoParameterAssignments + \show\foo + } + + +\DeclareInstance{xxx}{bar}{test} + { + xkey = \UseTemplate{yyy}{foo}{ keya = 20pt }, + key = \UseTemplate{yyy}{foo}{ keya = 10pt } + } + +\ShowInstance{xxx}{bar} + +\UseInstance{xxx}{bar} + +\stop diff --git a/Master/texmf-dist/doc/latex/xbase/template-test2.tex b/Master/texmf-dist/doc/latex/xbase/template-test2.tex new file mode 100644 index 00000000000..489e9f2304a --- /dev/null +++ b/Master/texmf-dist/doc/latex/xbase/template-test2.tex @@ -0,0 +1,110 @@ +% \iffalse +%% (C) Copyright 2000-2004 LaTeX3 Project +%% +%% It may be distributed and/or modified under the conditions of the +%% LaTeX Project Public License (LPPL), either version 1.3a of this +%% license or (at your option) any later version. The latest version +%% of this license is in the file +%% +%% http://www.latex-project.org/lppl.txt +%% +%% This file is part of the ``xbase bundle'' (The Work in LPPL) +%% and all files in that bundle must be distributed together. +%% +%% The released version of this bundle is available from CTAN. +%% +%% ----------------------------------------------------------------------- +%% +%% The development version of the bundle can be found at +%% +%% http://www.latex-project.org/cgi-bin/cvsweb.cgi/ +%% +%% for those people who are interested. +%% +%%%%%%%%%%% +%% NOTE: %% +%%%%%%%%%%% +%% +%% Snapshots taken from the repository represent work in progress and may +%% not work or may contain conflicting material! We therefore ask +%% people _not_ to put them into distributions, archives, etc. without +%% prior consultation with the LaTeX Project Team. +%% +%% ----------------------------------------------------------------------- +%% +%% $Id: template-test2.tex 585 2006-12-12 17:31:48Z morten $ +%% +% \fi +% + + +\RequirePackage{template} +\RequirePackage{trace} + +\DeclareTemplateType{xxx}{0} + +\def\MultiSelection{\MultiSelectionError} +%\def\foo{bar} + +%\traceon + +\DeclareTemplate{xxx}{test}{0} + { + xkey=n [\foo] \xkey, + ykey=n [\DelayEvaluation\foo] \ykey, + zkey=n \zkey, + last=n [last] \lastkey, + set =i {xxx} \xxx + } + { + \DoParameterAssignments + \typeout{abc} + } +\ShowTemplate{xxx}{test} + + +\DeclareInstance{xxx}{bar}{test} + { + zkey = foo, + xkey = baz, + } + +\DeclareInstance{xxx}{baz}{test} + { + last = first, + set = \UseTemplate{xxx}{test}{zkey=rrr}, + zkey = foo + } + + +\ShowInstance{xxx}{bar} +\ShowInstance{xxx}{baz} + +\DeclareTemplateType{yyy}{0} + +\DeclareTemplate{yyy}{foo}{0} + { + keya =L \foo + } + { + \DoParameterAssignments + \show\foo + } + + +\DeclareInstance{xxx}{bar}{test} + { + xkey = \UseTemplate{yyy}{foo}{ keya = 20pt }, + key = \UseTemplate{yyy}{foo}{ keya = 10pt } + } + +\ShowInstance{xxx}{bar} + +\UseInstance{xxx}{bar} + +\stop + +%%% Local Variables: +%%% mode: plain-tex +%%% TeX-master: t +%%% End: diff --git a/Master/texmf-dist/doc/latex/xbase/template.pdf b/Master/texmf-dist/doc/latex/xbase/template.pdf Binary files differnew file mode 100644 index 00000000000..a37c74472f9 --- /dev/null +++ b/Master/texmf-dist/doc/latex/xbase/template.pdf diff --git a/Master/texmf-dist/doc/latex/xbase/tprestrict-test.tex b/Master/texmf-dist/doc/latex/xbase/tprestrict-test.tex new file mode 100644 index 00000000000..a787694abff --- /dev/null +++ b/Master/texmf-dist/doc/latex/xbase/tprestrict-test.tex @@ -0,0 +1,80 @@ +% \iffalse +%% (C) Copyright 2000-2004 LaTeX3 Project +%% +%% It may be distributed and/or modified under the conditions of the +%% LaTeX Project Public License (LPPL), either version 1.3a of this +%% license or (at your option) any later version. The latest version +%% of this license is in the file +%% +%% http://www.latex-project.org/lppl.txt +%% +%% This file is part of the ``xbase bundle'' (The Work in LPPL) +%% and all files in that bundle must be distributed together. +%% +%% The released version of this bundle is available from CTAN. +%% +%% ----------------------------------------------------------------------- +%% +%% The development version of the bundle can be found at +%% +%% http://www.latex-project.org/cgi-bin/cvsweb.cgi/ +%% +%% for those people who are interested. +%% +%%%%%%%%%%% +%% NOTE: %% +%%%%%%%%%%% +%% +%% Snapshots taken from the repository represent work in progress and may +%% not work or may contain conflicting material! We therefore ask +%% people _not_ to put them into distributions, archives, etc. without +%% prior consultation with the LaTeX Project Team. +%% +%% ----------------------------------------------------------------------- +%% +%% $Id: tprestrict-test.tex 251 2004-11-11 19:01:16Z mittelba $ +%% +% \fi +% + +\makeatletter +\RequirePackage{template} +\IgnoreWhiteSpace + +\newcount\ca +\newdimen\da + + +\DeclareTemplateType{type}{0} + +\DeclareTemplate{type}{Ta}{0}{ + one =l [2in] \da, + two =c [5] \ca} + {\DoParameterAssignments\typeout{\da=\the\da,\@spaces \ca=\the\ca}} + +\ShowTemplate{type}{Ta} + +\typeout{1^^J==} +\UseTemplate{type}{Ta}{} + +\typeout{2^^J==} +\UseTemplate{type}{Ta}{one=44pt, two=7} + + +\DeclareRestrictedTemplate{type}{Tb}{Ta}{one=33pt} + +\ShowTemplate{type}{Tb} + +\typeout{RESTRICT^^J3^^J==} + +\DeclareInstance{type}{foo}{Tb}{two=9} + +\ShowInstance{type}{foo} + +\UseInstance{type}{foo} + +\typeout{4^^J==} +\UseTemplate{type}{Tb}{two=7} + +\stop + diff --git a/Master/texmf-dist/doc/latex/xbase/xparse-test.tex b/Master/texmf-dist/doc/latex/xbase/xparse-test.tex new file mode 100644 index 00000000000..1edbc5b1172 --- /dev/null +++ b/Master/texmf-dist/doc/latex/xbase/xparse-test.tex @@ -0,0 +1,310 @@ +% \iffalse +%% (C) Copyright 2000-2005 LaTeX3 Project +%% +%% It may be distributed and/or modified under the conditions of the +%% LaTeX Project Public License (LPPL), either version 1.3a of this +%% license or (at your option) any later version. The latest version +%% of this license is in the file +%% +%% http://www.latex-project.org/lppl.txt +%% +%% This file is part of the ``xbase bundle'' (The Work in LPPL) +%% and all files in that bundle must be distributed together. +%% +%% The released version of this bundle is available from CTAN. +%% +%% ----------------------------------------------------------------------- +%% +%% The development version of the bundle can be found at +%% +%% http://www.latex-project.org/cgi-bin/cvsweb.cgi/ +%% +%% for those people who are interested. +%% +%%%%%%%%%%% +%% NOTE: %% +%%%%%%%%%%% +%% +%% Snapshots taken from the repository represent work in progress and may +%% not work or may contain conflicting material! We therefore ask +%% people _not_ to put them into distributions, archives, etc. without +%% prior consultation with the LaTeX Project Team. +%% +%% ----------------------------------------------------------------------- +%% +%% $Id: xparse-test.tex 546 2006-07-06 14:54:38Z morten $ +%% +% \fi +% + +\documentclass{minimal} + +\usepackage{xparse,l3box} + + +\typeout{Testing the complicated makebox setup} +\typeout{*****************************} +\typeout{* look at dvi output for this part} +\typeout{*****************************} + +\CodeStart +% We use \ReDeclareDocumentCommand as these are already defined. +% Let's just take the error messages for a ride: +\def:Npn \makebox{} +% Here should be an error because it is defined +\DeclareDocumentCommand \makebox {m}{Gobbledygook} +\cs_gundefine:N \makebox +% And now one for being undefined +\ReDeclareDocumentCommand \makebox {m}{More~gobbledygook} +\let:NN \makebox \scan_stop: +% Another one for being undefined +\ReDeclareDocumentCommand \makebox {m}{Even~more~gobbledygook} +% Now it should work +\DeclareDocumentCommand \makebox { C{\NoValue} o O{c} m} + { + \IfNoValueTF{#1} + { \ltx@maketextbox{#2}{#3}{#4}\mbox } + { \ltx@makepicbox #1 {#2}{#4}\@firstofone } + } + +\ReDeclareDocumentCommand \framebox { C{\NoValue} o O{c} m} + { + \IfNoValueTF{#1} + { \ltx@maketextbox{#2}{#3}{#4}\fbox } + { \ltx@makepicbox #1 {#2}{#4}\frame } + } + +\def\ltx@maketextbox#1#2#3#4{ + \IfNoValueTF{#1} + {#4{#3}} + { + \leavevmode + \@begin@tempboxa\hbox{#3} + \setlength\@tempdima{#1} + \if_meaning:NN #4\fbox + \setbox\@tempboxa\hb@xt@\@tempdima{ + \kern\fboxsep + \use:c{bm@#2} + \kern\fboxsep + } + \@frameb@x{\kern-\fboxrule} + \else: + \hb@xt@\@tempdima{\use:c{bm@#2}} + \fi: + \@end@tempboxa + } +} + +\def\ltx@makepicbox#1#2#3#4#5{ + #5 + { + \vbox to#2\unitlength { + \let:NN \mb@b\vss \let:NN \mb@l\hss + \let:NN \mb@r\hss \let:NN \mb@t\vss + \IfNoValueF{#3}{ + \tlist_map_variable:nNn {#3}\l_tmpa_tlp { + \if:w s\l_tmpa_tlp + \let:NN \mb@l \scan_stop: + \let:NN \mb@r \scan_stop: + \else: + \let:cN {mb@\l_tmpa_tlp}\scan_stop: + \fi: + } + } + \mb@t + \hb@xt@ #1\unitlength{\mb@l #4\mb@r} + \mb@b + \kern\z@ + } + } +} + +\DeclarePseudoArgument{boxtest}{1} +{Before:~`#1',\hbox_set_inline_begin:N \l_tmpa_box } +{\hbox_set_inline_end: \space the~ box:~ + \hbox_unpack_clear:N\l_tmpa_box ,~ + After:~`#1'} +\DeclareDocumentCommand\sillyboxtest{m}{ + Testing~#1:~\UsePseudoArgument{boxtest}{#1} +} + + +\def:Npn \showgrabbedargs{\showthe\l_xparse_grabbed_args_toks} +\CodeStop + +\begin{document} + + +\thicklines + +\makebox{A} +\makebox(1,2){B} +\makebox(0,0)[lt]{C} +\makebox[20pt]{D} +\makebox[30pt][r]{E} + +\vspace{1cm} + + +\framebox{A} +\framebox(1,2){B} +\framebox(0,0)[lt]{C} +\framebox[20pt]{D} +\framebox[30pt][r]{E} + + +\typeout{Testing optional coordinates} + +\DeclareDocumentCommand \foo { mmo } +{ \typeout{1:#1} + \typeout{2:#2} +} + +\show\foo + +\ReDeclareDocumentCommand \foo { m C{{0}{0}} m } +{ \typeout{1:#1} + \typeout{2:#2} + \typeout{3:#3} +} + +\show\foo + +\foo A (1,2) B + +\foo A B + +\typeout{Testing mandatory coordinates (gives error on second examples)} + +\ReDeclareDocumentCommand \foo { m c m } +{ \typeout{1:#1} + \typeout{2:#2} + \typeout{3:#3} +} + +\show\foo + +\foo A (1,2) B + +\foo A B + +\typeout{Testing normal optional arguments} + + +\ReDeclareDocumentCommand \foo { mmmm o mm o } +{ \typeout{1:#1} + \typeout{2:#2} + \typeout{3:#3} + \typeout{4:#4} + \typeout{5:#5} + \typeout{6:#6} + \typeout{7:#7} + \typeout{8:#8} +} + +\foo 1234[5]67[8] +\foo 123467 + +\show\foo +\expandafter\show\csname\string\foo\endcsname + + +\typeout{Testing optional arguments with default} + +\DeclareDocumentCommand \baz { O{?}mmm o mm m } +{ \typeout{1:#1} + \typeout{2:#2} + \typeout{3:#3} + \typeout{4:#4} + \typeout{5:#5} + \typeout{6:#6} + \typeout{7:#7} + \typeout{8:#8} +} + +\show\baz +\expandafter\show\csname\string\baz\endcsname + +\baz [1]234[5]678 +\showgrabbedargs +\baz 234678 +\showgrabbedargs + +%\tracingall\tracingassigns=1 +\ReDeclareDocumentCommand \bar { mmmm mmmm m} +{ \typeout{1:#1} + \typeout{2:#2} + \typeout{3:#3} + \typeout{4:#4} + \typeout{5:#5} + \typeout{6:#6} + \typeout{7:#7} + \typeout{8:#8} + \typeout{9:#9} +} + +\show\bar +\expandafter\show\csname\string\bar\endcsname + +\bar 123456789 +\showgrabbedargs + +\DeclareDocumentCommand\chapter{soom} +{\typeout{a{#1}^^Jb{#2}^^Jc{#3}^^Jd{#4}^^Je}} + +\show\chapter +\expandafter\show\csname\string\chapter\endcsname + +\typeout{1:} +\chapter*[xxx][yyy]{zzz} + +\typeout{2:} +\chapter[xxx][yyy]{zzz} + +\typeout{3:} +\chapter*[xxx]{zzz} + +\typeout{4:} +\typeout{\chapter*[xxx][yyy]{zzz}} + + + +\typeout{Using pseudo arguments:} + +\sillyboxtest{AB}{a\verb*+% $%&\+b} + +\typeout{Testing environments with args passed to end env} +\typeout{****************} +\typeout{* This works only if xparse is compiled with `perhaps' + docstrip guard} +\typeout{* This part of the code is not activated by default!} +\typeout{****************} + + + +\ReDeclareDocumentCommand\chapter{soom} +{\typeout{a{#1}^^Jb{#2}^^Jc{#3}^^Jd{#4}^^Je}} + +\DeclareDocumentEnvironment{hello}{ooo} + {\typeout{B1(#1)^^JB2(#2)^^JB3(#3)^^J}} + {\typeout{E1(#1)^^JE2(#2)^^JE3(#3)^^J}} + + +\show\hello +\expandafter\show\csname\string\hello\endcsname + +\show\endhello +\expandafter\show\csname end\string\\hello\endcsname + +\begin{hello}[abc][aabbcc] +\typeout{body} +\typeout{5:} +\chapter[xxx][yyy]{zzz} +\end{hello} + +\begin{hello}[1] +\typeout{outer body} +\hello [2] \typeout{inner body} \endhello +\end{hello} + +\stop diff --git a/Master/texmf-dist/doc/latex/xbase/xparse.pdf b/Master/texmf-dist/doc/latex/xbase/xparse.pdf Binary files differnew file mode 100644 index 00000000000..84bd62e9b47 --- /dev/null +++ b/Master/texmf-dist/doc/latex/xbase/xparse.pdf |