在自定义 LaTeX 类中访问 \@email

在自定义 LaTeX 类中访问 \@email

我正在尝试根据自己的需要定制一个文章类。我想\email{}在我的类中访问,但没有成功。

这是我\maketitlepage在 cls 文件中的部分,

\newcommand{\maketitlepage}{%
\begin{center}      
\includegraphics[scale=0.20]{dsg}~\\[0.5cm]
\textsc{\LARGE University name}\\[1.0cm]
 \textsc{\Large Institute of Something}\\[0.5cm]
 \HRule \\[0.4cm]    
  {\huge \bfseries\@title \\[0.4cm]}

  \HRule \\[1.5cm]    
  \large          
  \@author\@email                                                                                            
   \vfill
  {\large \@date}     
 \end{center}          
 \end{titlepage}%      
 }     

我还将其定义\email为(取自 lncs.cls):

\def \email#1{{\tt#1}}

在我的文章中使用此功能后,电子邮件显示在标题页的顶部,而不是它应该显示的位置。\email{[email protected]}

我对创建自己的课程还很陌生。

答案1

LaTeX 内核仅定义\author\title用于\date保存“元数据”,例如

\newcommand{\author}[1]{\def\@author{#1}}

因此,它将存储作者列表以供以后使用。因此,您可以按照相同的方式\@author进行设置\email

\newcommand{\email}[1]{\def\@email{#1}}

然后,您可以使用 来使用电子邮件地址\@email。我不会只使用\tt: ,除了其他任何东西,它已被弃用,而更倾向于\texttt/ \ttfamily。可能你最好使用\url包,例如

\documentclass{article}
\makeatletter
\newcommand{\email}[1]{\def\@email{#1}}
\newcommand*{\printemail}{\expandafter\url\expandafter{\@email}}
\makeatother
\usepackage{url}

\email{demo@demo_domain.com}

\begin{document}

\printemail

\end{document}

相关内容