[latex3-commits] [git/LaTeX3-latex3-latex2e] ltnew33: Interim version (6b38d844)

Chris Rowley car222222 at github.github.io
Mon May 17 12:59:05 CEST 2021


Repository : https://github.com/latex3/latex2e
On branch  : ltnew33
Link       : https://github.com/latex3/latex2e/commit/6b38d84429267fce85d9898d6938c6b27684b726

>---------------------------------------------------------------

commit 6b38d84429267fce85d9898d6938c6b27684b726
Author: Chris Rowley <car222222 at users.noreply.github.com>
Date:   Mon May 17 17:59:05 2021 +0700

    Interim version
    
    Awaiting new section typo plus some answers.


>---------------------------------------------------------------

6b38d84429267fce85d9898d6938c6b27684b726
 base/doc/ltnews33.tex | 260 +++++++++++++++++++++++---------------------------
 1 file changed, 121 insertions(+), 139 deletions(-)

diff --git a/base/doc/ltnews33.tex b/base/doc/ltnews33.tex
index 3d1119ce..cf20e29f 100644
--- a/base/doc/ltnews33.tex
+++ b/base/doc/ltnews33.tex
@@ -1,5 +1,6 @@
+
 %%  Temporary: quick draft identification --
-%%  This is Draft 3a.
+%%  This is Draft 3b.
 % \iffalse meta-comment
 %
 % Copyright 2019-2021
@@ -36,31 +37,14 @@
 
 \documentclass{ltnews}
 
-\iffalse
-%%CCC  For Chris' local system
+%%CCC iffalse to bottom
 
