实验室笔记本的自定义“列表”命令

实验室笔记本的自定义“列表”命令

我用 LaTeX 保存了博士论文的实验笔记。我将其设置为每个“项目”都有自己的章节。

当我在笔记本中进行新记录时,我使用自定义的“记录命令”:

\newcommand{\entry}[2]{%
  \marginnote{#1}%
}

第一个字段是日期,第二个字段是条目内容的简要说明,例如

\entry{2015-04-08}{Information on geospatial data}

有没有办法为“条目”命令创建一个按章节分隔的“列表”功能,以便我可以快速概览我执行了哪些任务/实验以及何时执行了哪些任务/实验,而无需深入研究文档?这将包括字段#1#2

或者有更好的方法来设置它?如果可能的话,我宁愿使用命令,而不必切换到环境。

答案1

像这样吗?

我使用了标准book类,修改了外观(但没有修改逻辑)\entrytocloft包,以便自动将数据输入到.lab包含日期和注释的文件中。

这是使用\cft.....提供的各种命令排版的tocloft

此外,输出中每个章节后面都有一个空的分隔线\listoflabentries

\documentclass{book}

\usepackage{xpatch}
\usepackage{tocloft}
\usepackage{tcolorbox}
\usepackage{marginnote}



\newcommand{\listoflabentriesname}{List of Entries}
\newlistof[chapter]{labentries}{lab}{\listoflabentriesname}
\setlength{\cftlabentriesnumwidth}{3cm}

%%% no dots
\renewcommand{\cftlabentriesdotsep}{\cftnodots}

%% Stolen for tocloft documentation
\newlength{\mylen}
\setlength{\mylen}{0.5em}
\renewcommand{\cftlabentriespresnum}{\hfill} % note the double `l'
\renewcommand{\cftlabentriesaftersnum}{\hspace*{\mylen}}
\addtolength{\cftlabentriesnumwidth}{\mylen}

\newcommand{\entry}[2]{%
  \refstepcounter{labentries}
  \marginnote{#1}
  \begin{tcolorbox}[colback=yellow]
    #2
  \end{tcolorbox}
  \renewcommand{\thelabentries}{\bfseries #1} 
  % Adding the entry to the \jobname.lab file
  \addcontentsline{lab}{labentries}{\protect\numberline{\thelabentries}\bfseries#2}
}


\makeatletter
\xpatchcmd{\@chapter}{%
  \addtocontents{lof}{\protect\addvspace{10\p@}}}{%
  \addtocontents{lab}{\protect\addvspace{10\p@}}
  \addtocontents{lof}{\protect\addvspace{10\p@}}
}{\typeout{Patch success}}{}
\makeatother

\begin{document}

\listoflabentries

\chapter{First}
\entry{2015-04-08}{Information on geospatial data}

\chapter{Second}
\entry{Stardate 5934}{Captain's log: Data becomes sillier every day}
\entry{Stardate 5934.6}{Captain's log: Date with Dr. Beverly Crusher quite disappointing. Don't know what to do now}

\end{document}

在此处输入图片描述

相关内容