[latex3-commits] [git/LaTeX3-latex3-latex2e] develop: do not reset \operator at font when loading amsopn (see #734) (#757) (3cc5d3ac)
GitHub
noreply at github.com
Mon Jan 31 19:49:38 CET 2022
Repository : https://github.com/latex3/latex2e
On branch : develop
Link : https://github.com/latex3/latex2e/commit/3cc5d3ace2b71a655d05ee40f1b66fd732c15cb0
>---------------------------------------------------------------
commit 3cc5d3ace2b71a655d05ee40f1b66fd732c15cb0
Author: Frank Mittelbach <frank.mittelbach at latex-project.org>
Date: Mon Jan 31 19:49:38 2022 +0100
do not reset \operator at font when loading amsopn (see #734) (#757)
>---------------------------------------------------------------
3cc5d3ace2b71a655d05ee40f1b66fd732c15cb0
base/doc/ltnews35.tex | 22 ++++++++++++++++++++++
required/amsmath/amsopn.dtx | 12 ++++++++++--
required/amsmath/changes.txt | 6 ++++++
required/amsmath/testfiles/github-0734.lvt | 17 +++++++++++++++++
.../amsmath/testfiles/github-0734.tlg | 6 +++---
5 files changed, 58 insertions(+), 5 deletions(-)
diff --git a/base/doc/ltnews35.tex b/base/doc/ltnews35.tex
index 4c1b910b..e798d4c2 100644
--- a/base/doc/ltnews35.tex
+++ b/base/doc/ltnews35.tex
@@ -506,6 +506,28 @@ is now fixed.
\section{Changes to packages in the \pkg{amsmath} category}
+
+\subsection{\pkg{amsopn} Do not reset \cs{operator at font}}
+
+The package \pkg{amsopn} used to define \cs{operator at font} but this
+command is already provided by the \LaTeX{} format (for at least 14
+years). As a result the definition in \pkg{amsopn} is equivalent to a
+reset to the kernel definition, which is unnecessary and suprising if
+you alter the math setup (e.g., by loading a package) and at a later
+stage add \pkg{amsmath}, which then undoes part of your setup. For
+this reason the definition was taken out and
+\pkg{amsmath}/\pkg{amsopn} now relies on the format definition.
+
+In the unlikely event that you want the resetting to happen, use
+\begin{verbatim}
+ \makeatletter
+ \def\operator at font{\mathgroup\symoperators}
+ \makeatother
+\end{verbatim}
+after loading the package.
+%
+\githubissue{734}
+
\subsection{???}
%
\githubissue{???}
diff --git a/required/amsmath/amsopn.dtx b/required/amsmath/amsopn.dtx
index 20e63b63..22801e8c 100644
--- a/required/amsmath/amsopn.dtx
+++ b/required/amsmath/amsopn.dtx
@@ -58,7 +58,7 @@ Bug reports can be opened (category \texttt{#1}) at\\%
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}% LaTeX 2.09 can't be used (nor non-LaTeX)
[1994/12/01]% LaTeX date must December 1994 or later
-\ProvidesPackage{amsopn}[2021/08/26 v2.02 operator names]
+\ProvidesPackage{amsopn}[2022/01/20 v2.03 operator names]
% \end{macrocode}
%
% What \cs{nolimits@} does is keep a \cn{limits} typed by the user
@@ -198,8 +198,16 @@ Bug reports can be opened (category \texttt{#1}) at\\%
% more accessible so that users can call this font for use in special
% constructs that are not ordinary operator names but conceptually
% related.
+%
+% \cs{operator at font} is also declared by the \LaTeX{} kernel (for
+% at least 14 years), thus defining it here effectively means
+% ``resetting it'' to the kernel value, which is counterproductive
+% in situations where the user (or a class) has altered its
+% definition and at a later point \pkg{amsopn} got added.
+% \changes{v2.03}{2022/01/20}{Do not reset \cs{operator at font} it is
+% already defined in the LaTeX kernel (gh/734)}
% \begin{macrocode}
-\def\operator at font{\mathgroup\symoperators}
+%\def\operator at font{\mathgroup\symoperators} % commented out in 2.03
\def\operatorfont{\operator at font}
% \end{macrocode}
% \end{macro}
diff --git a/required/amsmath/changes.txt b/required/amsmath/changes.txt
index e61d8724..7c5723b8 100644
--- a/required/amsmath/changes.txt
+++ b/required/amsmath/changes.txt
@@ -1,3 +1,9 @@
+2022-01-20 Frank Mittelbach <Frank.Mittelbach at latex-project.org>
+
+ * amsopn.dtx:
+ Do not define/reset \operator at font; it is already defined in
+ the LaTeX kernel (gh/734)
+
2021-11-18 Frank Mittelbach <Frank.Mittelbach at latex-project.org>
* All *.dtx: Replaced \StopEventually by \MaybeStop
diff --git a/required/amsmath/testfiles/github-0734.lvt b/required/amsmath/testfiles/github-0734.lvt
new file mode 100644
index 00000000..c9584c0c
--- /dev/null
+++ b/required/amsmath/testfiles/github-0734.lvt
@@ -0,0 +1,17 @@
+\documentclass{article}
+
+\input{test2e}
+
+\makeatletter
+\def\operator at font{XXX} % doesn't matter what it is defined to
+\makeatother
+
+\usepackage{amsopn}
+
+\START
+
+\makeatletter
+\show\operator at font
+\makeatother
+
+\END
diff --git a/base/testfiles-lthooks/github-0675.tlg b/required/amsmath/testfiles/github-0734.tlg
similarity index 63%
copy from base/testfiles-lthooks/github-0675.tlg
copy to required/amsmath/testfiles/github-0734.tlg
index cb25ed26..e28ea70b 100644
--- a/base/testfiles-lthooks/github-0675.tlg
+++ b/required/amsmath/testfiles/github-0734.tlg
@@ -1,5 +1,5 @@
This is a generated file for the LaTeX2e validation system.
Don't change this file in any respect.
-bar
-foo
-baz
+> \operator at font=macro:
+->XXX.
+l. ...\show\operator at font
More information about the latex3-commits
mailing list.