summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/l3kernel
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2015-09-06 23:19:17 +0000
committerKarl Berry <karl@freefriends.org>2015-09-06 23:19:17 +0000
commit3cb4e75696df6c7abebf17fbc606ca86dcdfb520 (patch)
tree729978e0726cdb9d9f34a3d2e249c71a82e07f97 /Master/texmf-dist/doc/latex/l3kernel
parent32f50b97c2ae44e93225d1024afab9727fc02e00 (diff)
l3 (6sep15)
git-svn-id: svn://tug.org/texlive/trunk@38305 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/latex/l3kernel')
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/README.md4
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/expl3.pdfbin586834 -> 586386 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/interface3.pdfbin1507300 -> 1472830 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdfbin268234 -> 268234 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3obsolete.txt12
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdfbin273240 -> 276800 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3styleguide.tex39
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdfbin220220 -> 220220 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/source3.pdfbin4812990 -> 4568569 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/source3body.tex40
10 files changed, 72 insertions, 23 deletions
diff --git a/Master/texmf-dist/doc/latex/l3kernel/README.md b/Master/texmf-dist/doc/latex/l3kernel/README.md
index 023c4f5e6dc..d83695aa636 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/README.md
+++ b/Master/texmf-dist/doc/latex/l3kernel/README.md
@@ -32,7 +32,7 @@ with the following engines:
- pdfTeX v1.30 or later
- XeTeX v0.9994 or later
- LuaTeX v0.40 or later
- - e(u)TeX v110825 or later
+ - e-(u)pTeX from mid-2012 onward
pdfTeX v1.30 was released in 2005, and so any recent TeX distribution
will support `l3kernel`. Both XeTeX and LuaTeX have developed more
@@ -59,7 +59,7 @@ Bugs
The issue tracker for LaTeX3 bugs is currently located at
- https://github.com/latex3/svn-mirror/issues
+ https://github.com/latex3/latex3/issues
Please report specific issues with LaTeX3 code there. More general
discussion should be directed to the LaTeX-L lists.
diff --git a/Master/texmf-dist/doc/latex/l3kernel/expl3.pdf b/Master/texmf-dist/doc/latex/l3kernel/expl3.pdf
index 07a09780088..d85d051cf9f 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/expl3.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/expl3.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/interface3.pdf b/Master/texmf-dist/doc/latex/l3kernel/interface3.pdf
index 80dad318ec7..1ad63f013eb 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/interface3.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/interface3.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdf
index 1294acbbcaf..533a90f1517 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3obsolete.txt b/Master/texmf-dist/doc/latex/l3kernel/l3obsolete.txt
index c49d2596774..6bc885b0765 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3obsolete.txt
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3obsolete.txt
@@ -191,6 +191,12 @@ Function Date removed SVN
\fp_sin:Nn 2014-05-28 4911
\fp_tan:cn 2014-05-28 4911
\fp_tan:Nn 2014-05-28 4911
+\hbox_gset_inline_begin:N 2014-08-09 5822
+\hbox_gset_inline_begin:c 2014-08-09 5822
+\hbox_gset_inline_end: 2014-08-09 5822
+\hbox_set_inline_begin:N 2014-08-09 5822
+\hbox_set_inline_begin:c 2014-08-09 5822
+\hbox_set_inline_end: 2014-08-09 5822
\g_tmpa_toks 2011-09-08 2786
\g_tmpb_toks 2011-09-08 2786
\g_tmpc_toks 2011-09-08 2786
@@ -483,6 +489,12 @@ Function Date removed SVN
\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
+\vbox_gset_inline_begin:N 2014-08-09 5822
+\vbox_gset_inline_begin:c 2014-08-09 5822
+\vbox_gset_inline_end: 2014-08-09 5822
+\vbox_set_inline_begin:N 2014-08-09 5822
+\vbox_set_inline_begin:c 2014-08-09 5822
+\vbox_set_inline_end: 2014-08-09 5822
[key property] .choice_code:n 2015-07-14 5655
[key property] .choice_code:x 2015-07-14 5655
[key property] .code:x 2013-07-10 4539
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdf
index ad51ba534fc..5cc45329f9d 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.tex b/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.tex
index c37c9e24dff..690168a4778 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.tex
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.tex
@@ -1,6 +1,6 @@
\iffalse meta-comment
-File l3styleguide.tex Copyright (C) 2011,2012 The LaTeX3 Project
+File l3styleguide.tex Copyright (C) 2011,2012,2015 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
@@ -203,6 +203,43 @@ then written in the form
...
\end{verbatim}
+\subsection{Access from other modules}
+
+There may be cases where it is useful to use an internal function from
+a third-party module (this includes cases where you are the author of both
+but they are not part of the same \enquote{family}). In these cases, you should
+\emph{copy} the definition of the internal function to your code: this avoids
+relying on non-documented interfaces. At the same time, it is strongly
+encouraged that you discuss your requirements with the author of the
+code you need to access. The best long-term solution to these cases is for
+new documented interfaces to be added to the parent module.
+
+\subsection{Access to primitives}
+
+As \pkg{expl3} is still a developing system, there are places where direct
+access to engine primitives is required. These are all marked as
+\enquote{do not use} in the code and so require special handling. Where a
+programmer is sure that they need to use a primitive (for example where the
+team have not yet covered access to an area) then a local copy of the
+primitive should be made, for example
+\begin{verbatim}
+ \cs_new_eq:NN \__module_message:w \tex_message:D
+ % ...
+ \cs_new_protected:Npn \__module_fancy_msg:n #1
+ { \__module_message:w { *** #1 *** } }
+\end{verbatim}
+This approach makes it possible for the team and others to find such
+usage (by searching for the \texttt{:D} argument type) but avoids
+multiple uses in general code.
+
+At the same time, the team ask that these use cases are raised on the
+\texttt{LaTeX-L} mailing list. The team are keen to collect use cases for
+areas that have not yet been addressed and to provide new code where the
+required interfaces become clear.
+
+Programmers using primitives should be ready to make updates to their
+code as the team develop additional interfaces.
+
\section{Auxiliary functions}
In general, the team encourages the use of descriptive names in \LaTeX3 code.
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdf
index 8e362bc3fdd..daf8e09960d 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/source3.pdf b/Master/texmf-dist/doc/latex/l3kernel/source3.pdf
index 09cfebe4701..23f7558d822 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/source3.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/source3.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/source3body.tex b/Master/texmf-dist/doc/latex/l3kernel/source3body.tex
index 3ee00783eaf..111ea1b94ac 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/source3body.tex
+++ b/Master/texmf-dist/doc/latex/l3kernel/source3body.tex
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-%% File: source3body.tex Copyright (C) 1990-2012,2014,2015 The LaTeX3 Project
+%% File: source3body.tex Copyright (C) 1990-2015 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
@@ -136,7 +136,7 @@ Thus apart from a small number of very basic functions, all \pkg{expl3}
function names contain at least one underscore to divide the module
name from the descriptive name of the function. For example, all
functions concerned with comma lists are in module \texttt{clist} and
-begin \cs{clist_}.
+begin |\clist_|.
Every function must include an argument specifier. For functions which
take no arguments, this will be blank and the function name will end
@@ -154,16 +154,16 @@ following argument specifiers:
all will be well.
\item[\texttt{c}] This means \emph{csname}, and indicates that the
argument will be turned into a csname before being used. So
- \cs{foo:c} |{ArgumentOne}| will act in the same way as \cs{foo:N}
- \cs{ArgumentOne}.
+ |\foo:c| |{ArgumentOne}| will act in the same way as |\foo:N|
+ |\ArgumentOne|.
\item[\texttt{V} and \texttt{v}] These mean \emph{value
of variable}. The \texttt{V} and \texttt{v} specifiers are used to
get the content of a variable without needing to worry about the
underlying \TeX{} structure containing the data. A \texttt{V}
argument will be a single token (similar to \texttt{N}), for example
- \cs{foo:V} \cs{MyVariable}; on the other hand, using \texttt{v} a
+ |\foo:V| |\MyVariable|; on the other hand, using \texttt{v} a
csname is constructed first, and then the value is recovered, for
- example \cs{foo:v} |{MyVariable}|.
+ example |\foo:v| |{MyVariable}|.
\item[\texttt{o}] This means \emph{expansion once}. In general, the
\texttt{V} and \texttt{v} specifiers are favoured over \texttt{o}
for recovering stored information. However, \texttt{o} is useful
@@ -201,8 +201,8 @@ following argument specifiers:
\end{description}
Notice that the argument specifier describes how the argument is
processed prior to being passed to the underlying function. For example,
-\cs{foo:c} will take its argument, convert it to a control sequence and
-pass it to \cs{foo:N}.
+|\foo:c| will take its argument, convert it to a control sequence and
+pass it to |\foo:N|.
Variables are named in a similar manner to functions, but begin with
a single letter to define the type of variable:
@@ -220,7 +220,7 @@ function, typically starting with the module\footnote{The module names are
\cs{l_tmpb_int}, and so on. In such a case adding the module name up front
to denote the module
and in the back to indicate the type, as in
- \cs{l_int_tmpa_int} would be very unreadable.} name
+ \texttt{\string\l_int_tmpa_int} would be very unreadable.} name
and then a descriptive part.
Variables end with a short identifier to show the variable type:
\begin{description}
@@ -281,7 +281,7 @@ Each group of related functions is given in a box. For a function with
a \enquote{user} name, this might read:
\begin{function}[no-label]{\ExplSyntaxOn, \ExplSyntaxOff}
\begin{syntax}
- \cs{ExplSyntaxOn} \dots{} \cs{ExplSyntaxOff}
+ |\ExplSyntaxOn| \dots{} |\ExplSyntaxOff|
\end{syntax}
The textual description of how the function works would appear here. The
syntax of the function is shown in mono-spaced text to the right of
@@ -297,12 +297,12 @@ show this more clearly. They will carry out the same function but will take
different types of argument:
\begin{function}[no-label]{\seq_new:N, \seq_new:c}
\begin{syntax}
- \cs{seq_new:N} \meta{sequence}
+ |\seq_new:N| \meta{sequence}
\end{syntax}
When a number of variants are described, the arguments are usually
illustrated only for the base function. Here, \meta{sequence} indicates
- that \cs{seq_new:N} expects the name of a sequence. From the argument
- specifier, \cs{seq_new:c} also expects a sequence name, but as a
+ that |\seq_new:N| expects the name of a sequence. From the argument
+ specifier, |\seq_new:c| also expects a sequence name, but as a
name rather than as a control sequence. Each argument given in the
illustration should be described in the following text.
\end{function}
@@ -316,7 +316,7 @@ These fully expandable functions are indicated in the documentation by
a star:
\begin{function}[EXP,no-label]{\cs_to_str:N}
\begin{syntax}
- \cs{cs_to_str:N} \meta{cs}
+ |\cs_to_str:N| \meta{cs}
\end{syntax}
As with other functions, some text should follow which explains how
the function works. Usually, only the star will indicate that the
@@ -330,7 +330,7 @@ an \texttt{f}-type argument. In this case a hollow star is used to indicate
this:
\begin{function}[rEXP,no-label]{\seq_map_function:NN}
\begin{syntax}
- \cs{seq_map_function:NN} \meta{seq} \meta{function}
+ |\seq_map_function:NN| \meta{seq} \meta{function}
\end{syntax}
\end{function}
@@ -344,11 +344,11 @@ which outcome the conditional is being used to test. To indicate this
without repetition, this information is given in a shortened form:
\begin{function}[EXP,TF,no-label]{\xetex_if_engine:}
\begin{syntax}
- \cs{xetex_if_engine:TF} \Arg{true code} \Arg{false code}
+ |\xetex_if_engine:TF| \Arg{true code} \Arg{false code}
\end{syntax}
The underlining and italic of \texttt{TF} indicates that
- \cs{xetex_if_engine:T}, \cs{xetex_if_engine:F} and
- \cs{xetex_if_engine:TF} are all available. Usually, the illustration
+ |\xetex_if_engine:T|, |\xetex_if_engine:F| and
+ |\xetex_if_engine:TF| are all available. Usually, the illustration
will use the \texttt{TF} variant, and so both \meta{true code}
and \meta{false code} will be shown. The two variant forms \texttt{T} and
\texttt{F} take only \meta{true code} and \meta{false code}, respectively.
@@ -368,13 +368,13 @@ In these cases, the text will include an extra \enquote{\textbf{\TeX{}hackers
note}} section:
\begin{function}[EXP,no-label]{\token_to_str:N}
\begin{syntax}
- \cs{token_to_str:N} \meta{token}
+ |\token_to_str:N| \meta{token}
\end{syntax}
The normal description text.
\begin{texnote}
Detail for the experienced \TeX{} or \LaTeXe\ programmer. In this
case, it would point out that this function is the \TeX{} primitive
- \cs{string}.
+ |\string|.
\end{texnote}
\end{function}