% Copyright 2012 The LaTeX3 Project \documentclass{ltnews} \PassOptionsToPackage{colorlinks}{hyperref} \usepackage{metalogo,ragged2e} \AtBeginDocument{ \renewcommand{\LaTeXNews}{\LaTeX3~News} \RaggedRight } \publicationmonth{February} \publicationyear{2012} \publicationissue{7} \begin{document} \maketitle \section{After the `Big Bang'} The last \LaTeX3 News gave details of the `Big Bang', in which the team have revised the layout and coverage of the \LaTeX3 codebase. This process has made the status of different modules clearer, so that both the team themselves and everyone else know what is going on. The `Big Bang' changes were not shipped to \textsc{ctan} until after the \TeX{} Live 2011 freeze, as we did not want to end up with a \textsc{dvd} containing badly broken code. The update went to \textsc{ctan} soon after \TeX{} Live 2011 shipped, and has now propagated around the world. The new package naming (\pkg{l3kernel}, \pkg{l3packages} and \pkg{l3experimental}) has caused some surprises for a small number of users, but there have not been any major issues with the changes at the code level. The `Big Bang' has attracted attention from programmers outside of the \LaTeX3 team, with useful feedback arriving on the \texttt{LaTeX-L} list and TeX.sx, in particular. One area that this has highlighted is the need to document carefully when changes to the `stable' parts of the \LaTeX3 codebase occur. All changes to \pkg{l3kernel} now come with an explicit date for the change in the documentation, which means that programmers can check exactly when the features they want were introduced. Another key part of supporting \LaTeX3 use beyond the team is making it easy to check on the version of \LaTeX3 installed. To support that, the file date of the main \pkg{expl3} package is now set each time there is a release of the \LaTeX3 material to \textsc{ctan}. This means that the \LaTeXe{} \cs{@ifpackagelater} test can be used reliably to detect if the installed version of \LaTeX3 is going to supply the functions that a programmer is using. \section{Deforming boxes} Additions to both the \LaTeX3 stable material and more experimental modules continue. Joseph Wright has been working on adding `native' drivers for \LaTeX3 to support box transformations. These allow box rotation, clipping and scaling with the drivers \texttt{dvips}, \texttt{xdvipdfmx} and direct \textsc{pdf} output. The development of clipping support for the \texttt{xdvipdfmx} driver has also allowed us to suggest improvements to the \LaTeXe{} graphics drivers, enabling clipping with the \XeTeX{} engine. \section{A \TeX{}-based regex engine} Bruno Le Floch has been %working across the codebase, %% omitted to avoid page break improving the efficiency and robustness of a number of \LaTeX3 functions. Most notably, he has created a purely \TeX{}-based regular expression (regex) system for \LaTeX3. This is currently experimental, but is already proving useful and will hopefully stabilise over the coming months. Bruno's regex system works with all of the supported engines (pdf\TeX{}, \XeTeX{} and \LuaTeX{}). He has implemented the core ideas of standard regex systems, along with some \TeX{}-specifics to allow matching and replacing the content of token lists % correct? by category code. \section{\pkg{xparse} improves} The \pkg{xparse} module has been overhauled, making the internal code more efficient and adding additional argument types. This has also allowed us to deal with a number of internal bugs, meaning that argument grabbing is now more reliable. The argument grabbers themselves have been reworked so that in the event of an error, the user will normally get a meaningful message from \TeX{} rather than one pointing to \pkg{xparse} internal function names. This should help in tracking down erroneous input in real documents. \section{The galley} As detailed in the last issue, work on the galley module has been continuing. Discussion of Joseph's reimplementation of the galley concepts highlighted some important areas to work on, with the nature of the template concept being particularly significant. More work is still needed to finalise the galley concepts, but it is clear that some of this will require feedback from other areas. Joseph therefore hopes to finish work on the current round of galley improvements by the end of February, and to return to them once some other areas have been addressed. \section{Relationships between document items} The \textsc{tug}2011 meeting took place in October in India. Frank Mittelbach spoke there about ideas for describing the design relationship between document elements. % omit calling it "ldb" here because that name will likely change (last I heard?) These ideas allow a document designer to specify the design of a document element based on its context within a document, and progress in this area will likely lead to an extension in the \pkg{xtemplate} system. \end{document}