texlive[53857] Master/texmf-dist: latex (20feb20)

commits+karl at tug.org commits+karl at tug.org
Fri Feb 21 23:53:10 CET 2020


Revision: 53857
          http://tug.org/svn/texlive?view=revision&revision=53857
Author:   karl
Date:     2020-02-21 23:53:09 +0100 (Fri, 21 Feb 2020)
Log Message:
-----------
latex (20feb20)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/base/README.md
    trunk/Master/texmf-dist/doc/latex/base/alltt.pdf
    trunk/Master/texmf-dist/doc/latex/base/cfgguide.pdf
    trunk/Master/texmf-dist/doc/latex/base/changes.txt
    trunk/Master/texmf-dist/doc/latex/base/classes.pdf
    trunk/Master/texmf-dist/doc/latex/base/clsguide.pdf
    trunk/Master/texmf-dist/doc/latex/base/cmfonts.pdf
    trunk/Master/texmf-dist/doc/latex/base/cyrguide.pdf
    trunk/Master/texmf-dist/doc/latex/base/doc.pdf
    trunk/Master/texmf-dist/doc/latex/base/docstrip.pdf
    trunk/Master/texmf-dist/doc/latex/base/encguide.pdf
    trunk/Master/texmf-dist/doc/latex/base/exscale.pdf
    trunk/Master/texmf-dist/doc/latex/base/fix-cm.pdf
    trunk/Master/texmf-dist/doc/latex/base/fntguide.pdf
    trunk/Master/texmf-dist/doc/latex/base/graphpap.pdf
    trunk/Master/texmf-dist/doc/latex/base/ifthen.pdf
    trunk/Master/texmf-dist/doc/latex/base/inputenc.pdf
    trunk/Master/texmf-dist/doc/latex/base/latexchanges.pdf
    trunk/Master/texmf-dist/doc/latex/base/latexchanges.tex
    trunk/Master/texmf-dist/doc/latex/base/latexrelease.pdf
    trunk/Master/texmf-dist/doc/latex/base/latexsym.pdf
    trunk/Master/texmf-dist/doc/latex/base/lb2.pdf
    trunk/Master/texmf-dist/doc/latex/base/letter.pdf
    trunk/Master/texmf-dist/doc/latex/base/lgc2.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltluatex.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews01.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews02.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews03.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews04.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews05.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews06.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews07.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews08.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews09.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews10.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews11.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews12.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews13.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews14.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews15.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews16.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews17.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews18.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews19.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews20.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews21.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews22.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews23.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews24.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews25.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews26.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews27.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews28.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews29.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews30.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews31.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltx3info.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltxdoc.pdf
    trunk/Master/texmf-dist/doc/latex/base/makeindx.pdf
    trunk/Master/texmf-dist/doc/latex/base/manual.pdf
    trunk/Master/texmf-dist/doc/latex/base/modguide.pdf
    trunk/Master/texmf-dist/doc/latex/base/nfssfont.pdf
    trunk/Master/texmf-dist/doc/latex/base/proc.pdf
    trunk/Master/texmf-dist/doc/latex/base/slides.pdf
    trunk/Master/texmf-dist/doc/latex/base/slifonts.pdf
    trunk/Master/texmf-dist/doc/latex/base/source2e.pdf
    trunk/Master/texmf-dist/doc/latex/base/syntonly.pdf
    trunk/Master/texmf-dist/doc/latex/base/tlc2.pdf
    trunk/Master/texmf-dist/doc/latex/base/tulm.pdf
    trunk/Master/texmf-dist/doc/latex/base/usrguide.pdf
    trunk/Master/texmf-dist/doc/latex/base/utf8ienc.pdf
    trunk/Master/texmf-dist/doc/latex/base/webcomp.pdf
    trunk/Master/texmf-dist/source/latex/base/ltfssaxes.dtx
    trunk/Master/texmf-dist/source/latex/base/ltfssini.dtx
    trunk/Master/texmf-dist/source/latex/base/ltvers.dtx
    trunk/Master/texmf-dist/tex/latex/base/latex.ltx
    trunk/Master/texmf-dist/tex/latex/base/latexrelease.sty

