如何只包含文档中某一章节的内容?

如何只包含文档中某一章节的内容?

我正在使用一种特殊格式的论文格式,称为authesis。它包含许多章节。我想在生成的 PDF 中仅包含章节内容,而不包含章节编号或标题名称。例如,如果章节编号为“第 1 章”,标题为“简介”且有许多小节,则内容必须仅包含小节及其内容。章节编号和标题必须不存在。有什么办法可以做到这一点吗?

答案1

这是一个版本book(可能适用于大多数具有 \chapter结构级别的其他类,但还不适用于memoir(目前))。

仅仅像 touhami 所建议的那样说\let\chapter\@gobble是不够的(虽然是个好主意!),因为\chapter调用\@chapter,通常有一个可选参数)

我宁愿抓住\chapter它并稍微重新定义它(但需要最新xparse版本)

重置列表中的计数器会被自动检测,并通过 循环chapter从列表中删除。\counterwithout\loopthroughresetlist

\documentclass{book}

\usepackage{xparse}


\usepackage{chngcntr}


\makeatletter
\ExplSyntaxOn

\seq_new:N \g_flower_reset_seq 
\NewDocumentCommand{\loopthroughresetlist}{mm}{%
  \seq_gclear:N \g_flower_reset_seq
  \group_begin:
  \cs_if_exist:cT {cl@#1} {%
    \def\@elt##1{%
      \seq_gput_right:Nn \g_flower_reset_seq {##1}
    }
    \use:c{cl@#1}% Fill the list
  }
  \group_end:
  \seq_map_inline:Nn \g_flower_reset_seq  {%
    \use:c{\cs_to_str:N #2}{#1}{##1}
  }
}
\ExplSyntaxOff


\AtBeginDocument{%
  \let\latex@@chapter\chapter
  \RenewDocumentCommand{\chapter}{sO{#3}m}{%
    \IfBooleanTF{#1}{%
      \latex@@chapter*{#3}%
    }{%
      \ifnogobblechapter
      \latex@@chapter[#2]{#3}
      \fi
    }%
  }
}
\makeatother

\newcommand{\counterwithoutwrapper}[2]{%
  \counterwithout{#2}{#1}%
}

\newif\ifnogobblechapter
\nogobblechapterfalse

\usepackage{hyperref}

\begin{document}

\ifnogobblechapter
\else
\loopthroughresetlist{chapter}{\counterwithoutwrapper}
\fi

\tableofcontents

\chapter[Foo entry to ToC]{Foo Chapter}

\section{A subsection of a gobbled chapter}

\begin{figure}
  \caption{A figure caption}
\end{figure}

\chapter{Another chapter}

\begin{figure}
  \caption{Another figure caption}
\end{figure}

Some other content

\end{document}

在此处输入图片描述

相关内容