假设您有一个喜欢的标题页布局并想将其用于许多不同的项目。
因此,您对其做的唯一更改将是项目名称、副标题、日期、作者……等等。
我如何创建一个函数,从一些变量生成标题页布局,然后将其输入到我的项目文件中?
谢谢!!
答案1
一种可能性是编写一个小包,比如说titlepage.sty
;在这个包中,您可以定义一些命令来提供将用于标题页的信息,并定义一个命令来有效地生成标题页。
一个小例子:由于标准 LaTeX 提供\author
、\title
和\date
,在下面的例子中,我只定义了\subtitle
和 ,\institute
其定义方式完全类似于 的定义\author
。
一旦所有准备工作都已完成,您就可以定义命令来生成标题页,并使用将要使用的元素所需的格式。
这是一个非常简单的版本mytitlepage.sty
:
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{mytitlepage}
\def\subtitle#1{\gdef\@subtitle{#1}}
\def\@subtitle{\@latex@warning@no@line{No \noexpand\subtitle given}}
\def\institute#1{\gdef\@institute{#1}}
\def\@institute{\@latex@warning@no@line{No \noexpand\institute given}}
\newcommand\mytitlepage{%
\clearpage
\thispagestyle{empty}
{\noindent\huge\bfseries\@author\par}
\vspace*{.25\textheight}
{\raggedleft\Huge\itshape\@title\par
\large\normalfont\@subtitle\par}
\vfill
{\Large\noindent\@institute\par\medskip
\noindent\large\@date\par}
\clearpage
}
\endinput
您可以将此文件保存在本地树中,然后您要做的就是在文档的序言中加载包,使用命令提供字段并调用\mytitlepage
:
\documentclass{book}
\usepackage{mytitlepage}
\title{The Title}
\subtitle{The Subtitle}
\author{The Author}
\institute{The Institute}
\date{The date}
\begin{document}
\mytitlepage
\end{document}