我正在使用标准书籍类编写一份简短的报告。在报告中,我们描述了大约 10 个实验。我想定义一个名为的分段命令experiment
。此分段命令应该与标准分段的命令非常相似。如果可能的话,我希望的唯一区别是它会发出一个新页面,并且在内容中,实验必须在章节末尾显示。
Chapter 1 Introduction 12
section 2 .....
section 3 .....
experiment 1.2 ....
experiment 1.3 ....
experiment 1.4 ....
答案1
以下是使用experiment
环境的一个可能解决方案:环境放置以下形式的标题实验 #其风格与标准章节类似,使用计数器,每出现一个新章节都会重置一次;环境还会在目录中生成一个条目。但是,条目会出现在使用环境的位置(否则,正如 Unapiedra 在评论中提到的,目录中的顺序会很奇怪);如果您希望条目出现在章节条目的末尾,则必须在那里使用环境。
\documentclass{book}
\usepackage{lipsum}% just to generate text for the example
\newcounter{exp}
\renewcommand\theexp{\thechapter.\arabic{exp}}
\newcommand\experimentname{Experiment}
\makeatletter
\@addtoreset{exp}{chapter}
\makeatother
\newenvironment{experiment}
{\clearpage
%\phantomsection % un-comment if hyperref is to be used
\stepcounter{exp}
\addcontentsline{toc}{section}{\experimentname~\theexp}
\noindent{\Large\bfseries\experimentname~\theexp}%
\par\vspace*{2.3ex plus .2ex}\noindent\ignorespaces}
{\clearpage}
\begin{document}
\tableofcontents
\chapter{Test Chapter}
\section{Test Section One One}
\lipsum[1]
\begin{experiment}
\lipsum*[1]
\end{experiment}
\section{Test Section One Two}
\lipsum[1]
\begin{experiment}
\lipsum*[1]
\end{experiment}
\end{document}
另一个选择是创建一个新的实验列表,类似于标准的“列表...”。具体操作如下:
\documentclass{book}
\usepackage{lipsum}
\newcounter{exp}
\renewcommand\theexp{\thechapter.\arabic{exp}}
\newcommand\experimentname{Experiment}
\newcommand\listexperimentname{List of Experiments}
\makeatletter
\@addtoreset{exp}{chapter}
\newcommand\listofexperiments{\chapter*{\listexperimentname}\@starttoc{exp}}
\makeatother
\newenvironment{experiment}
{\clearpage
%\phantomsection % un-comment if hyperref is to be used
\stepcounter{exp}
\addcontentsline{exp}{section}{\experimentname~\theexp}
\noindent{\Large\bfseries\experimentname~\theexp}%
\par\vspace*{2.3ex plus .2ex}\noindent\ignorespaces}
{\clearpage}
\begin{document}
\tableofcontents
\listofexperiments
\chapter{Test Chapter}
\section{Test Section One One}
\lipsum[1]
\begin{experiment}
\lipsum*[1]
\end{experiment}
\section{Test Section One Two}
\lipsum[1]
\begin{experiment}
\lipsum*[1]
\end{experiment}
\end{document}