summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/l3kernel/l3news10.tex
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/l3kernel/l3news10.tex')
-rw-r--r--macros/latex/contrib/l3kernel/l3news10.tex220
1 files changed, 0 insertions, 220 deletions
diff --git a/macros/latex/contrib/l3kernel/l3news10.tex b/macros/latex/contrib/l3kernel/l3news10.tex
deleted file mode 100644
index 88291e848f..0000000000
--- a/macros/latex/contrib/l3kernel/l3news10.tex
+++ /dev/null
@@ -1,220 +0,0 @@
-% Copyright 2016 The LaTeX3 Project
-\documentclass{ltnews}
-
-\PassOptionsToPackage{colorlinks}{hyperref}
-
-\usepackage{csquotes}
-\usepackage{hologo}
-\usepackage{ragged2e}
-\usepackage{underscore}
-
-\AtBeginDocument{%
- \renewcommand*{\LaTeXNews}{\LaTeX3~News}%
- \RaggedRight
- \setlength\parindent{1em}%
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-\publicationmonth{November}
-\publicationyear{2016}
-\publicationissue{10}
-
-% Avoid hyphenation of csnames
-\makeatletter
-\protected\edef\cs#1{%
- \noexpand\path{\@backslashchar#1}%
-}
-\makeatother
-
-\begin{document}
-
-\maketitle
-
-There has been something of a gap since the last \LaTeX3 News, but this does
-not mean that work has not been going on. The Team have been working on a
-number of areas, many of which reflect wider take-up of \pkg{expl3}. There have
-also been a number of significant new developments in the \LaTeX3
-\enquote{sphere} in the last two years.
-
-\section{\pkg{l3build}: Testing \LaTeX{} packages}
-
-Testing has been an important part of the work of the team since they assumed
-maintenance of \LaTeX{} over twenty years ago. Various scripts have been used
-over that time by the team for testing, but these have until recently not been
-set up for wider use.
-
-With the general availability of \hologo{LuaTeX} it is now possible to be sure
-that every \TeX{} user has a powerful general scripting language available:
-Lua. The team have used this to create a new general testing system for \TeX{}
-code, \pkg{l3build}. This \emph{is} designed to be used beyond the team, so is
-now available in \TeX{} Live and \hologo{MiKTeX} and is fully documented.
-Testing using \pkg{l3build} makes use of a normalised version of the
-\texttt{.log} file, so can test any aspect of \TeX{} output (e.g., by using
-\cs{showbox}) or its algorithms (by displaying results in the \texttt{.log}).
-
-Part of the remit for creating \pkg{l3build} was to enable the team to work
-truly cross-platform and to allow testing using multiple \TeX{} engines
-(earlier systems were limited to a single engine, normally \eTeX{}). The new
-testing system means we are in a much stronger position to support a variety of
-engines (see below). It has also enabled us to give useful feedback on
-development of the \hologo{LuaTeX} engine.
-
-As well as the core capability in testing, \pkg{l3build} also provides a
-\enquote{one stop} script for creating release bundles. The script is
-sufficiently flexible that for many common \LaTeX{} package structures, setting
-up for creating releases will require only a few lines of configuration.
-
-In addition to the documentation distributed with \pkg{l3build}, the project
-website~\cite[publications in 2014]{10:project-publications} contains some
-articles, videos and conference presentations that explain how to use
-\pkg{l3build} to manage and test any type of (\LaTeX{}) package.
-
-\section{Automating \pkg{expl3} testing}
-
-As well as developing \pkg{l3build} for local use, the team have also set up
-integration testing for \pkg{expl3} using the Travis-CI system. This means that
-\emph{every} commit to the \LaTeX3 code base now results in a full set of tests
-being run. This has allowed us to significantly reduce the number of occasions
-where \pkg{expl3} needs attention before being released to CTAN.
-
-Automated testing has also enabled us to check that \pkg{expl3} updates do not
-break a number of key third-party packages which use the programming
-environment.
-
-\section{Refining \pkg{expl3}}
-
-Work continues to improve \pkg{expl3} both in scope and robustness. Increased
-use of the programming environment means that code which has to-date been
-under-explored is being used, and this sometimes requires changes to the code.
-
-The team have extended formal support in \pkg{expl3} to cover the engines
-p\TeX{} and up\TeX{}, principally used by Japanese \TeX{} users. This has been
-possible in part due to the \pkg{l3build} system discussed above.
-Engine-dependent variations between \hologo{pdfTeX}, \hologo{XeTeX},
-\hologo{LuaTeX} and (u)p\TeX{} are now well-understood and documented. As part
-of this process, the \enquote{low-level} part of \pkg{expl3}, which saves all
-primitives, now covers essentially all primitives found in all of these
-engines.
-
-The code in \pkg{expl3} is now entirely self-contained, loading no other
-third-party packages, and can also be loaded as a generic package with plain
-\TeX{}, \emph{etc.} These changes make it much easier to diagnose problems and
-make \pkg{expl3} more useful. In particular it can be used as a programming
-language for generic packages, that then can run without modifications under
-different formats!
-
-The team have made a range of small refinements to both internals and
-\pkg{expl3} interfaces. Internal self-consistency has also been improved, for
-example removing almost all use of \texttt{nopar} functions. Performance
-enhancements to the \pkg{l3keys} part of \pkg{expl3} are ongoing and should
-result in significantly faster key setting. As keyval methods are increasingly
-widely used in defining behaviours, this will have an impact on compile times
-for end users.
-
-\section{Replacing \cs{lowercase} and \cs{uppercase}}
-
-As discussed in the last \LaTeX3 News, the team have for some time been keen to
-provide new interfaces which do not directly expose (or in some cases even use)
-the \TeX{} primitives \cs{lowercase} and \cs{uppercase}. We have now created a
-series of different interfaces that provide support for the different
-conceptual uses which may flow from the primitives:
-\begin{itemize}
- \item For case changing text, \cs{tl_upper_case:n}, \cs{tl_lower_case:n},
- \cs{tl_mixed_case:n} and related language-aware functions. These are
- Unicode-capable and designed for working with text. They also allow for
- accents, expansion of stored text and leaving math mode unchanged. At
- present some of the interface decisions are not finalised so they are
- marked as experimental, but the team expect the core concept to be stable.
- \item For case changing programming strings, \cs{str_upper_case:n},
- \cs{str_lower_case:n} and \cs{str_fold_case:n}. Again these are
- Unicode-aware, but in contrast to the functions for text are not
- context-dependent. They are intended for caseless comparisons, constructing
- command names on-the-fly and so forth.
- \item For creating arbitrary character tokens, \cs{char_generate:nn}. This
- is based on the \cs{Ucharcat} primitive introduced by \hologo{XeTeX}, but
- with the ideas extended to other engines. This function can be used to
- create almost any reasonable token.
- \item For defining active characters, \cs{char_set_active_eq:NN} and
- related functions. The concept here is that active characters should be
- equivalent to some named function, so one does not directly define the
- active character.
-\end{itemize}
-
-\section{Extending \pkg{xparse}}
-
-After discussions at TUG2015 and some experimentation, the team have added a
-new argument type, \texttt{e} (\enquote{embellishment}), to \pkg{xparse}.
-This allows arguments similar to
-\TeX{} primitive sub- and superscripts to be accepted. Thus
-\begin{verbatim}
-\DeclareDocumentCommand\foo{e{^_}}
- {\showtokens{"#1"}}
-\foo^{Hello} world
-\end{verbatim}
-will show
-\begin{verbatim}
-"{Hello}{-NoValue-}".
-\end{verbatim}
-
-At present, this argument type is experimental: there are a number of models
-which may make sense for this interface.
-
-\section{A new \cs{parshape} model}
-
-As part of development of \pkg{l3galley}, Joseph Wright has proposed a new
-model for splitting up the functions of the \cs{parshape} primitive into three
-logical elements:
-\begin{itemize}
- \item Margins between the edges of the galley and the paragraph (for example
- an indented block);
- \item Cut-out sections running over a fixed number of lines, to support
- \enquote{in place} figures and so forth;
- \item Running or single-paragraph shape.
-\end{itemize}
-
-There are additional elements to consider here, for example whether lines are
-the best way to model the length of shaping, how to handle headings, cut-outs
-at page breaks, \emph{etc.}
-
-
-\section{Globally optimized pagination of documents}
-
-Throughout 2016 Frank Mittelbach has worked on methods and algorithms for
-globally optimizing the pagination of documents including those that contain
-floats. Early research results have been presented at Bacho\TeX{} 2016, TUG
-2016 in Toronto and later in the year at \mbox{DocEng'16}, the ACM Symposium on
-Document Engineering in Vienna. A link to the ACM paper (that allows a download
-free of charge) can be found on the project
-website~\cite{10:project-publications}. The site also holds the speaker notes from
-Toronto and will host a link to a video of the presentation once it becomes
-available.
-
-The framework developed by Frank is based on the extended functionality
-provided by \hologo{LuaTeX}, in particular its callback functions that allow
-interacting with the typesetting process at various points. The algorithm that
-determines the optimal pagination of a given document is implemented in {Lua}
-and its results are then used to direct the formatting done by the \TeX{}
-engine.
-
-At the current point in time this a working prototype but not yet anywhere near
-a production-ready system. However, the work so far shows great potential and
-Frank is fairly confident that it will eventually become a generally usable
-solution.
-
-\section{Looking forward}
-
-The \hologo{LuaTeX} engine has recently reached version~1.0. This may presage a
-stable \hologo{LuaTeX} and is likely to result in wider use of this engine in
-production documents.If that happens we expect to implement some of the more
-complex functionality (such as complex pagination requirements and models) only
-for \hologo{LuaTeX}.
-
-\begin{thebibliography}{10}
- \raggedright
- \bibitem{10:project-publications}
- Links to various publications by members of the \LaTeX{} Project Team.
- \newblock \url{https://www.latex-project.org/publications}.
-\end{thebibliography}
-
-\end{document}