使用 lmodern 包时,我在数学模式中遇到了典型的字体大小问题:例如,我的一些方程式中的和不够大。为了解决这个问题,我遵循了 egreg 对以下问题的回答:tikzposter 中的 sum 符号太小
该解决方案适用于总和,但现在我的括号不再正确缩放。制作一个最小工作示例后,我注意到该问题与 fourier 包有关。所以我猜想某些地方存在不兼容问题。我知道 fourier 与其他数学字体包(如 mathptmx)不兼容,就我而言,它可能与 lmodern 有关。是否可以使用 fourier 和 lmodern 并避免我的方程式缩放问题?
梅威瑟:
\documentclass[a4paper, 12pt, twoside,openright]{report}
\usepackage{lmodern}
\usepackage[upright]{fourier}
% declare `cmex` to be arbitrary scalable
\DeclareFontShape{OMX}{cmex}{m}{n}{
<-7.5> cmex7
<7.5-8.5> cmex8
<8.5-9.5> cmex9
<9.5-> cmex10
}{}
\SetSymbolFont{largesymbols}{normal}{OMX}{cmex}{m}{n}
\SetSymbolFont{largesymbols}{bold} {OMX}{cmex}{m}{n}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{bm}
\begin{document}
\begin{equation}
U_{qq} = \sum_{i < j \leq N_m} q_i q_j \left[ \sideset{}{'}\sum_{\bm{n}} \frac{\text{erfc}(\alpha \lvert\bm{r}_{ij} + L\bm{n}\rvert)}{\lvert\bm{r}_{ij} + L\bm{n}\rvert} + \frac{1}{\pi L} \sum_{\bm{n} \not= 0} \frac{1}{n^2} \exp(- \frac{\pi^2 n^2}{\alpha^2 L^2} + \frac{2 \pi i}{L} \bm{n} \cdot \bm{r}_{ij}) \right]
\end{equation}
\end{document}
答案1
如果您\SetSymbolFont{largesymbols}{normal}{OMX}{cmex}{m}{n}
在加载之后这样做fourier
,那么您将覆盖大符号字体,结果将是一种可怕的混合。
如果在此之后加载,则加载lmodern
毫无意义。此外,不存在与大符号不可扩展性相同的问题,因为它提供的字体在一开始就是完全可扩展的。fourier
fourier
lmodern
这是一个例子。
\documentclass[a4paper, 12pt, twoside,openright]{report}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{bm}
\usepackage[upright]{fourier}
\begin{document}
\begin{equation}
U_{qq} = \sum_{i < j \leq N_m} q_i q_j \left[ \sideset{}{'}\sum_{\bm{n}} \frac{\text{erfc}(\alpha \lvert\bm{r}_{ij} + L\bm{n}\rvert)}{\lvert\bm{r}_{ij} + L\bm{n}\rvert} + \frac{1}{\pi L} \sum_{\bm{n} \not= 0} \frac{1}{n^2} \exp(- \frac{\pi^2 n^2}{\alpha^2 L^2} + \frac{2 \pi i}{L} \bm{n} \cdot \bm{r}_{ij}) \right]
\end{equation}
$\sum\displaystyle\sum${\Huge$\sum\displaystyle\sum$}
\end{document}
如您所见,字体大小适中。只是设计师选择的大求和符号比 Computer Modern 中的对应符号要小,在 Computer Modern 中,大符号默认为非常大的。
将求和符号的显示样式变大其实并不难,但我不推荐这样做。
\documentclass[a4paper, 12pt, twoside,openright]{report}
\usepackage[upright]{fourier}
\DeclareFontFamily{FMX}{futm-extra}{}
\DeclareFontShape{FMX}{futm-extra}{m}{n}{
<-> s * [1.2] fourier-mex
}{}
\DeclareSymbolFont{extralargesymbols}{FMX}{futm-extra}{m}{n}
\DeclareMathSymbol{\sum}{\mathop}{extralargesymbols}{"50}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{bm}
\DeclareMathOperator{\erfc}{erfc}
\begin{document}
\begin{equation}
U_{qq} = \sum_{i < j \leq N_m} q_i q_j
\biggl[ \sideset{}{'}\sum_{\bm{n}}
\frac{\erfc(\alpha \lvert\bm{r}_{ij} + L\bm{n}\rvert)}
{\lvert\bm{r}_{ij} + L\bm{n}\rvert} + \frac{1}{\pi L}
\sum_{\bm{n} \not= 0} \frac{1}{n^2} \exp(- \frac{\pi^2 n^2}{\alpha^2 L^2}
+ \frac{2 \pi i}{L} \bm{n} \cdot \bm{r}_{ij})
\biggr]
\end{equation}
\end{document}
我使用了\biggl
and\biggr
而不是\left
and \right
。更重要的是 的定义\erfc
,因为\text
是错误的(更可接受的是\mathrm
,但请参阅\mathrm 和 \operatorname 之间有什么区别?)
答案2
lmodern
这是混合和时出现问题的又一个例子fourier
。(这取决于它们的加载顺序。)
\documentclass{article}
%\usepackage{lmodern,fourier} %plus symbol displays
\usepackage{fourier,lmodern} %plus symbols does not display
\begin{document}
$a+b$
\end{document}