在一份报告中,我将多个章节作为单独的 tex 文件,并通过 将其包含进来\input{chapter_title}
。此外,我还有一个第 0 章,作为介绍。介绍应包含每个章节的单独段落,粗略描述该章节的内容。章节出现的顺序尚未固定,可能会更改几次。由于我有点懒,所以我想在实际章节文件中包含简短的描述段落,并让介绍章节根据调用顺序生成描述段落的顺序\input{chapter}
。
文档类别是scrreprt
。
章节 tex 文件中定义的章节描述段落可能如下所示:
\<some_reference_to_current_chapter> describes...
或者
In \<some_reference_to_current_chapter> ... will be explained.
应自动生成对当前章节的引用,以便结果始终按照章节的顺序排列,并且描述段落中的章节编号与介绍章节中打印的章节编号始终保持一致。
我认为这可能通过类似于目录的方式实现,只是不使用章节标题而是使用描述段落。
有没有简单的方法可以实现这一点?
答案1
你可以使用该tocloft
包创建自己的类似目录的列表。最小示例:
\documentclass[totocnumbered]{article}
\usepackage{lipsum}
\usepackage[titles]{tocloft}
\newlistof{intro}{intro}{Introductions}
\newcommand{\introduction}[1]{%
\refstepcounter{intro}%
\addtocontents{intro}{#1}%
\addtocontents{intro}{}%
}
\begin{document}
\listofintro
\section{First}
\label{sec:first}
\introduction{Chapter \ref{sec:first} has the first two paragraphs of \emph{Lorem ipsum}. This is a very interesting start to this document.}
\lipsum[1-2]
\section{Second}
\label{sec:second}
\introduction{In Chapter \ref{sec:second}, we find the third and fourth paragraph.}
\lipsum[3-4]
\end{document}
我没有找到一种简单的方法来获得一个\thischapter
(或类似的)宏,你可以在介绍中使用,但是使用\label
和\ref
对章节应该足够公平。此外,这还会给你正确的超链接(如果你想要的话)。
编辑1:如果您还加载该包subfigure
,则必须tocloft
使用以下选项加载subfigure
:
\usepackage[titles,subfigure]{tocloft}
编辑2:如果您希望在介绍中不显示“介绍”标题(请注意,您可以调整此标签),您可以在调用后重新定义宏,\newlistof
如下\listofintro
所示(学分):
\makeatletter
\renewcommand\listofintro{%
\@starttoc{intro}%
}
\makeatother
副作用是您之前还没有插入分页符。
答案2
第一个版本没有超链接,tcolorbox
只是一个选项,可以删除。
\documentclass{book}
\usepackage[most]{tcolorbox}
\usepackage{blindtext}
\makeatletter
\newcounter{chapterdesc}
\newcommand{\l@cd}[2]{%
\begin{tcolorbox}[enhanced jigsaw, sharp corners, colback=white!60!yellow,colframe=red!80!black]
In \cref{#1} we will see #2
\end{tcolorbox}
}
\newcommand{\chapterdescription}[2]{%
\addtocontents{cd}{\protect\contentsline{cd}{#1}{#2}}
}
\newcommand{\listofchapterdescriptions}{%
\@starttoc{cd}
}
\makeatother
\usepackage{cleveref}
\begin{document}
\listofchapterdescriptions
\chapterdescription{foochapter}{This is the first
chapter description}
\chapter{Foo}\label{foochapter}
\chapterdescription{somechapter}{\blindtext
\blindtext}
\chapter{Third}\label{somechapter}
\chapterdescription{foobarchapter}{This is the second chapter description}
\chapter{Second}\label{foobarchapter}
\end{document}