From 1d5214eef547cee6ca964581213f2ce9e225405f Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Fri, 30 Jan 2015 22:06:14 +0000 Subject: l3kernel (30jan15) git-svn-id: svn://tug.org/texlive/trunk@36174 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/l3kernel/expl3.pdf | Bin 584723 -> 584763 bytes .../texmf-dist/doc/latex/l3kernel/interface3.pdf | Bin 1480397 -> 1481908 bytes .../texmf-dist/doc/latex/l3kernel/interface3.tex | 89 ++++ .../texmf-dist/doc/latex/l3kernel/l3docstrip.pdf | Bin 268222 -> 268222 bytes Master/texmf-dist/doc/latex/l3kernel/l3obsolete | 482 --------------------- .../texmf-dist/doc/latex/l3kernel/l3styleguide.pdf | Bin 273228 -> 273228 bytes .../texmf-dist/doc/latex/l3kernel/l3styleguide.tex | 242 +++++++++++ .../doc/latex/l3kernel/l3syntax-changes.pdf | Bin 220209 -> 220209 bytes .../doc/latex/l3kernel/l3syntax-changes.tex | 110 +++++ Master/texmf-dist/doc/latex/l3kernel/source3.pdf | Bin 4612729 -> 4609591 bytes Master/texmf-dist/doc/latex/l3kernel/source3.tex | 106 +++++ 11 files changed, 547 insertions(+), 482 deletions(-) create mode 100644 Master/texmf-dist/doc/latex/l3kernel/interface3.tex delete mode 100644 Master/texmf-dist/doc/latex/l3kernel/l3obsolete create mode 100644 Master/texmf-dist/doc/latex/l3kernel/l3styleguide.tex create mode 100644 Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex create mode 100644 Master/texmf-dist/doc/latex/l3kernel/source3.tex (limited to 'Master/texmf-dist/doc') diff --git a/Master/texmf-dist/doc/latex/l3kernel/expl3.pdf b/Master/texmf-dist/doc/latex/l3kernel/expl3.pdf index 1478e3ce3ba..05fb314f35f 100644 Binary files a/Master/texmf-dist/doc/latex/l3kernel/expl3.pdf and b/Master/texmf-dist/doc/latex/l3kernel/expl3.pdf differ diff --git a/Master/texmf-dist/doc/latex/l3kernel/interface3.pdf b/Master/texmf-dist/doc/latex/l3kernel/interface3.pdf index 2deaacbac1d..f01e988b0d2 100644 Binary files a/Master/texmf-dist/doc/latex/l3kernel/interface3.pdf and b/Master/texmf-dist/doc/latex/l3kernel/interface3.pdf differ diff --git a/Master/texmf-dist/doc/latex/l3kernel/interface3.tex b/Master/texmf-dist/doc/latex/l3kernel/interface3.tex new file mode 100644 index 00000000000..4c0a2761e92 --- /dev/null +++ b/Master/texmf-dist/doc/latex/l3kernel/interface3.tex @@ -0,0 +1,89 @@ +% \iffalse meta-comment +% +%% File: interfaces3.tex Copyright (C) 1990-2011 The 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 "l3kernel 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 LaTeX3 Project. +%% +%% ----------------------------------------------------------------------- +% +% \fi + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% This document will typeset the LaTeX3 interface descriptions a single +% document. This will produce quite a large file (more than 170 pages +% currently). +% +% There is also a full version of the sources (source3.tex) which additionally +% also typesets the command implementations. +% +% Do not forget to generate the index (as explained on the terminal output +% near the end of the run)! +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +\documentclass{l3doc} +\listfiles + +\begin{document} + +\title{The \LaTeX3 Interfaces} +\author{% + The \LaTeX3 Project\thanks + {% + E-mail: + \href{mailto:latex-team@latex-project.org} + {latex-team@latex-project.org}% + }% +} + +\pagenumbering{roman} +\maketitle + +% +% First load all modules and typeset the documentation parts +% + +\input{source3body} % all the individual modules + +\clearpage + +\begingroup + \def\endash{--} + \catcode`\-\active + \def-{\futurelet\temp\indexdash} + \def\indexdash{\ifx\temp-\endash\fi} + \DelayPrintIndex +\endgroup + +\end{document} + + diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdf index 5b8d9460722..9a1309b372c 100644 Binary files a/Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdf and b/Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdf differ diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3obsolete b/Master/texmf-dist/doc/latex/l3kernel/l3obsolete deleted file mode 100644 index 960a22d7fa8..00000000000 --- a/Master/texmf-dist/doc/latex/l3kernel/l3obsolete +++ /dev/null @@ -1,482 +0,0 @@ -This file lists functions and variables removed from l3kernel. -Functions which were added with 'experimental' status only are -not listed. The 'Date removed' and 'SVN' columns detail when the -functions are removed from the standard DocStrip extraction for -l3kernel. - -Function Date removed SVN ------------------------------------------------------------------- - -\c_active_char_token 2011-09-08 2786 -\c_alignment_tab_token 2011-09-08 2786 -\c_empty_toks 2011-09-08 2786 -\c_keys_code_root_tl 2013-01-08 4412 -\c_letter_token 2011-09-08 2786 -\c_luatex_is_engine_bool 2011-12-30 3114 -\c_math_shift_token 2011-09-08 2786 -\c_other_char_token 2011-09-08 2786 -\c_pdftex_is_engine_bool 2011-12-30 3114 -\c_string_cctab 2012-06-30 3873 -\c_undefined_fp 2014-05-28 4911 -\c_xetex_is_engine_bool 2011-12-30 3114 -\char_make_active:N 2011-09-08 2786 -\char_make_active:n 2011-09-08 2786 -\char_make_alignment_tab:N 2011-09-08 2786 -\char_make_alignment_tab:n 2011-09-08 2786 -\char_make_begin_group:N 2011-09-08 2786 -\char_make_begin_group:n 2011-09-08 2786 -\char_make_comment:N 2011-09-08 2786 -\char_make_comment:n 2011-09-08 2786 -\char_make_end_group:N 2011-09-08 2786 -\char_make_end_group:n 2011-09-08 2786 -\char_make_end_line:N 2011-09-08 2786 -\char_make_end_line:n 2011-09-08 2786 -\char_make_escape:N 2011-09-08 2786 -\char_make_escape:n 2011-09-08 2786 -\char_make_ignore:N 2011-09-08 2786 -\char_make_ignore:n 2011-09-08 2786 -\char_make_invalid:N 2011-09-08 2786 -\char_make_invalid:n 2011-09-08 2786 -\char_make_letter:N 2011-09-08 2786 -\char_make_letter:n 2011-09-08 2786 -\char_make_math_shift:N 2011-09-08 2786 -\char_make_math_shift:n 2011-09-08 2786 -\char_make_math_subscript:N 2011-09-08 2786 -\char_make_math_subscript:n 2011-09-08 2786 -\char_make_math_superscript:N 2011-09-08 2786 -\char_make_math_superscript:n 2011-09-08 2786 -\char_make_other:N 2011-09-08 2786 -\char_make_other:n 2011-09-08 2786 -\char_make_parameter:N 2011-09-08 2786 -\char_make_parameter:n 2011-09-08 2786 -\char_make_space:N 2011-09-08 2786 -\char_make_space:n 2011-09-08 2786 -\char_set_catcode:w 2011-09-08 2786 -\char_set_lccode:w 2011-09-08 2786 -\char_set_mathcode:w 2011-09-08 2786 -\char_set_sfcode:w 2011-09-08 2786 -\char_set_uccode:w 2011-09-08 2786 -\char_show_value_catcode:w 2011-09-08 2786 -\char_show_value_lccode:w 2011-09-08 2786 -\char_show_value_mathcode:w 2011-09-08 2786 -\char_show_value_sfcode:w 2011-09-08 2786 -\char_show_value_uccode:w 2011-09-08 2786 -\char_value_catcode:w 2011-09-08 2786 -\char_value_lccode:w 2011-09-08 2786 -\char_value_mathcode:w 2011-09-08 2786 -\char_value_sfcode:w 2011-09-08 2786 -\char_value_uccode:w 2011-09-08 2786 -\clist_display:c 2011-09-08 2786 -\clist_display:N 2011-09-08 2786 -\clist_gremove_element:Nn 2011-09-08 2786 -\clist_gtrim_spaces:c 2011-12-20 3114 -\clist_gtrim_spaces:N 2011-12-20 3114 -\clist_if_eq_p:cc 2013-01-08 4412 -\clist_if_eq:ccF 2013-01-08 4412 -\clist_if_eq:ccT 2013-01-08 4412 -\clist_if_eq:ccTF 2013-01-08 4412 -\clist_if_eq_p:cN 2013-01-08 4412 -\clist_if_eq:cNF 2013-01-08 4412 -\clist_if_eq:cNT 2013-01-08 4412 -\clist_if_eq:cNTF 2013-01-08 4412 -\clist_if_eq_p:Nc 2013-01-08 4412 -\clist_if_eq:NcF 2013-01-08 4412 -\clist_if_eq:NcT 2013-01-08 4412 -\clist_if_eq:NcTF 2013-01-08 4412 -\clist_length:N 2013-01-08 4412 -\clist_length:n 2013-01-08 4412 -\clist_length:c 2013-01-08 4412 -\clist_remove_element:Nn 2011-09-08 2786 -\clist_top:cN 2011-09-08 2786 -\clist_trim_spaces:c 2011-12-20 3114 -\clist_trim_spaces:N 2011-12-20 3114 -\clist_use:N 2013-01-08 4412 -\clist_use:c 2013-01-08 4412 -\chk_if_free_cs:N 2013-01-08 4412 -\cs_gnew_eq:cc 2011-09-08 2786 -\cs_gnew_eq:cN 2011-09-08 2786 -\cs_gnew_eq:Nc 2011-09-08 2786 -\cs_gnew_nopar:cpn 2011-09-08 2786 -\cs_gnew_nopar:cpx 2011-09-08 2786 -\cs_gnew_nopar:Npn 2011-09-08 2786 -\cs_gnew_nopar:Npx 2011-09-08 2786 -\cs_gnew_protected_nopar:cpn 2011-09-08 2786 -\cs_gnew_protected_nopar:cpx 2011-09-08 2786 -\cs_gnew_protected_nopar:Npn 2011-09-08 2786 -\cs_gnew_protected_nopar:Npx 2011-09-08 2786 -\cs_gnew_protected:cpn 2011-09-08 2786 -\cs_gnew_protected:cpx 2011-09-08 2786 -\cs_gnew_protected:Npn 2011-09-08 2786 -\cs_gnew_protected:Npx 2011-09-08 2786 -\cs_gnew:cpn 2011-09-08 2786 -\cs_gnew:cpx 2011-09-08 2786 -\cs_gnew:Npn 2011-09-08 2786 -\cs_gnew:Npx 2011-09-08 2786 -\cs_gundefine:c 2011-09-08 2786 -\cs_gundefine:N 2011-09-08 2786 -\cs_set_eq:NwN 2011-12-30 3114 -\dim_eval:w 2013-01-08 4412 -\dim_eval_end: 2013-01-08 4412 -\dim_gset_max:cn 2013-01-08 4412 -\dim_gset_max:Nn 2013-01-08 4412 -\dim_gset_min:cn 2013-01-08 4412 -\dim_gset_min:Nn 2013-01-08 4412 -\dim_set_max:cn 2013-01-08 4412 -\dim_set_max:Nn 2013-01-08 4412 -\dim_set_min:cn 2013-01-08 4412 -\dim_set_min:Nn 2013-01-08 4412 -\ExplSyntaxNamesOff 2013-01-08 4420 -\ExplSyntaxNamesOn 2013-01-08 4420 -\fp_if_undefined_p:N 2014-05-28 4911 -\fp_if_undefined:NF 2014-05-28 4911 -\fp_if_undefined:NT 2014-05-28 4911 -\fp_if_undefined:NTF 2014-05-28 4911 -\fp_abs:c 2014-05-28 4911 -\fp_abs:N 2014-05-28 4911 -\fp_compare:NNNF 2014-05-28 4911 -\fp_compare:NNNT 2014-05-28 4911 -\fp_compare:NNNTF 2014-05-28 4911 -\fp_cos:cn 2014-05-28 4911 -\fp_cos:Nn 2014-05-28 4911 -\fp_div:cn 2014-05-28 4911 -\fp_div:Nn 2014-05-28 4911 -\fp_exp:cn 2014-05-28 4911 -\fp_exp:Nn 2014-05-28 4911 -\fp_gabs:c 2014-05-28 4911 -\fp_gabs:N 2014-05-28 4911 -\fp_gcos:cn 2014-05-28 4911 -\fp_gcos:Nn 2014-05-28 4911 -\fp_gdiv:cn 2014-05-28 4911 -\fp_gdiv:Nn 2014-05-28 4911 -\fp_gexp:cn 2014-05-28 4911 -\fp_gexp:Nn 2014-05-28 4911 -\fp_gln:cn 2014-05-28 4911 -\fp_gln:Nn 2014-05-28 4911 -\fp_gmul:cn 2014-05-28 4911 -\fp_gmul:Nn 2014-05-28 4911 -\fp_gneg:c 2014-05-28 4911 -\fp_gneg:N 2014-05-28 4911 -\fp_gpow:cn 2014-05-28 4911 -\fp_gpow:Nn 2014-05-28 4911 -\fp_ground_figures:cn 2014-05-28 4911 -\fp_ground_figures:Nn 2014-05-28 4911 -\fp_ground_places:cn 2014-05-28 4911 -\fp_ground_places:Nn 2014-05-28 4911 -\fp_gsin:cn 2014-05-28 4911 -\fp_gsin:Nn 2014-05-28 4911 -\fp_gtan:cn 2014-05-28 4911 -\fp_gtan:Nn 2014-05-28 4911 -\fp_if_undefined_p:N 2014-05-28 4911 -\fp_if_undefined:NF 2014-05-28 4911 -\fp_if_undefined:NT 2014-05-28 4911 -\fp_if_undefined:NTF 2014-05-28 4911 -\fp_if_zero_p:N 2014-05-28 4911 -\fp_if_zero:NF 2014-05-28 4911 -\fp_if_zero:NT 2014-05-28 4911 -\fp_if_zero:NTF 2014-05-28 4911 -\fp_ln:cn 2014-05-28 4911 -\fp_ln:Nn 2014-05-28 4911 -\fp_mul:cn 2014-05-28 4911 -\fp_mul:Nn 2014-05-28 4911 -\fp_neg:c 2014-05-28 4911 -\fp_neg:N 2014-05-28 4911 -\fp_pow:cn 2014-05-28 4911 -\fp_pow:Nn 2014-05-28 4911 -\fp_round_figures:cn 2014-05-28 4911 -\fp_round_figures:Nn 2014-05-28 4911 -\fp_round_places:cn 2014-05-28 4911 -\fp_round_places:Nn 2014-05-28 4911 -\fp_sin:cn 2014-05-28 4911 -\fp_sin:Nn 2014-05-28 4911 -\fp_tan:cn 2014-05-28 4911 -\fp_tan:Nn 2014-05-28 4911 -\g_tmpa_toks 2011-09-08 2786 -\g_tmpb_toks 2011-09-08 2786 -\g_tmpc_toks 2011-09-08 2786 -\group_execute_after:N 2011-09-08 2786 -\if_num:w 2013-01-08 4412 -\int_convert_from_base_ten:nn 2011-11-22 2986 -\int_convert_from_symbols:nn 2011-11-22 2986 -\int_convert_to_base_ten:nn 2011-11-22 2986 -\int_eval:w 2013-01-08 4412 -\int_eval_end: 2013-01-08 4412 -\int_value:w 2013-01-08 4412 -\int_to_symbol:n 2011-11-22 2986 -\ior_gto:NN 2013-07-28 4581 -\ior_new:c 2011-09-08 2786 -\ior_new:N 2011-09-08 2786 -\ior_open_streams: 2011-09-08 2786 -\ior_to:NN 2013-07-28 4581 -\ior_str_gto:NN 2013-07-28 4581 -\ior_str_to:NN 2013-07-28 4581 -\iow_new:c 2011-09-08 2786 -\iow_new:N 2011-09-08 2786 -\iow_now_buffer_safe:Nn 2011-09-08 2786 -\iow_now_buffer_safe:Nx 2011-09-08 2786 -\iow_now_when_avail:Nn 2012-06-05 3752 -\iow_now_when_avail:Nx 2012-06-05 3752 -\iow_open_streams: 2011-09-08 2786 -\iow_wrap:xnnnN 2013-01-08 4420 -\KV_process_no_space_removal_no_sanitize:NNn 2011-09-08 2786 -\KV_process_space_removal_no_sanitize:NNn 2011-09-08 2786 -\KV_process_space_removal_sanitize:NNn 2011-09-08 2786 -\l_iow_line_length_int 2013-01-08 4420 -\l_last_box 2012-05-11 3621 -\l_tl_replace_toks 2011-09-08 2786 -\l_tmpa_toks 2011-09-08 2786 -\l_tmpb_toks 2011-09-08 2786 -\l_tmpc_int 2013-01-08 4412 -\l_tmpc_toks 2011-09-08 2786 -\msg_class_new:nn 2011-09-08 2786 -\msg_class_set:nn 2013-01-08 4412 -\msg_direct_interrupt:xxxxx 2011-09-08 2786 -\msg_direct_log:xx 2011-09-08 2786 -\msg_direct_term:xx 2011-09-08 2786 -\msg_generic_new:nn 2011-09-08 2786 -\msg_generic_new:nnn 2011-09-08 2786 -\msg_generic_set:nn 2011-09-08 2786 -\msg_generic_set:nnn 2011-09-08 2786 -\msg_interrupt:xxx 2013-01-08 4412 -\msg_log:x 2013-01-08 4412 -\msg_newline: 2013-01-08 4412 -\msg_term:x 2013-01-08 4412 -\msg_trace:nn 2011-09-08 2786 -\msg_trace:nnx 2011-09-08 2786 -\msg_trace:nnxx 2011-09-08 2786 -\msg_trace:nnxxx 2011-09-08 2786 -\msg_trace:nnxxxx 2011-09-08 2786 -\msg_two_newlines: 2013-01-08 4412 -\peek_after:NN 2011-09-08 2786 -\peek_gafter:NN 2011-09-08 2786 -\prg_case_dim:nnn 2013-01-08 4412 -\prg_case_int:nnn 2013-01-08 4420 -\prg_case_str:nnn 2013-01-08 4420 -\prg_case_str:onn 2013-01-08 4420 -\prg_case_str:xxn 2013-01-08 4420 -\prg_case_tl:cnn 2013-01-08 4420 -\prg_case_tl:Nnn 2013-01-08 4420 -\prg_new_map_functions:Nn 2011-09-08 2786 -\prg_set_map_functions:Nn 2011-09-08 2786 -\prg_stepwise_function:nnnN 2013-01-08 4420 -\prg_stepwise_inline:nnnn 2013-01-08 4420 -\prg_stepwise_variable:nnnNn 2013-01-08 4420 -\prop_del:cn 2013-01-08 4412 -\prop_del:cV 2013-01-08 4412 -\prop_del:Nn 2013-01-08 4412 -\prop_del:NV 2013-01-08 4412 -\prop_gdel:cn 2013-01-08 4412 -\prop_gdel:cV 2013-01-08 4412 -\prop_gdel:Nn 2013-01-08 4412 -\prop_gdel:NV 2013-01-08 4412 -\prop_display:c 2011-09-08 2786 -\prop_display:N 2011-09-08 2786 -\prop_get_gdel:NnN 2011-09-08 2786 -\prop_gget:cnN 2011-09-08 2786 -\prop_gget:cVN 2011-09-08 2786 -\prop_gget:NnN 2011-09-08 2786 -\prop_gget:NVN 2011-09-08 2786 -\prop_gput:ccx 2011-09-08 2786 -\prop_if_eq_p:cc 2011-09-08 2786 -\prop_if_eq_p:cN 2011-09-08 2786 -\prop_if_eq_p:Nc 2011-09-08 2786 -\prop_if_eq_p:NN 2011-09-08 2786 -\prop_if_eq:ccF 2011-09-08 2786 -\prop_if_eq:ccT 2011-09-08 2786 -\prop_if_eq:ccTF 2011-09-08 2786 -\prop_if_eq:cNF 2011-09-08 2786 -\prop_if_eq:cNT 2011-09-08 2786 -\prop_if_eq:cNTF 2011-09-08 2786 -\prop_if_eq:NcF 2011-09-08 2786 -\prop_if_eq:NcT 2011-09-08 2786 -\prop_if_eq:NcTF 2011-09-08 2786 -\prop_if_eq:NNF 2011-09-08 2786 -\prop_if_eq:NNT 2011-09-08 2786 -\prop_if_eq:NNTF 2011-09-08 2786 -\prop_if_in:ccF 2011-09-08 2786 -\prop_if_in:ccT 2011-09-08 2786 -\prop_if_in:ccTF 2011-09-08 2786 -\seq_display:c 2011-09-08 2786 -\seq_display:N 2011-09-08 2786 -\seq_length:c 2013-01-08 4412 -\seq_length:N 2013-01-08 4412 -\seq_top:cN 2011-09-08 2786 -\seq_top:NN 2011-09-08 2786 -\seq_use:c 2013-01-08 4412 -\seq_use:N 2013-01-08 4412 -\skip_if_infinite_glue_p:n 2013-01-08 4412 -\skip_if_infinite_glue:nF 2013-01-08 4412 -\skip_if_infinite_glue:nT 2013-01-08 4412 -\skip_if_infinite_glue:nTF 2013-01-08 4412 -\str_if_eq_p:xx 2013-01-08 4412 -\str_if_eq:xxT 2013-01-08 4412 -\str_if_eq:xxF 2013-01-08 4412 -\str_if_eq:xxTF 2013-01-08 4412 -\tl_elt_count:c 2011-09-08 2786 -\tl_elt_count:n 2011-09-08 2786 -\tl_elt_count:N 2011-09-08 2786 -\tl_elt_count:o 2011-09-08 2786 -\tl_elt_count:V 2011-09-08 2786 -\tl_gremove_all_in:cn 2011-09-08 2786 -\tl_gremove_all_in:Nn 2011-09-08 2786 -\tl_gremove_in:cn 2011-09-08 2786 -\tl_gremove_in:Nn 2011-09-08 2786 -\tl_greplace_all_in:cnn 2011-09-08 2786 -\tl_greplace_all_in:Nnn 2011-09-08 2786 -\tl_greplace_in:cnn 2011-09-08 2786 -\tl_greplace_in:Nnn 2011-09-08 2786 -\tl_gset:Nc 2011-09-08 2786 -\tl_head_i:n 2011-09-08 2786 -\tl_head_i:w 2011-09-08 2786 -\tl_head_iii:f 2011-09-08 2786 -\tl_head_iii:n 2011-09-08 2786 -\tl_head_iii:w 2011-09-08 2786 -\tl_if_empty:xT 2013-01-08 4412 -\tl_if_empty:xF 2013-01-08 4412 -\tl_if_empty:xTF 2013-01-08 4412 -\tl_if_head_group_p:n 2013-01-08 4412 -\tl_if_head_group:nF 2013-01-08 4412 -\tl_if_head_group:nT 2013-01-08 4412 -\tl_if_head_group:nTF 2013-01-08 4412 -\tl_if_head_N_type_p:n 2013-01-08 4412 -\tl_if_head_N_type:nF 2013-01-08 4412 -\tl_if_head_N_type:nT 2013-01-08 4412 -\tl_if_head_N_type:nTF 2013-01-08 4412 -\tl_if_head_space_p:n 2013-01-08 4412 -\tl_if_head_space:nF 2013-01-08 4412 -\tl_if_head_space:nT 2013-01-08 4412 -\tl_if_head_space:nTF 2013-01-08 4412 -\tl_length:c 2013-01-08 4412 -\tl_length:n 2013-01-08 4412 -\tl_length:N 2013-01-08 4412 -\tl_length:o 2013-01-08 4412 -\tl_length:V 2013-01-08 4412 -\tl_new:cn 2011-09-08 2786 -\tl_new:Nn 2011-09-08 2786 -\tl_new:Nx 2011-09-08 2786 -\tl_remove_all_in:cn 2011-09-08 2786 -\tl_remove_all_in:Nn 2011-09-08 2786 -\tl_remove_in:cn 2011-09-08 2786 -\tl_remove_in:Nn 2011-09-08 2786 -\tl_replace_all_in:cnn 2011-09-08 2786 -\tl_replace_all_in:Nnn 2011-09-08 2786 -\tl_replace_in:cnn 2011-09-08 2786 -\tl_replace_in:Nnn 2011-09-08 2786 -\tl_set:Nc 2011-09-08 2786 -\tl_tail:w 2013-01-08 4412 -\token_if_active_char_p:N 2011-09-08 2786 -\token_if_active_char:NF 2011-09-08 2786 -\token_if_active_char:NT 2011-09-08 2786 -\token_if_active_char:NTF 2011-09-08 2786 -\token_if_alignment_tab_p:N 2011-09-08 2786 -\token_if_alignment_tab:NF 2011-09-08 2786 -\token_if_alignment_tab:NT 2011-09-08 2786 -\token_if_alignment_tab:NTF 2011-09-08 2786 -\token_if_math_shift_p:N 2011-09-08 2786 -\token_if_math_shift:NF 2011-09-08 2786 -\token_if_math_shift:NT 2011-09-08 2786 -\token_if_math_shift:NTF 2011-09-08 2786 -\token_if_other_char_p:N 2011-09-08 2786 -\token_if_other_char:NF 2011-09-08 2786 -\token_if_other_char:NT 2011-09-08 2786 -\token_if_other_char:NTF 2011-09-08 2786 -\toks_clear:c 2011-09-08 2786 -\toks_clear:N 2011-09-08 2786 -\toks_gclear:c 2011-09-08 2786 -\toks_gclear:N 2011-09-08 2786 -\toks_gput_left:cn 2011-09-08 2786 -\toks_gput_left:co 2011-09-08 2786 -\toks_gput_left:cV 2011-09-08 2786 -\toks_gput_left:Nn 2011-09-08 2786 -\toks_gput_left:No 2011-09-08 2786 -\toks_gput_left:NV 2011-09-08 2786 -\toks_gput_left:Nx 2011-09-08 2786 -\toks_gput_right:cn 2011-09-08 2786 -\toks_gput_right:co 2011-09-08 2786 -\toks_gput_right:cV 2011-09-08 2786 -\toks_gput_right:Nn 2011-09-08 2786 -\toks_gput_right:No 2011-09-08 2786 -\toks_gput_right:NV 2011-09-08 2786 -\toks_gput_right:Nx 2011-09-08 2786 -\toks_gset_eq:cc 2011-09-08 2786 -\toks_gset_eq:cN 2011-09-08 2786 -\toks_gset_eq:Nc 2011-09-08 2786 -\toks_gset_eq:NN 2011-09-08 2786 -\toks_gset:cn 2011-09-08 2786 -\toks_gset:co 2011-09-08 2786 -\toks_gset:cV 2011-09-08 2786 -\toks_gset:cx 2011-09-08 2786 -\toks_gset:Nn 2011-09-08 2786 -\toks_gset:No 2011-09-08 2786 -\toks_gset:NV 2011-09-08 2786 -\toks_gset:Nx 2011-09-08 2786 -\toks_if_empty_p:c 2011-09-08 2786 -\toks_if_empty_p:N 2011-09-08 2786 -\toks_if_empty:cF 2011-09-08 2786 -\toks_if_empty:cT 2011-09-08 2786 -\toks_if_empty:cTF 2011-09-08 2786 -\toks_if_empty:NF 2011-09-08 2786 -\toks_if_empty:NT 2011-09-08 2786 -\toks_if_empty:NTF 2011-09-08 2786 -\toks_if_eq_p:cc 2011-09-08 2786 -\toks_if_eq_p:cN 2011-09-08 2786 -\toks_if_eq_p:Nc 2011-09-08 2786 -\toks_if_eq_p:NN 2011-09-08 2786 -\toks_if_eq:ccF 2011-09-08 2786 -\toks_if_eq:ccT 2011-09-08 2786 -\toks_if_eq:ccTF 2011-09-08 2786 -\toks_if_eq:cNF 2011-09-08 2786 -\toks_if_eq:cNT 2011-09-08 2786 -\toks_if_eq:cNTF 2011-09-08 2786 -\toks_if_eq:NcF 2011-09-08 2786 -\toks_if_eq:NcT 2011-09-08 2786 -\toks_if_eq:NcTF 2011-09-08 2786 -\toks_if_eq:NNF 2011-09-08 2786 -\toks_if_eq:NNT 2011-09-08 2786 -\toks_if_eq:NNTF 2011-09-08 2786 -\toks_new:c 2011-09-08 2786 -\toks_new:N 2011-09-08 2786 -\toks_put_left:cn 2011-09-08 2786 -\toks_put_left:co 2011-09-08 2786 -\toks_put_left:cV 2011-09-08 2786 -\toks_put_left:Nn 2011-09-08 2786 -\toks_put_left:No 2011-09-08 2786 -\toks_put_left:NV 2011-09-08 2786 -\toks_put_left:Nx 2011-09-08 2786 -\toks_put_right:cn 2011-09-08 2786 -\toks_put_right:co 2011-09-08 2786 -\toks_put_right:cV 2011-09-08 2786 -\toks_put_right:Nf 2011-09-08 2786 -\toks_put_right:Nn 2011-09-08 2786 -\toks_put_right:No 2011-09-08 2786 -\toks_put_right:NV 2011-09-08 2786 -\toks_put_right:Nx 2011-09-08 2786 -\toks_set_eq:cc 2011-09-08 2786 -\toks_set_eq:cN 2011-09-08 2786 -\toks_set_eq:Nc 2011-09-08 2786 -\toks_set_eq:NN 2011-09-08 2786 -\toks_set:cf 2011-09-08 2786 -\toks_set:cn 2011-09-08 2786 -\toks_set:co 2011-09-08 2786 -\toks_set:cV 2011-09-08 2786 -\toks_set:cv 2011-09-08 2786 -\toks_set:cx 2011-09-08 2786 -\toks_set:Nf 2011-09-08 2786 -\toks_set:Nn 2011-09-08 2786 -\toks_set:No 2011-09-08 2786 -\toks_set:NV 2011-09-08 2786 -\toks_set:Nv 2011-09-08 2786 -\toks_set:Nx 2011-09-08 2786 -\toks_show:c 2011-09-08 2786 -\toks_show:N 2011-09-08 2786 -\toks_use_clear:c 2011-09-08 2786 -\toks_use_clear:N 2011-09-08 2786 -\toks_use_gclear:c 2011-09-08 2786 -\toks_use_gclear:N 2011-09-08 2786 -\toks_use:c 2011-09-08 2786 -\toks_use:N 2011-09-08 2786 -\use_i_after_fi:nw 2011-12-30 3114 -\use_i_after_else:nw 2011-12-30 3114 -\use_i_after_or:nw 2011-12-30 3114 -\use_i_after_orelse:nw 2011-12-30 3114 -[key property] .code:x 2013-07-10 4539 -[key property] .meta:x 2013-07-10 4538 diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdf index b57514cb3fe..487e77fd991 100644 Binary files a/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdf and b/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdf differ diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.tex b/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.tex new file mode 100644 index 00000000000..c37c9e24dff --- /dev/null +++ b/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.tex @@ -0,0 +1,242 @@ +\iffalse meta-comment + +File l3styleguide.tex Copyright (C) 2011,2012 The 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 "l3kernel 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. + +\fi + +\documentclass{l3doc} +\usepackage{svn-multi} + +\svnid{$Id: l3styleguide.tex 2772 2011-09-07 15:07:41Z joseph $} +\def\filedate{\svnfileyear/\svnfilemonth/\svnfileday} + +\title{% + The \LaTeX3 kernel: style guide for code authors% + \thanks + {% + This file describes v\svnfilerev, + last revised \filedate. + }% +} +\author{% + The \LaTeX3 Project\thanks + {% + E-mail: + \href{mailto:latex-team@latex-project.org}% + {latex-team@latex-project.org}% + }% +} +\date{Released \filedate} + +\begin{document} + +\maketitle + +\tableofcontents + +\section{Introduction} + +This document is intended as a style guide for authors of code and +documentation for the \LaTeX3 kernel. It covers both aspects of coding +style and the formatting of the sources. The aim of providing these +guidelines is help ensure consistency of the code and sources from +different authors. Experience suggests that in the long-term this helps +with maintenance. There will of course be places where there are +exceptions to these guidelines: common sense should always be +applied! + +\section{Documentation style} + +\LaTeX3 source and documentation should be written using the document +class \cls{l3doc} in \file{dtx} format. This class provides a number +of logical mark up elements, which should be used where possible. +In the main, this is standard \LaTeX{} practice, but there are a +few points to highlight: +\begin{itemize} + \item + Where possible, use \cs{cs} to mark up control sequences + rather than using a verbatim environment. + \item + Arguments which are given in braces should be marked using + \cs{Arg} when code-level functions are discussed, but using + \cs{marg} for document functions. + \item + The names \TeX{}, \LaTeX{}, \emph{etc}.\ use the normal logical mark + up followed by an empty group (|{}|), with the exception of |\LaTeX3|, + where the number should follow directly. + \item + Where in line verbatim text is used, it should be marked up + using the \verb=|...|= construct (\emph{i.e.}~vertical bars delimit + the verbatim text). + \item In line quotes should be marked up using the \cs{enquote} + function. + \item + Where numbers in the source have a mathematical meaning, + they should be included in math mode. Such in-line math mode + material should be marked up using |$...$| and \emph{not} + |\(...\)|. +\end{itemize} + +Line length in the source files should be under $80$ +characters where possible, as this helps keep everything on the screen +when editing files. In the \file{dtx} format, documentation lines start +with a \texttt{\%}, which is usually followed by a space to leave a +\enquote{comment margin} at the start of each line. + +As with code indenting (see later), nested environments and arguments +should be indented by (at least) two spaces to make the nature of the nesting +clear. Thus for example a typical arrangement for the \env{function} +environment might be +\begin{verbatim*} +\begin{function}{\seq_gclear:N, \seq_gclear:c} + \begin{syntax} + \cs{seq_gclear:N} \meta{sequence} + \end{syntax} + Clears all entries from the \meta{sequence} globally. +\end{function} +\end{verbatim*} +The \enquote{outer} \verb*|% \begin{function}| should have the customary +space after the |%| character at the start of the line. + +In general, a single \env{function} or \env{macro} environment should be +used for a group of closely-related functions, for example argument +specification variants. In such cases, a comma-separated list should be +used, as shown in the preceding example. + +\section{Format of the code itself} + +The requirement for less than $80$ characters per line applies to the code +itself as well as the surrounding documentation. A number of the general +style principles for \LaTeX3 code apply: these are described in the following +paragraph and an example is then given. + +With the exception of simple runs of parameter (|{#1}|, |#1#2|, +\emph{etc.}), everything should be divided up using spaces to make the code +more readable. In general, these will be single spaces, but in some +places it makes more sense to align parts of the code to emphasise +similarity. (Tabs should not be used for introducing white space.) + +Each conceptually-separate step in a function should be on a separate +line, to make the meaning clearer. Hence the \texttt{false} branch +in the example uses two lines for the two auxiliary function uses. + +Within the definition, a two-space indent should be used to show each +\enquote{level} of code. Thus in the example \cs{tl_if_empty:nTF} is +indented by two spaces, but the two branches are indented by four +spaces. Within the \texttt{false} branch, the need for multiple lines +means that an additional two-space indent should be used to show that +these lines are all part of the brace group. + +The result of these lay-out conventions is code which will in general +look like the example: +\begin{verbatim*} +\cs_new:Npn \module_foo:nn #1#2 + { + \tl_if_empty:nTF {#1} + { \module_foo_aux:n { X #2 } } + { + \module_foo_aux:nn {#1} {#2} + \module_foo_aux:n { #1 #2 } + } + } +\end{verbatim*} + +\section{Code conventions} + +All code-level functions should be \enquote{long} if they accept any +arguments, even if it seems \enquote{very unlikely} that a \cs{par} token +will be passed. Thus \cs{cs_new_nopar:Npn} and so forth should only be used +to create functions which accept no arguments at all. + +The expandability of each function should be well-defined. Functions which +cannot be fully expanded must be \texttt{protected}. This means that expandable +functions must themselves only contain expandable material. Functions which +use any non-expandable material must be defined using \cs{cs_new_protected:Npn} +or similar. + +When using \cs{cs_generate_variant:Nn}, group related variants together +to make the pattern clearer. A common example is variants of a function +which has an \texttt{N}-type first argument: +\begin{verbatim} + \cs_generate_variant:Nn \foo:Nn { NV , No } + \cs_generate_variant:Nn \foo:Nn { c , cV , co } +\end{verbatim} + +There may be cases where omitting braces from \texttt{o}-type arguments +is desirable for performance reasons. This should only be done if the +argument is a single token, thus for example +\begin{verbatim} + \tl_set:No \l_some_tl \l_some_other_tl +\end{verbatim} +remains clear and can be used where appropriate. + +\section{Private and internal functions} + +Private functions (those starting \cs{__}) should not be used between modules. +The only exception is where a \enquote{family} of modules share some +\enquote{internal} methods: this happens most obviously in the kernel itself. +Any internal functions or variables \emph{must} be documented in the same way +as public ones. + +The \pkg{l3docstrip} method should be used for internal functions in a module. +This requires a line +\begin{quote} + \ttfamily + \%<@@=\meta{module}> +\end{quote} +at the start of the source (\texttt{.dtx}) file, with internal functions +then written in the form +\begin{verbatim} + \cs_new_protected:Npn \@@_function:nn #1#2 + ... +\end{verbatim} + +\section{Auxiliary functions} + +In general, the team encourages the use of descriptive names in \LaTeX3 code. +Thus many helper functions will have names which describe briefly what they do, +rather than simply indicating that they are auxiliary to some higher-level +function. However, there are places where one or more \texttt{aux} functions +are required. Where possible, these should be differentiated by signature +\begin{verbatim} + \cs_new_protected:Npn \@@_function:nn #1#2 + { + ... + } + \cs_new_protected:Npn \@@_function_aux:nn #1#2 + { + ... + } + \cs_new_protected:Npn \@@_function_aux:w #1#2 \q_stop + { + ... + } +\end{verbatim} +Where more than one auxiliary shares the same signature, the recommended naming +scheme is \texttt{auxi}, \texttt{auxii} and so on. +\begin{verbatim} + \cs_new_protected:Npn \@@_function_auxi:nn #1#2 + { + ... + } + \cs_new_protected:Npn \@@_function_auxii:nn #1#2 + { + ... + } +\end{verbatim} +The use of \texttt{aux_i}, \texttt{aux_ii}, \emph{etc.}\ is discouraged as this +conflicts with the convention used by \cs{use_i:nn} and related functions. + +\end{document} diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdf index 936b64b1308..691eac2c5b3 100644 Binary files a/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdf and b/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdf differ diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex b/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex new file mode 100644 index 00000000000..4dfc70e0e97 --- /dev/null +++ b/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex @@ -0,0 +1,110 @@ +\iffalse meta-comment + +File l3syntax-changes.tex Copyright (C) 2011-2012 The 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 "l3kernel 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. + +\fi + +\documentclass{l3doc} + +\usepackage{svn-multi} + +\svnid{$Id: l3syntax-changes.tex 4048 2012-08-02 09:49:10Z joseph $} +\def\filedate{\svnfileyear/\svnfilemonth/\svnfileday} + +\title{% + Syntax changes in \LaTeX3 functions + \thanks + {% + This file describes v\svnfilerev, + last revised \filedate. + }% +} +\author{% + The \LaTeX3 Project\thanks + {% + E-mail: + \href{mailto:latex-team@latex-project.org}% + {latex-team@latex-project.org}% + }% +} +\date{Released \filedate} + +\newcommand{\TF}{\textit{(TF)}} + +\begin{document} + +\maketitle + +This file lists functions whose syntax has changed after August 2011, +with an approximate date. + +\section{August 2011} + +\begin{itemize} + \item \cs{tl_if_single:n\TF} recognized any non-zero number of + explicit spaces as \meta{true}, and did not ignore trailing spaces. + Now it is \meta{true} for + \[ + \meta{optional spaces} + \meta{normal token or brace group} + \meta{optional spaces}. + \] + \item \cs{tl_reverse:n} stripped outer braces and lost unprotected spaces. + Now it keeps spaces, leaves unbraced single tokens unbraced, and + braced groups braced. + \item \cs{tl_trim_spaces:n} only removed one leading and trailing space. + Now removes recursively. Also, on the left it used to strip implicit + and explicit spaces with any character code. Now it strips only explicit + space characters $(32,10)$. +\end{itemize} + +\section{September 2011} + +\begin{itemize} +\item clist functions which receive an \texttt{n}-type comma list argument + now trim spaces from each item in the argument. +\end{itemize} + +\section{June 2012} + +\begin{itemize} + \item Access to list functions now indexes from~$1$, not from~$0$. + This applies to multiple choices in the \pkg{l3keys} module and + the \cs{clist_item:Nn}, \cs{seq_item:Nn} and \cs{tl_item:Nn} + functions. + \item \cs{tl_trim_spaces:n} now requires a variable number of + expansions to fully expand, rather than exactly two. Of course, + \texttt{x}-type expansion still correctly evaluates this function. +\end{itemize} + +\section{July 2012} + +\begin{itemize} + \item The \cs{tl_if_head_eq_meaning:nN}, \cs{tl_if_head_eq_catcode:nN} + and \cs{tl_if_head_eq_charcode:nN} conditionals now never match when + their first argument is empty. +\end{itemize} + +\section{August 2012} + +\begin{itemize} + \item \cs{lua_now:x} is now a standard \texttt{x}-type expansion of + \cs{lua_now:n}, which does no expansion. Engine-level expansion is moved + to \cs{lua_now_x:n}, reflecting the fact that this is non-standard in the + same way as for example \cs{str_if_eq_x:nn(TF)}. +\end{itemize} + + +\end{document} diff --git a/Master/texmf-dist/doc/latex/l3kernel/source3.pdf b/Master/texmf-dist/doc/latex/l3kernel/source3.pdf index 4198312a9ed..60e0a38fa02 100644 Binary files a/Master/texmf-dist/doc/latex/l3kernel/source3.pdf and b/Master/texmf-dist/doc/latex/l3kernel/source3.pdf differ diff --git a/Master/texmf-dist/doc/latex/l3kernel/source3.tex b/Master/texmf-dist/doc/latex/l3kernel/source3.tex new file mode 100644 index 00000000000..22c3c44048d --- /dev/null +++ b/Master/texmf-dist/doc/latex/l3kernel/source3.tex @@ -0,0 +1,106 @@ +% \iffalse meta-comment +% +%% File: source3.tex Copyright (C) 1990-2011 The 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 "l3kernel 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 LaTeX3 Project. +%% +%% ----------------------------------------------------------------------- +% +% \fi + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% This document will typeset the LaTeX3 sources as a single document. +% This will produce quite a large file (more than 780 pages). +% +% There is also a shorter version (interface3.tex) that only typesets the +% command % interface descriptions. +% +% Do not forget to generate the index (as explained on the terminal output +% near the end of the run)! +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\documentclass{l3doc} +\listfiles + +\begin{document} + +\title{The \LaTeX3 Sources} +\author{% + The \LaTeX3 Project\thanks + {% + E-mail: + \href{mailto:latex-team@latex-project.org} + {latex-team@latex-project.org}% + }% +} + +\pagenumbering{roman} +\maketitle + +% +% First load all modules and typeset the documentation parts +% + +\input{source3body} % all the individual modules + +% +% Now reload all modules and typeset the implementation parts +% + +\part{Implementation} + +\def\maketitle{} +\EnableImplementation +\DisableDocumentation +\DocInputAgain + +\clearpage +\pagestyle{headings} + +% Make TeX shut up. +\hbadness=10000 +\newcount\hbadness +\hfuzz=\maxdimen + +\PrintChanges +\clearpage + +\begingroup + \def\endash{--} + \catcode`\-\active + \def-{\futurelet\temp\indexdash} + \def\indexdash{\ifx\temp-\endash\fi} + + \DelayPrintIndex +\endgroup + +\end{document} -- cgit v1.2.3