summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2011-03-08 00:12:32 +0000
committerKarl Berry <karl@freefriends.org>2011-03-08 00:12:32 +0000
commit743bc34fac4c76ac8e33a48ae49291dc4cd4fb3f (patch)
tree6a8b146caa83351f0bbca9b95500812fb7693cd9 /Master/texmf-dist/tex/latex
parentf0c0dc9d9dcc8fa9dc2d08552a32433ec8560a5f (diff)
expl3 2184 (7mar11)
git-svn-id: svn://tug.org/texlive/trunk@21634 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex')
-rw-r--r--Master/texmf-dist/tex/latex/expl3/expl3.sty5
-rw-r--r--Master/texmf-dist/tex/latex/expl3/l3basics.sty8
-rw-r--r--Master/texmf-dist/tex/latex/expl3/l3box.sty4
-rw-r--r--Master/texmf-dist/tex/latex/expl3/l3clist.sty6
-rw-r--r--Master/texmf-dist/tex/latex/expl3/l3doc.cls307
-rw-r--r--Master/texmf-dist/tex/latex/expl3/l3font.sty105
-rw-r--r--Master/texmf-dist/tex/latex/expl3/l3fp.sty4
-rw-r--r--Master/texmf-dist/tex/latex/expl3/l3int.sty8
-rw-r--r--Master/texmf-dist/tex/latex/expl3/l3prg.sty14
-rw-r--r--Master/texmf-dist/tex/latex/expl3/l3quark.sty3
-rw-r--r--Master/texmf-dist/tex/latex/expl3/l3skip.sty6
-rw-r--r--Master/texmf-dist/tex/latex/expl3/l3tl.sty21
-rw-r--r--Master/texmf-dist/tex/latex/expl3/l3token.sty2
-rw-r--r--Master/texmf-dist/tex/latex/expl3/l3xref.sty2
14 files changed, 434 insertions, 61 deletions
diff --git a/Master/texmf-dist/tex/latex/expl3/expl3.sty b/Master/texmf-dist/tex/latex/expl3/expl3.sty
index c300e06c1e3..cec0003dbd8 100644
--- a/Master/texmf-dist/tex/latex/expl3/expl3.sty
+++ b/Master/texmf-dist/tex/latex/expl3/expl3.sty
@@ -49,7 +49,7 @@
%%
%% -----------------------------------------------------------------------
\RequirePackage{l3names}
-\GetIdInfo$Id: expl3.dtx 2083 2010-11-13 13:01:31Z will $
+\GetIdInfo$Id: expl3.dtx 2156 2011-02-17 15:40:23Z will $
{L3 Experimental code bundle wrapper}%
\ProvidesExplPackage
{\filename}{\filedate}{\fileversion}{\filedescription}
@@ -88,7 +88,8 @@
l3xref,
l3file,
l3fp,
- l3luatex
+ l3luatex,
+ l3font
}
\RequirePackage{calc}
\bool_if:nT { \@l@expl@check@declarations@bool } {
diff --git a/Master/texmf-dist/tex/latex/expl3/l3basics.sty b/Master/texmf-dist/tex/latex/expl3/l3basics.sty
index 1c0e8c5243b..8afc6cdeb81 100644
--- a/Master/texmf-dist/tex/latex/expl3/l3basics.sty
+++ b/Master/texmf-dist/tex/latex/expl3/l3basics.sty
@@ -15,7 +15,7 @@
%% Do not distribute a modified version of this file.
%%
%%
-%% File: l3basics.dtx Copyright (C) 1990-2008,2010 LaTeX3 project
+%% File: l3basics.dtx Copyright (C) 1990-2011 LaTeX3 project
%%
%% It may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -48,7 +48,7 @@
%%
%% -----------------------------------------------------------------------
\RequirePackage{l3names}
-\GetIdInfo$Id: l3basics.dtx 2063 2010-10-03 08:26:49Z mittelba $
+\GetIdInfo$Id: l3basics.dtx 2158 2011-02-26 12:37:22Z mittelba $
{L3 Experimental basic definitions}
\ProvidesExplPackage
{\filename}{\filedate}{\fileversion}{\filedescription}
@@ -396,6 +396,10 @@
\cs_set_eq:NwN \c_minus_one\m@ne
\tex_chardef:D \c_sixteen = 16~
\tex_chardef:D \c_zero = 0~
+\tex_chardef:D \c_six = 6~
+\tex_chardef:D \c_seven = 7~
+\tex_chardef:D \c_twelve = 12~
+\tex_mathchardef:D \c_max_register_int = 32767 \tex_relax:D
\cs_set_protected_nopar:Npn \iow_log:x {
\tex_immediate:D \iow_shipout_x:Nn \c_minus_one
}
diff --git a/Master/texmf-dist/tex/latex/expl3/l3box.sty b/Master/texmf-dist/tex/latex/expl3/l3box.sty
index ad546da7c67..7b06929a060 100644
--- a/Master/texmf-dist/tex/latex/expl3/l3box.sty
+++ b/Master/texmf-dist/tex/latex/expl3/l3box.sty
@@ -15,7 +15,7 @@
%% Do not distribute a modified version of this file.
%%
%%
-%% File: l3box.dtx Copyright (C) 2005-2010 LaTeX3 project
+%% File: l3box.dtx Copyright (C) 2005-2011 LaTeX3 project
%%
%% It may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -48,7 +48,7 @@
%%
%% -----------------------------------------------------------------------
\RequirePackage{l3names}
-\GetIdInfo$Id: l3box.dtx 2048 2010-09-26 19:13:59Z joseph $
+\GetIdInfo$Id: l3box.dtx 2178 2011-03-06 09:03:44Z mittelba $
{L3 Experimental Box module}
\ProvidesExplPackage
{\filename}{\filedate}{\fileversion}{\filedescription}
diff --git a/Master/texmf-dist/tex/latex/expl3/l3clist.sty b/Master/texmf-dist/tex/latex/expl3/l3clist.sty
index 2e40898a0dc..abbf7133cea 100644
--- a/Master/texmf-dist/tex/latex/expl3/l3clist.sty
+++ b/Master/texmf-dist/tex/latex/expl3/l3clist.sty
@@ -15,7 +15,7 @@
%% Do not distribute a modified version of this file.
%%
%%
-%% File: l3clist.dtx Copyright (C) 2005-2010 Frank Mittelbach, LaTeX3 project
+%% File: l3clist.dtx Copyright (C) 2005-2011 Frank Mittelbach, LaTeX3 project
%%
%% It may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -48,7 +48,7 @@
%%
%% -----------------------------------------------------------------------
\RequirePackage{l3names}
-\GetIdInfo$Id: l3clist.dtx 2071 2010-10-09 09:48:48Z joseph $
+\GetIdInfo$Id: l3clist.dtx 2178 2011-03-06 09:03:44Z mittelba $
{L3 Experimental comma separated lists}
\ProvidesExplPackage
{\filename}{\filedate}{\fileversion}{\filedescription}
@@ -106,8 +106,8 @@
\clist_if_empty_err:N #1
\exp_after:wN \clist_get_aux:w #1,\q_stop
}
-\cs_new_protected:Npn \clist_get_aux:w #1,#2\q_stop #3 { \tl_set:Nn #3{#1} }
\cs_generate_variant:Nn \clist_get:NN {cN}
+\cs_new_protected:Npn \clist_get_aux:w #1,#2\q_stop #3 { \tl_set:Nn #3{#1} }
\cs_new_protected:Npn \clist_pop_aux:nnNN #1#2#3 {
\clist_if_empty_err:N #3
\exp_after:wN \clist_pop_aux:w #3,\q_nil\q_stop #1#2#3
diff --git a/Master/texmf-dist/tex/latex/expl3/l3doc.cls b/Master/texmf-dist/tex/latex/expl3/l3doc.cls
index 09ece930f47..e79e3fbee21 100644
--- a/Master/texmf-dist/tex/latex/expl3/l3doc.cls
+++ b/Master/texmf-dist/tex/latex/expl3/l3doc.cls
@@ -53,11 +53,11 @@
\let \filedateOld \filedate
\let \fileversionOld \fileversion
\let \filedescriptionOld \filedescription
-\GetIdInfo$Id: l3doc.dtx 2037 2010-09-20 21:22:45Z joseph $
+\GetIdInfo$Id: l3doc.dtx 2180 2011-03-06 10:38:35Z will $
{L3 Experimental documentation class}
\ProvidesExplClass
{\filename}{\filedate}{\fileversion}{\filedescription}
-\RequirePackage{expl3}
+\RequirePackage{expl3,xparse}
\let \filename \filenameOld
\let \filenameext \filenameextOld
\let \filedate \filedateOld
@@ -73,14 +73,17 @@
\bool_new:N \g_doc_full_bool
\bool_new:N \g_doc_lmodern_bool
\bool_new:N \g_doc_checkfunc_bool
+\bool_new:N \g_doc_checktest_bool
\DeclareOption{full}{ \bool_set_true:N \g_doc_full_bool }
\DeclareOption{onlydoc}{ \bool_set_false:N \g_doc_full_bool }
\DeclareOption{check}{ \bool_set_true:N \g_doc_checkfunc_bool }
\DeclareOption{nocheck}{ \bool_set_false:N \g_doc_checkfunc_bool }
+\DeclareOption{checktest}{ \bool_set_true:N \g_doc_checktest_bool }
+\DeclareOption{nochecktest}{ \bool_set_false:N \g_doc_checktest_bool }
\DeclareOption{cm-default}{ \bool_set_false:N \g_doc_lmodern_bool }
\DeclareOption{lm-default}{ \bool_set_true:N \g_doc_lmodern_bool }
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
-\ExecuteOptions{full,a4paper,nocheck,lm-default}
+\ExecuteOptions{full,a4paper,nocheck,nochecktest,lm-default}
\InputIfFileExists{l3doc.cfg}
{
\typeout{*************************************^^J
@@ -165,13 +168,20 @@
\index{TeX~and~LaTeX2e~commands\actualchar
\string\TeX{}~and~\string\LaTeXe{}~commands:\levelchar
#1\actualchar{\string\ttfamily\string\bslash{}#1}}}
-\newenvironment{documentation}{}{}
-\newenvironment{implementation}{}{}
+\cs_new:Npn \doc_implementation: {
+ \cs_set:Npn \variable {\macro[var]}
+}
+\cs_new:Npn \doc_docu: {
+ \cs_set_eq:NN \variable \variabledoc
+}
+\AtEndOfPackage{\doc_docu:}
+\newenvironment{documentation}{\doc_docu:}{}
+\newenvironment{implementation}{\doc_implementation:}{}
\newcommand\EnableDocumentation{%
- \renewenvironment{documentation}{}{}%
+ \renewenvironment{documentation}{\doc_docu:}{}%
}
\newcommand\EnableImplementation{%
- \renewenvironment{implementation}{}{}%
+ \renewenvironment{implementation}{\doc_implementation:}{}%
}
\newcommand\DisableDocumentation{%
\cs_set_eq:NN \documentation \comment
@@ -193,6 +203,7 @@
\group_begin:
\char_make_active:N \<
\cs_new_nopar:Npn \function {
+ \phantomsection
\char_make_active:N \<
\cs_set_eq:NN < \doc_open_meta:n
\group_begin:
@@ -206,7 +217,7 @@
\function_aux:n
}
\group_end:
-\cs_set_eq:NN \variable \function
+\cs_set_eq:NN \variabledoc \function
\group_begin:
\char_make_other:N \|
\cs_gset_nopar:Npn \function_aux:n #1 {
@@ -215,7 +226,7 @@
\bigskip\endgraf\noindent\ttfamily
\tabular[b]{ | l @{} c | }
\hline
- \doc_showmacro:w #1 | \q_stop \\
+ \clist_map_inline:nn {#1} {\doc_showmacro:w ##1 | \q_stop} \\
\hline
\endtabular
\group_end:
@@ -233,6 +244,7 @@
}
\group_end:
\bool_new:N \l_doc_meta_TF_bool
+\bool_new:N \l_doc_meta_pTF_bool
\bool_new:N \l_doc_meta_EXP_bool
\cs_new_nopar:Npn \doc_showmacro_aux:w #1 / #2 \q_stop {
@@ -246,6 +258,19 @@
}{
\bool_gset_false:N \l_doc_meta_EXP_bool
}
+ \tl_if_in:nnTF {#2} { (pTF) } {
+ \bool_gset_true:N \l_doc_meta_TF_bool
+ \bool_gset_true:N \l_doc_meta_pTF_bool
+ \bool_gset_true:N \l_doc_meta_EXP_bool
+ \tl_set:Nx \l_doc_pTF_name_tl { \doc_predicate_from_base:w #1 \q_nil }
+ }{
+ \bool_gset_false:N \l_doc_meta_pTF_bool
+ }
+
+ \bool_if:NT \l_doc_meta_pTF_bool {
+ \doc_special_main_index:o { \l_doc_pTF_name_tl }
+ \seq_gput_right:Nx \g_doc_functions_seq { \tl_to_str:N \l_doc_pTF_name_tl }
+ }
\bool_if:NTF \l_doc_meta_TF_bool {
\doc_special_main_index:o { #1 TF }
@@ -257,11 +282,17 @@
\seq_gput_right:Nx \g_doc_functions_seq { \tl_to_str:n { #1 } }
}
- \doc_showmacro_aux_ii:w #1::\q_stop
+ \bool_if:NTF \l_doc_meta_pTF_bool {
+ \bool_gset_false:N \l_doc_meta_TF_bool
+ \exp_after:wN \doc_showmacro_aux_ii:w \l_doc_pTF_name_tl ::\q_stop
+ \bool_gset_true:N \l_doc_meta_TF_bool
+ \doc_showmacro_aux_ii:w #1::\q_stop
+ }{
+ \doc_showmacro_aux_ii:w #1::\q_stop
+ }
}
\cs_set_nopar:Npn \doc_showmacro_aux_ii:w #1:#2:#3 \q_stop {
\nextnewline
-
\str_if_eq:xxTF {#1} {\g_doc_macro_tl} {
\doc_typeset_aux:n
}{
@@ -277,6 +308,12 @@
\hspace{\tabcolsep}
$\star$
}
+ \tl_set:Nx \g_doc_macro_tl { \tl_to_str:N \g_doc_macro_tl }
+ \exp_args:NNf \tl_replace_all_in:Nnn \g_doc_macro_tl {\token_to_str:N _} {/}
+ \exp_args:NNf \tl_replace_all_in:Nnn \g_doc_macro_tl {\@backslashchar} {}
+ \bool_if:NT \g_doc_full_bool {
+ \exp_args:Nf\label{doc/function/\g_doc_macro_tl#3#2}
+ }
}
\dim_new:N \g_doc_syntax_dim
\dim_set:Nn \g_doc_syntax_dim {0.7\textwidth}
@@ -317,14 +354,25 @@
\cs_set_nopar:Npn #1 { \unskip \, $ {} \sb { \use:c { char_other_\string #1 } } $ }
}
\renewcommand \macro [1][] {
+
+ \int_compare:nNnTF \currentgrouplevel=2
+ { \int_gzero:N \g_doc_nested_macro_int }
+ { \int_incr:N \g_doc_nested_macro_int }
+
\bool_set_false:N \l_doc_macro_aux_bool
\bool_set_false:N \l_doc_macro_TF_bool
+ \bool_set_false:N \l_doc_macro_pTF_bool
+ \bool_set_false:N \l_doc_macro_var_bool
+ \bool_set_false:N \l_doc_tested_bool
+
\cs_set_eq:NN \doc_macroname_prefix:n \use:n
\cs_set_eq:NN \doc_macroname_suffix: \c_empty_tl
\cs_set_nopar:Npn \KV_key_no_value_elt:n ##1 { \use:c {doc_macro_opt_##1:} }
\KV_parse_space_removal_sanitize:n {#1}
+ \cs_set_eq:NN \testfile \doc_print_testfile:n
+
\group_begin:
\MakePrivateLetters
\char_make_letter:N \\
@@ -335,13 +383,34 @@
}
\cs_new_nopar:Npn \doc_macro_aux:n #1 {
\group_end:
- \clist_map_inline:nn {#1} { \doc_macro_single {##1} }
+ \cs_set:Npn \l_doc_macro_input_clist {#1}
+ \bool_if:NTF \l_doc_macro_pTF_bool
+ {
+ \clist_map_inline:nn {#1}
+ {
+ \exp_args:Nf \doc_macro_single
+ { \doc_predicate_from_base:w ##1 \q_nil }
+ }
+ \bool_set_true:N \l_doc_macro_TF_bool
+ \clist_map_inline:nn {#1} { \doc_macro_single {##1} }
+ \bool_set_false:N \l_doc_macro_TF_bool
+ }
+ {
+ \clist_map_inline:nn {#1} { \doc_macro_single {##1} }
+ }
}
\bool_new:N \l_doc_macro_aux_bool
\bool_new:N \l_doc_macro_TF_bool
+\bool_new:N \l_doc_macro_pTF_bool
+\bool_new:N \l_doc_macro_var_bool
\cs_set_nopar:Npn \doc_macro_opt_aux: { \bool_set_true:N \l_doc_macro_aux_bool }
-\cs_set_nopar:Npn \doc_macro_opt_TF: { \bool_set_true:N \l_doc_macro_TF_bool }
+\cs_set_nopar:Npn \doc_macro_opt_TF: { \bool_set_true:N \l_doc_macro_TF_bool }
+\cs_set_nopar:Npn \doc_macro_opt_pTF: { \bool_set_true:N \l_doc_macro_pTF_bool }
+\cs_set_nopar:Npn \doc_macro_opt_var: { \bool_set_true:N \l_doc_macro_var_bool }
+\cs_set:Npn \doc_predicate_from_base:w #1:#2 \q_nil {#1_p:#2}
+\int_new:N \l_doc_macro_int
\cs_set_nopar:Npn \doc_macro_single #1 {
+ \int_incr:N \l_doc_macro_int
\tl_set:Nx \saved@macroname { \token_to_str:N #1 }
\topsep\MacroTopsep
\trivlist
@@ -368,11 +437,17 @@
\cs_set_eq:NN \doc_macroname_suffix: \doc_typeset_TF:
}
- \cs_set_nopar:Npx \@tempa {
+ \bool_if:NF \l_doc_macro_aux_bool {
+ \tl_gset:Nx \l_doc_macro_tl { \tl_to_str:n {#1} }
+ \exp_args:NNf \tl_greplace_all_in:Nnn \l_doc_macro_tl {\token_to_str:N _} {/}
+ \exp_args:NNf \tl_greplace_all_in:Nnn \l_doc_macro_tl {\@backslashchar} {}
+ }
+
+ \use:x {
\exp_not:N \item [ \exp_not:N \doc_print_macroname:n {
\tl_to_str:n {#1}
}]
- } \@tempa
+ }
\global\advance \c@CodelineNo \@ne
\bool_if:NF \l_doc_macro_aux_bool {
@@ -395,17 +470,167 @@
\global\advance \c@CodelineNo \m@ne
\ignorespaces
}
+\tl_clear:N \l_doc_macro_tl
\cs_set_nopar:Npn \doc_print_macroname:n #1 {
- \strut \MacroFont
- \doc_macroname_prefix:n {#1} \doc_macroname_suffix: \ % space!
+ \strut
+ \int_compare:nTF { \tl_elt_count:n {#1} <= 28 }
+ { \MacroFont } { \MacroLongFont }
+
+ % INEFFICIENT: (!)
+ \exp_args:NNx \seq_if_in:NnTF \g_doc_functions_seq
+ { #1 \bool_if:NT \l_doc_macro_TF_bool { \tl_to_str:n {TF} } }
+ {
+ \hyperref [doc/function/\l_doc_macro_tl]
+ }
+ { \use:n }
+ {
+ \doc_macroname_prefix:n {#1} \doc_macroname_suffix: \ % space!
+ }
+}
+\providecommand \MacroLongFont {
+ \fontfamily{lmtt}\fontseries{lc}\small
}
\cs_set_nopar:Npn \doc_typeset_TF: {
- \color[gray]{0.5}
- \underline { \color{black} \itshape TF \kern-0.1em }
+ \itshape TF%
+ \makebox[0pt][r]{%
+ \color[gray]{0.5}
+ \underline { \phantom{\itshape TF} \kern-0.1em }
+ }
}
\cs_set_nopar:Npn \doc_typeset_aux:n #1 {
{\color[gray]{0.5} #1}
}
+\DeclareDocumentCommand \doc_print_testfile:n {m} {
+ \bool_set_true:N \l_doc_tested_bool
+ \tl_if_eq:nnF {#1} {*} {
+ \seq_if_in:NnF \g_doc_testfiles_seq {#1}
+ {
+ \par{\footnotesize(\textit{
+ The~ test~ suite~ for~ this~ command,~ and~ others~ in~ this~ file,~ is~ \textsf{#1}}.
+ )\par}
+ \seq_gput_right:Nn \g_doc_testfiles_seq {#1}
+ }
+ }
+}
+\seq_new:N \g_doc_testfiles_seq
+\DeclareDocumentCommand \TestFiles {m} {
+ \par
+ {\itshape
+ The~ following~ test~ files~ are~ used~ for~ this~ code:~ \textsf{#1}.
+ }
+ \par\ignorespaces
+}
+\DeclareDocumentCommand \UnitTested {} {
+ \testfile*
+}
+\cs_generate_variant:Nn \prop_gput:Nnn {NVx}
+\prop_new:N \g_doc_missing_tests_prop
+\DeclareDocumentCommand \TestMissing {m} {
+ \prop_if_in:NVTF \g_doc_missing_tests_prop \l_doc_macro_input_clist
+ {
+ \prop_get:NVN \g_doc_missing_tests_prop \l_doc_macro_input_clist \l_tmpa_tl
+ \prop_gput:NVx \g_doc_missing_tests_prop \l_doc_macro_input_clist
+ {
+ *~ \l_tmpa_tl
+ ^^J \exp_not:n {\space\space\space\space\space\space}
+ *~ #1
+ }
+ }
+ { \prop_gput:NVn \g_doc_missing_tests_prop \l_doc_macro_input_clist {#1} }
+}
+\cs_set_nopar:Npn \clist_length:N #1 {
+ \tex_number:D \etex_numexpr:D
+ 0
+ \clist_map_function:NN #1 \tl_elt_count_aux:n
+ \scan_stop:
+}
+\cs_set_nopar:Npn \clist_length:n #1 {
+ \tex_number:D \etex_numexpr:D
+ 0
+ \clist_map_function:nN {#1} \tl_elt_count_aux:n
+ \scan_stop:
+}
+\cs_set_nopar:Npn \clist_item:Nn #1#2 {
+ \exp_args:No \clist_item:nn {#1} {#2}
+}
+\cs_generate_variant:Nn \clist_item:Nn { c }
+\cs_set:Npn \clist_item:nn #1#2 {
+ \int_compare:nNnTF {#2} < { 0 }
+ {
+ \exp_args:Nf \clist_item_aux:nw
+ { \clist_length:n {#1} + #2 }
+ #1 , \q_recursion_tail \q_recursion_stop
+ }
+ {
+ \clist_item_aux:nw {#2} #1
+ , \q_recursion_tail \q_recursion_stop
+ }
+}
+\cs_set:Npn \clist_item_aux:nw #1#2 , #3 {
+ \int_compare:nNnTF {#1} = { 0 }
+ { \use_i_delimit_by_q_recursion_stop:nw {#2} }
+ {
+ \quark_if_recursion_tail_stop:n {#3}
+ \clist_item_aux:nw { #1 - 1 } #3
+ }
+}
+\int_new:N \g_doc_nested_macro_int
+\cs_set:Nn \doc_texttt_comma:n {\,,~\texttt{#1}}
+\cs_set:Npn \endmacro {
+ \int_compare:nT {\g_doc_nested_macro_int<1}
+ {
+ \par\nobreak{\footnotesize(\emph{
+ End~ definition~ for~
+ \prg_case_int:nnn { \clist_length:N \l_doc_macro_input_clist }
+ {
+ {1} { \texttt{ \clist_use:N \l_doc_macro_input_clist }. }
+ {2}
+ {
+ \tl_set:Nx \l_clist_first_tl { \clist_item:Nn \l_doc_macro_input_clist {0} }
+ \tl_set:Nx \l_clist_last_tl { \clist_item:Nn \l_doc_macro_input_clist {1} }
+ \texttt{\l_clist_first_tl}\,~ and~ \texttt{\l_clist_last_tl}\,.
+ }
+ {3}
+ {
+ \tl_set:Nx \l_clist_first_tl { \clist_item:Nn \l_doc_macro_input_clist {0} }
+ \tl_set:Nx \l_clist_mid_tl { \clist_item:Nn \l_doc_macro_input_clist {1} }
+ \tl_set:Nx \l_clist_last_tl { \clist_item:Nn \l_doc_macro_input_clist {2} }
+ \texttt{\l_clist_first_tl}\,,~
+ \texttt{\l_clist_mid_tl}\,,~
+ and~ \texttt{\l_clist_last_tl}\,.
+ }
+ }
+ {
+ \tl_set:Nx \l_clist_first_tl { \clist_item:Nn \l_doc_macro_input_clist {0} }
+ \texttt{\l_clist_first_tl}\,~and~others.
+ }
+ \bool_if:nT {
+ !\l_doc_macro_aux_bool &&
+ \int_compare_p:n {\g_doc_nested_macro_int<1}
+ }
+ {
+ \int_compare:nNnTF \l_doc_macro_int=1 {~This~} {~These~}
+ \bool_if:NTF \l_doc_macro_var_bool{variable}{function}
+ \int_compare:nNnTF \l_doc_macro_int=1 {~is~}{s~are~}
+ documented~on~page~
+ \exp_args:Nx\pageref{doc/function/\l_doc_macro_tl}.
+ }
+ })\par}
+ }
+ \bool_if:nT
+ { \g_doc_checktest_bool &&
+ !( \l_doc_macro_aux_bool || \l_doc_macro_var_bool ) &&
+ !\l_doc_tested_bool
+ }
+ {
+ \seq_gput_right:Nx \g_doc_not_tested_seq
+ {
+ \l_doc_macro_input_clist
+ \bool_if:NT \l_doc_macro_pTF_bool {~(pTF)}
+ \bool_if:NT \l_doc_macro_TF_bool {~(TF)}
+ }
+ }
+}
\newcommand*{\DescribeOption}{
\leavevmode
\@bsphack
@@ -624,6 +849,7 @@
}
\seq_new:N \g_doc_functions_seq
\seq_new:N \g_doc_macros_seq
+\seq_new:N \g_doc_not_tested_seq
\iow_open:Nn \g_write_func_stream { \jobname.cmds }
\cs_new_nopar:Npn \doc_show_functions_defined: {
\bool_if:nT { \g_doc_implementation_bool && \g_doc_checkfunc_bool } {
@@ -668,6 +894,49 @@
\tl_clear:N \l_tmpa_tl
}
}
+\cs_new:Npn \doc_show_not_tested: {
+ \bool_if:NT \g_doc_checktest_bool
+ {
+ \bool_if:nT { !(\seq_if_empty_p:N \g_doc_not_tested_seq) ||
+ !(\prop_if_empty_p:N \g_doc_missing_tests_prop) }
+ {
+ \tl_clear:N \l_tmpa_tl
+ \prop_if_empty:NF \g_doc_missing_tests_prop
+ {
+ \tl_put_right:Nn \l_tmpa_tl
+ {
+ ^^J^^JThe~ following~ macro(s)~ have~ incomplete~ tests:^^J
+ }
+ \prop_map_inline:Nn \g_doc_missing_tests_prop
+ {
+ \tl_put_right:Nn \l_tmpa_tl
+ {^^J\space\space\space\space ##1
+ ^^J\space\space\space\space\space\space ##2}
+ }
+ }
+ \seq_if_empty:NF \g_doc_not_tested_seq
+ {
+ \tl_put_right:Nn \l_tmpa_tl
+ {
+ ^^J^^J
+ The~ following~ macro(s)~ do~ not~ have~ any~ tests:^^J
+ }
+ \seq_map_inline:Nn \g_doc_not_tested_seq
+ {
+ \clist_map_inline:nn {##1}
+ {
+ \tl_put_right:Nn \l_tmpa_tl {^^J\space\space\space\space ####1}
+ }
+ }
+ \int_set:Nn \l_tmpa_int {\etex_interactionmode:D}
+ \errorstopmode
+ \ClassError{l3doc}{\l_tmpa_tl}{}
+ \int_set:Nn \etex_interactionmode:D {\l_tmpa_int}
+ }
+ }
+ }
+}
+\AtEndDocument{ \doc_show_not_tested: }
\g@addto@macro\theindex{\MakePrivateLetters}
\cs_set:Npn \verbatimchar {&}
\setcounter{IndexColumns}{2}
diff --git a/Master/texmf-dist/tex/latex/expl3/l3font.sty b/Master/texmf-dist/tex/latex/expl3/l3font.sty
new file mode 100644
index 00000000000..78a6f23ec48
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/expl3/l3font.sty
@@ -0,0 +1,105 @@
+%%
+%% This is file `l3font.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% l3font.dtx (with options: `package')
+%%
+%%
+%% EXPERIMENTAL CODE
+%%
+%% Do not distribute this file without also distributing the
+%% source files specified above.
+%%
+%% Do not distribute a modified version of this file.
+%%
+%%
+%% File: l3font.dtx Copyright (C) 1990-2011 LaTeX3 project
+%%
+%% It may be distributed and/or modified under the conditions of the
+%% LaTeX Project Public License (LPPL), either version 1.3c 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 ``expl3 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/svnroot/experimental/trunk/
+%%
+%% 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.
+%%
+%% -----------------------------------------------------------------------
+\RequirePackage{l3names}
+\GetIdInfo$Id: l3font.dtx 2175 2011-03-03 12:16:46Z will $
+ {L3 Experimental Font Loading}
+\ProvidesExplPackage
+ {\filename}{\filedate}{\fileversion}{\filedescription}
+\package_check_loaded_expl:
+\cs_new_protected:Npn \font_set:Nnn #1#2#3 { \tex_font:D #1 = #2 ~at~ #3 \scan_stop: }
+\cs_new_protected:Npn \font_gset:Nnn #1#2#3 {
+ \tex_global:D \tex_font:D #1 = #2 ~at~ #3 \scan_stop:
+}
+\cs_generate_variant:Nn \font_set:Nnn {c}
+\cs_generate_variant:Nn \font_gset:Nnn {c}
+\cs_set_eq:NN \font_set_eq:NN \tex_let:D
+\cs_set_protected:Npn \font_gset_eq:NN { \tex_global:D \tex_let:D }
+\cs_set:Npn \font_set_to_current:N #1 {
+ \exp_after:wN \font_set_eq:NN \exp_after:wN #1 \tex_the:D \tex_font:D
+}
+\cs_set:Npn \font_gset_to_current:N #1 {
+ \tex_global:D \exp_after:wN \font_set_eq:NN \exp_after:wN #1 \tex_the:D \tex_font:D
+}
+\luatex_if_engine:TF
+{
+ \cs_new:Npn \font_suppress_not_found_error:
+ {\luatexsuppressfontnotfounderror=\c_one}
+ \cs_new:Npn \font_enable_not_found_error:
+ {\luatexsuppressfontnotfounderror=\c_zero}
+}
+{
+ \xetex_if_engine:TF
+ {
+ \cs_new:Npn \font_suppress_not_found_error:
+ {\suppressfontnotfounderror=\c_one}
+ \cs_new:Npn \font_enable_not_found_error:
+ {\suppressfontnotfounderror=\c_zero}
+ }
+ {
+ \cs_new:Npn \font_suppress_not_found_error:
+ {
+ \msg_kernel_warning:nnx {l3font} {cmd-pdftex-unavail}
+ {\font_suppress_not_found_error:}
+ }
+ }
+}
+\msg_kernel_new:nnn {l3font} {cmd-pdftex-unavail} {
+ The~ command~ `\exp_not:n{#1}'~ is~ not~ available~ for~ the~ pdfTeX~ format.
+}
+\prg_new_conditional:Nnn \font_if_null:N {p,TF,T,F} {
+ \if_meaning:w #1 \tex_nullfont:D
+ \prg_return_true:
+ \else:
+ \prg_return_false:
+ \fi:
+}
+%%
+%%
+%% End of file `l3font.sty'.
diff --git a/Master/texmf-dist/tex/latex/expl3/l3fp.sty b/Master/texmf-dist/tex/latex/expl3/l3fp.sty
index 6ac5741afb0..4ce67fbb7d9 100644
--- a/Master/texmf-dist/tex/latex/expl3/l3fp.sty
+++ b/Master/texmf-dist/tex/latex/expl3/l3fp.sty
@@ -15,7 +15,7 @@
%% Do not distribute a modified version of this file.
%%
%%
-%% File: l3fp.dtx Copyright (C) 2010 LaTeX3 project
+%% File: l3fp.dtx Copyright (C) 2010-2011 LaTeX3 project
%%
%% It may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -48,7 +48,7 @@
%%
%% -----------------------------------------------------------------------
\RequirePackage{l3names}
-\GetIdInfo$Id: l3fp.dtx 2129 2011-01-10 22:58:48Z joseph $
+\GetIdInfo$Id: l3fp.dtx 2178 2011-03-06 09:03:44Z mittelba $
{L3 Experimental floating-point operations}
\ProvidesExplPackage
{\filename}{\filedate}{\fileversion}{\filedescription}
diff --git a/Master/texmf-dist/tex/latex/expl3/l3int.sty b/Master/texmf-dist/tex/latex/expl3/l3int.sty
index 276059fb0bf..97db73b44cd 100644
--- a/Master/texmf-dist/tex/latex/expl3/l3int.sty
+++ b/Master/texmf-dist/tex/latex/expl3/l3int.sty
@@ -48,7 +48,7 @@
%%
%% -----------------------------------------------------------------------
\RequirePackage{l3names}
-\GetIdInfo$Id: l3int.dtx 2121 2011-01-07 08:46:09Z joseph $
+\GetIdInfo$Id: l3int.dtx 2178 2011-03-06 09:03:44Z mittelba $
{L3 Experimental Integer module}
\ProvidesExplPackage
{\filename}{\filedate}{\fileversion}{\filedescription}
@@ -654,7 +654,6 @@
\cs_set:Npn \int_do_until:nNnn #1#2#3#4{
#4 \int_compare:nNnF {#1}#2{#3}{\int_do_until:nNnn {#1}#2{#3}{#4}}
}
-
\cs_new_protected_nopar:Npn \int_const:Nn #1#2 {
\int_compare:nTF { #2 > \c_minus_one }
{
@@ -674,7 +673,6 @@
}
}
\cs_generate_variant:Nn \int_const:Nn { c }
-\tex_mathchardef:D \c_max_register_int = 32767 \scan_stop:
%% \tex_countdef:D \c_minus_one = 10 \scan_stop:
%% \c_minus_one = -1 \scan_stop: %% in l3basics
\int_const:Nn \c_one {1}
@@ -682,13 +680,10 @@
\int_const:Nn \c_three {3}
\int_const:Nn \c_four {4}
\int_const:Nn \c_five {5}
-\int_const:Nn \c_six {6}
-\int_const:Nn \c_seven {7}
\int_const:Nn \c_eight {8}
\int_const:Nn \c_nine {9}
\int_const:Nn \c_ten {10}
\int_const:Nn \c_eleven {11}
-\int_const:Nn \c_twelve {12}
\int_const:Nn \c_thirteen {13}
\int_const:Nn \c_fourteen {14}
\int_const:Nn \c_fifteen {15}
@@ -720,6 +715,7 @@
\int_const:cn { c_int_from_roman_D_int } { 500 }
\int_const:cn { c_int_from_roman_M_int } { 1000 }
\int_new:N \g_tl_inline_level_int
+\int_new:N\g_prg_inline_level_int
\cs_set_eq:NN \intexpr_value:w \int_value:w
\cs_set_eq:NN \intexpr_eval:w \int_eval:w
\cs_set_eq:NN \intexpr_eval_end: \int_eval_end:
diff --git a/Master/texmf-dist/tex/latex/expl3/l3prg.sty b/Master/texmf-dist/tex/latex/expl3/l3prg.sty
index 8dc053e7c5f..5e18591892b 100644
--- a/Master/texmf-dist/tex/latex/expl3/l3prg.sty
+++ b/Master/texmf-dist/tex/latex/expl3/l3prg.sty
@@ -48,26 +48,23 @@
%%
%% -----------------------------------------------------------------------
\RequirePackage{l3names}
-\GetIdInfo$Id: l3prg.dtx 2121 2011-01-07 08:46:09Z joseph $
+\GetIdInfo$Id: l3prg.dtx 2178 2011-03-06 09:03:44Z mittelba $
{L3 Experimental control structures}
\ProvidesExplPackage
{\filename}{\filedate}{\fileversion}{\filedescription}
\package_check_loaded_expl:
\prg_set_conditional:Npnn \mode_if_vertical: {p,TF,T,F}{
- \if_mode_vertical:
- \prg_return_true: \else: \prg_return_false: \fi:
+ \if_mode_vertical: \prg_return_true: \else: \prg_return_false: \fi:
}
\prg_set_conditional:Npnn \mode_if_horizontal: {p,TF,T,F}{
- \if_mode_horizontal:
- \prg_return_true: \else: \prg_return_false: \fi:
+ \if_mode_horizontal: \prg_return_true: \else: \prg_return_false: \fi:
}
\prg_set_conditional:Npnn \mode_if_inner: {p,TF,T,F}{
- \if_mode_inner:
- \prg_return_true: \else: \prg_return_false: \fi:
+ \if_mode_inner: \prg_return_true: \else: \prg_return_false: \fi:
}
\prg_set_conditional:Npnn \mode_if_math: {p,TF,T,F}{
\scan_align_safe_stop: \if_mode_math:
- \prg_return_true: \else: \prg_return_false: \fi:
+ \prg_return_true: \else: \prg_return_false: \fi:
}
\cs_new_nopar:Npn \group_align_safe_begin: {
\if_false:{\fi:\if_num:w`}=\c_zero\fi:}
@@ -147,7 +144,6 @@
{#2}{#3}{#4}
}
}
-\int_new:N\g_prg_inline_level_int
\cs_new_protected:Npn\prg_stepwise_inline:nnnn #1#2#3#4{
\int_gincr:N \g_prg_inline_level_int
\cs_gset_nopar:cpn{prg_stepwise_inline_\int_use:N\g_prg_inline_level_int :n}##1{#4}
diff --git a/Master/texmf-dist/tex/latex/expl3/l3quark.sty b/Master/texmf-dist/tex/latex/expl3/l3quark.sty
index 3fb3d4ee1f8..65935330d67 100644
--- a/Master/texmf-dist/tex/latex/expl3/l3quark.sty
+++ b/Master/texmf-dist/tex/latex/expl3/l3quark.sty
@@ -48,7 +48,7 @@
%%
%% -----------------------------------------------------------------------
\RequirePackage{l3names}
-\GetIdInfo$Id: l3quark.dtx 2036 2010-09-20 20:33:54Z joseph $
+\GetIdInfo$Id: l3quark.dtx 2172 2011-03-03 10:56:49Z will $
{L3 Experimental Quark Commands}
\ProvidesExplPackage
{\filename}{\filedate}{\fileversion}{\filedescription}
@@ -121,7 +121,6 @@
\cs_generate_variant:Nn \quark_if_nil:nTF {o}
\cs_generate_variant:Nn \quark_if_nil:nT {o}
\cs_generate_variant:Nn \quark_if_nil:nF {o}
-
%%
%%
%% End of file `l3quark.sty'.
diff --git a/Master/texmf-dist/tex/latex/expl3/l3skip.sty b/Master/texmf-dist/tex/latex/expl3/l3skip.sty
index 7248309d1cb..9dae6498cc0 100644
--- a/Master/texmf-dist/tex/latex/expl3/l3skip.sty
+++ b/Master/texmf-dist/tex/latex/expl3/l3skip.sty
@@ -48,7 +48,7 @@
%%
%% -----------------------------------------------------------------------
\RequirePackage{l3names}
-\GetIdInfo$Id: l3skip.dtx 2121 2011-01-07 08:46:09Z joseph $
+\GetIdInfo$Id: l3skip.dtx 2149 2011-02-15 20:50:02Z mittelba $
{L3 Experimental skip registers}
\ProvidesExplPackage
{\filename}{\filedate}{\fileversion}{\filedescription}
@@ -106,7 +106,7 @@
\cs_generate_variant:Nn \skip_use:N {c}
\cs_new_eq:NN \skip_show:N \kernel_register_show:N
\cs_generate_variant:Nn \skip_show:N {c}
-\cs_new_protected_nopar:Npn \skip_eval:n #1 {
+\cs_new_nopar:Npn \skip_eval:n #1 {
\tex_the:D \etex_glueexpr:D #1 \scan_stop:
}
%%\chk_if_free_cs:N \l_tmpa_skip
@@ -189,7 +189,7 @@
\dim_new:N \g_tmpb_dim
\cs_new_eq:NN \c_zero_dim \c_zero_skip
\cs_new_eq:NN \c_max_dim \c_max_skip
-\cs_new_protected_nopar:Npn \dim_eval:n #1 {
+\cs_new_nopar:Npn \dim_eval:n #1 {
\tex_the:D \etex_dimexpr:D #1 \scan_stop:
}
\cs_new_eq:NN \if_dim:w \tex_ifdim:D
diff --git a/Master/texmf-dist/tex/latex/expl3/l3tl.sty b/Master/texmf-dist/tex/latex/expl3/l3tl.sty
index e334d246130..cacec3e0fdf 100644
--- a/Master/texmf-dist/tex/latex/expl3/l3tl.sty
+++ b/Master/texmf-dist/tex/latex/expl3/l3tl.sty
@@ -48,7 +48,7 @@
%%
%% -----------------------------------------------------------------------
\RequirePackage{l3names}
-\GetIdInfo$Id: l3tl.dtx 2138 2011-01-26 08:15:27Z joseph $
+\GetIdInfo$Id: l3tl.dtx 2184 2011-03-07 18:07:12Z joseph $
{L3 Experimental Token Lists}
\ProvidesExplPackage
{\filename}{\filedate}{\fileversion}{\filedescription}
@@ -446,14 +446,13 @@
\_tl_replace_in_aux:NNnn \tl_set_eq:NN
}
\cs_new_protected:Npn \_tl_replace_in_aux:NNnn #1#2#3#4 {
- \cs_set:Npn \_tl_tmp:w ##1 #3 ##2 \q_stop
+ \cs_set_protected:Npn \_tl_tmp:w ##1 #3 ##2 \q_stop
{
\quark_if_no_value:nF {##2}
{
\tl_set:No \_l_tl_replace_tl { ##1 #4 }
- \cs_set:Npn \_tl_tmp:w ####1 #3 \q_no_value {
- \tl_put_right:No \_l_tl_replace_tl {####1}
- }
+ \cs_set_protected:Npn \_tl_tmp:w ####1 \q_nil #3 \q_no_value
+ { \tl_put_right:No \_l_tl_replace_tl {####1} }
\_tl_tmp:w \prg_do_nothing: ##2
#1 #2 \_l_tl_replace_tl
}
@@ -463,7 +462,7 @@
\exp_after:wN \_tl_tmp:w \exp_after:wN
\prg_do_nothing:
}
- #2 #3 \q_no_value \q_stop
+ #2 \q_nil #3 \q_no_value \q_stop
}
\cs_new_protected_nopar:Npn \tl_greplace_in:Nnn {
\_tl_replace_in_aux:NNnn \tl_gset_eq:NN
@@ -478,10 +477,14 @@
}
\cs_new_protected:Npn \_tl_replace_all_in_aux:NNnn #1#2#3#4 {
\tl_clear:N \_l_tl_replace_tl
- \cs_set:Npn \_tl_tmp:w ##1 #3 ##2 \q_stop
+ \cs_set_protected:Npn \_tl_tmp:w ##1 #3 ##2 \q_stop
{
\quark_if_no_value:nTF {##2}
- { \tl_put_right:No \_l_tl_replace_tl {##1} }
+ {
+ \cs_set_protected:Npn \_tl_tmp:w ####1 \q_nil ####2 \q_stop
+ { \tl_put_right:No \_l_tl_replace_tl {####1} }
+ \_tl_tmp:w ##1 \q_stop
+ }
{
\tl_put_right:No \_l_tl_replace_tl { ##1 #4 }
\_tl_tmp:w \prg_do_nothing: ##2 \q_stop
@@ -492,7 +495,7 @@
\exp_after:wN \_tl_tmp:w \exp_after:wN
\prg_do_nothing:
}
- #2 #3 \q_no_value \q_stop
+ #2 \q_nil #3 \q_no_value \q_stop
#1 #2 \_l_tl_replace_tl
}
\cs_generate_variant:Nn \tl_replace_all_in:Nnn { c }
diff --git a/Master/texmf-dist/tex/latex/expl3/l3token.sty b/Master/texmf-dist/tex/latex/expl3/l3token.sty
index 826763a5693..4fa8cc3f704 100644
--- a/Master/texmf-dist/tex/latex/expl3/l3token.sty
+++ b/Master/texmf-dist/tex/latex/expl3/l3token.sty
@@ -48,7 +48,7 @@
%%
%% -----------------------------------------------------------------------
\RequirePackage{l3names}
-\GetIdInfo$Id: l3token.dtx 2063 2010-10-03 08:26:49Z mittelba $
+\GetIdInfo$Id: l3token.dtx 2151 2011-02-16 06:58:12Z will $
{L3 Experimental token investigation and manipulation}
\ProvidesExplPackage
{\filename}{\filedate}{\fileversion}{\filedescription}
diff --git a/Master/texmf-dist/tex/latex/expl3/l3xref.sty b/Master/texmf-dist/tex/latex/expl3/l3xref.sty
index 43a67abdcda..44e5bc5e554 100644
--- a/Master/texmf-dist/tex/latex/expl3/l3xref.sty
+++ b/Master/texmf-dist/tex/latex/expl3/l3xref.sty
@@ -48,7 +48,7 @@
%%
%% -----------------------------------------------------------------------
\RequirePackage{l3names}
-\GetIdInfo$Id: l3xref.dtx 1786 2010-02-09 12:52:45Z joseph $
+\GetIdInfo$Id: l3xref.dtx 2151 2011-02-16 06:58:12Z will $
{L3 Experimental cross referencing}
\ProvidesExplPackage
{\filename}{\filedate}{\fileversion}{\filedescription}