如何定义“实验”部分?

如何定义“实验”部分?

我正在使用标准书籍类编写一份简短的报告。在报告中,我们描述了大约 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}

相关内容