Modified: trunk/Master/texmf-dist/doc/latex/base/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/base/README.md	2020-02-21 22:51:01 UTC (rev 53856)
+++ trunk/Master/texmf-dist/doc/latex/base/README.md	2020-02-21 22:53:09 UTC (rev 53857)
@@ -1,7 +1,7 @@
 The LaTeX kernel
 ================
 
-Release 2020-02-02 patch level 2
+Release 2020-02-02 patch level 3
 
 Overview
 --------

Modified: trunk/Master/texmf-dist/doc/latex/base/alltt.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/cfgguide.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/changes.txt
===================================================================
--- trunk/Master/texmf-dist/doc/latex/base/changes.txt	2020-02-21 22:51:01 UTC (rev 53856)
+++ trunk/Master/texmf-dist/doc/latex/base/changes.txt	2020-02-21 22:53:09 UTC (rev 53857)
@@ -5,6 +5,27 @@
 =======================================================================
 
 #########################
+# 2020-02-02 PL 3 Release
+#########################
+
+2020-02-18  Frank Mittelbach  <Frank.Mittelbach at latex-project.org>
+
+	* ltfssaxes.dtx:
+	When \fontseriesforce is used do not auto-update the series if the
+	family changes (gh/277)
+
+2020-02-18  Frank Mittelbach  <Frank.Mittelbach at latex-project.org>
+
+	* ltfssini.dtx:
+	Added some debugging code, but not extracted at the moment.
+	Make the \ifx selection  in \bfseries outside
+        of \fontseries argument so that it is not done several times.
+	When \fontseriesforce is used do not auto-update the series if the
+	family changes (gh/277)
+	Recognize current family if it is not a ``meta'' family and
+	auto-update series if \mddefault or \bfdefault match (gh/277)
+
+#########################
 # 2020-02-02 PL 2 Release
 #########################
 