-\usepackage[utf8]{inputenc}
-\def\githubissue #1{\par\noindent{\small\sl 
-       (https://github.com/latex3/latex2e/issues/ #1)}}
-\def\gnatsissue #1#2{\par\noindent{\small\sl (https://www.latex-project.org/cgi-bin/\\
-    ltxbugs2html?pr=#1\%2F #2)}}
-
-%%FMi This is the subsubsection from the class (for reference) unchanged
-\makeatletter
-% maybe not the greatest design but normally we wouldn't have subsubsections
-\renewcommand{\subsubsection}{%
-   \@startsection
-      {subsubsection}{2}{\leftmargini}{-1.5ex \@plus -1ex \@minus -.2ex}%
-      {1sp}{\@subheadingfont}%
-}
-\makeatother
-\fi
 
 %%CCC  Do we need a cite for source2e.pdf ?
 
 
 
-%%CCC Chris' hyphens!
+%% NOTE:  Chris' preferred hyphens!
 %%\showhyphens{parameters}
 \hyphenation{because para-me-ters}
 
@@ -124,7 +108,7 @@
 \tubcommand{\input{tubltmac}}
 
 \publicationmonth{June}
-\publicationyear{2021 --- Draft Version 3a}
+\publicationyear{2021 --- Draft Version 3b}
 
 \publicationissue{33}
 
@@ -154,7 +138,7 @@ fixes that are outlined on the next pages. As usual, more detail
 on individual changes can be found in the \texttt{changes.txt} files
 in the distribution and, of course, in the documented
 sources~\cite{33:source2e}.
-
+%%CCC Changed for new structure.
 
 
 
@@ -199,7 +183,7 @@ In practice, these new generic \hook{cmd} hooks, especially the
 complex to be automatically patched, breaking if the hook contains any
 code.  These restrictions are documented in
 \texttt{ltcmdhooks-doc.pdf}.
-%   %%CCC
+%   
 However, given that these hooks are mainly meant for developers who
 wish to provide better interoperability between different packages,
 and between packages and the \LaTeX{} kernel, these restrictions are,
@@ -222,16 +206,12 @@ must be done in controlled and standardized ways.
 
 In the 2020 October release, several hooks were added to control the
 process of constructing and shipping out a page box: these support,
-for example,
-%%FMi
-the addition of background or foreground material to some or all
-pages.
-%%FMi  
-%%FMi the addition of background or foreground material. 
-%%FMi  %%CCC to some or all pages. We now 
+for example, the addition of background or foreground material 
+to some or all pages.
+
  
 We have now added a command,
-%%FMi currently
+%%FMi currently  %%CCC ???  To be discussed elsewhere, at length!  
 called \cs{RawShipout}, which does not do any rebuilding of the page
 box and so does not run most of these hooks.  When using this new
 command, essential internal book-keeping is still carried out, such as
@@ -348,8 +328,10 @@ applied to normalize robust commands within the file name.
 Previously, for example, \verb|\input{\sqrt{2}}| would cause
 \LaTeX\ to loop indefinitely whereas with with the new normalization
 it looks for the file named \verb|sqrt {2}.tex|
-%%FMi
-(and reports a file not found failure instead).
+%%FMi  (and reports a file not found failure instead).
+%%CCC : 
+(and therefore very likely reports ‘file not found’).
+
 %
 \githubissue{481}
 
@@ -376,31 +358,20 @@ characters in its name.  This has been fixed and now
 
 \subsection{Improved copy\,\&\,paste support for \pdfTeX{} documents}
 
-When compiling with \pdfTeX{}, additional information is now added
-automatically to the PDF file in order to improve copying from, and
-searching in, text.
-
-This in particular allows the most common ligatures to be copied as
-intended from all generated PDF files without the need to explicitly
-load the package \pkg{cmap} or the file \texttt{glyphtounicode.tex}.
-
+%%CCC Changed to rectify this problem (is it correct now?):
 %%FMi the above sounds as if ``in most cases things work without
 %%glyphtounicode but sometimes you need it ... which is wrong
 %%(sometimes you need cmap but glyphtounicode is now part of the
 %%kernel!
+When compiling with \pdfTeX{}, additional information %%CCC 
+(from the file \texttt{glyphtounicode.tex} 
+is now added
+automatically to the PDF file in order to improve copying from, and
+searching in, text.
 
-%
-%%FMi \iffalse
-%%FMi %%CCC Since this has been integrated into the kernel, 
-%%FMi %%CCC
-%%FMi This means that most documents %%CCC should 
-%%FMi no
-%%FMi longer need to load the %%CCC 
-%%FMi package \pkg{cmap} or input 
-%%FMi %%CCC  
-%%FMi the file
-%%FMi \texttt{glyphtounicode.tex}.
-%%FMi \fi
+This in particular allows the most common ligatures to be copied as
+intended from all generated PDF files without the need to explicitly
+load the package \pkg{cmap}.  
 %
 \githubissue{465}
 
@@ -457,8 +428,6 @@ and \cs{texthorizontalbar}, respectively.
 \githubissue{404}
 
 
-
-
 \subsection{Poor man's \cs{textasteriskcentered}}
 
 The \cs{textasteriskcentered} symbol, used as part of the set of
@@ -478,10 +447,8 @@ certainly better than no glyph showing up.
 
 
 
-
 \section{New or improved commands}
 
-
 \subsection{Adjusting \env{itemize} labels with \cs{labelitemfont}}
 
 The command \cs{labelitemfont} was introduced already with the
@@ -493,10 +460,11 @@ that the \env{itemize} labels (e.g., the \textbullet{}) would
 sometimes react to surrounding font changes and could then suddenly
 change shape, for example to \textit{\textbullet}.
 
-This new command \cs{labelitemfont}, which defaults to
-\cs{normalfont}, is now used
+This new command \cs{labelitemfont}, which defaults to \cs{normalfont}, 
 %%FMi to typeset
-when typesetting   %%FMi to seems wrong (it is only  additionally applied
+%%FMi seems wrong (it is only  additionally applied
+%%CCC Added longer explanation, hope it is correct! 
+can be used to provide additional control in the typesetting of
 each label.  Thus by choosing
 different settings other effects can be achieved.  Here are two
 examples:
@@ -521,18 +489,14 @@ and shape but leaves the series as a variable quantity, so that an
 
 
 
-
 \subsection{Producing several footnote marks for one footnote}
 
 It is sometimes necessary to reference the same footnote several
 times: i.e., to produce several footnote marks using the same number
-or symbol. This is now
-%%FMi always
-easily
+or symbol. This is now easily
 possible by placing a \cs{label} within the referenced \cs{footnote}
 and referencing
-this label %%FMi as required
-by using the new command \cs{footref}.  This 
+this label by using the new command \cs{footref}.  This 
 means that footnote marks can be generated 
 to refer to arbitrary footnotes 
 (including those in \texttt{minipage}s).
@@ -556,9 +520,6 @@ if it was placed there.  This command is now allowed in the preamble.
 \githubissue{424}
 
 
-
-
-
 \subsection{Made \cs{\textbackslash} generally robust}
 
 In 2018 most \LaTeX{} user-level commands were made robust, including
@@ -596,13 +557,18 @@ the second column is therefore then started, which results in the
 \cs{\textbackslash} being interpreted as being within that column and
 hence as having its expected, within-column, meaning.
 
-So now both
-of the above lines %%CCC consistently %%FMi I like consistently
+We have restored consistency here: now both of the above lines
 produce a single \env{tabular} row.
 
 As before, you can 
+%%CCC Unresolvd: ask B&K? 
 %%FMi no unnecessary quotes
 %%FMi put `\cs{raggedright} \cs{arraybackslash}' 
+%%FMi no unnecessary quotes
+%%FMi put `\cs{raggedright} \cs{arraybackslash}' 
+%%CCC But I thought that these quotes are necessary: 
+%%CCC  without them it was not clear to me that this was a single ‘code snippet’ 
+%%CCC  to be added verbatim to the preamble.  
 put \cs{raggedright} \cs{arraybackslash} in the \env{tabular}'s
 preamble for a column to ensure that \cs{\textbackslash} is always
 interpreted as a tabular row separator when used in that column. And
@@ -641,6 +607,7 @@ error message for each missing glyph.
 Later, in January 2021, Petr Olšák suggested yet another extension: 
 a new primitive
 %%FMi (avoid hyphenation)
+%%CCC OK.
 \mbox{parameter}
 %
 \cs{tracingstacklevels} that, when both it and \cs{tracingmacros} are
@@ -651,6 +618,7 @@ the current macro nesting level
 %%FMi to
 within %%FMi in, as part of ?
 the tracing information.
+%%CCC   ???  ENAIL SENT Monday 17th
 
 Both these changes have now been added to \LaTeX's debugging macros
 \cs{tracingall} and \cs{tracingnone}, so that these two new extensions
@@ -720,6 +688,7 @@ The kernel therefore now permanently adds these \enquote{color groups}.
 %%CCC  All new! Maybe needs a different (url) ref.
 %%FMi lots of changes -> David to review
 
+%%CCC  Moved orginal to bottom.
 \subsection{Provide the raw option list to key/value option handlers}
 
 Before any further processing of the option list, the original
@@ -733,75 +702,32 @@ been changed.
 Further details, including a related change affecting a low-level
 error message in the standard processing, can be found in the
 documented sources~\cite{33:source2e}.
-%%CCC
-%
-%%FMi \iffalse
-%%FMi option handler ammended to save \@raw at opt@... in addition to \opt at ...
-%%FMi so that it is available for extended option handlers
-%%FMi 
-%%FMi \subsection[Providing the raw option list of packages or documentclass
-%%FMi   to key/value handlers]
-%%FMi            {Providing the raw option list of packages or documentclass\\
-%%FMi   \mbox\quad to key/value handlers} 
-%%FMi 
-%%FMi \LaTeXe{} has always normalized space in option lists so\\
-%%FMi \verb|\documentclass[ a4paper , 12pt ]{article}|\\
-%%FMi processed the intended options \texttt{a4paper} and \texttt{12pt}.
-%%FMi 
-%%FMi Unfortunately the mechanism used was designed for the simple option
-%%FMi names of the standard option processing.  Many classes and packages 
-%%FMi now use extended \emph{keyval} processing, however this white space
-%%FMi normalization makes this difficult:
-%%FMi \verb|[bb=1 2 3 4]|
-%%FMi which might be expected to pass a bounding box of four numbers is
-%%FMi normalized to \texttt{bb=1234} and
-%%FMi \verb|[bb={1 2 3 4}]|\\
-%%FMi which might be expected to quote the spaces results in low level \TeX{}
-%%FMi parsing errors.
-%%FMi 
-%%FMi 
-%%FMi For compatibility reasons, the standard option processing has not been
-%%FMi changed however the original un-normalized package and class option lists
-%%FMi are now saved. They are not used in the standard processing, however
-%%FMi extended package option systems may use these \enquote{raw} option list
-%%FMi macros if they are defined.
-%%FMi 
-%%FMi 
-%%FMi The one change affecting the standard processing is that the low level
-%%FMi error mentioned above is now avoided as values (any tokens to the
-%%FMi right of an = sign) are removed from consideration from the
-%%FMi \enquote{unused option list}.  In this release \texttt{clip=true} and
-%%FMi \texttt{clip=false} both contribute \texttt{clip} to the list of
-%%FMi options that have been used.
-%%FMi \fi
 %
 \githubissue{85}
 
 
+\subsection{New for \pkg{latexrelease}: \cs{NewModuleRelease}}
 
-%%FMi \subsection{Extending \pkg{latexrelease} to declare an entire module}
-\subsection{Extend \pkg{latexrelease} to declare entire modules}
-
-To explain the need for this, we shall consider the following example:
+To explain the need for this new feature %%CCC
+we shall consider the following example:
 in the 2020-10-01 release, \LaTeX's new hook management system was
 added to the kernel (see \cite{33:ltnews32}) and, as with all changes
 to the kernel, it was added to \pkg{latexrelease}; this made it
 possible to roll back to a date where this module didn't yet exist, or
 to roll forward from an older \LaTeX{} release to get the hook
-management system (by loading the \pkg{latexrelease} package).
+management system (by loading the \pkg{latexrelease} package). \cs{NewModuleRelease}
 %
 However, this method of rolling back from a later release to the
 2020-10-01 release didn't quite work because it would try to define
-all the commands from \pkg{lthooks} again;
-and this %%FMi of
+all the commands from \pkg{lthooks} again; and this 
 would of course result in the expected errors from commands defined
 with \cs{newcommand} or (as in the case of \pkg{lthooks})
 \cs{cs\_new:Npn}.
 
 To solve such issues, we now provide \cs{NewModuleRelease}
-so that %%FMi complete %%CCC ??
-completely
-new modules can be defined in \pkg{latexrelease} in such a way that,
+so that completely
+new modules can be defined using the facilities of %%CCC Is this ckearer? 
+\pkg{latexrelease} in such a way that,
 when rolling back or forward, the system will know whether the code of
 the new module has to be read or completely ignored.  More details on
 this can be found in the \pkg{latexrelease} documentation (get this
@@ -810,7 +736,6 @@ with \verb|texdoc latexrelease|).
 \githubissue{479}
 
 
-
 \subsection{Small fix for rolling back prior to 2020-02-02}
 
 Whereas the \pkg{latexrelease} package can usually emulate an older
@@ -826,12 +751,6 @@ ends.
 
 
 
-
-
-
-
-
-
 \section{Changes to packages in the \pkg{graphics} category}
 
 
@@ -839,11 +758,13 @@ ends.
 
 A previous release sometimes mistakenly caused a
 (false) warning message 
-to appear when loading a graphics
 %%FMi I think this needs to be kept:
 %%FMi file with an unknown extension.
 %%FMi %%CCC  through a generic graphics rule.  
-file with an unknown extension  through a generic graphics rule.
+%%CCC  Try again: does this make sense now?
+to appear when using a generic graphics rule to fnd and load a graphics
+file with an unknown extension.
+%%  a generic graphics rule.
 %
 The warning would incorrectly say that the file was not found, whereas
 the file would in fact be correctly loaded.  The warning now doesn't
@@ -884,9 +805,7 @@ The fix for this issue was also applied to these packages, see above.
 
 \subsection{\pkg{longtable}: General bug fix update}
 
-This is a minor update to the \pkg{longtable} package that fixes
-%%FMi
-several
+This is a minor update to the \pkg{longtable} package that fixes several
 reported bugs: notably the possibility of incorrect page breaks when
 floats appear on the page where a \env{longtable} starts.  As this may
 affect page breaking in existing documents, a rollback to
@@ -896,7 +815,6 @@ affect page breaking in existing documents, a rollback to
 \githubissue{133 183 464 561}
 
 
-
 \subsection{\pkg{trace}: Additions to \cs{traceon}}
 
 The \cs{tracingstacklevels} and \cs{tracinglostchars} extensions to
@@ -907,8 +825,6 @@ debugging possibilities.
 \githubissue{524}
 
 
-
-
 \subsection{\pkg{bm}: Better support for commands with optional arguments}
 Some uses of optional arguments that were supported by \cs{bm} stopped
 being supported (in 2004) when \cs{kernel at ifnextchar} was used
@@ -921,9 +837,9 @@ In addition, package options for guiding the use of \enquote{poor
 %
 \githubissue{554}
 
-\section{Changes to packages in the \pkg{amsmath} category}
 
-%\subsection{\pkg{amsmath}: Make \cs{\textbackslash} generally robust}
+
+\section{Changes to packages in the \pkg{amsmath} category}
 
 The fix for issue 548 was also applied in \pkg{amsmath}, see above. 
 %
@@ -953,3 +869,69 @@ The fix for issue 548 was also applied in \pkg{amsmath}, see above.
 
 
 \end{document}
+
+\iffalse
+%%CCC  For Chris' local system
+
+\usepackage[utf8]{inputenc}
+\def\githubissue #1{\par\noindent{\small\sl 
+       (https://github.com/latex3/latex2e/issues/ #1)}}
+\def\gnatsissue #1#2{\par\noindent{\small\sl (https://www.latex-project.org/cgi-bin/\\
+    ltxbugs2html?pr=#1\%2F #2)}}
+
+%%FMi This is the subsubsection from the class (for reference) unchanged
+\makeatletter
+% maybe not the greatest design but normally we wouldn't have subsubsections
+\renewcommand{\subsubsection}{%
+   \@startsection
+      {subsubsection}{2}{\leftmargini}{-1.5ex \@plus -1ex \@minus -.2ex}%
+      {1sp}{\@subheadingfont}%
+}
+\makeatother
+\fi
+
+%
+%%FMi \iffalse
+%%CCC  All new! Maybe needs a different (url) ref.
+%%FMi lots of changes -> David to review
+%%CCC Good idea!  If he thinks all the background needs to go back 
+%%CCC   in then he will have to rewrite it so that I can understand all 
+%%CCC   the details and how the story fits together.  :-)
+%%FMi option handler ammended to save \@raw at opt@... in addition to \opt at ...
+%%FMi so that it is available for extended option handlers
+%%FMi 
+%%FMi \subsection[Providing the raw option list of packages or documentclass
+%%FMi   to key/value handlers]
+%%FMi            {Providing the raw option list of packages or documentclass\\
+%%FMi   \mbox\quad to key/value handlers} 
+%%FMi 
+%%FMi \LaTeXe{} has always normalized space in option lists so\\
+%%FMi \verb|\documentclass[ a4paper , 12pt ]{article}|\\
+%%FMi processed the intended options \texttt{a4paper} and \texttt{12pt}.
+%%FMi 
+%%FMi Unfortunately the mechanism used was designed for the simple option
+%%FMi names of the standard option processing.  Many classes and packages 
+%%FMi now use extended \emph{keyval} processing, however this white space
+%%FMi normalization makes this difficult:
+%%FMi \verb|[bb=1 2 3 4]|
+%%FMi which might be expected to pass a bounding box of four numbers is
+%%FMi normalized to \texttt{bb=1234} and
+%%FMi \verb|[bb={1 2 3 4}]|\\
+%%FMi which might be expected to quote the spaces results in low level \TeX{}
+%%FMi parsing errors.
+%%FMi 
+%%FMi 
+%%FMi For compatibility reasons, the standard option processing has not been
+%%FMi changed however the original un-normalized package and class option lists
+%%FMi are now saved. They are not used in the standard processing, however
+%%FMi extended package option systems may use these \enquote{raw} option list
+%%FMi macros if they are defined.
+%%FMi 
+%%FMi 
+%%FMi The one change affecting the standard processing is that the low level
+%%FMi error mentioned above is now avoided as values (any tokens to the
+%%FMi right of an = sign) are removed from consideration from the
+%%FMi \enquote{unused option list}.  In this release \texttt{clip=true} and
+%%FMi \texttt{clip=false} both contribute \texttt{clip} to the list of
+%%FMi options that have been used.
+%%FMi \fi





More information about the latex3-commits mailing list.