summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/l3kernel/l3news12.tex
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/l3kernel/l3news12.tex')
-rw-r--r--macros/latex/contrib/l3kernel/l3news12.tex131
1 files changed, 81 insertions, 50 deletions
diff --git a/macros/latex/contrib/l3kernel/l3news12.tex b/macros/latex/contrib/l3kernel/l3news12.tex
index 05c89a608d..f41e4b3690 100644
--- a/macros/latex/contrib/l3kernel/l3news12.tex
+++ b/macros/latex/contrib/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/}