[latex3-commits] [git/LaTeX3-latex3-latex2e] nfssaxes: l3news31 updates (and \textnormalshape dropped) (fb61dd4c)

Frank Mittelbach frank.mittelbach at latex-project.org
Wed Dec 18 16:23:27 CET 2019


Repository : https://github.com/latex3/latex2e
On branch  : nfssaxes
Link       : https://github.com/latex3/latex2e/commit/fb61dd4c4700bd64befe5fac5588d83bd03bb4e2

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

commit fb61dd4c4700bd64befe5fac5588d83bd03bb4e2
Author: Frank Mittelbach <frank.mittelbach at latex-project.org>
Date:   Wed Dec 18 16:23:27 2019 +0100

    l3news31 updates (and \textnormalshape dropped)


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

fb61dd4c4700bd64befe5fac5588d83bd03bb4e2
 base/doc/ltnews31.tex | 43 ++++++++++++++++++++++++++++++++++++++-----
 base/ltfntcmd.dtx     |  3 ---
 base/ltfssaxes.dtx    |  4 ++--
 base/ltfssbas.dtx     |  2 +-
 base/ltfssini.dtx     | 13 ++++---------
 5 files changed, 45 insertions(+), 20 deletions(-)

diff --git a/base/doc/ltnews31.tex b/base/doc/ltnews31.tex
index 96c040b0..30893ce7 100644
--- a/base/doc/ltnews31.tex
+++ b/base/doc/ltnews31.tex
@@ -192,10 +192,15 @@ this capability.
 \emph{write}
 
 
-In TeXLive 2020 the Lua\LaTeX{} format will use the new LuaHB\TeX{} engine, which is Lua\TeX{} with an embedded HarfBuzz library.
-HarfBuzz can be used by setting a suitable renderer in the font declaration. An interface for that is provided by \pkg{fontspec}.
-This additional font renderer will greatly improve the shaping of various scripts, which are currently handled correctly only by \XeTeX{}.
-To simplify the testing of the new engine, binaries have been added to MiKTeX and TeXLive 2019 and both have changed the Lua\LaTeX-dev format to use it.
+In TeXLive 2020 the Lua\LaTeX{} format will use the new LuaHB\TeX{}
+engine, which is Lua\TeX{} with an embedded HarfBuzz library.
+HarfBuzz can be used by setting a suitable renderer in the font
+declaration. An interface for that is provided by \pkg{fontspec}.
+This additional font renderer will greatly improve the shaping of
+various scripts, which are currently handled correctly only by
+\XeTeX{}.  To simplify the testing of the new engine, binaries have
+been added to MiKTeX and TeXLive 2019 and both have changed the
+Lua\LaTeX-dev format to use it.
 
 \section{Improved load-times for \pkg{expl3}}
 
@@ -241,8 +246,36 @@ entirely, but to support older formats, this is still recommended at present.
 
 \section{Emphasis handling generalized}
 
-\emph{write}
+With previous releases of \LaTeX{} nested \cs{emph} commands
+automatically alternated between italics and upright.  This mechanism
+has now been generalized and you can now specify for arbitrary nesting
+levels how emphasis should be handled.
 
+The declaration \cs{DeclareEmphSequence} expects a comma separated
+list of font declarations corresponding to increasing levels of
+emphasis. For example,
+\begin{verbatim}
+  \DeclareEmphSequence{\itshape,%
+               \upshape\scshape,\itshape}
+\end{verbatim}
+uses italics for the first, small capitals for the second, and italic
+small capitals for the third level (provided you use a font that
+supports these shapes).  If there are a more nesting levels than
+provided, \LaTeX{} uses the declarations stored in \cs{emreset} (by
+default \cs{ulcshape}\cs{upshape}) for the next level and then
+restarts the list.
+
+The mechanism tries to be \enquote{smart} and verifies that the given
+declarations actually alter the current font. If not it continues and
+tries the next level---the assumption being that there was already a
+manual font change in the document to the font that is now supposed to
+be used for emphasis.
+%
+Of course, this only works if the declarations in the list entries
+actually change the font and not, for example, just the color. In such
+a scenario one has to add \cs{emforce} to the entry which directs the
+mechanism to use the level, even if the font attributes appear to be
+unchanged.
 
 
 
