我想使用 documentclassachemso
来格式化我的补充材料。但是,此类在不同高度的方程周围放置了不同的垂直空间。在以下示例中:
\documentclass[journal=jacsat,manuscript=article]{achemso}
\usepackage{amsmath,amssymb}
\title{Title}
\begin{document}
\setlength{\abovedisplayskip}{5pt}
\setlength{\belowdisplayskip}{5pt}
\setlength{\abovedisplayshortskip}{5pt}
\setlength{\belowdisplayshortskip}{5pt}
\noindent Bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla
%
\begin{equation}
s=\sum\limits_{i=\sum\limits_{j=1}^{3}M_j}^{\sum\limits_{k=1}^{3}m_k}a_i,
\end{equation}
%
Bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla
%
\begin{equation}
E=mc^2
\end{equation}
%
Bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla
\end{document}
方程 (2) 周围的垂直空间比方程 (1) 周围的垂直空间大得多。有没有办法让这个包不根据方程高度改变方程周围的垂直空间?
答案1
标准设置适用\doublespacing
于setspace
包,因为目的是像手稿一样。您可以使用以下方式关闭它:
\AtBeginDocument{\singlespacing}
这应该会让你看起来和article
班级一样。
答案2
achesmo
默认情况下,加载setspace
会放大显示跳过,您可以使用以下方法防止这种情况
\RequirePackage[nodisplayskipstretch]{setspace}
\documentclass[journal=jacsat,manuscript=article]{achemso}
由于内置 TeX 对高线和深线的处理,仍然存在一些差异。
第二个等式得到了预期的间距,下面增加的空间为
\belowdisplayskip
+\baselineskip
- 等式的深度 - 文本的高度Blah...
(5pt -3pt + 23.99748pt - 8.33331pt =17.66417pt)第一个等式非常深奥,所以
\baselineskip
不使用,所以你得到
\belowdisplayskip
+\lineskip
(5pt+1pt=6pt)
如果您不被下标的结构所分散注意力(例如 TeX),那么会更容易看到发生了什么,在这种不寻常的情况下,下标具有其自身的明显“基线”并且占据了表达式总宽度的很大一部分。
\documentclass{article}
\begin{document}
\newcommand\test[1]{
\parbox[t]{1cm}{%
#1:xxx
\[
x_{\rule{1pt}{#1pt}}
\]
yyyy}}
\test{0}
\test{5}
\test{10}
\test{15}
\test{20}
\test{25}
\test{30}
\end{document}
TeX 在此处保持了公式与以下文本的基线间距,该间距与数学公式的基线相距甚远X到 yyy 的基线,但是一旦表达式的深度太大,就会放弃基线间距,并且为了避免过度打印,yyy 文本会向下移动足以提供\lineskip
间隙。