\autorows 样式表具有自定义列和动态行跨越

\autorows 样式表具有自定义列和动态行跨越

我正在尝试创建一个类似于回忆录的表格环境\autorow(因为我可以提供列表形式的内容以及列数),但要求更复杂。我需要能够使用自定义列(类似于我对 \newcolumntype 的操作),以便我可以为每个单元格添加自动自定义编号。我需要能够为表格指定一个明确的宽度(我们称之为 x),并将项目添加到表格中,这样如果在行中添加项目会导致该行的总长度超过 x,则该项目将作为跨列单元格添加到下一行。即使放在第一列中,长度超过 x 的项目也应该允许溢出或换行在该单元格/行内。行应左对齐。以下是说明所需结果的模型:

预期结果

我使用以下解决方案实现了自动编号先前这个问题

我意识到这个问题的解决方案可能非常复杂;仅仅知道使用哪种方法就会有很大帮助,因为我期望一个明确的解决方案可能远远超出了要求其他人花时间写作的合理范围。当然,如果我忽略了一些简单的解决方案,那就太好了。

答案1

正如评论中所说,避免tabu这种情况并使用tasks包。这是一个例子。

\documentclass{article}
\usepackage[more]{tasks}

% new list-like environment
% \NewTasks[options]{name}[separator](default number of columns)
\NewTasks[style=enumerate,counter-format=tsk[1]),label-width=2ex]{myenumerate}[\item](3)

\usepackage{kantlipsum}% insert text fragments
\begin{document}

\kant[1]

\begin{myenumerate}
  \item Added normally
  \item two
  \item three
  \item four
  \item*(2) This will occupy two columns as it is bigger
  \item! This will occupy three columns as it is very much bigger and bigger This will occupy three columns as it is very much bigger and bigger
  \item*(2) Again more columns text Again more columns text Again more columns text
  \item eight
  \item nine
\end{myenumerate}

\kant[2]

\begin{tasks}[style=enumerate,counter-format=tsk[1]),item-indent=0em,label-width=2ex](3)
  \task Added normally
  \task two
  \task three
  \task four
  \task*(2) This will occupy two columns as it is bigger
  \task! This will occupy three columns as it is very much bigger and bigger This will occupy three columns as it is very much bigger and bigger
  \task*(2) Again more columns text Again more columns text Again more columns text
  \task eight
  \task nine
\end{tasks}

\end{document}

在此处输入图片描述

相关内容