diff options
Diffstat (limited to 'macros/latex/contrib/l3kernel/l3news11.tex')
-rw-r--r-- | macros/latex/contrib/l3kernel/l3news11.tex | 208 |
1 files changed, 0 insertions, 208 deletions
diff --git a/macros/latex/contrib/l3kernel/l3news11.tex b/macros/latex/contrib/l3kernel/l3news11.tex deleted file mode 100644 index a1fd8a129c..0000000000 --- a/macros/latex/contrib/l3kernel/l3news11.tex +++ /dev/null @@ -1,208 +0,0 @@ -% Copyright 2017-2018 The LaTeX3 Project - -\documentclass{ltnews} - -\PassOptionsToPackage{colorlinks}{hyperref} - -\usepackage{csquotes} -\usepackage{hologo} -\usepackage{ragged2e} -\usepackage{underscore} - - -%%% wrong in ltnews.cls ... so some tmp fix here at the moment: -\makeatletter -\renewcommand{\subsubsection}{% - \@startsection - {subsubsection}{2}{\leftmargini}{-1.5ex \@plus -1ex \@minus -.2ex}% - {1sp}{\@subheadingfont}% -} -\makeatother - - -\AtBeginDocument{% - \renewcommand*{\LaTeXNews}{\LaTeX3~News}% - \RaggedRight - \setlength\parindent{1em}% -} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\publicationmonth{February} -\publicationyear{2018} -\publicationissue{11} - -% Avoid hyphenation of csnames -\makeatletter -\protected\edef\cs#1{% - \noexpand\path{\@backslashchar#1}% -} -\makeatother -\hyphenpenalty=10000 \exhyphenpenalty=10000 - -\begin{document} - -\maketitle - -\tableofcontents - -\section{Move of sources from Subversion to Git} - -The \LaTeX{} team have used a variety of version control systems over the life -of the \LaTeX3 sources. For a long time we maintained the \LaTeX3 sources in -Subversion (\texttt{svn}) but also provided a read-only clone of them on GitHub using -SubGit from TMate Software~\cite{SubGit} to synchronize the two -repositories---a solution that worked very well. - -We have now retired the Subversion repository and completely moved over to Git, -with the master \LaTeX3 repository hosted on GitHub: -\url{https://github.com/latex3/latex3}. This new approach means we are (slowly) -adopting some new approaches to development, for example branches and accepting -pull requests. - -\subsection{Version identifiers} - -Following this change, we have removed Subversion \verb=$Id= lines from the -\LaTeX3 sources. At present, we will be retaining \cs{GetIdInfo} as there are -several possible use cases. The \LaTeX3 sources now have only release date -strings as identifiers. However, the team recommend that package authors -include version information directly in \cs{ProvidesExplPackage} (or similar) -lines. - -\section{\pkg{expl3} updates and extensions} - -Work has continued on the codebase over the last year, with both small -changes/fixes and more substantial changes taking place. The following sections -summarise some of the more notable changes. - -\subsection{\pkg{l3sort} moves to the kernel} - -Sorting is an important ability, and for some time the team have provided a -stand-alone \pkg{l3sort} to support this. The functionality has seen wide take -up, and so has now been integrated directly into the kernel. This took place in -parallel with some interface changes to \enquote{round out} the code. - -\subsection{Boolean functions} - -For some time, the team have been aware that boolean expressions can fail in -certain circumstances, leading to low-level errors. This is linked to two -features of the long-standing \cs{bool_if:n(TF)} function: expandable operation -and short-circuit evaluation. - -Addressing that has meant two changes: altering \cs{bool_if:n(TF)} to -\emph{always} evaluate each part of the expression, and introducing new -short-circuit functions without the issue. The latter are \verb|lazy| in \pkg{expl3} -terms: -\begin{itemize} -\item \cs{bool_lazy_all:n(TF)} -\item \cs{bool_lazy_and:nn(TF)} -\item \cs{bool_lazy_any:n(TF)} -\item \cs{bool_lazy_or:nn(TF)} -\end{itemize} -These new, stable functions are now the recommended way of handling boolean -evaluations. Package authors are encouraged to employ these new functions as -appropriate. - -\subsection{Revision of \pkg{l3file}} - -Large parts of \pkg{l3file} have been revised to give a better separation of -path/file/extension. This has resulted in the addition of a number of new support -functions and variables. - -At the same time, new experimental functions have been added to utilise a -number of useful primitives in \hologo{pdfTeX}{}: \cs{file_get_mdfive_hash:nN}, -\cs{file_get_size:nN} and \cs{file_get_timestamp:nN}. Currently, \hologo{XeTeX} -does not support getting file size/timestamp information: this is available in -other engines. - -Paralleling these changes, we have added (experimental) support for shell -escape to the \pkg{l3sys} module, most notably \cs{sys_shell_now:n}. A range of -test booleans are also available to check whether shell escape is enabled. - -\subsection{Detection of \cs{cs_generate_variant:Nn} errors} - -The ability to generate variants is an important feature of \pkg{expl3}. At -the same time, there are crucial aspects of this approach that can be -misunderstood by users. In particular, the requirement that variants map -correctly to an underlying \verb|N|- or \verb|n|-type base function is sometimes -misunderstood. - -To help detect and correct these cases, \cs{cs_generate_variant:Nn} now -carries out error checking on its arguments, and raises a warning where -it is mis-applied. At present, the team have avoided making this an error -as it is likely to be seen by end users rather than directly by package -developers. In time, we are likely to revisit this and tighten up -further on this key requirement. - -\subsection{Accessing random data} - -To support randomised data selection, we have introduced a family of -experimental functions which use under\-lying engine support for random values, -and provide one entry at random from the data type. - -At the same time, we have addressed some issues with uniformity stemming from -the random number function used by \hologo{pdfTeX}{} and inherited by other -engines. This means that \pkg{expl3}'s FPU will generate \emph{pseudo}-random -values across the range of possible outputs. - -\subsection{More powerful debugging} - -A new set of debugging functions have been added to the kernel. These allow -debug code to be enabled locally using the new option \verb|enable-debug| along -with functions \cs{debug_on:n} and \cs{debug_off:n}. Accompanying this change, we -have improved the handling of global/local consistency in variable setting. - -\subsection{Mark-up changes in \pkg{l3doc}} - -Since the introduction of the \verb|__| syntax to mark internal functions, the -need for explicit markup of internal material in sources has been negated. -As such, we have now dropped the requirement to mark internal material with -\verb|[aux]| when using \pkg{l3doc}. Instead, the status of functions and -variables is auto-detected from the presence of \verb|__|. For cases where -non-standard names are used for internal code, the mark-up \verb|[int]| is -retained, \emph{e.g.} -\begin{verbatim} -\begin{macro}[int]{\l@expl@enable@debug@bool} -\end{verbatim} - -\newpage -\section{\pkg{l3build} updates} - -Work on \pkg{l3build} has continued in parallel with \pkg{expl3} work, in -particular continuing to develop features to allow wider use of the tool. - -Paralleling the move of the \LaTeX3 codebase to Git, \pkg{l3build} now has its -own separate Git repository: \url{https://github.com/latex3/l3build}. This will -enable us to involve other developers in the Lua code required for the build -system. At the same time, we have split the code into a number of small source -files, again to ease development both for the team ourselves and for potential -collaborators. - -Another major change is that \pkg{l3build} can now retain the structure of -source repositories when creating a CTAN archive. Whilst the team favor `flat' -source setups, other users prefer structured approaches. Most notably, this -new \pkg{l3build} functionality means that it is now used to carry out -\pkg{beamer} releases. - -The other major new feature is a new approach to multiple test setups, which -replaces the older \verb|--testfiledir| option. In the new approach, separate -configuration files are listed in the main \verb|build.lua| script, and can be -selected manually using a new \verb|--config| switch. This new approach allows -complex test setups to be run in a totally automated fashion, which is -important for kernel testing. - -Some changes to the normalisation routines have been carried out, some to deal -with upcoming \hologo{LuaTeX} changes, others to address aspects which show up -only in some tests. This has required \verb|.tlg| updates in some cases: as far -as possible, we strive to avoid requiring changes to the reference files. - -\begin{thebibliography}{10} - \raggedright - \bibitem{SubGit} - \emph{SubGit}, TMate Software, \url{https://subgit.com} - \bibitem{11: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} |