更改积分字体且不出现错误

更改积分字体且不出现错误

不久前,我想更改积分的字体,但不更改字体的其他部分。我最终做的只是将以下内容放入我的 .sty 文件中。

\DeclareFontFamily{U}{mathx}{\hyphenchar\font45}
\DeclareFontShape{U}{mathx}{m}{n}{<->mathx10}{}
\DeclareFontSubstitution{U}{mathx}{m}{n}
\DeclareSymbolFont{mathx}{U}{mathx}{m}{n}

\DeclareMathSymbol{\intop}  {\mathop}{mathx}{"B3}
\DeclareMathSymbol{\iintop} {\mathop}{mathx}{"B4}
\DeclareMathSymbol{\iiintop}{\mathop}{mathx}{"B5}
\DeclareMathSymbol{\ointop} {\mathop}{mathx}{"B6}
\DeclareMathSymbol{\oiintop}{\mathop}{mathx}{"B7}

这确实有效,但我收到 5 条(本质上等价的)错误消息,例如“\iint 已定义”。这些错误并没有造成任何损害——一切都编译得很好——但最好能摆脱它们,并可能在此过程中学习一些有关 TeX 的知识。有人知道如何摆脱这些错误消息吗?

谢谢!

编辑:下面是一个编译但产生上述错误的例子。

\documentclass{article}

\usepackage{pxfonts}
\usepackage{amsmath}
\usepackage{mathpazo}
\usepackage{amsthm}

% Different integral font
\DeclareFontFamily{U}{mathx}{\hyphenchar\font45}
\DeclareFontShape{U}{mathx}{m}{n}{<->mathx10}{}
\DeclareFontSubstitution{U}{mathx}{m}{n}
\DeclareSymbolFont{mathx}{U}{mathx}{m}{n}

\DeclareMathSymbol{\intop}  {\mathop}{mathx}{"B3}
\DeclareMathSymbol{\iintop} {\mathop}{mathx}{"B4}
\DeclareMathSymbol{\iiintop}{\mathop}{mathx}{"B5}
\DeclareMathSymbol{\ointop} {\mathop}{mathx}{"B6}
\DeclareMathSymbol{\oiintop}{\mathop}{mathx}{"B7}

\begin{document}

We say that a measurable function $f$ is of bounded mean oscillation if
\begin{align*}
    \|f\|_{BMO} := \sup_{B \text{ ball}} \left( \frac{1}{\mu(B)} \inf_{a\in\mathbb{R}} \int_B |f - a| \, d\mu \right) < \infty .
\end{align*}

\end{document}

答案1

同时加载pxfonts和是没有意义的mathpazo。两者都会为文本和数学选择自己的 Palatino 版本,并且相继加载将覆盖第一个加载的字体选择的任何字体。

此外,pxfonts数学字体的字距调整非常糟糕,并且mathpazo比较旧且缺乏维护。

为什么不加载 NewPX?

\documentclass{article}

\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{newpxtext,newpxmath}

% Different integral font
\DeclareFontFamily{U}{mathx}{}
\DeclareFontShape{U}{mathx}{m}{n}{<->mathx10}{}
\DeclareFontSubstitution{U}{mathx}{m}{n}
\DeclareSymbolFont{mathx}{U}{mathx}{m}{n}

\DeclareMathSymbol{\intop}  {\mathop}{mathx}{"B3}
\DeclareMathSymbol{\iintop} {\mathop}{mathx}{"B4}
\DeclareMathSymbol{\iiintop}{\mathop}{mathx}{"B5}
\DeclareMathSymbol{\ointop} {\mathop}{mathx}{"B6}
\DeclareMathSymbol{\oiintop}{\mathop}{mathx}{"B7}

\begin{document}

We say that a measurable function $f$ is of bounded mean oscillation if
\begin{equation*}
  \|f\|_{\mathrm{BMO}} := \sup_{B \text{ ball}} 
  \left( \frac{1}{\mu(B)} \inf_{a\in\mathbb{R}} \int_B |f - a| \, d\mu \right) < \infty .
\end{equation*}

\end{document}

在此处输入图片描述

mathpazo这是使用 NewPX 代替的输出

在此处输入图片描述

这是仅带有 () 的输出pxfonts,确实很拥挤:

在此处输入图片描述

答案2

你需要放在pxfonts后面。

\usepackage{amsmath}
\usepackage{mathpazo}
\usepackage{amsthm}
\usepackage{pxfonts}
\documentclass{article}

\usepackage{amsmath}
\usepackage{mathpazo}
\usepackage{amsthm}
\usepackage{pxfonts}

% Different integral font
\DeclareFontFamily{U}{mathx}{\hyphenchar\font45}
\DeclareFontShape{U}{mathx}{m}{n}{<->mathx10}{}
\DeclareFontSubstitution{U}{mathx}{m}{n}
\DeclareSymbolFont{mathx}{U}{mathx}{m}{n}

\DeclareMathSymbol{\intop}  {\mathop}{mathx}{"B3}
\DeclareMathSymbol{\iintop} {\mathop}{mathx}{"B4}
\DeclareMathSymbol{\iiintop}{\mathop}{mathx}{"B5}
\DeclareMathSymbol{\ointop} {\mathop}{mathx}{"B6}
\DeclareMathSymbol{\oiintop}{\mathop}{mathx}{"B7}

\begin{document}

We say that a measurable function $f$ is of bounded mean oscillation if
\begin{align*}
    \|f\|_{BMO} := \sup_{B \text{ ball}} \left( \frac{1}{\mu(B)} \inf_{a\in\mathbb{R}} \int_B |f - a| \, d\mu \right) < \infty .
\end{align*}

\end{document}

在此处输入图片描述

答案3

我已经删除了所有错误消息。查看代码中的区别。

\documentclass{article}

\usepackage{amsmath}

\DeclareFontFamily{U}{mathx}{\hyphenchar\font45}
\DeclareFontShape{U}{mathx}{m}{n}{<->mathx10}{}
\DeclareFontSubstitution{U}{mathx}{m}{n}
\DeclareSymbolFont{mathx}{U}{mathx}{m}{n}

\DeclareMathSymbol{\intop}  {\mathop}{mathx}{"B3}
\DeclareMathSymbol{\iintop} {\mathop}{mathx}{"B4}
\DeclareMathSymbol{\iiintop}{\mathop}{mathx}{"B5}
\DeclareMathSymbol{\ointop} {\mathop}{mathx}{"B6}
\DeclareMathSymbol{\oiintop}{\mathop}{mathx}{"B7}
\usepackage{pxfonts}
\usepackage{mathpazo}
\let\openbox\relax
\let\proof\relax
\let\endproof\relax
\usepackage{amsthm}
\begin{document}
We say that a measurable function $f$ is of bounded mean oscillation if
\begin{align*}
    \|f\|_{BMO} := \sup_{B \text{ ball}} \left( \frac{1}{\mu(B)} \inf_{a\in\mathbb{R}} \int_B |f - a| \, d\mu \right) < \infty .
\end{align*}

\end{document}

在此处输入图片描述

相关内容