![\edef 无法与 \@author 一起使用](https://linux22.com/image/417258/%5Cedef%20%E6%97%A0%E6%B3%95%E4%B8%8E%20%5C%40author%20%E4%B8%80%E8%B5%B7%E4%BD%BF%E7%94%A8%20.png)
我正在编写一个自定义的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}
可以工作。
知道如何让它工作吗?