summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/l3kernel/l3news04.tex
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/l3kernel/l3news04.tex')
-rw-r--r--macros/latex/contrib/l3kernel/l3news04.tex123
1 files changed, 123 insertions, 0 deletions
diff --git a/macros/latex/contrib/l3kernel/l3news04.tex b/macros/latex/contrib/l3kernel/l3news04.tex
new file mode 100644
index 0000000000..a0fc82f3de
--- /dev/null
+++ b/macros/latex/contrib/l3kernel/l3news04.tex
@@ -0,0 +1,123 @@
+% Copyright 2009,2010 The LaTeX Project
+\documentclass{ltnews}
+\PassOptionsToPackage{colorlinks}{hyperref}
+
+\usepackage{metalogo,ragged2e}
+
+\AtBeginDocument{
+ \renewcommand{\LaTeXNews}{\LaTeX3~News}
+ \RaggedRight
+}
+
+\usepackage{url,hologo}
+
+\publicationmonth{July}
+\publicationyear{2010}
+\publicationissue{4}
+
+\begin{document}
+\maketitle
+
+\noindent
+Now that we're back from the \TeX\ Users Group conference in San
+Francisco, it's time to discuss what's been going on over the last six months.
+Due to some extra travel plans after the conference, this issue is slightly
+late in coming out.
+
+
+\section{\textsf{expl3} in practice}
+
+Joseph Wright and Will Robertson have both released significant new versions
+of their packages, resp., \textsf{siunitx} and \textsf{fontspec}. These have
+been re-written in the \LaTeX3 programming language \textsf{expl3}, which we
+have discussed here previously. Using \textsf{expl3} for production code has
+been very successful, both in demonstrating that the concepts are sound and
+highlighting areas that still need some attention.
+% The \textsf{expl3}
+% code will continue to evolve as more people use it for their work.
+
+In the case of \textsf{fontspec}, \textsf{expl3} programming is being used to
+target \LaTeX\ running on either \XeTeX\ and \hologo{LuaTeX}. In the latter
+case, the package is a mixture of Lua code and \pkg{expl3} code; Will
+presented the \pkg{unicode-math} package at TUG~2010, which is developed in
+the same style.
+
+
+\section{New \textsf{xpackages}}
+
+Frank Mittelbach has started to work on a new experimental \LaTeX3 package
+\textsf{xhead} that provides templates for one of the most complex areas of
+document design: section headings and document divisions. This
+is the beginning of an ambitious idea to map out the requirements for
+typesetting most documents currently processed with \LaTeX.
+
+One of the challenges here is providing a ``natural'' design language for
+describing the two-dimensional spatial relationships of objects participating
+in the design, e.g., the placement of a heading number in relation to the
+heading title, a possible sub-title, etc. In answer to this challenge Frank
+developed the \textsf{xcoffin} package, which he presented at TUG~2010. It is
+designed as a high-level interface for placing and aligning boxes on a page,
+allowing a `designer's approach' for indicating the positional relationship
+between boxes. (A `coffin' is a box with handles.) As an example, it is
+possible to represent ideas such as `align the lower-left corner of box A with
+the upper-right corner of box B after rotating it ninety degrees', without
+having to calculate the intermediate positions.
+
+We expect a future version of \textsf{xcoffin} (after some further work on its
+interface layer and its internal implementation) to play a major role in all
+packages providing layout templates for higher-level document objects, such as
+table of contents designs, floats, etc.
+
+Finally,
+Joseph Wright has begun work with the current `galley' packages, producing the
+new, minimal, \textsf{xgalley} based on \textsf{xfm-galley} as a testbed for
+what we need and what will work.
+
+
+\section{Developments with \textsf{expl3}}
+
+Meanwhile, Joseph's \emph{also} been writing a new floating-point calculation
+module, called \textsf{l3fp}, for \pkg{expl3}. This module allows manipulation
+and calculation of numbers with a much larger range than \TeX\ allows
+naturally. The \textsf{l3fp} module has already been utilised in the
+\pkg{xcoffin} code for calculatations such as coordinate rotations and
+intersection points of vectors.
+
+The modules \pkg{l3io} and \pkg{l3file} have been revised, rethinking the way
+that read and write streams are dealt with. \TeX\ has a hard limit of sixteen
+input and output streams open at any one time, and the new implementation for
+\pkg{expl3} provides more flexibility in how they are allocated; there's now
+much less chance of running into a `\verb|No room for a new \read|' (or
+\verb|\write|) error.
+
+Sometimes we discuss ideas for \textsf{expl3} that \emph{don't} end up making
+it into the final code. One example of this is the concept of having `local
+registers' for integers, boxes, and so on, that do not survive outside of the
+group they are defined in (in contrast to Plain \TeX\ and \LaTeX, where
+allocators such as \verb|\newcount| and \verb|\newbox| are always global).
+Despite the scope for some small benefit, we decided that the extra complexity
+that the additional functions required, in both syntax and documentation, was
+not justified.
+
+
+\section{TUG 2010 reflections}
+
+% added most of it back in: -fmi
+
+%% Most of the active \LaTeX3 Project team were able to attend the TUG~2010
+%% conference and (for Will) meet everyone in person for the first time.
+
+Our interpretation of the broad themes discussed at the conference are that
+\TeX-based systems are still thriving and there are some big problems to solve
+with robust solutions to transform \LaTeX\ source, including mathematics, into
+a form such as HTML. While there are big pushes for standardising various aspects
+of the \LaTeX\ syntax, we also believe that it is \LaTeX's very
+flexibility---its inherently non-standardised markup---that has allowed it to
+survive for so many years. There is a delicate trade-off here between moving
+forward into more standards-based territory while also retaining the
+extensibility of the third-party package system.
+
+\end{document}
+
+
+