diff options
Diffstat (limited to 'macros/latex/required/l3kernel/l3news01.tex')
-rw-r--r-- | macros/latex/required/l3kernel/l3news01.tex | 102 |
1 files changed, 102 insertions, 0 deletions
diff --git a/macros/latex/required/l3kernel/l3news01.tex b/macros/latex/required/l3kernel/l3news01.tex new file mode 100644 index 0000000000..b4841ac24b --- /dev/null +++ b/macros/latex/required/l3kernel/l3news01.tex @@ -0,0 +1,102 @@ +% Copyright 2009 The LaTeX Project +\documentclass{ltnews} +\PassOptionsToPackage{colorlinks}{hyperref} + +\usepackage{metalogo,ragged2e} + +\AtBeginDocument{ + \renewcommand{\LaTeXNews}{\LaTeX3~News} + \RaggedRight +} + +\publicationmonth{February} +\publicationyear{2009} +\publicationissue{1} + +\begin{document} +\maketitle + +\section{Welcome to \LaTeX3} + +Momentum is again starting to build behind The \LaTeX{} Project. For the +last few releases of \TeX~Live, the experimental programming foundation for +\LaTeX3 has been available under the name \package{expl3}. Despite large +warnings that the code would probably change in the future, we wanted to show +that there was progress being made, no matter how slowly. Since then, some +people have looked at the code, provided feedback, and~--- most +importantly~--- actually tried using it. Although it is yet early days, we +believe that the ideas behind the code are sound and there are only `cosmetic +improvements' that need to be made before \package{expl3} is ready for the +\LaTeX~package author masses. + +\section{What currently exists} + +The current \LaTeX3 code consists of two main branches: the +\package{expl3} modules that define the underlying programming environment, +and the `\package{xpackage}s', which are a suite of packages that are written +with the \package{expl3} programming interface and provide some higher-level +functionality for what will one day become \LaTeX3 proper. Both \package{expl3} and +parts of the \package{xpackages} are designed to be used \emph{on top} of +\LaTeXe, so new packages can take advantage of the new features while still +allowing to be used alongside many of the vast number of \LaTeXe\ packages on +\textsc{ctan}. + +\section{What's happening now} + +In preparation for a minor overhaul of the \package{expl3} code, we are +writing a comprehensive test suite for each module. These tests allow us to +make implementation changes and then test if the code still works as before. +They are also highlighting any minor shortcomings or omissions in the code. +As the tests are being written, our assumptions about what should be called +what and the underlying naming conventions for the functions and datatypes are +being questioned, challenged, and noted for further rumination. + +At the time of writing, we are approximately half-way through writing the test +suite. Once this task is complete, which we plan for the first +half of 2009, we will be ready to make changes without worrying about breaking +anything. + +\section{What's happening soon} + +So what do we want to change? The current \package{expl3} codebase has +portions that date to the pre-\LaTeXe\ days, while other modules have been +more recently conceived. It is quite apparent when reading through the sources +that some unification and tidying up would improve the simplicity and +consistency of the code. In many cases, such changes will mean nothing more +than a tweak or a rename. + +Beyond these minor changes, we are also re-thinking the exact notation behind +the way functions are defined. There are currently a handful of different +types of arguments that functions may be passed (from an untouched single +token to a complete expansion of a token list) and we're not entirely happy +with how the original choices have evolved now that the system has grown +somewhat. We have received good feedback from several people on ways that we +could improve the argument syntax, and as part of the upcoming changes to the +\package{expl3} packages we hope to address the problems that we currently +perceive in the present syntax. + +\section{What's happening later} + +After the changes discussed above are finished, we will begin freezing the core +interface of the \package{expl3} modules, and we hope that more package +authors will be interested in using the new ideas to write their own code. +While the core functions will then remain unchanged, more features and new +modules will be added as \LaTeX3 starts to grow. + +Some new and/or experimental packages will be changing to use the +\package{expl3} programming interface, including \package{breqn}, +\package{mathtools}, \package{empheq}, \package{fontspec}, and +\package{unicode-math}. (Which is one reason for the lack of progress in +these latter two in recent times.) There will also be a version of the +\package{siunitx} package written in \package{expl3}, in parallel to the +current \LaTeXe\ version. These developments will provide improvements to +everyday \LaTeX\ users who haven't even heard of The \LaTeX{} Project. + +Looking towards the long term, \LaTeX3 as a document preparation system needs +to be written almost from scratch. A high-level user syntax needs to be +designed and scores of packages will be used as inspiration for the +`out-of-the-box' default document templates. \LaTeXe\ has stood up to the test +of time~--- some fifteen years and still going strong~--- and it is now time +to write a successor that will survive another score. + +\end{document} |