任务包在显示数学运算后插入了太多垂直空间:
\documentclass{article}
\usepackage{tasks}
\begin{document}
\begin{tasks}
\task \[ X\rule{10cm}{1pt}X \]
\task \[ Y\rule{10cm}{1pt}Y \]
\task \[ Z\rule{10cm}{1pt}Z \]
\end{tasks}
\begin{enumerate}
\item \[ X\rule{10cm}{1pt}X \]
\item \[ Y\rule{10cm}{1pt}Y \]
\item \[ Z\rule{10cm}{1pt}Z \]
\end{enumerate}
\end{document}
修复此问题的正确方法是什么?
我知道我可以使用 手动调整垂直空间\vspace*{-1\baselineskip}
,例如,或者使用许多其他技巧。我想知道我是否缺少一些配置选项,或者这种行为是否在某种程度上是预期和可取的,或者这是否是任务包裹。
答案1
如果您\[...\]
用替换$...$
,则您有内联公式。当您另外需要 内部的行为时,您可以在美元符号之间displaymath
添加。\displaystyle
\documentclass{article}
\usepackage{tasks}
\begin{document}
\begin{tasks}
%\task \[ X\rule{10cm}{1pt}X \]
\task $ Y\rule{10cm}{1pt}Y $
%\task \[ Z\rule{10cm}{1pt}Z \]
\task $\displaystyle Z\rule{10cm}{1pt}Z $
\end{tasks}
\begin{enumerate}
% \item \[ X\rule{10cm}{1pt}X \]
\item $ X\rule{10cm}{1pt}X $
\item \[ Y\rule{10cm}{1pt}Y \]
\item \[ Z\rule{10cm}{1pt}Z \]
\end{enumerate}
\end{document}
答案2
另一个解决方案是改变\abovedisplayskip
和的值\belowdisplayskip
本地并使用 amsmath 环境:
\documentclass{article}
\usepackage{geometry}
\usepackage{mathtools}
\usepackage{tasks}
\begin{document}
{%% do not forget to chage the default values inside a group
\abovedisplayskip=-\baselineskip
\belowdisplayskip=0pt
\begin{tasks}
\task\begin{gather}X\rule{10cm}{1pt}X \end{gather}
\task \[ Y\rule{10cm}{1pt}Y \]
\task \begin{gather} Z\rule{10cm}{1pt}Z \end{gather}
\end{tasks}
\begin{subequations}
\begin{enumerate}
\item \begin{gather}X\rule{10cm}{1pt}Y \end{gather}
\item \begin{gather}Y\rule{10cm}{1pt}Z\end{gather}
\item \begin{gather}Z\rule{10cm}{1pt}Y \end{gather}
\end{enumerate}
\end{subequations}
}%
\end{document}