表格列中的嵌套项目

表格列中的嵌套项目

我发现将大纲保存在 omnioutliner 中非常有用,因为您可以将大纲和表格功能合二为一。我想编写一个宏,将大纲文档转换为 LaTeX 表格以供导出。

第一列是嵌套的大纲,右侧有多列。

以下是一个示例图:

截屏

我没有一个可以工作的最小工作示例,因为每次我尝试这样做时都会出错。这是一个嵌套 itemize 的示例。我不知道如何在表格中设置它,如上图所示。

\documentclass{article}

\begin{document}

\begin{itemize}
  \item hello
  \item world
  \begin{itemize}
    \item nested hello
    \item nested world 
  \end{itemize}
\end{itemize}

\end{document} 

我希望能够在大纲右侧有列来填充数据

关于如何开始或如何在 LaTeX 中表示这一点,有什么建议吗?

谢谢。

答案1

由于您本质上想要一个在第一列带有计数器的表格,因此您可以尝试以下操作。除了enumeratetabular环境之外,您还声明一个新环境enumtab,并按\enum\subenum\subsubenum项目进行逐项列出。

可以通过设置的长度来控制子层的缩进\enumindent,为计数器保留的空间由的长度控制\enumcounterwidth

这也许可以进一步优化,但至少应该给你提供一些开始。

\documentclass{scrartcl}

\newcounter{items}
\newcounter{subitems}
\newcounter{subsubitems}
\newlength{\enumindent}
\newlength{\enumcounterwidth}
\setlength{\enumindent}{1pc}
\setlength{\enumcounterwidth}{1.4pc}

\newcommand{\enum}{
  \stepcounter{items}\setcounter{subitems}{0}%
  \makebox[\enumcounterwidth][l]{\arabic{items}.}
 }
\newcommand{\subenum}{
  \stepcounter{subitems}\setcounter{subsubitems}{0}%
  \hspace{\enumindent}\makebox[\enumcounterwidth][l]{\arabic{subitems}.}
 }
\newcommand{\subsubenum}{
  \stepcounter{subsubitems}%
  \hspace{2\enumindent}\makebox[\enumcounterwidth][l]{\arabic{subsubitems}.}
 }

\newenvironment{enumtab}[1]{
  \setcounter{items}{0}
  \setcounter{subitems}{0}
  \setcounter{subsubitems}{0}

  \begin{tabular}{#1}
 }{
  \end{tabular}
 }

\begin{document}
\begin{enumtab}{ll}\hline
  Column 1       & Column 2\\\hline
  \enum Cell 1/1  & Cell 1/2\\
  \enum Cell 2/1  & Cell 2/2\\
  \subenum Cell 2.1/1  & Cell 2.1/2\\
  \subenum Cell 2.2/1  & Cell 2.2/2\\
  \subsubenum Cell 2.2.1/1  & Cell 2.2.1/2\\
  \subenum Cell 2.3/1  & Cell 2.3/2\\
  \subsubenum Cell 2.3.1/1  & Cell 2.3.1/2\\
  \enum Cell 3/1  & Cell 3/2\\
  \subenum Cell 3.1/1  & Cell 3.1/2\\
  \enum Cell 4/1  & Cell 4/2\\
  \enum Cell 5/1  & Cell 5/2\\
  \enum Cell 6/1  & Cell 6/2\\
  \enum Cell 7/1  & Cell 7/2\\
  \enum Cell 8/1  & Cell 8/2\\
  \enum Cell 9/1  & Cell 9/2\\
  No enumerate   & No enumerate\\
  \enum Cell 10/1  & Cell 10/2\\
  \enum Cell 11/1  & Cell 11/2\\
  \enum Cell 12/1  & Cell 12/2\\
  \enum Cell 13/1  & Cell 13/2\\
  \enum Cell 14/1  & Cell 14/2\\
  \enum Cell 15/1  & Cell 15/2\\\hline
\end{enumtab}
\end{document}

相关内容