[latex3-commits] [git/LaTeX3-latex3-latex2e] ltnew33: Tonight's final (401fcc27)

Chris Rowley car222222 at github.github.io
Mon May 17 18:41:21 CEST 2021


Repository : https://github.com/latex3/latex2e
On branch  : ltnew33
Link       : https://github.com/latex3/latex2e/commit/401fcc27aced2028941363611950eed00c38a1f4

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

commit 401fcc27aced2028941363611950eed00c38a1f4
Author: Chris Rowley <car222222 at users.noreply.github.com>
Date:   Mon May 17 23:41:21 2021 +0700

    Tonight's final
    
    Needs checking for many things


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

401fcc27aced2028941363611950eed00c38a1f4
 base/doc/{ltnews33.tex => ltnews33x3e.tex} | 294 +++++++++++++++++------------
 1 file changed, 175 insertions(+), 119 deletions(-)

diff --git a/base/doc/ltnews33.tex b/base/doc/ltnews33x3e.tex
similarity index 86%
copy from base/doc/ltnews33.tex
copy to base/doc/ltnews33x3e.tex
index 8f28dbc9..7bcc8d26 100644
--- a/base/doc/ltnews33.tex
+++ b/base/doc/ltnews33x3e.tex
@@ -1,6 +1,6 @@
-
 %%  Temporary: quick draft identification --
-%%  This is Draft 3b.
+%%  This is Draft 3e.
+%%  It containsca draft of the new TS1 Section.
 % \iffalse meta-comment
 %
 % Copyright 2019-2021
@@ -41,8 +41,7 @@
 
 
 %%CCC  Do we need a cite for source2e.pdf ?
-%%FMi  We can as we have space but the link to the documentation page is fine as
-%%FMi  source2e.pdf is accessible from there
+
 
 
 %% NOTE:  Chris' preferred hyphens!
@@ -109,7 +108,7 @@
 \tubcommand{\input{tubltmac}}
 
 \publicationmonth{June}
-\publicationyear{2021 --- Draft Version 3b}
+\publicationyear{2021 --- Draft Version 3e}
 
 \publicationissue{33}
 
@@ -133,14 +132,19 @@ building blocks for the future production of
 reliable tagged PDF output
 (see \cite{33:blueprint}); these enhancements
 are discussed in the next two
-sections. In addition we have included quite
-a number of smaller enhancements and
-fixes that are outlined on the next pages. As usual, more detail 
+sections. 
+
+%%CCC Changed for new structure.
+Subsequent sections describe 
+%%CCC In addition we have included 
+quite a number of recent %%CCC
+smaller enhancements and fixes.
+%%CCC that are outlined on the next pages. 
+%%CCC Nothing here yet about the new TS1 note.
+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.
-
 
 
 
@@ -258,8 +262,8 @@ may otherwise happen due to the order of declarations.
 \githubissue{444}
 
 
-
-\section{Handling file names}
+%%CCC Changed
+\section{Imprved handling of file names}
 
 
 
@@ -327,7 +331,7 @@ and uses \file{mychap.aux}.
 The handling of file names has been modified so that \verb|\string| is
 applied to normalize robust commands within the file name.
 Previously, for example, \verb|\input{\sqrt{2}}| would cause
-\LaTeX\ to loop indefinitely whereas with the new normalization
+\LaTeX\ to loop indefinitely whereas with with the new normalization
 it looks for the file named \verb|sqrt {2}.tex|
 (and therefore very likely reports ‘file not found’).
 %
@@ -348,17 +352,18 @@ characters in its name.  This has been fixed and now
 \githubissue{415}
 
 
+%%CCC Changed
 
-
-\section{On characters \& encodings}
-
+\section{Glyphs, characters \& encodings}
 
 
 \subsection{Improved copy\,\&\,paste support for \pdfTeX{} documents}
 
