我想以显示样式排版一个相当复杂的分数,并由段落文本包围。这是一个 MWE。
\documentclass{memoir}
\usepackage{libertine}
\usepackage[libertine]{newtxmath}
\usepackage{lipsum}
\usepackage{amsmath}
\begin{document}
The quick brown fox jummped over the lazy dog.
\(m = \dfrac{\left(\dfrac{r}{1,200}\right)\left(1 + \dfrac{r}{1,200}\right)^N}{\left(1 + \dfrac{r}{1,200}\right)^N - 1}P\)
The quick brown fox jumped over the lazy dog.
This line has the correct leading.
\end{document}
请注意,分数前后的行距有点紧,例如第一行的“p”下面。我无法将此行更改为 AMS 的环境align
,而且我不愿意使用tfrac
s。有没有办法让 LaTeX 补偿大分数周围的行距?
答案1
更改\lineskip
特定段落的;使用\Big
和不自动调整大小,以减少不美观;稍微移动指数并在 P 前留出一些空间。不要对四位数字使用千位分隔符。如果您确实要这样做,请使用{,}
以避免不必要的空格(或使用\num
来自siunitx
,并进行适当的设置)。
\documentclass{memoir}
\usepackage{libertine}
\usepackage[libertine]{newtxmath}
\usepackage{lipsum}
\usepackage{amsmath}
\begin{document}
\lipsum[2]
\begingroup\setlength{\lineskip}{3pt}%
The quick brown fox jumped over the lazy dog, while the smart duck
flew away saying
\(m = \dfrac{\Bigl(\dfrac{r}{1200}\Bigr)\Bigl(1 + \dfrac{r}{1200}\Bigr)^{\!N}}
{\Bigl(1 + \dfrac{r}{1200}\Bigr)^{\!N} - 1}\,P\).
Again the quick brown fox jumped over the lazy dog, while the smart duck
flew away. This line has the correct leading.\par\endgroup
\lipsum[3]
\end{document}
你很幸运,当我接电话的时候,收音机正在播放瓦格纳的《唐豪瑟》的序曲,没有什么比这更糟糕的了,即使是这张糟糕的排版。
答案2
可以将 包裹\dfrac
在 中\addstackgap[<length>]{}
,这会在项目上方和下方添加一个高度为 的空白缓冲区<length>
。在这里,我将缓冲区设置为 5pt。
\documentclass{memoir}
\usepackage{libertine}
\usepackage[libertine]{newtxmath}
\usepackage{lipsum}
\usepackage{amsmath}
\usepackage{stackengine}
\stackMath
\begin{document}
The quick brown fox jummped over the lazy dog.
\(m = \addstackgap[5pt]{
\dfrac{\left(\dfrac{r}{1,200}\right)\left(1 + \dfrac{r}{1,200}\right)^N}
{\left(1 + \dfrac{r}{1,200}\right)^N - 1}
}P\)
The quick brown fox jumped over the lazy dog.
This line has the correct leading.
\end{document}