diff options
author | Karl Berry <karl@freefriends.org> | 2020-02-04 22:19:11 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2020-02-04 22:19:11 +0000 |
commit | c4f9025af51074274f379c8470324c4e7839780a (patch) | |
tree | 103414c2372bc6eec1de2306f3c248f45d394ef6 /Master/texmf-dist/doc/latex/l3kernel/l3news12.tex | |
parent | ae7de6a5194241c4f284dcb79422e325b2f3e8ca (diff) |
l3 (4feb20)
git-svn-id: svn://tug.org/texlive/trunk@53673 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/latex/l3kernel/l3news12.tex')
-rw-r--r-- | Master/texmf-dist/doc/latex/l3kernel/l3news12.tex | 131 |
1 files changed, 81 insertions, 50 deletions
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news12.tex b/Master/texmf-dist/doc/latex/l3kernel/l3news12.tex index 05c89a608d4..f41e4b36902 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/l3news12.tex +++ b/Master/texmf-dist/doc/latex/l3kernel/l3news12.tex @@ -34,6 +34,37 @@ \noexpand\path{\@backslashchar#1}% } \makeatother +\hyphenpenalty=10000 +\exhyphenpenalty=10000 +\hbadness=2500 + +\makeatletter +\renewcommand*\l@section[2]{% + \ifnum \c@tocdepth >\z@ + \addpenalty\@secpenalty + \addvspace{0.7em \@plus\p@}% reduce from 1.0em + \setlength\@tempdima{1.5em}% + \begingroup + \parindent \z@ \rightskip \@pnumwidth + \parfillskip -\@pnumwidth + \leavevmode \bfseries + \advance\leftskip\@tempdima + \hskip -\leftskip + #1\nobreak\hfil + \nobreak\hb@xt@\@pnumwidth{\hss #2% + \kern-\p@\kern\p@}\par + \endgroup + \fi} +\makeatother + +\newenvironment{compactitemize}% + {\begin{itemize}% + \setlength{\itemsep}{0pt}% + \setlength{\parskip}{0pt}% + \setlength{\parsep} {0pt}% + }% + {\end{itemize}} + \begin{document} @@ -82,14 +113,14 @@ in sight. New programming tools have appeared in various places across \pkg{expl3}. The highlights are -\begin{itemize} +\begin{compactitemize} \item Shuffling of sequences to allow randomization \item Arrays of integers and floating point values; these have constant-time access \item Functions to return values after system shell usage \item Expandable access to file information, including file size, MD5 hash and modification date -\end{itemize} +\end{compactitemize} For the latter, we have revised handling of file names considerably. There is now support for finding files in expansion contexts (by using the @@ -102,15 +133,15 @@ kernel. In addition to entirely new functions, the team have moved the \pkg{l3str-convert} module from the \pkg{l3experimental} bundle into the \pkg{expl3} core. This module is essential for dealing with the need to produce -\textsc{utf}-16 and \textsc{utf}-32 strings in some contexts, and also offers -built-in escape for \textsc{url}s and \textsc{pdf} strings. +UTF-16 and UTF-32 strings in some contexts, and also offers +built-in escape for url and PDF strings. \subsection{Case changing of text} -Within \pkg{expl3}, the team have re-named and reworked the ideas from +Within \pkg{expl3}, the team have renamed and reworked the ideas from \cs{tl_upper_case:n} and so on, creating a new module \pkg{l3text}. This is a \enquote{final} home for functions to manipulate \emph{text}; token lists that -can reasonably expected to expand to plain text plus limited mark-up, for +can reasonably be expected to expand to plain text plus limited markup, for example emphasis and labels/references. Moving these functions, we have also made a small number of changes in other modules to give consistent names to functions: see the change log for full details. @@ -122,7 +153,7 @@ added to this module. \subsection{File name parsing} -The functions for parsing file names have been entirely re-written, partly as +The functions for parsing file names have been entirely rewritten, partly as this is required for the expandable access to file information mentioned above. The new code correctly deals with spaces and quote marks in file names and splits the path/name/extension. @@ -133,7 +164,7 @@ The format of messages in \pkg{expl3} was originally quite text-heavy, the idea being that they would stand out in the \texttt{.log} file. However, this made them hard to find by a regular expression search, and was very different from the \LaTeXe{} message approach. The formatting of \pkg{expl3} messages has been -aligned with that from the \LaTeXe{} kernel, such that \textsc{ide} scripts and +aligned with that from the \LaTeXe{} kernel, such that IDE scripts and similar will be able to find and extract them directly. \subsection{Key inheritance} @@ -144,14 +175,14 @@ cases. \subsection{Floating point juxtaposition} -Implicit multiplication by juxtaposition, such as |2pi|, is now handled -separately from parenthetic values. Thus for example |1in/1cm| is treated -as equal to |(1in)/(1cm)| and thus yields |2.54|, and | 1/2(pi+pi)| is -equal to |pi|. +Implicit multiplication by juxtaposition, such as \verb|2pi|, is now handled +separately from parenthetic values. Thus for example \verb|1in/1cm| is treated +as equal to \verb|(1in)/(1cm)| and thus yields \verb|2.54|, and \verb|1/2(pi+pi)| is +equal to \verb|pi|. \subsection{Changing box dimensions} -\TeX{}'s handling of boxes is subtly-different from other registers, and this +\TeX{}'s handling of boxes is subtly different from other registers, and this shows up in particular when you want to resize a box. To bring treatment of boxes, or rather the grouping behavior of boxes, into line with other registers, we have made some internal changes to how functions such as @@ -170,7 +201,7 @@ months. There have been two notable sets of deprecations over the past 18 months. First, we have rationalised all of the \enquote{raw} primitive names to the form \cs{tex_<name>:D}. This means that the older names, starting -\cs{pdftex_...}, \cs{xetex_...}, etc., have been removed. +\mbox{\cs{pdftex_...}}, \cs{xetex_...}, etc., have been removed. Secondly, the use of integer constants, which dates back to the earliest days of \pkg{expl3}, is today more likely to make the code harder to read than @@ -191,23 +222,23 @@ The team introduced the idea of internal module functions some time ago. Within the kernel, there are places where functions need to be used in multiple modules. To make the nature of the kernel interactions clearer, we have worked on several aspects -\begin{itemize} +\begin{compactitemize} \item Reducing as far as possible cross-module functions \item Making more generally-useful functions public, for example scan marks \item Creating an explicit cross-kernel naming convention for functions which are internal but are essential to use in multiple kernel modules -\end{itemize} +\end{compactitemize} \subsection{The backend} Creating graphics, working with color, setting up hyperlinks and so on require backend-specific code. Here, backends are for example \texttt{dvips}, -\texttt{xdvipdfmx} and the direct \textsc{pdf} mode in \hologo{pdfTeX} and +\texttt{xdvipdfmx} and the direct PDF mode in \hologo{pdfTeX} and \hologo{LuaTeX}. These functions are needed across the \LaTeX3 codebase and -have to be updated separate from the \pkg{expl3} core. To facilitate that, we -have split those sources into a separate bundle, which can then be updated as +have to be updated separately from the \pkg{expl3} core. To facilitate that, we +have split those sources into a separate bundle, which can be updated as required. At the same time, the code these files contain is very low-level and is best @@ -215,7 +246,7 @@ described as internal. We have re-structured how the entire set of functions are referred to such that they are now internal for the area they implement, for example image inclusion, box affine transformations, etc. -\section{Better support for (u)p\TeX{}} +\section{Better support for (u)p\texorpdfstring{\kern-.05em}{}\TeX{}} The developers behind (u)p\TeX{} (Japanese \TeX{}) have recently enhanced their English documentation (see \url{https://github.com/texjporg/ptex-manual}). @@ -230,35 +261,36 @@ formally removed after deprecation. This is to allow \emph{temporary} work-arounds for documents to be compiled whilst code is begin updated. The \enquote{classical} options for selecting backends (\texttt{dvips}, -\texttt{pdftex}, etc.) are now recognised in addition to the native key--value -versions. This should make it much easier to use \pkg{expl3} image and color +\texttt{pdftex}, etc.)\ are now recognised in addition to the native key--value +versions. This should make it much easier to use the \pkg{expl3} image and color support as it is brought up to fully-workable standards. \section{Engine requirements} The minimum engine versions needed to use \pkg{expl3} have been incremented a little: -\begin{itemize} +\begin{compactitemize} \item \hologo{pdfTeX} v1.40 \item \hologo{XeTeX} v0.99992 \item \hologo{LuaTeX} v0.95 - \item $\epsilon$-(u)p\TeX{} mid-2012 -\end{itemize} + \item $\varepsilon$-(u)p\TeX{} mid-2012 +\end{compactitemize} The team have also worked with the \hologo{XeTeX} and (u)p\TeX{} developers to standardise the set of post-\eTeX{} utility primitives that are available: the so-called \enquote{\hologo{pdfTeX} utilities}. These are now available in all -supported engine, and in time will all be \emph{required}. This primarily +supported engines, and in time will all be \emph{required}. This primarily impacts \hologo{XeTeX}, which gained most of these primitives in the 2019 \TeX{} Live cycle. (Examples are the random number primitives and expandable -file data provision.) See \emph{\LaTeX{} News~31}~\cite{12:site-news} for more on this. +file data provision.) See \emph{\LaTeX{} News~31}~\cite{12:site-news} +for more. \section{Documentation} \subsection{News} The \emph{\LaTeX3 News} files were until recently only used to create -\textsc{pdf} files on the team website~\cite{12:site}. We have now +PDF files on the team website~\cite{12:site}. We have now integrated those into the \pkg{l3kernel} (\pkg{expl3} core) bundle. The news files cover all of \LaTeX3 files, as the core files are always available. @@ -280,33 +312,32 @@ some cases when searching for optional arguments, a new modifier immediately with no intervening spaces. There is a new argument type purely for environments: \texttt{b}-type -for collecting a \cs{begin}/\cs{end} pair, i.e., collecting the body of +for collecting a \cs{begin}\texttt{...}\cs{end} pair, i.e., collecting the body of an environment. This is similar in concept to the \pkg{environ} package, but is integrated directly into \pkg{xparse}. Finally, it is now possible to refer to one argument as the default for another optional one, for example \begin{verbatim} -\NewDocumentCommand{\caption}{O{#2} m} - ... +\NewDocumentCommand{\caption}{O{#2} m} ... \end{verbatim} \section{New experimental modules} A number of new experimental modules have been added within the -\pkg{l3experimental} bundle -\begin{itemize} - \item \pkg{l3benchmark} Performance-testing system using the timing +\pkg{l3experimental} bundle: +\begin{description} + \item[\pkg{l3benchmark}] Performance-testing system using the timing function in modern \TeX{} engines - \item \pkg{l3cctab} Category code tables for all engines, not + \item[\pkg{l3cctab}] Category code tables for all engines, not just \hologo{LuaTeX} - \item \pkg{l3color} Color support, similar in interface to \pkg{xcolor} - \item \pkg{l3draw} Creation of drawings, inspired by \pkg{pgf}, but - using the \LaTeX3 \textsc{fpu} for calculations - \item \pkg{l3pdf} Support for \textsc{pdf} features such as compression, - hyper-links, etc. - \item \pkg{l3sys-shell} Shell escape functions for file manipulation -\end{itemize} + \item[\pkg{l3color}] Color support, similar in interface to \pkg{xcolor} + \item[\pkg{l3draw}] Creation of drawings, inspired by \pkg{pgf}, but + using the \LaTeX3 FPU for calculations + \item[\pkg{l3pdf}] Support for PDF features such as compression, + hyperlinks, etc. + \item[\pkg{l3sys-shell}] Shell escape functions for file manipulation +\end{description} \section{\pkg{l3build} changes} @@ -321,29 +352,29 @@ Accompanying this, we have added support for installing scripts and script \texttt{man} files. There is a new \texttt{upload} target that can take a zip file and send it to -\textsc{ctan}: you just have to fill in release information for \emph{this} +CTAN: you just have to fill in release information for \emph{this} upload at the prompts. -Testing using \textsc{pdf} files rather than logs has been heavily revised: -this is vital for work on \textsc{pdf} tagging. +Testing using PDF files rather than logs has been heavily revised: +this is vital for work on PDF tagging. There is also better support for complex directory structures, including the -ability to manually specify \textsc{tds} location for all installed files. This -is particularly targeted at package with both generic and format-specific file +ability to manually specify TDS location for all installed files. This +is particularly targeted at packages with both generic and format-specific files to install. \begin{thebibliography}{9} -\fontsize{9.3}{11.3}\selectfont +\fontsize{9.9}{11.9}\selectfont \bibitem{12:site} \emph{\LaTeX{} Project Website}. - \url{https://latex-project.org/} + \hfil\break\url{https://latex-project.org/} \bibitem{12:site-news} - \emph{\LaTeXe{} release news letters on the \LaTeX{} Project Website}. + \emph{\LaTeXe{} release newsletters on the \LaTeX{} Project Website}. \url{https://latex-project.org/news/latex2e-news/} |