在自定义类中重新定义标题页

在自定义类中重新定义标题页

我使用 LaTeX 已有相当长一段时间了。遗憾的是,我从未尝试过自定义它。

我现在想为我部门的一个项目成员提供一个自定义类,主要是更改标题页并添加页眉和页脚。

编辑:我解决了错误(感谢 UlrikeFische),现在只剩下实际问题了。(如果版主认为我应该提出新问题,我会的。)

我还想添加多个作者,以便用户只需\authors多次调用,然后在类中将它们添加到表中(一个用于原始数据,另一个用于电子邮件)。我还可以创建一个新命令,例如 \authandemail{First Author}{[email protected]}

我还想重新定义\title命令以具有可选的短标题(例如\title[short title]{Long title}。然后我在页面的页脚中显示短标题,并在标题页中显示主标题

标题页的当前状态:

\newcommand{\deliverabletitle}[2]{
    \def\@shortdeltitle{#1} 
    \def\@deltitle{#2}
}
\newcommand{\deliverableversion}[1]{
    \def\@deliverableversion{#1} 
}


\renewcommand*{\maketitle}{%
\begin{titlepage}
    %This to align on the left the text and on the right the image
\noindent
\parbox[t]{4cm}{\textbf{Title header}}%
\hfill
\raisebox{\dimexpr-\height+\baselineskip}{\includegraphics[width=2.5cm]{logo}}
\vfill
\centering
{\huge\bfseries\ifdefined\@deltitle
        \@deltitle
        \else
        \fi\unskip\strut\par}
\vfill

\begin{tabular}[b]{|p{.25\textwidth}|p{.6\textwidth}|}
    \hline
    \multicolumn{2}{|l|}{University} \\
    \multicolumn{2}{|l|}{Department} \\
    \hline
    Authors & \begin{minipage}{.6\textwidth}
                \vspace{0.15cm}
                {\@author \par}
                \vspace{0.15cm}
              \end{minipage} \\
    \hline
    Purpose & Deliverable \\
    \hline
    Revision & \@deliverableversion \\
    \hline
    Document Availability & \colorbox{red!50}{Confidential} \\
    \hline
    Date & \@date\\
    \hline
\end{tabular}

\end{titlepage}
}

已解决的错误:

不幸的是,当我尝试重新定义\maketitle命令时,我在主要部分中Undefined control sequence得到了一个。\end{document}

这是我的暂定\maketitle命令(灵感来自https://en.wikibooks.org/wiki/LaTeX/Title_Creation

\renewcommand*{\maketitle}{%
\begin{titlepage}
{\raggedleft%
    \includegraphics[width=4cm]{logo}\par
}\vspace{1cm}
\centering
{\huge\bfseries\@title\unskip\strut\par}
\vfill

\begin{tabular}[b]{|p{.3\textwidth}|p{.3\textwidth}|}
    \hline
    \multicolumn{2}{|l|}{Institution} \\
    \multicolumn{2}{|l|}{My Dept} \\
    \hline
    Authors &   \\
    \hline
    Purpose & Deliverable \\
    \hline
    Revision & $1.0$ \\
    \hline
    Document Availability & \colorbox{red!50}{Confidential} \\
    \hline
    Date & \@date\\
    \hline
\end{tabular}

\end{titlepage}
}

主要文件是

\documentclass[]{myclass}


\title{My project title}
\author{First Author}

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

我在结束时遇到了错误\end{document}

答案1

在 Johannes_B 的大力帮助下,我成功解决了最初的问题。

这是最终的maketitle命令

\newcommand{\deliverabletitle}[2]{
    \def\@shortdeltitle{#1} 
    \def\@deltitle{#2}
}
\newcommand{\deliverableversion}[1]{
    \def\@deliverableversion{#1} 
}


\renewcommand*{\maketitle}{%
\begin{titlepage}
    %This to align on the left the text and on the right the image
\noindent
\parbox[t]{4cm}{\textbf{Title header}}%
\hfill
\raisebox{\dimexpr-\height+\baselineskip}{\includegraphics[width=2.5cm]{logo}}
\vfill
\centering
{\huge\bfseries\ifdefined\@deltitle
        \@deltitle
        \else
        \fi\unskip\strut\par}
\vfill

\begin{tabular}[b]{|p{.25\textwidth}|p{.6\textwidth}|}
    \hline
    \multicolumn{2}{|l|}{University} \\
    \multicolumn{2}{|l|}{Department} \\
    \hline
    Authors & \begin{minipage}{.6\textwidth}
                \vspace{0.15cm}
                {\@author \par}
                \vspace{0.15cm}
              \end{minipage} \\
    \hline
    Purpose & Deliverable \\
    \hline
    Revision & \@deliverableversion \\
    \hline
    Document Availability & \colorbox{red!50}{Confidential} \\
    \hline
    Date & \@date\\
    \hline
\end{tabular}

\end{titlepage}
}

相关内容