如何换行\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
通过执行以下操作进行更新:
- 将第二个参数存储
#2
在名为的命令中\chaptoc
。 - 使用
regexpatch
替换\xpatchcmd*
全部\\
没有任何内容的出现(有效地删除它们) - 用作
\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}