使行间距保持不变

使行间距保持不变

考虑这个玩具例子:

\documentclass[11pt]{article}
\usepackage{amsmath}

\begin{document}

\begin{itemize}
    \item $\displaystyle{\lim_{x\to x_0}f(x)}$
    \item $\displaystyle{\lim_{x\to x_0}f(x)}$
    \item $\displaystyle{\lim_{x\to x_0}f(x)}$
    \item $\displaystyle{\sum_{i=1}^N i^2}$
    \item $\displaystyle{\lim_{x\to x_0}f(x)}$
\end{itemize}

\end{document}  

输出结果如下:

在此处输入图片描述

有没有“正确”的方法让子弹之间的距离保持不变?我知道我可以使用一些技巧,例如

\begin{itemize}
\itemsep2ex
    \item $\displaystyle{\lim_{x\to x_0}f(x)}$
    \item $\displaystyle{\lim_{x\to x_0}f(x)}$
    \item $\displaystyle{\lim_{x\to x_0}f(x)}$
    \item \vspace{-4mm} $\displaystyle{\sum_{i=1}^N i^2}$\vspace{-2mm}
    \item $\displaystyle{\lim_{x\to x_0}f(x)}$
\end{itemize}

这给出了一个更好的解决方案:

在此处输入图片描述

但这似乎不是正确的方法(也因为它需要我通过目视检查来估计空间)。有没有办法强制子弹之间的距离保持不变?

答案1

也许这里需要结合多种因素:

  • 使用 降低奇数公式的高度\smash;这实际上会使其具有 的高度/深度0pt

  • 使用 将奇数高度替换为其他高度\vphantom{<stuff>};这不会打印<stuff>,而是插入一个宽度为零且高度/深度为<stuff>...的框,就像垂直支柱一样。

  • 进行调整itemsep以使视觉外观可接受;enumitem对此来说最容易。

在此处输入图片描述

\documentclass{article}

\usepackage{enumitem}

\begin{document}

\noindent
\begin{minipage}[t]{.3\linewidth}
\begin{itemize}
  \item $\displaystyle \lim_{x\to x_0}f(x)$
  \item $\displaystyle \lim_{x\to x_0}f(x)$
  \item $\displaystyle \sum_{i=1}^N i^2$
  \item $\displaystyle \lim_{x\to x_0}f(x)$
\end{itemize}
\end{minipage}
\hfill
\begin{minipage}[t]{.3\linewidth}
\begin{itemize}
  \item $\displaystyle \lim_{x\to x_0}f(x)$
  \item $\displaystyle \lim_{x\to x_0}f(x)$
  \item $\displaystyle \vphantom{\lim_{x_0}}\smash{\sum_{i=1}^N i^2}$
  \item $\displaystyle \lim_{x\to x_0}f(x)$
\end{itemize}
\end{minipage}
\hfill
\begin{minipage}[t]{.3\linewidth}
\begin{itemize}[itemsep=2ex]
  \item $\displaystyle \lim_{x\to x_0}f(x)$
  \item $\displaystyle \lim_{x\to x_0}f(x)$
  \item $\displaystyle \vphantom{\lim_{x_0}}\smash{\sum_{i=1}^N i^2}$
  \item $\displaystyle \lim_{x\to x_0}f(x)$
\end{itemize}
\end{minipage}

\end{document}

左侧列表是原始的、未调整的列表。中间列表使用\smash来移除 的高度/深度,\sum但也插入\vphantom列表中剩余部分中最高项目的 (在本例中为\displaystyle\lim_{x_0})。右侧列表通过设置 来在项目之间添加一些垂直空间itemsep=2ex

答案2

这是为 TABstack 量身定制的。在这里,30pt选择为项目间基线跳跃,2ex选择为项目符号和材料本身之间的左/右间隙。

\documentclass{article}
\usepackage{tabstackengine}[2016-10-04]
\begin{document}
\setstackgap{L}{30pt}
\TABstackMath
\TABstackMathstyle{\displaystyle}
\setstacktabulargap{2ex}
\protect\tabularLongstack{cl}{
    \bullet & \lim_{x\to x_0}f(x)\\
    \bullet & \lim_{x\to x_0}f(x)\\
    \bullet & \lim_{x\to x_0}f(x)\\
    \bullet & \sum_{i=1}^N i^2\\
    \bullet & \lim_{x\to x_0}f(x)
}
\end{document}

在此处输入图片描述

相关内容