diff --git a/base/ltfntcmd.dtx b/base/ltfntcmd.dtx
index ec86c577..443cd0a6 100644
--- a/base/ltfntcmd.dtx
+++ b/base/ltfntcmd.dtx
@@ -396,7 +396,6 @@
 %  \begin{macro}{textulc}
 %  \begin{macro}{textsw}
 %  \begin{macro}{textssc}
-%  \begin{macro}{textnormalshape}
 %    
 % \changes{v3.4c}{2019/12/17}{Macro added}
 %    \begin{macrocode}
@@ -407,7 +406,6 @@
 \DeclareTextFontCommand{\textulc}{\ulcshape} 
 \DeclareTextFontCommand{\textsw}{\swshape}
 \DeclareTextFontCommand{\textssc}{\sscshape}
-\DeclareTextFontCommand{\textnormalshape}{\normalshape}
 %</2ekernel|latexrelease>
 %<latexrelease>\EndIncludeInRelease
 %<latexrelease>\IncludeInRelease{0000/00/00}%
@@ -416,7 +414,6 @@
 %<latexrelease>\let\textulc\@undefined
 %<latexrelease>\let\textsw\@undefined
 %<latexrelease>\let\textssc\@undefined
-%<latexrelease>\let\textnormalshape\@undefined
 %<latexrelease>\EndIncludeInRelease
 %<*2ekernel>
 %    \end{macrocode}
diff --git a/base/ltfssaxes.dtx b/base/ltfssaxes.dtx
index bfca785e..225cf649 100644
--- a/base/ltfssaxes.dtx
+++ b/base/ltfssaxes.dtx
@@ -868,8 +868,8 @@
 %    resets everything and \texttt{up} changes italic or slanted to
 %    upright and \texttt{ulc} undoes small caps.
 %
-%    So we now offer
-%    \cs{normalshape} and \cs{textnormalshape}.
+%    So we now offer \cs{normalshape} (using \cs{shapedefault} which is normally the same as
+%    calling both \cs{ulcshape} and \cs{upshape}, only more efficient.
 %
 %
 %  \begin{macro}{\ulcshape}
diff --git a/base/ltfssbas.dtx b/base/ltfssbas.dtx
index 26885e90..50b90f1d 100644
--- a/base/ltfssbas.dtx
+++ b/base/ltfssbas.dtx
@@ -1331,7 +1331,7 @@
 % \DeclareFontFamilySubstitution{LGR}{qpl}{udidot}
 %\end{verbatim}
 %    This way if you ask for the \texttt{LGR} encoding in for the
-%    \textt{qpl} family you get the characters from the
+%    \texttt{qpl} family you get the characters from the
 %    \texttt{udidot} family substituted.
 %
 %    We need to ensure that the macro is defined with
diff --git a/base/ltfssini.dtx b/base/ltfssini.dtx
index f44496c7..c0fdfe20 100644
--- a/base/ltfssini.dtx
+++ b/base/ltfssini.dtx
@@ -802,17 +802,12 @@
 
 
 %  \begin{macro}{\emrest}
-%    Reset the font to upright (this needs to undo \texttt{sc} and
-%    \texttt{it} separately as \cs{upshape} no longer resets both in
-%    one go).
+%    Reset the font to upright and upper/lower case. With the default rules
+%    using \cs{shapedefault} does that for us but to be on the safe side we
+%    do it like this:
 %    \begin{macrocode}
-\DeclareRobustCommand\emreset{%
-    \fontshape{ulc}% in case sc is in use, e.g,  changes scit -> it
-    \fontshape{n}%   for all other cases
-}
+\DeclareRobustCommand\emreset{\upshape\ulcshape}
 %    \end{macrocode}
-%    We could have used \verb=\fontshape{n}= twice, that would give
-%    the same result with the default set of shape rules.
 %  \end{macro}
 
 





More information about the latex3-commits mailing list