summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2007-05-22 17:49:29 +0000
committerKarl Berry <karl@freefriends.org>2007-05-22 17:49:29 +0000
commitb7e7419f2fbc20f964ebd505f4c9d35c4b37d6e7 (patch)
tree81f166fc88d80a1bc49c16f7de6aff4d4250cdec /Master/texmf-dist/doc/latex
parent51266997b22750d1cef71d44b0785cc31337f0d5 (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/latex')
-rw-r--r--Master/texmf-dist/doc/latex/xbase/ldcsetup.pdfbin0 -> 104068 bytes
-rw-r--r--Master/texmf-dist/doc/latex/xbase/template-test.tex77
-rw-r--r--Master/texmf-dist/doc/latex/xbase/template-test2.tex110
-rw-r--r--Master/texmf-dist/doc/latex/xbase/template.pdfbin0 -> 233686 bytes
-rw-r--r--Master/texmf-dist/doc/latex/xbase/tprestrict-test.tex80
-rw-r--r--Master/texmf-dist/doc/latex/xbase/xparse-test.tex310
-rw-r--r--Master/texmf-dist/doc/latex/xbase/xparse.pdfbin0 -> 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
new file mode 100644
index 00000000000..ae48b3b8bec
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/xbase/ldcsetup.pdf
Binary files differ
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
new file mode 100644
index 00000000000..a37c74472f9
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/xbase/template.pdf
Binary files differ
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
new file mode 100644
index 00000000000..84bd62e9b47
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/xbase/xparse.pdf
Binary files differ