[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.