-When compiling with \pdfTeX{}, additional information (from the file
-\texttt{glyphtounicode.tex} is now added automatically to the PDF file
-in order to improve copying from, and searching in, text.
+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.
 
 This in particular allows the most common ligatures to be copied as
 intended from all generated PDF files without the need to explicitly
@@ -412,7 +417,8 @@ With Unicode engines they either work (when the glyph is contained in
 the selected Unicode font) or they typeset nothing, producing a
 ``Missing character'' warning in the log file.
 
-Additionally, with all engines, these characters can now be accessed
+%%CCC Rewordng
+With  all engines these characters can also now be accessed
 with the command names \cs{textnonbreakinghyphen}, \cs{textfiguredash}
 and \cs{texthorizontalbar}, respectively.
 %
@@ -437,80 +443,8 @@ certainly better than no glyph showing up.
 \githubissue{502}
 
 
-\subsection{A note on the \texttt{TS1} encoding}
-
-The \enquote{text symbol encoding} (\texttt{TS1}) was originally
-designed at the Cork Conference as a companion to the \texttt{T1}
-encoding. In it various symbols that are not subject to hyphenation
-got assembled and the \pkg{textcomp} package was developed to make
-them accessible. Unfortunately the \TeX{} community was a bit too
-enthusiastic and included several symbols only available in a few
-\TeX{} fonts and some, such as the capital accents, not available at
-all but developed as part of the reference font implementation.
-
-In hindsight that was a very bad idea because it meant that other
-existing fonts (at the time) and later new fonts that got developed
-were unable to provide the full set of glyphs that made up the
-\texttt{TS1} encoding. For existing free PostScript fonts people to
-the extra effort and produced virtual fonts that faked (some) of
-the missing glyphs. But this was and is a time consuming effort so it
-was done only for a few basic fonts. But even then, only some fonts
-included all glyphs from \texttt{TS1} so the \pkg{textcomp} already
-back then contained a long list, dividing fonts into 5 categories
-according to which glyphs were implemented and which were missing.
-
-A couple of releases back the functionality of the \pkg{textcomp}
-package got integrated into the core code of the \LaTeX{} kernel so
-that its glyph definitions, e.g., \cs{textcopyright}, \cs{texteuro} or
-\cs{textyen}, are now automatically available without the need to load
-an additional package in the preamble.
-
-At the time this happened many new free fonts had appeared and
-unfortunately the chaos around the question \enquote{which glyphs of
-  the \texttt{TS1} encoding are implemented by which font} had
-increased with it. Not only did one find many new holes it was next to
-impossible to order the set of fonts into a reasonable set of
-sub-encodings that are contained in each other in a single sequence.
-
-In the end we decided on nine or ten sub-encodings with a reasonable
-number of font in each so that all font implemented all glyphs of the
-sub-encoding they got mapped to. Thus when typesetting with a font one
-could be sure that a command like \cs{textcopyleft} would either
-typeset the requested character (if the glyph was part of the
-sub-encoding the font belonged to) or it would raise an error, saying
-that the glyph is unavailable in that fact. The mapping would ensure
-that \LaTeX{} always errs on the side of caution, because it might
-claim a glyph is unavailable even though in fact it is.
-
-For example, the old \texttt{pcr} (PostScript Courier) font (as well
-as most other older PS fonts) is mapped to sub-encoding 5 and
-therefore claims that \cs{textasciigrave} is unavailable even though
-in fact for Courier this is not true. If one uses such a font and this
-becomes an issue then there are a couple (suboptimal) possibilities.
-For one, one can alter the mapping of Courier and pretend that belongs
-to a fuller sub-encoding, e.g.
-\begin{verbatim}
-  \DeclareEncodingSubset{TS1}{pcr}{2}
-\end{verbatim}
-The downside is, that \LaTeX{} then believes other glyphs that are in fact
-unavailable are also there, so that it is important to check that the
-final document doesn't have some missing glyphs.
-
-An alternative is to pretend that \cs{textasciigrave} can always be
-taken from the \texttt{TS1} encoding (no questions asked):
-\begin{verbatim}
-  \DeclareTextSymbolDefault{\textasciigrave}{TS1}
-\end{verbatim}
-Again there is a danger that this is not true when it is used with a
-different font and would then generate a missing glyph.
-
-Finally, and possibly the best solution, if not impossible for other
-reasons, is to simply use a different font, for example, to use the
-\TeX{} Gyre Cursor font (a reimplementation of Courier but with a
-much more complete glyph set).
-
-
-
+%%CCC  New TS1 subsection was here. 
+%%CCC  Moved to the end as a sevtion (temporarily).
 
 \section{New or improved commands}
 
@@ -543,7 +477,7 @@ Sans, so that you get
 %
 \myfont\labelitemi, \myfont\labelitemii, \myfont\labelitemiii\ and
 \myfont\labelitemiv\,; while the second variant freezes the font family
-and shape but leaves the series as a variable quantity, so that an
+and shape, but leaves the series as a variable quantity, so that an
 \env{itemize} in a bold context would show bolder symbols. Making
 \cs{labelitemfont} empty would give you back the buggy old behavior.
 %
@@ -586,7 +520,7 @@ if it was placed there.  This command is now allowed in the preamble.
 
 In 2018 most \LaTeX{} user-level commands were made robust, including
 the \cs{\textbackslash} command.  However, \cs{\textbackslash} gets
-redefined in various environments and not all these cases were caught
+redefined in various environments and not all these cases were caught:
 such as, in particular, its use as the row delimiter in \env{tabular}
 structures.  This has been corrected so that \cs{\textbackslash}
 should now be robust in all circumstances.
@@ -623,7 +557,7 @@ 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? 
+%%CCC Unresolved: ask B&K? 
 %%FMi no unnecessary quotes
 %%FMi put `\cs{raggedright} \cs{arraybackslash}' 
 %%FMi no unnecessary quotes
@@ -631,8 +565,9 @@ As before, you can
 %%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.  
-%%FMi you can remove the space between the two \cs and combine the para with the one befor perhaps?
-put \cs{raggedright}\allowbreak\cs{arraybackslash} in the \env{tabular}'s
+%%FMi you can remove the space between the two \cs and combine 
+%%FMi  the para with the one befor perhaps?  DONE
+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
 you can use \cs{tabularnewline} to explicitly ask for a new table row,
@@ -673,16 +608,13 @@ a new primitive
 %
 \cs{tracingstacklevels} that, when both it and \cs{tracingmacros} are
 positive, will
-%%FMi add %%CCC print a visual
-visualize
-the current macro nesting level
-%%FMi to
-within %%FMi in, as part of ?
-the tracing information.
-%%CCC   ???  ENAIL SENT Monday 17th
-%%FMi   ??? leftover? I thought I explained
-
-Both these changes have now been added to \LaTeX's debugging macros
+%%CCC print 
+add to the tracing information for each macro a visual indication (using dots) of
+its nesting level in the macro expansion stsck.
+%%FMi  it adds ~.... in front of expansions with the number of dots indicating  
+%%       how deep down in the stack you are 
+
+These changes have both now been added to \LaTeX's debugging macros
 \cs{tracingall} and \cs{tracingnone}, so that these two new extensions
 are activated/deactivated as appropriate, so long as the \TeX{} engine
 supports them.  An example document demonstrating these parameters is
@@ -695,8 +627,8 @@ in the linked GitHub issue.
 
 \section{Code improvements}
 
-
-\subsection{Execute \cs{par} at the end of \cs{marginpar} arguments}
+%%CCC Changed
+\subsection{Execute \cs{par} at the end of \cs{marginpar}}
 
 Previously, \LaTeX{} ended a \cs{marginpar} without ever explicitly
 calling \cs{par}.  This command is now explicitly added because it is
@@ -768,16 +700,16 @@ documented sources~\cite{33:source2e}.
 \githubissue{85}
 
 
-\subsection{New for \pkg{latexrelease}: \cs{NewModuleRelease}}
+\subsection{New for \pkg{latexrelease}\,: \cs{NewModuleRelease}}
 
-To explain the need for this new feature
+To explain the need for this new feature,
 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). \cs{NewModuleRelease}
+management system (by loading the \pkg{latexrelease} package).
 %
 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
@@ -798,6 +730,7 @@ 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
@@ -820,16 +753,15 @@ ends.
 
 A previous release sometimes mistakenly caused a
 (false) warning message 
-to appear when using a generic graphics rule to find and load a graphics
+to appear when using a generic graphics rule to fnd and load a graphics
 file with an unknown extension.
-%
-The warning would incorrectly say that the file was not found, whereas
+This warning would incorrectly say that the file was not found, whereas
 the file would in fact be correctly loaded.  The warning now doesn't
 show up in that case.
 %
 \githubissue{516}
 
-
+%%CCC Changed
 \subsection{Fixed loading of \texttt{gzip}ped PostScript graphics files}
 
 A previous release mistakenly changed the file searching mechanism so
@@ -839,7 +771,7 @@ with \cs{includegraphics}.  This has been fixed so that
 %
 \githubissue{519}
 
-
+\githubissue{502}
 
 
 
@@ -903,6 +835,67 @@ The fix for issue 548 was also applied in \pkg{amsmath}, see above.
 \githubissue{548}
 
 
+
+%%CCC Changed from subsection
+\section{A note on the \texttt{TS1} encoding}
+
+The \enquote{text symbol encoding} (\texttt{TS1}) was originally
+designed at the Cork Conference as a companion to the \texttt{T1}
+encoding. In it various symbols that are not subject to hyphenation
+got assembled and the \pkg{textcomp} package was developed to make
+them accessible. Unfortunately the \TeX{} community was a bit too
+enthusiastic and included several symbols only available in a few
+\TeX{} fonts and some, such as the capital accents, not available at
+all but developed as part of the reference font implementation.
+
+In hindsight that was a very bad idea because it meant that other
+existing fonts (at the time) and later new fonts that got developed
+were unable to provide the full set of glyphs that made up the
+\texttt{TS1} encoding. For existing free PostScript fonts people to
+the extra effort and produced virtual fonts that faked (some) of
+the missing glyphs. But this was and is a time consuming effort so it
+was done only for a few basic fonts. But even then, only some fonts
+included all glyphs from \texttt{TS1} so the \pkg{textcomp} already
+back then contained a long list, dividing fonts into 5 categories
+according to which glyphs were implemented and which were missing.
+
+A couple of releases back the functionality of the \pkg{textcomp}
+package got integrated into the core code of the \LaTeX{} kernel so
+that its glyph definitions, e.g., \cs{textcopyright}, \cs{texteuro} or
+\cs{textyen}, are now automatically available without the need to load
+an additional package in the preamble.
+
+At the time this happened many new free fonts had appeared and
+unfortunately the chaos around the question \enquote{which glyphs of
+  the \texttt{TS1} encoding are implemented by which font} had
+increased with it. Not only did one find many new holes it was next to
+impossible to order the set of fonts into a reasonable set of
+sub-encodings that are contained in each other in a single sequence.
+
+In the end we decided on nine or ten sub-encodings with a reasonable
+number of font in each so that all font implemented all glyphs of the
+sub-encoding they got mapped to. Thus when typesetting with a font one
+could be sure that a command like \cs{textcopyleft} would either
+typeset the requested character (if the glyph was part of the
+sub-encoding the font belonged to) or it would raise an error, saying
+that the glyph is unavailable in that fact. The mapping would ensure
+that \LaTeX{} always errs on the side of caution, because it might
+claim a glyph is unavailable even though in fact it is.
+
+For example, the old \texttt{pcr} (PostScript Courier) font (as well
+as most other older PS fonts) is mapped to sub-encoding 5 and
+therefore claims that \cs{textasciigrave} is unavailable even though
+in fact for Courier this is not true. If one uses such a font and this
+becomes an issue then there are a couple (suboptimal) possibilities.
+For one, one can alter the mapping of Courier and pretend that belongs
+to a fuller sub-encoding, e.g.
+\begin{verbatim}
+  \DeclareEncodingSubset{TS1}{pcr}{2}
+\end{verbatim}
+The downside is, that \LaTeX{} then believes other glyphs that are in fact
+unavailable are also there, so that it is important to check that the
+final document doesn't have some missing glyphs.
+
 %\medskip
 
 \begin{thebibliography}{9}
@@ -927,6 +920,69 @@ The fix for issue 548 was also applied in \pkg{amsmath}, see above.
 
 \end{document}
 
+\githubissue{502}
+
+
+\subsection{A note on the \texttt{TS1} encoding}
+
+The \enquote{text symbol encoding} (\texttt{TS1}) was originally
+designed at the Cork Conference as a companion to the \texttt{T1}
+encoding. In it various symbols that are not subject to hyphenation
+got assembled and the \pkg{textcomp} package was developed to make
+them accessible. Unfortunately the \TeX{} community was a bit too
+enthusiastic and included several symbols only available in a few
+\TeX{} fonts and some, such as the capital accents, not available at
+all but developed as part of the reference font implementation.
+
+In hindsight that was a very bad idea because it meant that other
+existing fonts (at the time) and later new fonts that got developed
+were unable to provide the full set of glyphs that made up the
+\texttt{TS1} encoding. For existing free PostScript fonts people to
+the extra effort and produced virtual fonts that faked (some) of
+the missing glyphs. But this was and is a time consuming effort so it
+was done only for a few basic fonts. But even then, only some fonts
+included all glyphs from \texttt{TS1} so the \pkg{textcomp} already
+back then contained a long list, dividing fonts into 5 categories
+according to which glyphs were implemented and which were missing.
+
+A couple of releases back the functionality of the \pkg{textcomp}
+package got integrated into the core code of the \LaTeX{} kernel so
+that its glyph definitions, e.g., \cs{textcopyright}, \cs{texteuro} or
+\cs{textyen}, are now automatically available without the need to load
+an additional package in the preamble.
+
+At the time this happened many new free fonts had appeared and
+unfortunately the chaos around the question \enquote{which glyphs of
+  the \texttt{TS1} encoding are implemented by which font} had
+increased with it. Not only did one find many new holes it was next to
+impossible to order the set of fonts into a reasonable set of
+sub-encodings that are contained in each other in a single sequence.
+
+In the end we decided on nine or ten sub-encodings with a reasonable
+number of font in each so that all font implemented all glyphs of the
+sub-encoding they got mapped to. Thus when typesetting with a font one
+could be sure that a command like \cs{textcopyleft} would either
+typeset the requested character (if the glyph was part of the
+sub-encoding the font belonged to) or it would raise an error, saying
+that the glyph is unavailable in that fact. The mapping would ensure
+that \LaTeX{} always errs on the side of caution, because it might
+claim a glyph is unavailable even though in fact it is.
+
+For example, the old \texttt{pcr} (PostScript Courier) font (as well
+as most other older PS fonts) is mapped to sub-encoding 5 and
+therefore claims that \cs{textasciigrave} is unavailable even though
+in fact for Courier this is not true. If one uses such a font and this
+becomes an issue then there are a couple (suboptimal) possibilities.
+For one, one can alter the mapping of Courier and pretend that belongs
+to a fuller sub-encoding, e.g.
+\begin{verbatim}
+  \DeclareEncodingSubset{TS1}{pcr}{2}
+\end{verbatim}
+The downside is, that \LaTeX{} then believes other glyphs that are in fact
+unavailable are also there, so that it is important to check that the
+final document doesn't have some missing glyphs.
+
+
 \iffalse
 %%CCC  For Chris' local system
 





More information about the latex3-commits mailing list.