summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/l3kernel/l3news02.tex
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/l3kernel/l3news02.tex')
-rw-r--r--macros/latex/contrib/l3kernel/l3news02.tex153
1 files changed, 153 insertions, 0 deletions
diff --git a/macros/latex/contrib/l3kernel/l3news02.tex b/macros/latex/contrib/l3kernel/l3news02.tex
new file mode 100644
index 0000000000..a3d5467c8e
--- /dev/null
+++ b/macros/latex/contrib/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}
+
+
+