[latex3-commits] [git/LaTeX3-latex3-latex2e] gh822: updated ltnews35 with a para on doc2 and added the copyedits by kb at the same time (8938dd2e)
Frank Mittelbach
frank.mittelbach at latex-project.org
Fri May 27 17:00:51 CEST 2022
Repository : https://github.com/latex3/latex2e
On branch : gh822
Link : https://github.com/latex3/latex2e/commit/8938dd2e49bb691d3e5f7c5dbf0af98d5ded9238
>---------------------------------------------------------------
commit 8938dd2e49bb691d3e5f7c5dbf0af98d5ded9238
Author: Frank Mittelbach <frank.mittelbach at latex-project.org>
Date: Fri May 27 17:00:51 2022 +0200
updated ltnews35 with a para on doc2 and added the copyedits by kb at the same time
>---------------------------------------------------------------
8938dd2e49bb691d3e5f7c5dbf0af98d5ded9238
base/doc/ltnews35.tex | 138 +++++++++++----------
base/testfiles/github-0822.lvt | 8 --
base/testfiles/tlb-extraprimitives-001.luatex.tlg | 5 -
required/tools/testfiles/github-0822.lvt | 10 ++
{base => required/tools}/testfiles/github-0822.tlg | 0
5 files changed, 85 insertions(+), 76 deletions(-)
diff --git a/base/doc/ltnews35.tex b/base/doc/ltnews35.tex
index a8c8a342..3399d52e 100644
--- a/base/doc/ltnews35.tex
+++ b/base/doc/ltnews35.tex
@@ -77,7 +77,12 @@
% simple solution right now (just link to the first issue if there are more)
\def\getfirstgithubissue#1 #2\relax{#1}
-\providecommand\sxissue[1]{\ifhmode\unskip\fi
+\providecommand\sxissue[1]{\ifhmode\unskip
+ \else
+ % githubissue preceding
+ \vskip-\smallskipamount
+ \vskip-\parskip
+ \fi
\quad\penalty500\strut\nobreak\hfill
\mbox{\small\slshape(\url{https://tex.stackexchange.com/#1})}\par}
@@ -127,7 +132,8 @@
\tubcommand{\addtolength\textheight{4.2pc}} % only for TUB
\maketitle
-{\hyphenpenalty=10000 \spaceskip=3.33pt \hbadness=10000 \tableofcontents}
+{\hyphenpenalty=10000 \exhyphenpenalty=10000 \spaceskip=3.33pt \hbadness=10000
+\tableofcontents}
\setlength\rightskip{0pt plus 3em}
@@ -145,7 +151,7 @@ approach for options, and the introduction of the \texttt{latex-lab}
area for temporary code that can be optionally loaded by a document
(when \cs{DocumentMetadata} is used with certain test keys). These
additions are described in the first sections. Related to this effort
-there are updates to \pkg{hyperref} and \pkg{tagpdf} both of which
+there are updates to \pkg{hyperref} and \pkg{tagpdf}, both of which
have their own distributions.
As usual, we also added a number of smaller improvements and bug
@@ -182,7 +188,7 @@ i.e., the declaration has to be placed \emph{before}
\cs{documentclass} and will issue an error if found later.
-At this point in time we provide only the bare command in the format,
+At this point in time we provide only the bare command in the format;
the actual processing of the key/value is defined externally and the
necessary code will be loaded if the command is used. This scheme is
chosen for two reasons: by adding the command in the kernel it is
@@ -219,8 +225,8 @@ change without further notice. This means that commands and interfaces provided
get altered or removed again after some public testing. The code can
be accessed through the \cs{DocumentMetadata} key \texttt{testphase}.
Currently supported values are \texttt{phase-I} and \texttt{phase-II}
-that enable code of the tagged PDF project (phase-I is frozen and
-phase-II the phase we are currently working on). With
+that enable code of the tagged PDF project (phase~I is frozen, and
+phase~II is the phase we are currently working on). With
\begin{verbatim}
\DocumentMetadata{testphase=phase-II}
\end{verbatim}
@@ -247,7 +253,7 @@ to drop the \texttt{testphase} key setting.
\section{A new mark mechanism for \LaTeX{}}
The mark mechanism is \TeX{}'s way to pass information to the
-page-building process which happens asynchronously in order to
+page-building process, which happens asynchronously, in order to
communicate relevant data for running headers and footers to the
latter, e.g., what is the first section on the page or the last
subsection, etc. However, marks may also be
@@ -277,8 +283,8 @@ contained two parts with their own interfaces: \cs{markboth} and
\cs{markright} to set marks and \cs{leftmark} and \cs{rightmark} to
retrieve them.
-Unfortunately, this extended mechanism (while supporting scenarios such
-as chapter/section marks) was far from general. The mark
+Unfortunately, this extended mechanism, while supporting scenarios such
+as chapter/section marks, was far from general. The mark
situation at the top of a page (i.e., \cs{topmark}) remained
unusable and the two marks offered were not really independent of
each other because \cs{markboth} (as the name indicates) was
@@ -296,11 +302,11 @@ release overcomes both issues:
first, and bottom value separately.
\item
Furthermore, the mechanism is augmented to give access to marks
- in different ``regions'' which may not be just full pages.
+ in different ``regions'', which may be other than full pages.
\end{itemize}
The legacy interfaces, e.g., \cs{markboth}, are kept. Thus classes and
-packages making use of them continue to work flawlessly. To make use
-of the extended possibility a new set of commands for declaration of
+packages making use of them continue to work seamlessly. To make use
+of the extended possibility a new set of commands for the declaration of
mark classes, setting their values and querying their state (in the
output routine) is now available in addition.
%
@@ -315,7 +321,7 @@ examples and further notes on the mechanism in the file
The classical \LaTeXe{} method for handling options, using \cs{ProcessOptions},
treats each entry in the list as a string. Many package authors have sought to
extend this handling by treating each entry as a key--value pair (keyval)
-instead. To-date, this has required the use of additional packages, for example
+instead. To date, this has required the use of additional packages, for example
\pkg{kvoptions}.
The \LaTeX{} team have for some time offered the package \pkg{l3keys2e} to
@@ -361,7 +367,7 @@ The L3 programming layer offers expandable commands for calculating
floating point and integer values, but so far these functions have
only been available to programmers, because they require
\cs{ExplSyntaxOn} to be in force. To make them easily available at the
-document-level, the small package \pkg{xfp} defined \cs{fpeval} and
+document level, the small package \pkg{xfp} defined \cs{fpeval} and
\cs{inteval}.
@@ -380,7 +386,7 @@ which produces the following output:
These two commands have now been moved into the kernel and in addition
we also provide \cs{dimeval} and \cs{skipeval}. The details of their
syntax are described in \file{usrguide3.pdf}. The command \cs{fpeval}
-offers a rich syntax allows for extensive calculations whereas the
+offers a rich syntax allowing for extensive calculations, whereas the
other three commands are essentially thin wrappers for \cs{numexpr},
\cs{dimexpr}, and \cs{glueexpr} \Dash therefore inheriting some syntax
%peculiars and limitations in expressiveness.
@@ -400,9 +406,9 @@ a given number of text lines.
\subsection{CamelCase commands for changing arguments to csnames}
It is sometimes helpful to \enquote{construct} a command name on the
-fly rather than providing it as a single \cs{...} token. For these
+fly rather than providing it as a single \cs{...}\ token. For these
kinds of tasks the \LaTeX3 programming layer offers a general mechanism
-(in form of \cs{exp\_args:N...} and
+(in the form of \cs{exp\_args:N...}\ and
\cs{cs\_generate\_variant:Nn}). However, when declaring new
document-level commands with \cs{NewDocumentCommand} or
\cs{NewCommandCopy}, etc.\ the L3 programming layer may not be active,
@@ -449,7 +455,7 @@ branch leads to some action. Further details and examples are given
in \file{usrguide3.pdf}.
This test can also be useful if you set up key/value options and want
-to test if a key was specified without giving a value or through
+to test if a key was specified without giving a value, vs.\
specifying \enquote{\textit{key}\texttt{ = ,}}.
@@ -463,7 +469,7 @@ to define the actual Lua command with \cs{luadef}. After that, the integer is
no longer needed. This was inconsistent with other allocators. Therefore we
added two new allocators \cs{newluacmd} and \cs{newexpandableluacmd} which
directly define a control sequences invoking the allocated Lua function.
-The first one defines a non-expandable Lua command, the second one an expandable
+The former defines a non-expandable Lua command, the latter an expandable
one. Of course, the associated Lua function still has to be defined by assigning
a function to the \verb|lua.get_functions_table()| table. The required index is
available in \cs{allocationnumber}.
@@ -487,8 +493,8 @@ lua.get_functions_table()
\subsection{Starred command version for \cs{ref}, \cs{Ref} and \cs{pageref}}
-For a long time \pkg{hyperref} provides starred versions for the reference commands
-that don't create active links. This syntax extension required users and
+For a long time \pkg{hyperref} has provided starred versions for the reference commands
+which do not create active links. This syntax extension required users and
package authors to check if \pkg{hyperref} was loaded and adjust the coding
accordingly or take the starred forms out if text was copied to a document
without \pkg{hyperref}. The commands have now been aligned with
@@ -523,10 +529,10 @@ layer \texttt{e} and \texttt{x} arguments.
Related to this change \cs{MakeUppercase} and \cs{MakeLowercase} have
been updated to use the Unicode-aware case changing functions
-\cs{text\string_lowercase:n} in place of the \TeX-primitive \cs{lowercase}.
+\cs{text\string_lowercase:n} in place of the \TeX\ primitive \cs{lowercase}.
A similar change will be made in the \pkg{textcase} package.
-Note: for technical reasons these low level character handling changes
+Note: for technical reasons these low-level character handling changes
will not be rolled back if the format version is rolled back using the
\pkg{latexrelease} package rollback mechanism.
%
@@ -541,8 +547,8 @@ that one can then use a trick such as
\begin{verbatim}
\let\par=\cr \obeylines \halign{...
\end{verbatim}
-However, redefining \cs{par} like this is not really a great idea in \LaTeX{},
-because it may lead to all kinds of problems. We have therefore changed
+However, redefining \cs{par} like this
+may lead to all kinds of problems in \LaTeX. We have therefore changed
the commands to use an indirection: the active characters now execute
\cs{obeyedline} and \cs{obeyedspace}, which in turn do what the
hardwired solution did before.
@@ -550,7 +556,7 @@ hardwired solution did before.
\begin{quote}
\renewcommand\obeyedspace{\ \textbullet\ }
\footnotesize\obeyspaces%
-But this means that it is now possible to %
+This means that it is now possible to %
achieve special effects in a safe way. %
This paragraph, for example, was produced by %
making \cs{obeyedspace} generate %
@@ -564,22 +570,10 @@ Thus, if you are keen to use the plain \TeX{} trick, you need to say
\githubissue{367}
-
-\subsection{\class{ltxdoc} gets a \option{nocfg} option}
-
-The \LaTeX{} sources are formatted with the \class{ltxdoc} class,
-which supports loading a local config file \file{ltxdoc.cfg}. In the
-past the \LaTeX{} sources used such a file but it was not distributed.
-As a result reprocessing the \LaTeX{} sources elsewhere showed
-formatting changes. We now distribute this file which means that it
-is loaded by default. With the option \option{nocfg} this can be
-prevented.
-
-
\subsection{\pkg{doc} upgraded to version~3}
-After roughly three decades the \pkg{doc} package gets a cautious
-uplift, as already announced at the TUG conference 2019\Dash changes
+After roughly three decades the \pkg{doc} package received a cautious
+uplift, as already announced at the 2019 TUG conference\Dash changes
to \pkg{doc} are obviously always done in a leisurely manner.
Given that most documentation is nowadays viewed on screen,
@@ -589,9 +583,9 @@ with option \option{nohyperref} or alternatively with
properly resolved including those from the index back into the
document.
-Furthermore, \pkg{doc} has now a general mechanism to define
+Furthermore, \pkg{doc} now has a general mechanism to define
additional \enquote{doc} elements besides the two \texttt{Macro} and
-\texttt{Env} it did know in the past. This enables better
+\texttt{Env} it has known in the past. This enables better
documentation because you can now clearly mark different types of
objects instead of simply calling them all \enquote{macros}.
If desired, they can be collected together under a heading
@@ -626,12 +620,28 @@ as the heading (instead of just \meta{version}), when using
+\subsection{\class{ltxdoc} gets a \option{nocfg} and a \option{doc2} option}
+
+The \LaTeX{} sources are formatted with the \class{ltxdoc} class,
+which supports loading a local config file \file{ltxdoc.cfg}. In the
+past the \LaTeX{} sources used such a file but it was not distributed.
+As a result reprocessing the \LaTeX{} sources elsewhere showed
+formatting changes. We now distribute this file which means that it
+is loaded by default. With the option \option{nocfg} this can be
+prevented.
+
+We also added a \option{doc2} option to the class so that it is
+possible to run old documentation with \pkg{doc} version~2, if
+necessary.
+
+
+
\subsection{Lua\TeX\ callback improvements}
The Lua\TeX\ callbacks \texttt{hpack\_quality} and \texttt{vpack\_quality} are
now \texttt{exclusive} and therefore only allow a single handler.
The previous type \texttt{list} resulted in incorrect parameters when multiple
-handlers were set, therefore this only makes an existing restriction more
+handlers were set; therefore, this only makes an existing restriction more
explicit.
Additionally the return value \texttt{true} for \texttt{list}
@@ -644,7 +654,7 @@ callbacks.
\subsection{Class \class{proc} supports \option{twoside}}
The document class \class{proc}, which is a small variation on the
-\class{article} class, now supports the \option{twoside} option
+\class{article} class, now supports the \option{twoside} option,
displaying different data in the footer line on recto and verso pages.
%
\githubissue{704}
@@ -675,19 +685,19 @@ code branch will get removed.
At the same time we added \cs{DeclareUnicodeCommand} and
\cs{DeclareUnicodeSymbol} for consistency. They also use
-\cs{UnincodeEncodingName} internally, instead of requiring an encoding
+\cs{UnicodeEncodingName} internally, instead of requiring an encoding
argument as their general purpose counterparts do.
%
\githubissue{253}
-\subsection{New hook: \hook{include/excluded}}
+\subsection{New hook:\ \hook{include/excluded}}
A few releases ago we introduced a number of file hooks for different
types of files; see~\cite{35:ltnews32} and in
particular~\cite{35:ltfilehook-doc}.
%
-The hooks for \cs{include} files now got an addition: if such a file
+The hooks for \cs{include} files now have an addition: if such a file
is not included (because \cs{includeonly} is used and its \meta{name}
is not listed in the argument) then the hooks \hook{include/excluded}
and \hook{include/\meta{name}/excluded} are executed in that
@@ -713,7 +723,7 @@ source file gets normalized under Unicode normalization rules.
\subsection{Using \cs{DeclareUnicodeCharacter} with C1 control points}
An error in the UTF-8 handling for non-Unicode \TeX\ has prevented
\cs{DeclareUnicodeCharacter} being used with characters in the range
-hex 80 to 9F, this has been corrected in this release.
+hex 80 to 9F. This has been corrected in this release.
%
\githubissue{730}
@@ -734,7 +744,7 @@ is now fixed.
\subsection{Make \cs{cite}\texttt{\textbraceleft\textbraceright} produce a warning}
-When the \cs{cite} command can't resolve a citation label it issue a
+When the \cs{cite} command can't resolve a citation label it issues a
warning \enquote{Citation `\meta{label}' on page \meta{page}
undefined}. However, due to some implementation details a completely
empty argument was always silently accepted. Given that there are probably
@@ -749,7 +759,7 @@ This has finally been corrected and a warning is now generated also in this case
\subsection{Fix adding \hook{cmd} hooks to simple macros}
-A bug in how \LaTeX{} would detect the type of a command was causing a
+A bug in how \LaTeX{} detected the type of a command caused a
premature forced expansion of such commands, which, depending on their
definition, could be harmless or could cause severe trouble. This has
been fixed in the latest release.
@@ -775,9 +785,9 @@ given.
Using \LuaTeX's \cs{Udelimiterover} to place a horizontally extensible glyph
on top of a mathematical expression now causes the expression to be set in cramped
-style as used in similar situations by traditional \TeX\ math rendering.
-Similarly cramped style is now used for expressions set under such a delimiter
-using \cs{Uunderdelimiter} but no longer used when setting an expression on top
+style, as used in similar situations by traditional \TeX\ math rendering.
+Similarly, cramped style is now used for expressions set under such a delimiter
+using \cs{Uunderdelimiter}, but is no longer used when setting an expression on top
of such extensible glyphs using \cs{Uoverdelimiter}.
This new behavior follows \TeX's rule that cramped style is used whenever something
else appears above the expression.
@@ -799,7 +809,7 @@ the implementation in that the sorting mechanism was still applied if
the \cs{DeclareHookRule} declaration appeared while the one-time hook was
executed, causing the spurious typesetting of the code labels and the
hook name. This bug is now fixed and an error is raised when a new
-sorting rule is added to an already used one-time hook.
+sorting rule is added to an already-used one-time hook.
A possible scenario in which this new error is raised is the following:
package \pkg{AAA} declares a hook rule for \hook{begindocument} (i.e.,
@@ -820,11 +830,11 @@ is executed at the very end of the preamble but before
\section{Changes to packages in the \pkg{amsmath} category}
-\subsection{\pkg{amsopn}: Do not reset \cs{operator at font}}
+\subsection{\pkg{amsopn}:\ Do not reset \cs{operator at font}}
The package \pkg{amsopn} used to define \cs{operator at font} but this
-command is already provided by the \LaTeX{} format (for at least 14
-years). As a result the definition in \pkg{amsopn} is equivalent to a
+command has been provided by the \LaTeX{} format for at least 14
+years. As a result the definition in \pkg{amsopn} is equivalent to a
reset to the kernel definition, which is unnecessary and surprising if
you alter the math setup (e.g., by loading a package) and at a later
stage add \pkg{amsmath}, which then undoes part of your setup. For
@@ -841,7 +851,7 @@ after loading the package.
%
\githubissue{734}
-\subsection{\pkg{amsmath}: Error in \cs{shoveleft}}
+\subsection{\pkg{amsmath}:\ Error in \cs{shoveleft}}
If \cs{shoveleft} started out with the words \enquote{plus} or
\enquote{minus} it was misunderstood as part of a rubber length and
@@ -852,7 +862,7 @@ is now prevented.
\githubissue{714}
-\subsection{\pkg{amsmath} and \pkg{amsopn}: Robustify user commands}
+\subsection{\pkg{amsmath} and \pkg{amsopn}:\ Robustify user commands}
Most user-level commands have been made robust in the \LaTeX{} kernel
during the last years, but variant definitions in \pkg{amsmath} turned
@@ -875,6 +885,7 @@ commands the approach is fairly cumbersome. For example, to color a
summation sign, but not its limits, you need four \cs{color} commands and
some seemingly unnecessary sets of braces to get coloring and spacing
right:
+{\hfuzz=1pt
\begin{verbatim}
\[ X = \color{red} \sum
% without {{ the superscript below is misplaced
@@ -884,6 +895,7 @@ right:
\color{black} % without it the x_i is red
x_i \]
\end{verbatim}
+}\noindent
Leaving out any of the \cs{color} commands or any of the \verb={{...}}=
will give you a wrong result instead of the desired
\[ X = \color{red} \sum
@@ -915,7 +927,7 @@ For details and further examples, see \file{mathcolor.pdf}.
If a call to \cs{includegraphics} asked for a file (say, \file{image})
without extension, and if both \file{A/image.pdf} and \file{B/image.tex}
existed (both \file{A/} and \file{B/} in \cs{graphicspath}, but neither
-in a folder searched by kpse), then \file{A/image.pdf} would not be
+in a folder searched by \TeX), then \file{A/image.pdf} would not be
found, and a \enquote{file not found} error would be incorrectly thrown.
The issue is now fixed and the graphics file is correctly found.
%
@@ -927,7 +939,7 @@ The issue is now fixed and the graphics file is correctly found.
\section{Changes to packages in the \pkg{tools} category}
-\subsection{\pkg{multicol}: Fix \cs{newcolumn}}
+\subsection{\pkg{multicol}:\ Fix \cs{newcolumn}}
The recently added \cs{newcolumn} didn't work properly if used in
vertical mode, where it behaved like \cs{columnbreak}, i.e., spreading
@@ -936,7 +948,7 @@ the column material out instead of running the column short.
\sxissue{q/624940}
-\subsection{\pkg{bm}: Fix for \pkg{amsmath} operators}
+\subsection{\pkg{bm}:\ Fix for \pkg{amsmath} operators}
An internal command used in the definition of operator commands such
as \cs{sin} in \pkg{amsmath} has been guarded in \cs{bm} to prevent
@@ -976,7 +988,7 @@ internal syntax errors due to premature expansion.
\emph{\LaTeXe{} news 34}.\\
\url{https://latex-project.org/news/latex2e-news/ltnews34.pdf}
-\bibitem{35:ltfilehook-doc} Frank Mittelbach, Phelype Oleinik, \LaTeX{} Project Team:
+\bibitem{35:ltfilehook-doc} Frank Mittelbach, Phelype Oleinik, \LaTeX{}~Project~Team:
\emph{The \texttt{\upshape ltfilehook} documentation}.\\
Run \texttt{texdoc} \texttt{ltfilehook-doc} to view.
\end{thebibliography}
diff --git a/base/testfiles/github-0822.lvt b/base/testfiles/github-0822.lvt
deleted file mode 100644
index c1fa9d72..00000000
--- a/base/testfiles/github-0822.lvt
+++ /dev/null
@@ -1,8 +0,0 @@
-\input{test2e}
-
-\START
-
-\documentclass[doc2]{ltxdoc}
-
-
-\END
diff --git a/base/testfiles/tlb-extraprimitives-001.luatex.tlg b/base/testfiles/tlb-extraprimitives-001.luatex.tlg
index 26283f62..97bb331a 100644
--- a/base/testfiles/tlb-extraprimitives-001.luatex.tlg
+++ b/base/testfiles/tlb-extraprimitives-001.luatex.tlg
@@ -179,7 +179,6 @@ currentiflevel
currentiftype
detokenize
dimexpr
-discretionaryligaturemode
displaywidowpenalties
draftmode
dviextension
@@ -270,12 +269,10 @@ luatexbanner
luatexrevision
luatexversion
marks
-mathdefaultsmode
mathdelimitersmode
mathdir
mathdirection
mathdisplayskipmode
-matheqdirmode
matheqnogapstep
mathflattenmode
mathitalicsmode
@@ -316,8 +313,6 @@ pardirection
parshapedimen
parshapeindent
parshapelength
-partokencontext
-partokenname
pdfextension
pdffeedback
pdfvariable
diff --git a/required/tools/testfiles/github-0822.lvt b/required/tools/testfiles/github-0822.lvt
new file mode 100644
index 00000000..d9d99e55
--- /dev/null
+++ b/required/tools/testfiles/github-0822.lvt
@@ -0,0 +1,10 @@
+\input{test2e}
+
+% testing doc this way requires multicol, so we have to place this test into the tools area
+
+\START
+
+\documentclass[doc2]{ltxdoc}
+
+
+\END
diff --git a/base/testfiles/github-0822.tlg b/required/tools/testfiles/github-0822.tlg
similarity index 100%
rename from base/testfiles/github-0822.tlg
rename to required/tools/testfiles/github-0822.tlg
More information about the latex3-commits
mailing list.