如何在页面上断行 \mychapter 但不在目录中

如何在页面上断行 \mychapter 但不在目录中

如何换行\mychapter?如果我使用,\chapter我可以使用换行\chapter[line 1 line 2]{line 1 \\ line 2}

\documentclass{report}
\newcommand{\mychapter}[2]{
    \setcounter{chapter}{#1}
    \setcounter{section}{0}
    \chapter*{#2}
    \addcontentsline{toc}{chapter}{#2}
}
\begin{document}
\tableofcontents
\mychapter{0}{Acknowledgments}
\mychapter{1}{Introduction}
\section{Introduction}
\section{Further Introduction}
\mychapter{2}{Experiments}
\section{Experiment One}
\section{Experiment Two}
\end{document}

以及如何删除 \mychapter 上方的段落/空格?

在此处输入图片描述

答案1

以下示例\mychapter通过执行以下操作进行更新:

  1. 将第二个参数存储#2在名为的命令中\chaptoc
  2. 使用regexpatch替换\xpatchcmd*全部\\没有任何内容的出现(有效地删除它们)
  3. 用作\chaptoc目录的补充,同时将原始章节标题作为一部分打印\chapter*

在此处输入图片描述

\documentclass{report}

\usepackage{regexpatch}

\newcommand{\mychapter}[2]{%
  \setcounter{chapter}{#1}% Set chapter counter
  \setcounter{section}{0}% Reset \section counter
  \def\chaptoc{#2}%
  \xpatchcmd*{\chaptoc}{\\}{}{}{}% \patchcmd{<cmd>}{<search>}{<replace>}{<success>}{<failure>}
  \chapter*{#2}
  \addcontentsline{toc}{chapter}{\chaptoc}
}
\begin{document}

\tableofcontents

\mychapter{0}{Acknowledgments \\ and \\ Other things}

\mychapter{1}{Introduction}
\section{Introduction}
\section{Further Introduction}

\mychapter{2}{Experiments}
\section{Experiment One}
\section{Experiment Two}

\end{document}

相关内容