我正在尝试制作我的第一个 LaTeX 课程,以便更轻松地制作实验报告,我决定重新定义,\maketitle
以便我可以放入我需要的信息。我的目标是实现这样的目标:
为了实现这一点,我\maketitle
这样重新定义:
\renewcommand{\maketitle}{
\begin{flushright}
\textbf{\large\@author}
\end{flushright}
\begin{center}
\textbf{\Huge \@title}
\end{center}
}
但我无法在作者下添加学生 ID。因此,我想知道如何创建一个命令,例如,\title
我可以在序言中定义该命令,并使用类似于\@title
但带有学生 ID 的命令来访问其内容。
编辑:
谢谢https://tex.stackexchange.com/users/226564/jairo-a-del-rio我的问题解决了,最后结果就是这样。
\newcommand{\studentid}[1]{\def\@studentid{#1}}
\renewcommand{\maketitle}{
\begin{center}
\textbf{\@encabezado}
\end{center}\vspace{0.5em}
\begin{flushright}
\textbf{\large\@author}\\
{\large \@studentid}
\end{flushright}
这样,我就可以\studentid
在序言中定义并在我的\maketitle
定义中使用它。
答案1
我会做以下事情:
\def\studentID#1{\def\@studentID{#1}}
或者,如果你想要一些更 LaTeX 风格的东西(我以此latex.ltx
为参考),你可以这样做
\DeclareRobustCommand*\studentID[1]{\gdef\@studentID{#1}}
\def\@studentID{\@latex@warning@no@line{No \noexpand\studentID given}}
\studentID
当尚未初始化时,这会触发警告。