在章节标题上方添加文本

在章节标题上方添加文本

我曾见过一份文件,其中的论文标题和作者姓名位于 \chapter*{Abstract}章节标题上方。它看起来像这样:

章节标题上方的文字

如何在章节标题上方添加类似的自定义文本?

以下是根据要求提供的 MWE。我希望“标题”和“作者”文本位于章节标题上方,就像上面的屏幕截图一样。

\documentclass[12pt,a4paper]{book}
\usepackage{lipsum}
\usepackage[parfill]{parskip}

\begin{document}

\chapter*{Abstract}

\textbf{\Large{Title}}

\emph{\large{Author}}

\lipsum[1]

\end{document}

答案1

这是一个基于使用标题包的\thetitle\theauthor命令(由\title和设置\author)的实现,用于创建一个新命令\abstracttitleandname,用于在摘要标题上方打印标题和名称。

我们还引入了一个条件,通过重新定义/命令\ifabstract将其设置为 true,以检查它是否为真。如果是,它不会在新页面上开始标题,因为已经这样做了。然后将其切换回 false。\abstracttitleandname\chapter\chapter*\abstractittleandname

如果条件给你带来了问题,你可以从使用原始的 TeX 布尔值切换到以下之一更精致的包装处理条件,但这对于您的用例来说可能没有必要。

\documentclass[12pt,a4paper]{book}
\usepackage{lipsum}
\usepackage[parfill]{parskip}
\usepackage{titling}

\makeatletter
% define new boolean conditional switch for whether
% the abstract is being typeset
\newif\ifabstract
\abstractfalse
% redefine `\chapter` so it only starts a new page if not typesetting
% the abstract; sets abstract conditional to false after doing so
\renewcommand\chapter{\ifabstract\relax\else%
                    \if@openright\cleardoublepage\else\clearpage\fi%
                    \fi
                    \abstractfalse%
                    \thispagestyle{plain}%
                    \global\@topnum\z@
                    \@afterindentfalse
                    \secdef\@chapter\@schapter}

% command for putting the title and name above the abstract; switches
% abstact boolean to true for next `\chapter*` command...
\newcommand{\abstracttitleandname}{%
 \if@openright\cleardoublepage\else\clearpage\fi
\textbf{\Large{\thetitle}}\par
\emph{\large{\theauthor}}\par
\abstracttrue}
\makeatother

\author{Someone K. Someone}
\title{The Greatest Work}

\begin{document}

\abstracttitleandname
\chapter*{Abstract}

\lipsum[1]

\chapter{New chapter}

\lipsum[2]

\end{document}

摘要标题示例

相关内容