我使用 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}
}