\edef 无法与 \@author 一起使用

\edef 无法与 \@author 一起使用

我正在编写一个自定义的documentclass,我想拆分\@author\and我将其重新定义为\unskip,)以便与一起使用etoolbox \docsvlist

\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{myarticle}

\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
\ProcessOptions

\LoadClass[11pt, titlepage]{article}

\RequirePackage{etoolbox}
\renewcommand{\and}{\unskip,}

\edef\theauthor{\@author}

\newcommand{\mycommand}[1]{%
\renewcommand*{\do}[1]{##1\\}
\textit{\expandafter\docsvlist\expandafter{#1}}
}

\renewcommand*{\maketitle}{%
\begin{titlepage}
\mycommand{\theauthor{}}
\end{titlepage}
\newpage
}

\endinput

如果这样使用:

\documentclass{myarticle}

\author{Me \and You}

\begin{document}
\maketitle
\end{document}

我希望每个作者单独占一行,但这样不行。我只能得到:

在此处输入图片描述

  • 如果我不这样做\edef并用 替换\theauthor\@author我会得到“Me,You”(docsvlist不起作用)。

  • 如果我用 替换,\edef它就\edef\theauthor{Me \and You}可以工作。

知道如何让它工作吗?

相关内容