Modified: trunk/Master/texmf-dist/doc/latex/base/classes.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/clsguide.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/cmfonts.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/cyrguide.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/doc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/docstrip.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/encguide.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/exscale.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/fix-cm.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/fntguide.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/graphpap.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ifthen.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/inputenc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/latexchanges.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/latexchanges.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/base/latexchanges.tex	2020-02-21 22:51:01 UTC (rev 53856)
+++ trunk/Master/texmf-dist/doc/latex/base/latexchanges.tex	2020-02-21 22:53:09 UTC (rev 53857)
@@ -106,6 +106,19 @@
 \url{https://github.com/latex3/latex2e/commits/master}.
 
 
+\section{Changes introduced in 2020-02-02 patch~3}
+
+Support the following scenario:
+\begin{verbatim}
+\fontfamily{ptm}\selectfont text  \textbf{\sffamily bold sans text}
+\end{verbatim}
+The default bold series for \texttt{ptm} is \texttt{b} so
+\verb=\textbf= switches to that. The \verb=\sffamily= then tried to
+find \texttt{OT1/cmss/b/n} which doesn't exist instead of first
+altering the series default to use \texttt{bx} as needed for Computer
+Modern Sans Serif. This has now been corrected (\ghissue{277}).
+
+
 \section{Changes introduced in 2020-02-02 patch~2}
 
 Correct \verb=\capitalacute=, etc.\ so that they work in

Modified: trunk/Master/texmf-dist/doc/latex/base/latexrelease.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/latexsym.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/lb2.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/letter.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/lgc2.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltluatex.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews01.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews02.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews03.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews04.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews05.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews06.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews07.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews08.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews09.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews10.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews11.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews12.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews13.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews14.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews15.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews16.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews17.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews18.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews19.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews20.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews21.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews22.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews23.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews24.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews25.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews26.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews27.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews28.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews29.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews30.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews31.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltx3info.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltxdoc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/makeindx.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/manual.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/modguide.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/nfssfont.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/proc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/slides.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/slifonts.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/source2e.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/syntonly.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/tlc2.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/tulm.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/usrguide.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/utf8ienc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/webcomp.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/source/latex/base/ltfssaxes.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/ltfssaxes.dtx	2020-02-21 22:51:01 UTC (rev 53856)
+++ trunk/Master/texmf-dist/source/latex/base/ltfssaxes.dtx	2020-02-21 22:53:09 UTC (rev 53857)
@@ -35,7 +35,7 @@
 %
 %
 \ProvidesFile{ltfssaxes.dtx}
-             [2020/02/05 v1.0b LaTeX Kernel (NFSS Axes handing)]
+             [2020/02/18 v1.0c LaTeX Kernel (NFSS Axes handing)]
 % \iffalse
 \documentclass{ltxdoc}
 \begin{document}
@@ -682,14 +682,25 @@
 
 % \subsection{Changing to a new series}
 %
+%
 
+%  \begin{macro}{\if at forced@series}
+%    If the series gets forced we need to know that fact later on.
+% \changes{v1.0c}{2020/02/10}{Switch \cs{if at forced@series} added}
+%    \begin{macrocode}
+\newif\if at forced@series
+%    \end{macrocode}
+%  \end{macro}
+%
+%
 %  \begin{macro}{\fontseriesforce}
 %    To change unconditionally to a new series you can use
 %    \cs{fontseriesforce}. If course, if the series doesn't exist for
 %    the current family substitution still happens, but there is not
 %    dependency on the current series.
+% \changes{v1.0c}{2020/02/10}{Switch \cs{if at forced@series} added}
 %    \begin{macrocode}
-\DeclareRobustCommand\fontseriesforce[1]{\edef\f at series{#1}}
+\DeclareRobustCommand\fontseriesforce[1]{\@forced at seriestrue\edef\f at series{#1}}
 %    \end{macrocode}
 %  \end{macro}
 %
@@ -700,8 +711,9 @@
 %    expanded value in \cs{f at series}. Now we do a bit more processing
 %    and look up the final value in the font series data base. This is
 %    done by \cs{merge at font@series}.
+% \changes{v1.0c}{2020/02/10}{Switch \cs{if at forced@series} added}
 %    \begin{macrocode}
-\DeclareRobustCommand\fontseries[1]{\merge at font@series{#1}}
+\DeclareRobustCommand\fontseries[1]{\@forced at seriesfalse\merge at font@series{#1}}
 %    \end{macrocode}
 %  \end{macro}
 

Modified: trunk/Master/texmf-dist/source/latex/base/ltfssini.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/ltfssini.dtx	2020-02-21 22:51:01 UTC (rev 53856)
+++ trunk/Master/texmf-dist/source/latex/base/ltfssini.dtx	2020-02-21 22:53:09 UTC (rev 53857)
@@ -36,7 +36,7 @@
 %
 %
 \ProvidesFile{ltfssini.dtx}
-             [2020/02/11 v3.1h LaTeX Kernel (NFSS Initialisation)]
+             [2020/02/18 v3.1i LaTeX Kernel (NFSS Initialisation)]
 % \iffalse
 \documentclass{ltxdoc}
 \begin{document}
@@ -414,18 +414,18 @@
 %    alternatives and therefore check if the current family
 %    (\cs{f at family}) is the current \cs{rmdef at ult}, \cs{sfdef at ult} or
 %    \cs{ttdef at ult}  and the select the correct family default in that case.
+% \changes{v3.1i}{2020/02/18}{Make the \cs{ifx} selection outside
+%            of \cs{fontseries} argument so that it is not done several times}
 %    \begin{macrocode}
   \expand at font@defaults
-  \fontseries{%
-    \ifx\f at family\rmdef at ult      \bfseries at rm
-    \else\ifx\f at family\sfdef at ult \bfseries at sf
-    \else\ifx\f at family\ttdef at ult \bfseries at tt
+    \ifx\f at family\rmdef at ult      \fontseries\bfseries at rm
+    \else\ifx\f at family\sfdef at ult \fontseries\bfseries at sf
+    \else\ifx\f at family\ttdef at ult \fontseries\bfseries at tt
 %    \end{macrocode}
 %    If not \cs{bfdefault} is used.
 %    \begin{macrocode}
-    \else                        \bfdefault
+    \else                        \fontseries\bfdefault
     \fi\fi\fi
-  }%
   \selectfont
 }
 %    \end{macrocode}
@@ -435,17 +435,17 @@
 
 %  \begin{macro}{\mdseries}
 %    This document command switches to the medium series.
+% \changes{v3.1i}{2020/02/18}{Make the \cs{ifx} selection outside
+%            of \cs{fontseries} argument so that it is not done several times}
 %    \begin{macrocode}
 \DeclareRobustCommand\mdseries{%
   \not at math@alphabet\mdseries\relax
   \expand at font@defaults
-  \fontseries{%
-    \ifx\f at family\rmdef at ult      \mdseries at rm
-    \else\ifx\f at family\sfdef at ult \mdseries at sf
-    \else\ifx\f at family\ttdef at ult \mdseries at tt
-    \else                        \mddefault
+    \ifx\f at family\rmdef at ult      \fontseries\mdseries at rm
+    \else\ifx\f at family\sfdef at ult \fontseries\mdseries at sf
+    \else\ifx\f at family\ttdef at ult \fontseries\mdseries at tt
+    \else                        \fontseries\mddefault
     \fi\fi\fi
-  }%
   \selectfont
 }
 %    \end{macrocode}
@@ -615,9 +615,25 @@
 %  \end{macro}
 %  \end{macro}
 %  \end{macro}
-
-
-
+%
+%
+%
+%
+%  \begin{macro}{\series at change@debug}
+%    For debugging, but right now none of this code is extracted. The
+%    idea is to have a separate package with debugging code
+%    one day.
+%    \begin{macrocode}
+%<*debug>
+\let\series at change@debug\typeout
+\let\series at change@debug\@gobble
+%</debug>
+%    \end{macrocode}
+%  \end{macro}
+%
+%
+%
+%
 %  \begin{macro}{\prepare at family@series at update}
 %    This is core command that prepares for the family update. The big
 %    difference to the documented code above is that the nested
@@ -635,6 +651,15 @@
 %
 %    \begin{macrocode}
 \def\prepare at family@series at update#1#2{%
+%    \end{macrocode}
+%    
+% \changes{v3.1i}{2020/02/18}{No series auto-update when forced (gh/277)}
+%    \begin{macrocode}
+ \if at forced@series
+%<+debug> \series at change@debug{No series preparation (forced \f at series)\on at line}%
+   \fontfamily#2%
+ \else
+%<+debug> \series at change@debug{Prepearing for switching to #1 (#2)\on at line}%
    \expand at font@defaults
 %    \end{macrocode}
 %    We prepare for changing the current series. We have to find it
@@ -643,11 +668,36 @@
    \let\target at series@value\@empty
    \def\target at meta@family at value{#1}%
 %    \end{macrocode}
+%    As the very last item in the meta family list we add
+%    \verb=\@elt{??}= and define this pseudo meta family to be the
+%    current font family. So if none of the real meta families matched then
+%    this will match. This will cover the following case:
+%    \begin{itemize}
+%    \item \cs{bfseries} is called  for a family using \texttt{bx}
+%       (e.g., CMR) 
+%    \item Switch to a font family that is none of the the meta
+%       families, e.g., via \verb=\fontfamily{ptm}\selectfont=
+%    \item Then none of the real meta families, match but the final
+%      \verb=\@elt{??}= will.
+%    \item Therefore if the current series is \cs{mddefault} or
+%    \cs{bfdefault} it will be detected and the corresponding target
+%    series selected.
+%    \end{itemize}
+% \changes{v3.1i}{2020/02/18}{Recognize current family if it is not a
+%    ``meta'' family and auto-update series using \cs{bfdefault} (gh/277)}
+%    \begin{macrocode}
+   \expandafter\edef\csname ??def at ult\endcsname{\f at family}%
+%    \end{macrocode}
 %    To find it we loop over the meta family list with a suitable
 %    definition of \cs{@elt}.
 %    \begin{macrocode}
    \let\@elt\update at series@target at value
       \@meta at family@list
+%    \end{macrocode}
+%    Last resort pseudo meta family. Will only be looked at f none of
+%    the real ones have matched.
+%    \begin{macrocode}
+      \@elt{??}%
    \let\@elt\relax
 %    \end{macrocode}
 %    That will figure out the correct series value to use without updating
@@ -659,10 +709,19 @@
 %    above.
 %    \begin{macrocode}
    \ifx\target at series@value\@empty
+%<+debug> \series at change@debug{Target series still empty ...}%
    \else
-     \maybe at load@fontshape
-     \let\f at series\target at series@value
+     \ifx \f at series\target at series@value
+%<+debug> \series at change@debug{Target series unchanged:
+%<+debug>                      \f at series \space = \target at series@value}%
+     \else
+       \maybe at load@fontshape
+%<+debug> \series at change@debug{Target series:
+%<+debug>                      \f at series \space -> \target at series@value}%
+       \let\f at series\target at series@value
+     \fi
    \fi
+ \fi
 }
 %    \end{macrocode}
 %  \end{macro}
@@ -686,6 +745,8 @@
   \def\reserved at a{#1}%
   \ifx\target at meta@family at value\reserved at a   % rm -> rm do nothing
   \else
+%<+debug> \series at change@debug{Trying to match #1: \csname#1def at ult\endcsname
+%<+debug>                      \space = \f at family\space ?}%
 %    \end{macrocode}
 %    We only ``do'' something if the current font family matches the
 %    current meta family.
@@ -707,6 +768,8 @@
                       \csname mdseries@\target at meta@family at value\endcsname
       \expandafter\let\expandafter\reserved at c
                       \csname bfseries@\target at meta@family at value\endcsname
+%<+debug>\series at change@debug{Targets for mdseries and bfseries:
+%<+debug>                     \reserved at b\space and \reserved at c}%
 %    \end{macrocode}
 %    This here is now identical to the nested \cs{ifx} block from the
 %    outline, except that it there appeared twice in
@@ -714,11 +777,15 @@
 %    loop when a match was found.
 %    \begin{macrocode}
       \expandafter\ifx\csname mdseries@#1\endcsname\f at series
+%<+debug>   \series at change@debug{mdseries@#1 matched -> \reserved at b}%
                                       \let\target at series@value\reserved at b
       \else\expandafter\ifx\csname bfseries@#1\endcsname\f at series
+%<+debug>  \series at change@debug{bfseries@#1 matched -> \reserved at c}%
                                       \let\target at series@value\reserved at c
       \else\ifx\f at series\mddef at ult    \let\target at series@value\reserved at b
+%<+debug>  \series at change@debug{mddef at ult matched -> \reserved at b}%
       \else\ifx\f at series\bfdef at ult    \let\target at series@value\reserved at c
+%<+debug>  \series at change@debug{bfdef at ult matched -> \reserved at c}%
       \fi\fi\fi\fi
     \fi
   \fi
@@ -730,10 +797,6 @@
 %
 %
 %
-%
-%
-%
-%
 %  \begin{macro}{\init at series@setup}
 %    This is code to be run at begin document \ldots
 %    \begin{macrocode}

Modified: trunk/Master/texmf-dist/source/latex/base/ltvers.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/ltvers.dtx	2020-02-21 22:51:01 UTC (rev 53856)
+++ trunk/Master/texmf-dist/source/latex/base/ltvers.dtx	2020-02-21 22:53:09 UTC (rev 53857)
@@ -115,7 +115,7 @@
    {2020-02-02}
 %</2ekernel|latexrelease>
 %<*2ekernel>
-\def\patch at level{2}
+\def\patch at level{3}
 %    \end{macrocode}
 %
 % \begin{macro}{\development at branch@name}

Modified: trunk/Master/texmf-dist/tex/latex/base/latex.ltx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/base/latex.ltx	2020-02-21 22:51:01 UTC (rev 53856)
+++ trunk/Master/texmf-dist/tex/latex/base/latex.ltx	2020-02-21 22:53:09 UTC (rev 53857)
@@ -710,7 +710,7 @@
 \def\fmtname{LaTeX2e}
 \edef\fmtversion
    {2020-02-02}
-\def\patch at level{2}
+\def\patch at level{3}
 \edef\development at branch@name{}
 \iffalse
 \def\reserved at a#1/#2/#3\@nil{%
@@ -3252,8 +3252,9 @@
 \DeclareFontSeriesChangeRule {x}{?m}{m}{}
 
 
-\DeclareRobustCommand\fontseriesforce[1]{\edef\f at series{#1}}
-\DeclareRobustCommand\fontseries[1]{\merge at font@series{#1}}
+\newif\if at forced@series
+\DeclareRobustCommand\fontseriesforce[1]{\@forced at seriestrue\edef\f at series{#1}}
+\DeclareRobustCommand\fontseries[1]{\@forced at seriesfalse\merge at font@series{#1}}
 
 \def\merge at font@series#1{%
   \expandafter\expandafter\expandafter
@@ -4632,13 +4633,11 @@
 \DeclareRobustCommand\bfseries{%
   \not at math@alphabet\bfseries\mathbf
   \expand at font@defaults
-  \fontseries{%
-    \ifx\f at family\rmdef at ult      \bfseries at rm
-    \else\ifx\f at family\sfdef at ult \bfseries at sf
-    \else\ifx\f at family\ttdef at ult \bfseries at tt
-    \else                        \bfdefault
+    \ifx\f at family\rmdef at ult      \fontseries\bfseries at rm
+    \else\ifx\f at family\sfdef at ult \fontseries\bfseries at sf
+    \else\ifx\f at family\ttdef at ult \fontseries\bfseries at tt
+    \else                        \fontseries\bfdefault
     \fi\fi\fi
-  }%
   \selectfont
 }
 
@@ -4645,13 +4644,11 @@
 \DeclareRobustCommand\mdseries{%
   \not at math@alphabet\mdseries\relax
   \expand at font@defaults
-  \fontseries{%
-    \ifx\f at family\rmdef at ult      \mdseries at rm
-    \else\ifx\f at family\sfdef at ult \mdseries at sf
-    \else\ifx\f at family\ttdef at ult \mdseries at tt
-    \else                        \mddefault
+    \ifx\f at family\rmdef at ult      \fontseries\mdseries at rm
+    \else\ifx\f at family\sfdef at ult \fontseries\mdseries at sf
+    \else\ifx\f at family\ttdef at ult \fontseries\mdseries at tt
+    \else                        \fontseries\mddefault
     \fi\fi\fi
-  }%
   \selectfont
 }
 
@@ -4673,21 +4670,29 @@
 \let\@rmfamilyhook\@empty
 \let\@sffamilyhook\@empty
 \let\@ttfamilyhook\@empty
-
 \def\@meta at family@list{\@elt{rm}\@elt{sf}\@elt{tt}}
 \def\prepare at family@series at update#1#2{%
+ \if at forced@series
+   \fontfamily#2%
+ \else
    \expand at font@defaults
    \let\target at series@value\@empty
    \def\target at meta@family at value{#1}%
+   \expandafter\edef\csname ??def at ult\endcsname{\f at family}%
    \let\@elt\update at series@target at value
       \@meta at family@list
+      \@elt{??}%
    \let\@elt\relax
    \fontfamily#2%
    \ifx\target at series@value\@empty
    \else
-     \maybe at load@fontshape
-     \let\f at series\target at series@value
+     \ifx \f at series\target at series@value
+     \else
+       \maybe at load@fontshape
+       \let\f at series\target at series@value
+     \fi
    \fi
+ \fi
 }
 \def\update at series@target at value#1{%
   \def\reserved at a{#1}%

Modified: trunk/Master/texmf-dist/tex/latex/base/latexrelease.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/base/latexrelease.sty	2020-02-21 22:51:01 UTC (rev 53856)
+++ trunk/Master/texmf-dist/tex/latex/base/latexrelease.sty	2020-02-21 22:53:09 UTC (rev 53857)
@@ -3797,13 +3797,11 @@
 \DeclareRobustCommand\bfseries{%
   \not at math@alphabet\bfseries\mathbf
   \expand at font@defaults
-  \fontseries{%
-    \ifx\f at family\rmdef at ult      \bfseries at rm
-    \else\ifx\f at family\sfdef at ult \bfseries at sf
-    \else\ifx\f at family\ttdef at ult \bfseries at tt
-    \else                        \bfdefault
+    \ifx\f at family\rmdef at ult      \fontseries\bfseries at rm
+    \else\ifx\f at family\sfdef at ult \fontseries\bfseries at sf
+    \else\ifx\f at family\ttdef at ult \fontseries\bfseries at tt
+    \else                        \fontseries\bfdefault
     \fi\fi\fi
-  }%
   \selectfont
 }
 
@@ -3810,13 +3808,11 @@
 \DeclareRobustCommand\mdseries{%
   \not at math@alphabet\mdseries\relax
   \expand at font@defaults
-  \fontseries{%
-    \ifx\f at family\rmdef at ult      \mdseries at rm
-    \else\ifx\f at family\sfdef at ult \mdseries at sf
-    \else\ifx\f at family\ttdef at ult \mdseries at tt
-    \else                        \mddefault
+    \ifx\f at family\rmdef at ult      \fontseries\mdseries at rm
+    \else\ifx\f at family\sfdef at ult \fontseries\mdseries at sf
+    \else\ifx\f at family\ttdef at ult \fontseries\mdseries at tt
+    \else                        \fontseries\mddefault
     \fi\fi\fi
-  }%
   \selectfont
 }
 
@@ -3838,21 +3834,29 @@
 \let\@rmfamilyhook\@empty
 \let\@sffamilyhook\@empty
 \let\@ttfamilyhook\@empty
-
 \def\@meta at family@list{\@elt{rm}\@elt{sf}\@elt{tt}}
 \def\prepare at family@series at update#1#2{%
+ \if at forced@series
+   \fontfamily#2%
+ \else
    \expand at font@defaults
    \let\target at series@value\@empty
    \def\target at meta@family at value{#1}%
+   \expandafter\edef\csname ??def at ult\endcsname{\f at family}%
    \let\@elt\update at series@target at value
       \@meta at family@list
+      \@elt{??}%
    \let\@elt\relax
    \fontfamily#2%
    \ifx\target at series@value\@empty
    \else
-     \maybe at load@fontshape
-     \let\f at series\target at series@value
+     \ifx \f at series\target at series@value
+     \else
+       \maybe at load@fontshape
+       \let\f at series\target at series@value
+     \fi
    \fi
+ \fi
 }
 \def\update at series@target at value#1{%
   \def\reserved at a{#1}%
@@ -5448,8 +5452,9 @@
 \DeclareFontSeriesChangeRule {x}{?m}{m}{}
 
 
-\DeclareRobustCommand\fontseriesforce[1]{\edef\f at series{#1}}
-\DeclareRobustCommand\fontseries[1]{\merge at font@series{#1}}
+\newif\if at forced@series
+\DeclareRobustCommand\fontseriesforce[1]{\@forced at seriestrue\edef\f at series{#1}}
+\DeclareRobustCommand\fontseries[1]{\@forced at seriesfalse\merge at font@series{#1}}
 
 \def\merge at font@series#1{%
   \expandafter\expandafter\expandafter



More information about the tex-live-commits mailing list.