我想更改文本模式的字体+
(=
不是数学字体)
我主要使用article
和beamer
文档类。
对于beamer
类别,而不是lmodern
字体,我喜欢nimbussans
通用字体的包,除了它的书写方式+
和=
。
例如,lmodern
字体渲染
\begin{frame}{}
\[\text{1+1=2}\]
\[\text{1$+$1$=$2}\]
\[1+1=2\]
\end{frame}
到
而nimbussans
字体则将其渲染为
我可以添加以下几行来更改数学+
字体=
\DeclareSymbolFont{myoperators}{OT1}{lmr}{m}{n}
\SetSymbolFont{myoperators}{bold}{OT1}{lmr}{bx}{n}
\DeclareMathSymbol{+}{\mathbin}{myoperators}{"2B}
\DeclareMathSymbol{=}{\mathrel}{myoperators}{"3D}
要得到
但是,我不知道如何更改和的文本+
字体=
。
对于article
课程,我喜欢newtxtext
通用字体包,但它有同样的问题(对我来说的问题):
平均能量损失
% article MWE
\documentclass[10pt]{article}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
%\usepackage{lmodern} %option1
\usepackage{newtxtext} %option2
\begin{document}
\[\text{1+1=2}\]
\[\text{1$+$1$=$2}\]
\[1+1=2\]
\end{document}
% beamer MWE
\documentclass[10pt]{beamer}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{lmodern} %option1
\usepackage[scaled=0.95]{nimbussans} %option2
\DeclareSymbolFont{myoperators}{OT1}{lmr}{m}{n}
\SetSymbolFont{myoperators}{bold}{OT1}{lmr}{bx}{n}
\DeclareMathSymbol{+}{\mathbin}{myoperators}{"2B}
\DeclareMathSymbol{=}{\mathrel}{myoperators}{"3D}
\begin{document}
\begin{frame}{}
\[\text{1+1=2}\]
\[\text{1$+$1$=$2}\]
\[1+1=2\]
\end{frame}
\end{document}
编辑
根据user202729
的评论,我可以提出以下解决方案
\documentclass[10pt]{article}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
%\usepackage{lmodern} %option1
\usepackage{newtxtext} %option2
\DeclareSymbolFont{myoperators}{OT1}{lmr}{m}{n}
\SetSymbolFont{myoperators}{bold}{OT1}{lmr}{bx}{n}
\DeclareMathSymbol{\myplus}{\mathbin}{myoperators}{"2B}
\DeclareMathSymbol{\myequal}{\mathrel}{myoperators}{"3D}
\catcode`+=\active
\catcode`==\active
\def+{\ensuremath{\myplus}}
\def={\ensuremath{\myequal}}
\begin{document}
\[\text{1+1=2}\]
\[\text{1$+$1$=$2}\]
\[1+1=2\]
\end{document}
但我不确定这个解决方案是否只在这个 MWE 中有效,或者它是否能与许多其他包配合使用。我也不确定这是有效/合适的实现。