我如何强制 multicol 首先水平运行而不是垂直运行?

我如何强制 multicol 首先水平运行而不是垂直运行?

使用标准enumerate环境将导致multicols以下结果: 当前结果

我最终会得到什么:

a b c
d e

代替:

a c e
b d

我希望项目始终从左到右然后从上到下运行,而不是从上到下然后从左到右运行。

答案1

您可以通过两种方式来完成此操作:要么shortenumerate使用环境(来自shortlst包),使用一个小补丁来让您选择对齐的列数(键nc),要么tasks使用包,不幸的是它与上面的枚举不完全一致,所以我不得不添加一个 hack。

以下是两种方式的演示:

\documentclass[12pt]{article}%
\usepackage[utf8]{inputenc}
\usepackage{tasks}
\settasks{counter-format=(tsk[a])}
\usepackage{mathtools, bigstrut}
\usepackage{siunitx}
\sisetup{per-mode=symbol}

\usepackage{shortlst,setspace,xkeyval, tasks}%
    \makeatletter
    \newcounter{ncol}
    \define@key{lex}{nc}[3]{\setcounter{ncol}{#1}}%% 3 columns by default
    \newenvironment{tabenumerate}[1][]{%
    \setkeys{lex}{nc,#1}
    \settowidth{\labelwidth}{\mbox{(m)}}
    \setlength{\leftmargini}{\dimexpr\labelwidth+\labelsep\relax}%[1][3]
    \setlength{\shortitemwidth}{\dimexpr\linewidth/\value{ncol}-\labelwidth-2\labelsep\relax}%
    \renewcommand{\labelenumi}{\ensuremath{\arabic{enumi}.}}
    \begin{shortenumerate}}%
    {\end{shortenumerate}
     }%
\makeatother

\begin{document}

\begin{enumerate}
\item \everymath{\displaystyle}
\begin{tabenumerate}[nc = 3]
\item $\begin{aligned}[t]
  s & = \frac{d}{t} \\[1ex] s & = \frac{\SI{10}{\m}}{\SI{10}{\s}} \\ s & = \SI{10}{\m\per\s}
\end{aligned}$
\item $\begin{aligned}[t]
  s & = \frac{d}{t} \\[1ex] s & = \frac{\SI{1000}{\m}}{\SI{50}{\s}} \\ s & = \SI{20}{\m\per\s} \\
\end{aligned}$
\item $\begin{aligned}[t]
  s & = \frac{d}{t} \\[1ex] s & = \frac{\SI{630}{\m}}{\SI{31}{\s}} \\ s & = \SI{30}{\m\per\s}
\end{aligned}$
\item $\begin{aligned}[t]
  s & = \frac{d\strut}{t} \\[1ex] s & = \frac{\SI{200}{\m}}{\SI{25}{\s}} \\ s & = \SI{8}{\m\per\s}
\end{aligned}$
\item $\begin{aligned}[t]
  s & = \frac{d}{t} \\[1ex] s & = \frac{\SI{156}{\m}}{\SI{9}{\s}} \\ s & = \SI{10}{\m\per\s}
\end{aligned}$
\end{tabenumerate}
\bigskip
\item \leavevmode\vspace*{-\dimexpr\baselineskip + \topsep + \partopsep}
%
\begin{tasks}[label-offset=0.75em](3)
\task $\begin{aligned}[t]
  s & = \frac{d}{t} \\[1ex] s & = \frac{\SI{10}{\m}}{\SI{10}{\s}} \\[0.6ex] s & = \SI{10}{\m\per\s}
\end{aligned}$
\task $\begin{aligned}[t]
  s & = \frac{d}{t} \\[1ex] s & = \frac{\SI{1000}{\m}}{\SI{50}{\s}} \\[0.6ex] s & = \SI{20}{\m\per\s} \\
\end{aligned}$
\task $\begin{aligned}[t]
  s & = \frac{d}{t} \\[1ex] s & = \frac{\SI{630}{\m}}{\SI{31}{\s}} \\[0.6ex] s & = \SI{30}{\m\per\s}
\end{aligned}$
\task $\begin{aligned}[t]
  s & = \frac{d}{t} \\[1ex] s & = \frac{\SI{200}{\m}}{\SI{25}{\s}} \\[0.6ex] s & = \SI{8}{\m\per\s}
\end{aligned}$
\task $\begin{aligned}[t]
  s & = \frac{d}{t} \\[1ex] s & = \frac{\SI{156}{\m}}{\SI{9}{\s}} \\[0.6ex] s & = \SI{10}{\m\per\s}
\end{aligned}$
\end{tasks}
\end{enumerate}

\end{document} 

在此处输入图片描述

相关内容