表格内的参考部分包括该部分中设置的标签

表格内的参考部分包括该部分中设置的标签

LS,

对于可以添加和删除包含某个部分的 .tex 文件的模块化文档,我正在寻找一种方法来包含这些部分的概览表。在此表中,还需要显示在所述部分中设置的标签。

例如:

\section{Name of finding 1}
\label{not solved}
\label{Critical}

我试图将其显示在表格中:

发现: 地位: 严重性:
发现 1 的名称 未解决 批判的
发现 2 的名称 解决了 低的
发现 3 的名称 未解决 低的
ETC...

具有不同发现的部分的大小是可变的,因此需要生成的表格也应该基于当前存在的部分来生成。

目录似乎能够引用所有不同的部分,但是我还没有发现任何定制目录的可能性,也没有发现包括在特定部分中设置的不同标签的可能性。

有没有什么软件包可以实现这个功能?

谢谢!

答案1

以下是一个想法:

您不能\label为此使用该命令,因为它已经具有含义并且每个标签必须是唯一的。

但是我们可以定义一个新命令\Label,然后最好给它两个参数,而不是使用两个\Label命令。

必须将命令\section更改为将章节标题放入“变量”中,然后命令\Label可以拾取它并将其与其两个参数一起放在列表中。

\documentclass{article}

\usepackage{xparse} % Can be omitted with a recent LaTeX distribution
\usepackage{tocloft}
\usepackage{lipsum}

\newlistof{finding}{sec}{List of Findings}

\newcommand{\CurrentSection}{}
\newcommand{\origsection}{}
\let \origsection\section
% Redefine \section to pick up 3 arguments (but not if \section*)
\RenewDocumentCommand \section { s O{#3} m }
{
  \IfBooleanTF{#1}% test if * present
    {\origsection*{#3}}
    {\origsection[#2]{#3}}
  \renewcommand{\CurrentSection}{#3}
}
\newcommand{\Label}[2]{%
  \addtocontents{sec}{\CurrentSection & #1 & #2\\\protect\hline}
}

\AtBeginDocument{%
  \addtocontents{sec}{%
    \begin{tabular}{|l|l|l|}
      \protect\hline
      \textbf{Finding:} & \textbf{Status:} & \textbf{Severity:} \\
      \protect\hline
    }
}

\AtEndDocument{\addtocontents{sec}{\end{tabular}}}

\begin{document}

\tableofcontents
\newpage
\listoffinding
\newpage

\section{First Section}\Label{Not Solved}{Critical}

\lipsum

\section{SECOND Section}\Label{Not Solved}{Critical}

\lipsum
\section{Third Section}\Label{Solved}{Critical}

\lipsum
\section{Fourth Section}\Label{Not Solved}{Not Critical}

\lipsum
\section{Fifth Section}\Label{Solved}{Not Critical}

\lipsum
\section{SIXTH Section}\Label{Not Solved}{Very Critical}

\lipsum

\end{document}

是否获得所需的格式取决于您。

在此处输入图片描述

相关内容