diff options
Diffstat (limited to 'Master/texmf-dist/doc/latex/l3kernel/l3news02.tex')
-rw-r--r-- | Master/texmf-dist/doc/latex/l3kernel/l3news02.tex | 153 |
1 files changed, 153 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news02.tex b/Master/texmf-dist/doc/latex/l3kernel/l3news02.tex new file mode 100644 index 00000000000..a3d5467c8ef --- /dev/null +++ b/Master/texmf-dist/doc/latex/l3kernel/l3news02.tex @@ -0,0 +1,153 @@ +% Copyright 2009 The LaTeX Project +\documentclass{ltnews} +\PassOptionsToPackage{colorlinks}{hyperref} + +\usepackage{metalogo,ragged2e} + +\AtBeginDocument{ + \renewcommand{\LaTeXNews}{\LaTeX3~News} + \RaggedRight +} + +\usepackage{url} +\newcommand\TUG[1]{\textsc{tug}~#1} + +\publicationmonth{June} +\publicationyear{2009} +\publicationissue{2} + +\begin{document} +\maketitle + +\section{\TeX~Live and the \textsf{expl3} code} + +\TeX~Live 2009 is almost upon us, and the \LaTeX3 team have been +readying a new release of the experimental \LaTeX3 code for this. +Very dramatic changes have occurred since the +last public release of the code in \TeX~Live~2008; no backwards compatibility has been +maintained (as warned in the beginning of the documentation) but we +believe the changes made are all much for the better. Almost every +single part of \textsf{expl3} has been scrutinized, resulting in a far +more coherent code base. + +The \textsf{expl3} code is now considered to be much more stable than +it was before; a comprehensive test suite has been written that helps +to ensure that we don't make any mistakes as we change things in the +future. In the process of writing the test +suite, many minor bugs were fixed; we recommend such test suites for +all similar developmental projects! +Some small underlying changes are still expected in the +\textsf{expl3} code, but major, disruptive, changes aren't planned. + +\section{Planned updates} + +Until now, the last update to \textsc{ctan} of the \textsf{expl3} +bundle was for \TeX~Live~2008. Now that work on the code is happening +on a semi-steady basis, we plan to keep updates rolling out to +\textsc{ctan} more frequently. This will allow anyone who wishes to +experiment with the new code to use the \TeX~Live or MiK\TeX\ +updaters to install a recent version without having to `check out' the +\textsc{svn} repository and install the packages manually. + +\section{New members} + +We didn't say anything about it in the last status update, but Joseph +Wright and Will Robertson are now members of the \LaTeX\ Team. They +have been working fairly exclusively on the \textsf{expl3} code. + +It's worth repeating that \LaTeXe\ is essentially frozen in order to +prevent any backwards compatibility problems. As desirable as it is +to benefit from the new features offered by new engines \XeTeX\ and +Lua\TeX, we cannot risk the stability of production servers running +older versions of \LaTeXe\ which will inevitably end up processing +documents written into the future. + +\LaTeX3 will not be inheriting the same restraints, so stay tuned. + +\newpage + +\section{Some specifics} + +Morten H\o gholm will be presenting the recent changes in much more detail at +\TUG{2009}. Here are some quick specifics for those interested. New code written +and broad changes made to the \textsf{expl3} modules: +\begin{description} +\item [More logical function names] + Many function names that were hold-outs from the \TeX\ naming system + have been changed to fit into the more logical scheme of \textsf{expl3}; e.g., + \verb|\def:Npn| and \verb|\let:NN| are now \verb|\cs_set:Npn| and + \verb|\cs_set_eq:NN|. + +\item [Defining functions and conditionals] + Much thought was put into new ways to define + functions and conditionals with a minimum of code. + See \verb|\cs_set:Nn| and \verb|\prg_set_conditional:Nnn|. + +\item [Smart comparisons] + Comparisons can be made much more easily now, with familiar notation such as + \verb|\intexpr_compare_p:n{ #1+3 != \l_tmpa_int }|. + +\item [Data from variables] A new function argument specifier \texttt{V} has + been added for extracting information from variables of different types, + without needing to know the underlying variable structure. Some other + tidy-ups on the argument specifiers offered, partially as a result of the + addition of this new one. + +\item [l3msg] New module to deal with communication between \LaTeX3 code + and the user (info messages, warnings, and errors), including message + filtering partially inspired by the \textsf{silence} package. + \end{description} + +\section{The next six months} + +Having overhauled the \textsf{expl3} code, we now plan to perform an +analogous process with the foundations of the +\textsf{xpackages}. These are the higher-level packages that will +provide the basic needs such as control of the page layout and rich +document-level interaction with the user. As the groundwork for this +layer of the document processing matures, we will be able to start +building more packages for a \LaTeX3 kernel; these packages will also +be usable on top of \LaTeXe\ and serve as broadly customisable +templates for future document design. + +As gaps in the functionality offered by \textsf{expl3} are found (in +some cases, we know that they exist already), the programming layer +will be extended to support our needs. In other cases, wrappers around +\TeX\ functions that can be more usefully handled at a higher level +will be written. + +In terms of what we're planning to work on next, three \textsf{xpackage}s +will take the focus of our attention. +\begin{description} +\item [xbase] + `\textsf{xbase}' is actually two packages: \textsf{xparse} and + \textsf{template}. These contain code for, respectively, defining new + document commands (such that a user would use; e.g., \verb|\section|, + \verb|\makebox|, \dots) and for handling keyval lists for user input and + document specification. \textsf{xparse} was presented at \TUG{1999}% + \footnote{\url{http://www.latex-project.org/papers/tug99.pdf}} + and Lars Hellstr\"om wrote some notes on \textsf{template} in 2000% + \footnote{\url{http://www.latex-project.org/papers/template-notes.pdf}}. + Functionality coverage for these packages is good but concepts need a good + ``airing''. There are various approaches taken for keyval input, some more + recent than the \textsf{template} code, so there are some alternatives to + evaluate. +\item [galley2] Sophisticated handling for \mbox{constructing} paragraphs and + other document elements. Morten spoke on this at \TUG{2008}% + \footnote{\url{http://river-valley.tv/the-galley-module/}}. + Design needs to be revisited after some stress testing. +\item [xor] This is the \LaTeX3 output routine for splitting the galley into + page and sub-page sized chunks. Ideas and code need work to move to + ``production ready'' status. Early developments with this package were + published by Frank in 2000% + \footnote{\url{http://www.latex-project.org/papers/xo-pfloat.pdf}}. +\end{description} + +Expect to hear again from us at Christmas. If you'd like to discuss any +of these ideas, please join us on the \textsc{latex-l} mailing list% +\footnote{\url{http://www.latex-project.org/code.html}}. + +\end{document} + + + |