将三个作者信息命令(目录、页眉、章节开始)集成为单个主命令?

将三个作者信息命令(目录、页眉、章节开始)集成为单个主命令?

我目前正在为科学开放获取期刊设计一种新的 LateX 布局。我已为作者信息定义了三个命令:目录 ( \authortoc)、标题 ( \markauthor) 和章节开始 ( \chapterauthor)。请查看下面的最小工作示例 (MWE)。

要求:

  • 标题中仅给出了作者的姓氏。

  • 在目录中,作者的全名(名字、姓氏)以逗号分隔。

  • 章节开头还标明了作者的全名。每个名字后面都有一个换行符。

我的问题是:是否可以将这三个命令集成到一个新的主命令中?这样我只需要在文档中指定此命令(每章指定一次,而不是每章指定三次)?

以下是 MWE。这是我创建的第一个 MWE。因此,如果我需要提供更多信息或有任何不清楚的地方,请告诉我。

顺便说一下,我正在使用 LuaLaTeX 进行编译。

\documentclass[%
fontsize=11pt, paper=a4, twoside]{scrbook}

\usepackage{fontspec}
\usepackage[utf8]{inputenc} 
\usepackage[ngerman]{babel}

%% define author header

\makeatletter
\newcommand*{\authormark}{}

\newcommand*{\markauthor}[1]{%
   \renewcommand{\authormark}{#1}%
   \ignorespaces
}

%% define author chapter start

\newcommand*{\chapterauthor}[1]{%
   \par\vspace{2\baselineskip}%
   \textbf{\textsf{\protect\small#1}}%
% \markauthor{#1}% I had to uncomment this part, because otherwise the newline is written in the page header
   \par\vspace{2\baselineskip}%
   \@afterheading
}

%% define author TOC

\DeclareRobustCommand\authortoctext[1]{%
{\nopagebreak\leftskip0em\relax
\rightskip \@tocrmarg\relax
\noindent\itshape\sffamily#1\par}}
\makeatother

\newcommand\authortoc[1]{%
\addtocontents{toc}{\authortoctext{#1}}}


\usepackage[draft=false,headsepline,plainheadsepline]{scrlayer-scrpage}
\clearpairofpagestyles
\lohead{\authormark}

\usepackage{lipsum}

\begin{document}
\tableofcontents

\chapter{First Chapter}
\markauthor{Doe / Miller}%
\chapterauthor{John Doe\\
Joe Miller}%
\authortoc{John Doe, Joe Miller}%

\section*{Introduction}

\lipsum[1-10]

\end{document}

相关内容