% \iffalse meta-comment % titling.dtx % Author: Peter Wilson (Herries Press) % Maintainer: Will Robertson (will dot robertson at latex-project dot org) % Copyright 2000--2004 Peter R. Wilson % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either % version 1.3c of this license or (at your option) any % later version: % % This work has the LPPL maintenance status "maintained". % The Current Maintainer of this work is Will Robertson. % % This work consists of the files listed in the README file. % % %<*driver> \documentclass{ltxdoc} \EnableCrossrefs \CodelineIndex %%\OnlyDescription \setcounter{StandardModuleDepth}{1} \begin{document} \DocInput{titling.dtx} \end{document} % % % \fi % % \CheckSum{490} % % \DoNotIndex{\',\.,\@M,\@@input,\@addtoreset,\@arabic,\@badmath} % \DoNotIndex{\@centercr,\@cite} % \DoNotIndex{\@dotsep,\@empty,\@float,\@gobble,\@gobbletwo,\@ignoretrue} % \DoNotIndex{\@input,\@ixpt,\@m} % \DoNotIndex{\@minus,\@mkboth,\@ne,\@nil,\@nomath,\@plus,\@set@topoint} % \DoNotIndex{\@tempboxa,\@tempcnta,\@tempdima,\@tempdimb} % \DoNotIndex{\@tempswafalse,\@tempswatrue,\@viipt,\@viiipt,\@vipt} % \DoNotIndex{\@vpt,\@warning,\@xiipt,\@xipt,\@xivpt,\@xpt,\@xviipt} % \DoNotIndex{\@xxpt,\@xxvpt,\\,\ ,\addpenalty,\addtolength,\addvspace} % \DoNotIndex{\advance,\Alph,\alph} % \DoNotIndex{\arabic,\ast,\begin,\begingroup,\bfseries,\bgroup,\box} % \DoNotIndex{\bullet} % \DoNotIndex{\cdot,\cite,\CodelineIndex,\cr,\day,\DeclareOption} % \DoNotIndex{\def,\DisableCrossrefs,\divide,\DocInput,\documentclass} % \DoNotIndex{\DoNotIndex,\egroup,\ifdim,\else,\fi,\em,\endtrivlist} % \DoNotIndex{\EnableCrossrefs,\end,\end@dblfloat,\end@float,\endgroup} % \DoNotIndex{\endlist,\everycr,\everypar,\ExecuteOptions,\expandafter} % \DoNotIndex{\fbox} % \DoNotIndex{\filedate,\filename,\fileversion,\fontsize,\framebox,\gdef} % \DoNotIndex{\global,\halign,\hangindent,\hbox,\hfil,\hfill,\hrule} % \DoNotIndex{\hsize,\hskip,\hspace,\hss,\if@tempswa,\ifcase,\or,\fi,\fi} % \DoNotIndex{\ifhmode,\ifvmode,\ifnum,\iftrue,\ifx,\fi,\fi,\fi,\fi,\fi} % \DoNotIndex{\input} % \DoNotIndex{\jobname,\kern,\leavevmode,\let,\leftmark} % \DoNotIndex{\list,\llap,\long,\m@ne,\m@th,\mark,\markboth,\markright} % \DoNotIndex{\month,\newcommand,\newcounter,\newenvironment} % \DoNotIndex{\NeedsTeXFormat,\newdimen} % \DoNotIndex{\newlength,\newpage,\nobreak,\noindent,\null,\number} % \DoNotIndex{\numberline,\OldMakeindex,\OnlyDescription,\p@} % \DoNotIndex{\pagestyle,\par,\paragraph,\paragraphmark,\parfillskip} % \DoNotIndex{\penalty,\PrintChanges,\PrintIndex,\ProcessOptions} % \DoNotIndex{\protect,\ProvidesClass,\raggedbottom,\raggedright} % \DoNotIndex{\refstepcounter,\relax,\renewcommand,\reset@font} % \DoNotIndex{\rightmargin,\rightmark,\rightskip,\rlap,\rmfamily,\roman} % \DoNotIndex{\roman,\secdef,\selectfont,\setbox,\setcounter,\setlength} % \DoNotIndex{\settowidth,\sfcode,\skip,\sloppy,\slshape,\space} % \DoNotIndex{\symbol,\the,\trivlist,\typeout,\tw@,\undefined,\uppercase} % \DoNotIndex{\usecounter,\usefont,\usepackage,\vfil,\vfill,\viiipt} % \DoNotIndex{\viipt,\vipt,\vskip,\vspace} % \DoNotIndex{\wd,\xiipt,\year,\z@} % % \changes{v1.0}{2000/06/11}{First public release} % \changes{v2.0}{2001/02/24}{Added controls for thanks marks} % \changes{v2.1}{2001/03/23}{Further controls for thanks note layout} % \changes{v2.1}{2001/03/23}{Added extra hooks into \cs{maketitle}} % \changes{v2.1a}{2002/02/19}{Added quote from Jason} % \changes{v2.1b}{2004/05/10}{Changed license from LPPL v.10 to v1.3} % \changes{v2.1c}{2004/09/26}{Deleted mention of unimplemented command} % \changes{v2.1d}{2009/09/04}{New maintainer (Will Robertson)} % % \def\dtxfile{titling.dtx} % ^^A \def\fileversion{v0.3} % ^^A \def\filedate{2000/05/20} % ^^A \def\fileversion{v1.0} % ^^A \def\filedate{2000/06/11} % ^^A \def\fileversion{v2.0} % ^^A \def\filedate{2001/02/24} % ^^A \def\fileversion{v2.1} % ^^A \def\filedate{2001/03/23} % \def\fileversion{v2.1a} % \def\filedate{2002/02/19} % \def\fileversion{v2.1b} % \def\filedate{2004/05/10} % \def\fileversion{v2.1c} % \def\filedate{2004/09/26} % \def\fileversion{v2.1d} % \def\filedate{2009/09/04} % \newcommand*{\Lpack}[1]{\textsf {#1}} ^^A typeset a package % \newcommand*{\Lopt}[1]{\textsf {#1}} ^^A typeset an option % \newcommand*{\file}[1]{\texttt {#1}} ^^A typeset a file % \newcommand*{\Lcount}[1]{\textsl {\small#1}} ^^A typeset a counter % \newcommand*{\pstyle}[1]{\textsl {#1}} ^^A typeset a pagestyle % \newcommand*{\Lenv}[1]{\texttt {#1}} ^^A typeset an environment % % \title{The \Lpack{titling} package\thanks{This % file (\texttt{\dtxfile}) has version number \fileversion, last revised % \filedate.}} % % \author{ % Author: Peter Wilson, Herries Press\\ % Maintainer: Will Robertson\\ % \texttt{will dot robertson at latex-project dot org} % } % \date{\filedate} % \maketitle % \begin{abstract} % The \Lpack{titling} package provides control over the typesetting % of the |\maketitle| and |\thanks| commands. % The values of |\title|, |\author| and % |\date| are also retained, and there may be mutiple titles in a document. % New titling elements may be defined for printing by |\maketitle|. % \end{abstract} % \tableofcontents % % % % \section{Introduction} % % The format for typesetting the |\maketitle| command is fixed in the % standard \LaTeX{} classes. The \Lpack{titling} package provides some % controls for modifying the appearance of the titling information presented % via |\maketitle|. % % This manual is typeset according to the conventions of the % \LaTeX{} \textsc{docstrip} utility which enables the automatic % extraction of the \LaTeX{} macro source files~\cite{GOOSSENS94}. % % Section~\ref{sec:usc} describes the usage of the \Lpack{titling} % package and % commented source code is in Section~\ref{sec:code}. % % \section{The \Lpack{titling} package} \label{sec:usc} % % The typeset format of the |\maketitle| command is virtually fixed % within the \LaTeX{} standard classes. The \Lpack{titling} package % provides a set of formatting commands that can be used to modify % the appearance of the titling information; that is, the contents of % the |\title|, |\author| and |date| commands. It also keeps the values % of these commands so that they may be printed again later in the % document. % % The package inhibits the normal automatic cancellation of titling % commands after |\maketitle|. This means that you can have multiple % instances of the same, or perhaps different, titles in one document. % Hooks are provided so that additional titling elements can be defined % and printed by |\maketitle|. % % The |\thanks| command is enhanced to provide various configurations % for both the marker symbol and the layout of the thanks notes. % % % % \subsection{Commands and environments} % % \subsubsection{Restyling the titling} % % The \Lpack{titling} package provides a configurable |\maketitle| command. % % \DescribeMacro{\pretitle} % \DescribeMacro{\posttitle} % \DescribeMacro{\preauthor} % \DescribeMacro{\postauthor} % \DescribeMacro{\predate} % \DescribeMacro{\postdate} % These six commands each have a single argument, % like |\pretitle{|\meta{text}|}|and |\posttitle{|\meta{text}|}|. % The argument to these commands control the typesetting of the % standard elements of the document's |\maketitle| % command. The |\title| is effectively processed between the |\pretitle| and % |\posttitle| commands; that is, like: \\ % |{\pretitle \title \posttitle}| \\ % and similarly for the |\author| and |\date| commands. The % commands are initialised to mimic the normal result of |\maketitle| % typesetting in the \Lpack{article/report} classes. % For example, the default definitions of the |\...title...| % and |\...author...| commands are: % \par\begin{small}\begin{verbatim} % \pretitle{\begin{center}\LARGE} % \posttitle{\par\end{center}\vskip 0.5em} % \preauthor{\begin{center} % \large \lineskip 0.5em% % \begin{tabular}[t]{c}} % \postauthor{\end{tabular}\par\end{center}} % \predate{\begin{center}\large} % \postdate{\par\end{center}} % \end{verbatim} % \end{small}\par % They can be changed to obtain different effects. For example to get % a right justified sans-serif title and a left justifed small caps % date: % \begin{verbatim} % \pretitle{\begin{flushright}\LARGE\sffamily} % \posttitle{\par\end{flushright}\vskip 0.5em} % \predate{\begin{flushleft}\large\scshape} % \postdate{\par\end{flushleft}} % \end{verbatim} % \textbf{NOTE:} The above commands differ from the similar ones in version~1.0 % of this package. So, if you have upgraded from v1.0 to v2.0, beware. % % As another example, the following (slightly edited) % was sent to me by Jason Harrison % (\texttt{harrison@cs.ubc.ca}) on 2002/02/18. % \begin{quotation} % I'm trying to format my latest conference paper for a conference that % doesn't supply a latex class (only a MSWord example, sigh) and I ran % into a problem that I'm not sure if it's an interaction of the titling % package [it's not] or just no one ever cares because hitting return gets you an % output when latex complains: % \begin{verbatim} % ! Argument of \reserved@a has an extra }. % % \par % l.46 \end{tabular}} % ? x % \end{verbatim} % What I did was to define my % authors list using the following methodology: % \begin{verbatim} % \preauthor{} % \DeclareRobustCommand{\authorthing}{ % \begin{center} % \begin{tabular}{ccc} % Jason Harrison & Kellogg S. Booth & Brian D. Fisher \\ % \multicolumn{3}{c}{Department of Computer Science} \\ % \multicolumn{3}{c}{and} \\ % \multicolumn{3}{c}{Media and Graphics Interdisciplinary Centre}\\ % \multicolumn{3}{c}{University of British Columbia, Vancouver, BC Canada} % \end{tabular} % \end{center}} % \author{\authorthing} % \postauthor{} % \end{verbatim} % % Thus latex does not complain and I get the formatting I want. Perhaps % you'd add this to the titling documentation for those of us who can't % follow the usual conventions because of the strange conventions of a % strange conference. % \end{quotation} % % Changing the above example a little, when authors are from different % organisations you may be required to flag these. This is one way of doing % that. % \begin{verbatim} % \preauthor{\large} % \DeclareRobustCommand{\authoring}{ % \begin{center} % Smith\textsuperscript{\dag} and Wesson\textsuperscript{\#} \\ % \textsuperscript{\dag}House, \textsuperscript{\#}Barn \\ % The OK Corral % \end{center}} % \author{\authoring} % \postauthor{\par} % \end{verbatim} % % % \DescribeMacro{\droptitle} % The |\maketitle| command puts the title at a particular height on the % page. Unless it is used with the \Lopt{titlepage} option of the standard % classes it starts a new page. % You can change the vertical position of the title via the length % |\droptitle|. Giving this a positive value will lower the title and a % negative value will raise it. The default definition is: \\ % |\setlength{\droptitle}{0pt}|. % % \DescribeMacro{\maketitlehooka} % \DescribeMacro{\maketitlehookb} % \DescribeMacro{\maketitlehookc} % \DescribeMacro{\maketitlehookd} % The |\maketitle| command as defined by the \Lpack{titling} package % is essentially % \begin{verbatim} % \renewcommand{\maketitle}{% % \vspace*{\droptitle} % \maketitlehooka % {\pretitle \title \posttitle} % \maketitlehookb % {\preauthor \author \postauthor} % \maketitlehookc % {\predate \date \postdate} % \maketitlehookd % } % \end{verbatim} % The four hook commands are provided so that additional elements may % be added to |\maketitle|. These are initially defined to do nothing % but can be renewed. For example, some publications % want a statement about where an article is published immediately % before the actual titling text. The following defines a command % |\published| that can be used to hold the publishing information % which will then be automatically printed by |\maketitle|. % \begin{verbatim} % \newcommand{\published}[1]{% % \gdef\puB{#1}} % \newcommand{\puB}{} % \renewcommand{\maketitlehooka}{% % \par\noindent \puB} % \end{verbatim} % You can then say: % \begin{verbatim} % \published{Originally published in % \textit{The Journal of ...}\thanks{Reprinted with permission}} % ... % \maketitle % \end{verbatim} % to print both the published and the normal titling information. Note % that nothing extra had to be done in order to use the |\thanks| command % in the argument to the new |\published| command. % % % % \DescribeEnv{titlingpage} % When one of the standard classes is used with the \Lopt{titlepage} % option, |\maketitle| puts the title elements on an unnumbered page % and then starts a new page numbered page 1. % The standard classes also provide % a |titlepage| environment which starts a new unnumbered page and at the % end starts a new page numbered 1. You are entirely responsible % for specify exactly what and where is to go on this title page. % Do not use |\maketitle| within the |titlepage| environment as it % will start yet another page. % % The |titlingpage| environment falls between the \Lopt{titlepage} % option and the |titlepage| environment. Within the |titlingpage| % environment you can use the |\maketitle| command, and any others you wish. % The pagestyle is |empty|; % ^^A given by the value of the |\titlingpagestyle| command; % at the end it starts another ordinary page numbered page 1. % % ^^A \DescribeMacro{\titlingpagestyle} % ^^A The macro |\titlingpagestyle{|\meta{pstyle}|}| sets the page style % ^^A in the |titlingpage| environment to be \meta{pstyle}. This is % ^^A initially set as |\titlingpagestyle{empty}|. % % For example, to put both the title and an abstract on a title page % ^^A with a |plain| pagestyle: % \begin{verbatim} % \begin{document} % \begin{titlingpage} % \setlength{\droptitle}{30pt} % lower the title % \maketitle % \begin{abstract}...\end{abstract} % \end{titlingpage} % \end{verbatim} % % By default, titling information is centered with respect to the % width of the text block. % Occasionally someone asks on the \texttt{comp.text.tex} newsgroup how % to center the titling information on a title page % with respect to the width of the physical % page. If the textblock is centered with respect to the physical page, % then the default centering suffices. If the textblock is not physically % centered, then the titling information either has to be shifted % horizontally or |\maketitle| has to be made to think that the textblock % has been shifted horizontally. % % One solution is to use the |titlingpage| % environment and the \Lopt{chngpage} package\footnote{Available % from CTAN as file \texttt{chngpage.sty}.}, which lets % you temporarily adjust the location of the textblock. Remember that % TeX starts its page measurements at a distance of 1 inch + |\hoffset| % (default 0pt) % in from the left side of the % physical sheet; this is the zero point for the |\evensidemargin| and % the |\oddsidemargin|. Let $H$ be the value of (1 inch + |\hoffset|), % $M$ be the |\...sidemargin|, $T$ be the % |\textwidth| and $P$ be the width of the physical page, % and let $X$ be the distance between the righthand edge of the % text block and the right side of the physical sheet. Then % \[ H + M + T + X = P \] % and the textblock is $H+M$ in from the left side of the page. For % the textblock to be centered on the physical page, we must have % \(X = H+M\). If the textblock is not physically centered, then % the margin value, $M$ can be adjusted to made it so. Let $d$ be the % amount to be added to $M$ to center the textblock. Some simple algebra % leads to % \[ d = (P - T)/2 - M - H \] % as the amount to be added to the |\...sidemargin| to center the textblock. % For example, % assume that the |\textwidth| is 5 inches, the |\...sidemargin|s are % both 2 inches, and |\hoffset| is zero (i.e., $H$ is 1 inch). % Then to center the textblock, % 1.25 inches must be % subtracted from the margin if it is printed on US letterpaper, % where the paper width is 8.5 inches. A different adjustment would % be required % if A4 paper was used instead. See the \Lopt{chngpage} documentation for % details, but a physically centred title can now be achieved by % \begin{verbatim} % \usepackage{chngpage} % ... % \begin{titlingpage} % \chngtext{}{}{-1.25in}{-1.25in}{} % \maketitle % \end{titlingpage} % \end{verbatim} % % \DescribeMacro{\calccentering} % If you don't want to do the above calculations by hand, % |\calccentering{|\meta{length}|}{|\meta{margin}|}| will do it for you. % The \meta{length} % argument must be the name of a pre-existing length command, % including the backslash, and the \meta{margin} is the value of the % appropriate |\evensidemargin| or |\oddsidemargin|. After calling % |\calccentering|, \meta{length} is the amount to be added to the % margin to center the textblock. % An example usage is % \begin{verbatim} % \begin{titlingpage} % \newlength{\addtoeven} % \newlength{\addtoodd} % \calccentering{\addtoeven}{\evensidemargin} % \calccentering{\addtoodd}{\oddsidemargin} % \chngtext{}{}{\addtoeven}{\addtoodd}{} % .... % \end{titlingpage} % \end{verbatim} % The |\calccentering| macro requires the length |\paperwidth| to be % set to the physical width of the paper you will be printing on. % If your paper matches the paper size option in for the document class % then this is done for you. % % You do not necessarily have to define a new length for the purposes % of |\calccentering|. Any existing length will do, such as % |\unitlength|, provided it will be otherwise unused between performing % the calculation and changing the margins (and that you can, if necessary % reset it to its original value --- the default value for |\unitlength| % is 1pt). There are also some lengths provided by the package that you % may consider using, such as |\droptitle|, |\thanksmarkwidth| or % |\thanksmargin|. % % % % \DescribeMacro{\thetitle} % \DescribeMacro{\theauthor} % \DescribeMacro{\thedate} % In the usual document classes, the |\title|, |\author| and |\date| % macros used for |\maketitle| are unavailable once |\maketitle| has been % issued. The package provides the |\thetitle|, % |\theauthor| and |\thedate| commands that can be used for printing % these elements of the title later in the document, % if desired. % % The \Lpack{titling} package prevents the standard classes' habit % of automatically killing the titling % commands after |\maketitle| has been issued. You can have multiple % |\title|, |\author|, |\date| and |\maketitle| commands in your % document if you wish. For example, some reports are issued with % a title page, followed by an executive summary, and then they % have another, possibly modified, title at the start of % the main body of the report. This can be accomplished like this: % \begin{verbatim} % \title{Cover title} % ... % \begin{titlingpage} % \maketitle % \end{titlingpage} % ... % \title{Body title} % \maketitle % ... % \end{verbatim} % % \DescribeMacro{\killtitle} % \DescribeMacro{\keepthetitle} % \DescribeMacro{\emptythanks} % The |\killtitle| macro makes all aspects of titling, including % |\thetitle| etc, % unavailable from the point that it is issued (using this command will save % some macro space if the |\thetitle|, etc., commands are not required). % Using this command is the \Lpack{titling} package's manual version % of the automatic killing performed by the standard classes. % The |\keepthetitle| command performs a similar function, except that % it keeps the |\thetitle|, |\theauthor| and |\thedate| commands, while % killing everything else. % The |\emptythanks| command discards any text from prior use of |\thanks|. % This command is useful when |\maketitle| is used multiple times --- % the |\thanks| commands in each use just stack up the texts for output % at each use, so each subsequent use of |\maketitle| will output all % previous |\thanks| texts together with any new ones. To avoid this, % put |\emptythanks| before each |\maketitle| after the first. % % % % \subsubsection{Restyling the thanks} % % The \Lpack{titling} package provides a configurable |\thanks| command. % As a side effect of modifications to the |\thanks| command, the thanks % text can be one or more paragraphs, unlike the standard |\thanks| % text which is restricted to a single paragraph. % % \DescribeMacro{\thanksmarkseries} % \DescribeMacro{\symbolthanksmark} % In the standard classes, |\thanks{}| are marked with symbols in the % titling and footnotes unless on a titlepage where they are marked with % numbers. The command |\thanksmarkseries{|\meta{format}|}| command % can be used to change the marking style. The \meta{format} argument % is the name of one of the formats for printing a counter. The name % is the same as that of a counter format but without the backslash. % The default matches the standard class defaults. To have the % titlepage marks as symbols instead of numerals do:\\ % |\thanksmarkseries{fnsymbol}| \\ % or to use lowercase letters do: \\ % |\thanksmarkseries{alph}| \\ % Just for convenience the |\symbolthanksmark| command sets the series % to be footnote symbols (so you don't have to use the first example above). % Using the standard classes the potential names for \meta{format} are: % |arabic|, |roman|, |Roman|, |alph|, |Alph|, and |fnsymbol|. Other classes % or packages may provide more or fewer names. % % \DescribeMacro{\continuousmarks} % The |\thanks| command uses the footnote counter, and normally the counter % is zeroed after the titling so that the footnote marks start from 1. % If the counter should not be zeroed, then just specify |\continuousmarks|. % This might be required if numerals are used as the thanks markers. % % \DescribeMacro{\thanksheadextra} % \DescribeMacro{\thanksfootextra} % The |\thanksheadextra{|\meta{pre}|}{|\meta{post}|}| command will insert % \meta{pre} and \meta{post} before and after the thanks markers in the % titling block. % % Similarly |\thanksfootextra{|\meta{pre}|}{|\meta{post}|}| % inserts \meta{pre} and \meta{post} before and after the thanks markers % in the footnotes. % % By default \meta{pre} and \meta{post} are empty in % both cases. For example, to put parentheses round the titling markers % and to have a full stop (a period) after the footnote markers do: \\ % |\thanksheadextra{(}{)}| and \\ % |\thanksfootextra{}{.}| % % \DescribeMacro{\thanksmark} % It is sometimes desireable to have the same thanks text be applied to, % say, four out of six authors, these being the first 3 and the last one. % The command |\thanksmark{|\meta{n}|}| is similar to % |\footnotemark[|\meta{n}|]| in that it prints a thanks mark identical % to that of the \meta{n}'th |\thanks| command. No changes are made % to any thanks in the footnotes. % % \DescribeMacro{\thanksgap} % The marks in the titling block printed by the |\thanks| and |\thanksmark| % commands take zero space. This is acceptable if they come at the end of % a line, but not in the middle of a line. Use the % |\thanksgap{|\meta{length}|}| command immediately after a mid-line % |\thanks| or |\thanksmark| command to add \meta{length} amount of % space before the next word. For example, if there are three authors % from two different institutions: \\ % |\author{Alpha\thanks{ABC},| \\ % | Omega\thanks{XYZ}\thanksgap{1ex} and | \\ % | Beta\thanksmark{1}} | % % \DescribeMacro{\thanksmarkwidth} % The thanks mark in the footnote is typeset right justified in a box % of width |\thanksmarkwidth|. The first line of the thanks text starts % after this box. The initialisation is |\setlength{\thanksmarkwidth}{1.8em}| % giving the default position. % % \DescribeMacro{\thanksmargin} % The value of the length |\thanksmargin| controls the indentation the % second and subsequent lines of the thanks text, with respect to % the end of the mark box. As examples: \\ % |\setlength{\thanksmargin}{0em}| will align the left hand ends of % of a multiline thanks text, while: \\ % |\setlength{\thanksmargin}{-\thanksmarkwidth}| will left justify % any second and subsequent lines of the thanks text. This last % setting is the initialised value, giving the default appearance. % % \DescribeMacro{\thanksfootmark} % A thanks mark in the footnote region is typeset by |\thanksfootmark|. % The code for this is roughly: % \begin{verbatim} % \newcommand{\thanksfootmark}{% % \hbox to\thanksmarkwidth{\hfil\normalfont% % \thanksscript{\thanksfootpre \thefootnote \thanksfootpost}}} % \end{verbatim} % where |\thanksfootpre| and |\thanksfootpost| are specified via the % |\thanksfootextra| macro. You should not need to change the definition % of |\thanksfootmark| % but you may want to change the default definitions of one or more % of the macros it uses. % % \DescribeMacro{\thanksscript} % Note that the thanks mark, together with the |\...pre| and |\...post| % commands form the argument to the |\thanksscript| command. This % is initially defined as: \\ % |\newcommand{\thanksscript}[1]{\textsuperscript{#1}}| \\ % so that |\thanksscript| typesets its argument as a superscript, which % is the default for thanks notes. If you would prefer the mark to be % set at the baseline instead, for example, just do: \\ % |\renewcommand{\thanksscript}[1]{#1}|, and if you also wanted very % small symbols on the baseline you could do: \\ % |\renewcommand{\thanksscript}[1]{\tiny #1}|. Alternatively \\ % |\renewcommand{\thanksscript}[1]{#1}| \\ % |\thanksfootextra{\bfseries}{.}| \\ % will give a bold baseline mark followed by a dot. % % Using combinations of |\thanksscript|, |\thanksmargin|, % |\thanksmarkwidth| and |\thanksfootextra| you can easily define % different layouts for the thanks footnotes. Here are some % sample combinations, but to shorten them I have ignored any % |\renewcommand|s and |\setlength|s, leaving these to be implied % as necessary. % \begin{itemize} % \item Setting |\thanksfootextra{}{\hfill}| left justifies the mark % in its box: % \begin{itemize} % \item |\thanksscript{\llap{#1\space}}|, |\thanksmarkwidth{0em}| and \\ % |\thanksmargin{0em}| puts the baseline mark in the margin % and the text left justified. % \item Using |\thanksscript{#1}|, |\thanksmarkwidth{1em}| and \\ % |\thanksmargin{-\thanksmarkwidth}| makes the baseline mark % and text left adjusted. % \item |\thanksscript{#1}|, |\thanksmarkwidth{1em}| and % |\thanksmargin{0em}| puts the baseline mark left adjusted % and the text indented and aligned, like this marked % sentence is typeset. % \end{itemize} % % \item Setting |\thanksfootextra{ }| and |\thanksscript{#1}| % right justifies the baseline mark and a space in the mark box: % \begin{itemize} % \item The normal style is % defined by |\thanksmarkwidth{1.8em}| and \\ % |\thanksmargin{-\thanksmarkwidth}| which put the mark % indented and the text left adjusted, like a normal indented % paragraph. % \item |\thanksmarkwidth{1.8em}| and % |\thanksmargin{0em}| put the mark indented % and the text indented and aligned. % \end{itemize} % % \end{itemize} % % \DescribeMacro{\makethanksmark} % \DescribeMacro{\makethanksmarkhook} % The macro |\makethanksmark| typesets both the thanks marker (via % |\thanksfootmark|) and the thanks text. You probably will not need % to change its default definition. Just in case, though, |\makethanksmark| % calls the macro |\makethanksmarkhook| before it does any typesetting. % The default definition of this is: \\ % |\newcommand{\makethanksmarkhook}{}|, which does nothing. % % You can redefine |\makethanksmarkhook| to do something useful. For % example, if you wanted a slightly bigger baseline skip you could do: \\ % |\renewcommand{\makethanksmarkhook}{\fontsize{8}{11}\selectfont}| \\ % where the numbers |8| and |11| specify the point size of the font % and the baseline skip % respectively. In this example 8pt is the normal |\footnotesize| in % a 10pt document, and 11pt is the baselineskip for |\footnotesize| % text in an 11pt document (the baseline skip is 9.5pt in a 10pt document); % adjust these numbers to suit. % % \DescribeMacro{\thanksrule} % \DescribeMacro{\usethanksrule} % \DescribeMacro{\cancelthanksrule} % By default, there is no rule above |\thanks| % text that appears in a |titlingpage| environment. % If you want a rule in that environment, put |\usethanksrule| % before the |\maketitle| command, which will then print a rule according % to the current definition of |\thanksrule|. % |\thanksrule| is initialised to be a copy of |\footnoterule| as it % is defined at the % end of the preamble. The definition of |\thanksrule| can be changed % after |\begin{document}|. If the definition of |\thanksrule| is modified % and a |\usethanksrule| command has been issued, then the redefined % rule may also be used for footnotes. Issuing the command % |\cancelthanksrule| will cause the normal |\footnoterule| definition % to be used from thereon; another |\usethanksrule| % command can be issued later % if you want to swap back again. % % The parameters for the vertical positioning of footnotes and thanks notes, % and the default |\footnoterule| are described below. You may need to % change one or more of these if the vertical spacings of footnotes % and thanks notes are meant to be different. % % \DescribeMacro{\footnotesep} % \DescribeMacro{\skip\footins} % The length |\footnotesep| controls the vertical spacing between footnotes % (and thanks notes), % and is initialised by the class to give no extra spacing for a % |\footnotesize| font. You can change the spacing by \\ % |\addtolength{\footnotesep}{...}| \\ % The length |\skip\footins| defines the vertical spacing between the % bottom of the main text and the top of the first line of the first % footnote. Likewise this can be changed by \\ % |\addtolength{\skip\footins}{...}| \\ % The total vertical distance between the bottom of the main text and % the baseline of the first line of the first footnote is % |\footnotesep + \skip\footins|. % % % \DescribeMacro{\footnoterule} % The |\footnoterule| command is defined in the LaTeX kernel and % redefined in the standard classes. An `@less' definition, which is slightly % less efficient than that in the classes, is: % \begin{verbatim} % \renewcommand{\footnoterule}{% % \kern -3pt % call this kerna % \hrule height 0.4pt width 0.4\columnwidth % \kern 2.6pt % call this kernb % } % \end{verbatim} % This produces a horizontal rule from the left margin to 40\% of the % |\columnwidth| with thickness 0.4pt. The rule must not take up any % vertical space, which means that |kerna + kernb| must equal the thickness % of the rule. The rule is located a distance |\skip\footins + kerna| % below the bottom of the main text. So, to move the rule upwards, decrease % the value of |kerna| and increase that of |kernb|, and the reverse to % move the rule downwards. % % % % \DescribeMacro{\appendiargdef} % This is only noted here as someone may find it useful % in another context. Get the \Lpack{patchcmd} % package~\cite{PATCHCMD} if you need % to make other additions to definitions. % The internal command |\appendiargdef{|\meta{macro}|}{|\meta{stuff}|}| % appends \meta{stuff} at the end of the current definition of \meta{macro}, % where \meta{macro} is the name of a macro (including the backslash) which % takes a single argument. For example the following are two equivalent % definitions of |\mymacro|: % \par\begin{small}\begin{verbatim} % \newcommand{\mymacro}[1]{#1 is a violinist} % \appendiargdef{\mymacro}{ in spite of being tone deaf} % % or % \newcommand{\mymacro}[1]{# is a violinist in spite of being tone deaf} % \end{verbatim} % \end{small}\par % % The usual advice about creating a one-column |abstract| in a two-column % document is to write code like this: % \par\begin{small}\begin{verbatim} % \documentclass[twocolumn...]{...} % ... % \twocolumn[ % \begin{@twocolumnfalse} % \maketitle % need full-width title % \begin{abstract} % abstract text... % \end{abstract} % \end{@twocolumnfalse} % ] % ... hand make footnotes for any \thanks commands % ... % \end{verbatim} % \end{small}\par % The \Lpack{titling} package gives no assistance for doing this, but the % \Lpack{abstract} package~\cite{ABSTRACT} provides a command that caters for the somewhat % non-intuitive % \texttt{... hand make footnotes ...} aspect. % % % \StopEventually{ % \bibliographystyle{alpha} % \begin{thebibliography}{GMS94} % % \bibitem[Dow00]{PATCHCMD} % Michael J.~Downes. % \newblock \emph{{The patchcmd package}}. % \newblock July, 2000. % \newblock (Available from CTAN in subdirectory \texttt{/patchcmd}) % % \bibitem[GMS94]{GOOSSENS94} % Michel Goossens, Frank Mittelbach, and Alexander Samarin. % \newblock \emph{{The LaTeX Companion}}. % \newblock Addison-Wesley Publishing Company, 1994. % % \bibitem[Wil01]{ABSTRACT} % Peter Wilson. % \newblock \emph{{The abstract package}}. % \newblock February, 2001. % \newblock (Available from CTAN in subdirectory \texttt{/abstract}) % % \end{thebibliography} % } % % % % \section{The package code} \label{sec:code} % % To try and avoid name clashes, all the internal commands include % the string |@bs| (this code was initially part of the \Lpack{abstract} % package). % % \subsection{Preliminaries} % % Announce the name and version of the package, which requires % \LaTeXe. % \begin{macrocode} %<*usc> \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{titling}[2009/09/04 v2.1d maketitle typesetting] % \end{macrocode} % % The original code for % |\maketitle| is shown in Section~\ref{sec:app}. % Changes to |\maketitle| and friends are defined here. % % \begin{macro}{\pretitle} % \begin{macro}{\@bspretitle} % \begin{macro}{\posttitle} % \begin{macro}{\@bsposttitle} % \begin{macro}{\preauthor} % \begin{macro}{\@bspreauthor} % \begin{macro}{\postauthor} % \begin{macro}{\@bspostauthor} % \begin{macro}{\predate} % \begin{macro}{\@bspredate} % \begin{macro}{\postdate} % \begin{macro}{\@bspostdate} % To provide some flexibilty in the titling style of the document, % user level commands are provided that can be changed to reconfigure % the appearance resulting from |\maketitle|. % \changes{v2.0}{2001/02/24}{Revised and replaced the title configuration commands} % \begin{macrocode} \newcommand{\pretitle}[1]{\def\@bspretitle{#1}} \newcommand{\posttitle}[1]{\def\@bsposttitle{#1}} \newcommand{\preauthor}[1]{\def\@bspreauthor{#1}} \newcommand{\postauthor}[1]{\def\@bspostauthor{#1}} \newcommand{\predate}[1]{\def\@bspredate{#1}} \newcommand{\postdate}[1]{\def\@bspostdate{#1}} % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % These are defined initially % to mimic the normal \LaTeX{} style. % \begin{macrocode} \if@titlepage \pretitle{\begin{center}\LARGE} \posttitle{\par\end{center}\vskip 2em} \preauthor{\begin{center} \large \lineskip .75em% \begin{tabular}[t]{c}} \postauthor{\end{tabular}\par\end{center}} \predate{\begin{center}\large} \postdate{\par\end{center}} \else \pretitle{\begin{center}\LARGE} \posttitle{\par\end{center}\vskip 0.5em} \preauthor{\begin{center} \large \lineskip .5em% \begin{tabular}[t]{c}} \postauthor{\end{tabular}\par\end{center}} \predate{\begin{center}\large} \postdate{\par\end{center}} \fi % \end{macrocode} % % \begin{macro}{\maketitlehooka} % \begin{macro}{\maketitlehookb} % \begin{macro}{\maketitlehookc} % \begin{macro}{\maketitlehookd} % The four hooks which will be called by |\maketitle|. These are initially % vacuous. % \changes{v2.1}{2001/03/23}{Added the four \cs{maketitlehook} commands} % \begin{macrocode} \newcommand{\maketitlehooka}{} \newcommand{\maketitlehookb}{} \newcommand{\maketitlehookc}{} \newcommand{\maketitlehookd}{} % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % % \begin{macro}{\thanksmarkseries} % \begin{macro}{\@bsmarkseries} % \begin{macro}{\symbolthanksmark} % These are for specifying the kind of series for thanks markers. % \changes{v2.0}{2001/02/24}{Added all the controls for the \cs{thanks} command.} % \begin{macrocode} \newcommand{\thanksmarkseries}[1]{% \def\@bsmarkseries{\renewcommand{\thefootnote}{\@nameuse{#1}{footnote}}}} \newcommand{\symbolthanksmark}{\thanksmarkseries{\fnsymbol}} % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % % \begin{macro}{\continuousmarks} % \begin{macro}{\@bscontmark} % These are for (non) zeroing of the footnote counter. % \begin{macrocode} \newcommand{\@bscontmark}{\setcounter{footnote}{0}} \newcommand{\continuousmarks}{\def\@bscontmark{}} % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\thanksheadextra} % \begin{macro}{\@bsthanksheadpre} % \begin{macro}{\@bsthanksheadpost} % These are for inserting stuff before and after a mark in the titling. % \begin{macrocode} \newcommand{\thanksheadextra}[2]{% \def\@bsthanksheadpre{#1}% \def\@bsthanksheadpost{#2}} % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % % \begin{macro}{\thanksfootextra} % \begin{macro}{\thanksfootpre} % \begin{macro}{\thanksfootpost} % These are for inserting stuff before and after a thanks mark in the % footnoting. % \begin{macrocode} \newcommand{\thanksfootextra}[2]{% \def\thanksfootpre{#1}% \def\thanksfootpost{#2}} % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % % \begin{macro}{\thanksmark} % This adds a thanks mark. The |\footnotemark| could have been used directly % but it is fragile in a moving argument. % \begin{macrocode} \DeclareRobustCommand{\thanksmark}[1]{\footnotemark[#1]} % \end{macrocode} % \end{macro} % % \begin{macro}{\thanksgap} % This specifies some horizontal space. % \begin{macrocode} \newcommand{\thanksgap}[1]{\hspace{#1}} % \end{macrocode} % \end{macro} % % \begin{macro}{\tamark} % This stores the current definition of |\@thefnmark|. For some reason % using |\@thefnmark| directly only gave the last value. % \begin{macrocode} \newcommand{\tamark}{\@thefnmark} % \end{macrocode} % \end{macro} % % \begin{macro}{\thanksmarkwidth} % A length determining the size of the box for typesetting % a thanks marker. % \begin{macrocode} \newlength{\thanksmarkwidth} % \end{macrocode} % \end{macro} % % \begin{macro}{\thanksmargin} % A length determining the inset of thanks footnotes. % \begin{macrocode} \newlength{\thanksmargin} % \end{macrocode} % \end{macro} % % \begin{macro}{\thanksscript} % A wrapper round the actual mark stuff to be typeset. This is % initialised to give a superscript mark. % \begin{macrocode} \newcommand{\thanksscript}[1]{\textsuperscript{#1}} % \end{macrocode} % \end{macro} % % \begin{macro}{\makethanksmarkhook} % A vacuous macro used as a hook into |\makethanksmark|. % \begin{macrocode} \newcommand{\makethanksmarkhook}{} % \end{macrocode} % \end{macro} % % \begin{macro}{\thanksfootmark} % This typesets the thanks footnote mark. % \changes{v2.1}{2001/03/23}{Changed \cs{thanksfootmark} definition} % \begin{macrocode} \newcommand{\thanksfootmark}{% \hb@xt@\thanksmarkwidth{\hfil\normalfont\thanksscript{% \thanksfootpre \tamark \thanksfootpost}}} % \end{macrocode} % \end{macro} % % \begin{macro}{\makethanksmark} % This sets the general indentations for the thanks footnote, % and typesets the mark. The code is a simplified version of that % for typeseeting ToC entries. % \changes{v2.1}{2001/03/23}{Changed definition of \cs{makethanksmark}} % \begin{macrocode} \newcommand{\makethanksmark}{% \leavevmode% \makethanksmarkhook\relax \parindent 1em\noindent \leftskip\thanksmargin\relax \advance\leftskip \thanksmarkwidth \null\nobreak\hskip -\leftskip \thanksfootmark } % \end{macrocode} % \end{macro} % % \begin{macro}{\usethanksrule} % \begin{macro}{\cancelhanksrule} % Simple macros that let |\footnoterule| to another rule definition. % \begin{macrocode} \newcommand{\usethanksrule}{\let\footnoterule\thanksrule} \newcommand{\cancelthanksrule}{\let\footnoterule\@bsfootnoterule} % \end{macrocode} % \end{macro} % \end{macro} % % % Now set up the thanks defaults. % \begin{macrocode} \if@titlepage \thanksmarkseries{arabic} % normal footnote numbers \else \thanksmarkseries{fnsymbol} \fi \thanksheadextra{}{} \thanksfootextra{}{} \setlength{\thanksmarkwidth}{1.8em} \setlength{\thanksmargin}{-\thanksmarkwidth} % \end{macrocode} % \begin{macro}{\thanksrule} % \begin{macro}{\@bsfootnoterule} % These are saved versions of the |\footnoterule| definition as it % is at the end of the preamble. % \begin{macrocode} \AtBeginDocument{% \let\thanksrule\footnoterule \let\@bsfootnoterule\footnoterule } % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\droptitle} % A titling block has |\droptitle| amount of additional vertical space % above it (normally zero). % \begin{macrocode} \newlength{\droptitle} \setlength{\droptitle}{0pt} % \end{macrocode} % \end{macro} % % \begin{macro}{\maketitle} % The following is a % modification of |\maketitle| as in the \Lpack{article}, \Lpack{report}, % and \Lpack{book} classes % (see Section~\ref{sec:app} for the original definition). % \changes{v1.2}{2001/03/23}{Added the four \cs{maketitlehook} commands % to \cs{maketitle}} % \begin{macrocode} \providecommand{\maketitle}{} \if@titlepage \renewcommand{\maketitle}{\begin{titlepage}% \let\footnotesize\small \let\footnoterule\relax \let \footnote \thanks \@bsmarkseries \def\@makefnmark{\rlap{\@textsuperscript{% \normalfont\@bsthanksheadpre \tamark \@bsthanksheadpost}}}% \long\def\@makefntext##1{\makethanksmark ##1} \null\vfil \vskip 60\p@ \vspace*{\droptitle} \maketitlehooka {\@bspretitle \@title \@bsposttitle} \maketitlehookb {\@bspreauthor \@author \@bspostauthor} \maketitlehookc {\@bspredate \@date \@bspostdate} \maketitlehookd \par \@thanks \vfil\null \end{titlepage}% \@bscontmark % \setcounter{footnote}{0}% %%% \@bsmtitlempty } % end titlepage defs \else \renewcommand{\maketitle}{\par \begingroup \@bsmarkseries \def\@makefnmark{\rlap{\@textsuperscript{% \normalfont\@bsthanksheadpre \tamark \@bsthanksheadpost}}}% \long\def\@makefntext##1{\makethanksmark ##1} \if@twocolumn \ifnum \col@number=\@ne \@maketitle \else \twocolumn[\@maketitle]% \fi \else \newpage \global\@topnum\z@ \@maketitle \fi \thispagestyle{plain}\@thanks \endgroup \@bscontmark % \setcounter{footnote}{0}% %%% \@bsmtitlempty } % end non-titlepage % \end{macrocode} % \begin{macro}{\@maketitle} % I use |\def\@maketitle| to account for the cases where the main class % does not have titling commands, and to ensure an existing |\@maketitle| % gets overridden. % \changes{v1.2}{2001/03/23}{Added the four \cs{maketitlehook} commands % to \cs{@maketitle}} % \begin{macrocode} \def\@maketitle{% \newpage \null \vskip 2em% \vspace*{\droptitle} \maketitlehooka {\@bspretitle \@title \@bsposttitle} \maketitlehookb {\@bspreauthor \@author \@bspostauthor} \maketitlehookc {\@bspredate \@date \@bspostdate} \maketitlehookd \par \vskip 1.5em} \fi % \end{macrocode} % \end{macro} % \end{macro} % % \begin{environment}{titlingpage} % The |titlingpage| environment sets the pagestyle to be empty, % disables the footnote rule and ensures that the page is single % column. At the end it switches back to twocolumn if neccessary, % and then starts a new page as number 1. % \begin{macrocode} \newenvironment{titlingpage}% {% \let\footnoterule\relax \let\footnotesize\small \if@twocolumn \@restonecoltrue\onecolumn \else \@restonecolfalse \fi \thispagestyle{empty} \setcounter{page}\@ne }{% \thispagestyle{empty} \if@restonecol\twocolumn \else \newpage \fi \if@twoside\else \setcounter{page}\@ne\fi} % \end{macrocode} % \end{environment} % % \begin{macro}{\calccentering} % This macro calculates the amount to be added to a |...sidemargin| % in order to center the textblock. Call as \\ % |\calccentering{\length}{...sidemargin}| and it sets |\length| % to the required value. % \changes{v2.1}{2001/03/23}{Added \cs{calccentering} command} % \begin{macrocode} \newcommand{\calccentering}[2]{ #1 = \paperwidth \advance #1 by -\textwidth \divide #1 by \tw@ \advance #1 by -#2 \advance #1 by -\hoffset \advance #1 by -1in } % \end{macrocode} % \end{macro} % % \begin{macro}{\emptythanks} % This macro discards all prior |\thanks| texts. % \changes{v2.1}{2001/03/23}{Added \cs{emptythanks} command} % \begin{macrocode} \newcommand{\emptythanks}{\global\let\@thanks\@empty} % \end{macrocode} % \end{macro} % % % \begin{macro}{\@bsmtitlempty} % |\@bsmtitlempty| is a helper macro to save some macro space. % It empties some elements of |\maketitle|. % \begin{macrocode} \newcommand{\@bsmtitlempty}{% \global\let\maketitle\relax \global\let\@maketitle\relax \global\let\title\relax \global\let\author\relax \global\let\date\relax \global\let\thanksmarkseries\relax \global\let\thanksheadextra\relax \global\let\thanksfootextra\relax \global\let\thanksmark\relax \global\let\thanksgap\relax } % \end{macrocode} % \end{macro} % % \begin{macro}{\keepthetitle} % This macro undefines all the titling commands except for % |\thetitle|, |\theauthor| and |\thedate|. % \changes{v2.1}{2001/03/23}{Added \cs{keepthetitle} command} % \changes{v2.1}{2001/03/23}{Moved \cs{@bsmtitlempty} from \cs{maketitle} % to \cs{keepthetitle}} % \begin{macrocode} \newcommand{\keepthetitle}{% \@bsmtitlempty \global\let\thanks\relax \global\let\and\relax \global\let\@thanks\@empty \global\let\@title\@empty \global\let\@author\@empty \global\let\@date\@empty } % \end{macrocode} % \end{macro} % % \begin{macro}{\killtitle} % |\killtitle| undefines the remaining macros of |\maketitle|. % \changes{v2.1}{2001/03/23}{\cs{killtitle} calls \cs{keepthetitle} to % do most of the work} % \begin{macrocode} \providecommand{\killtitle}{} \renewcommand{\killtitle}{% \keepthetitle \global\let\thetitle\relax \global\let\theauthor\relax \global\let\thedate\relax } % \end{macrocode} % \end{macro} % % \begin{macro}{\appendiargdef} % The code is copied from the \Lpack{abstract} package. % \begin{macrocode} \providecommand{\appendiargdef}[2]{\begingroup \toks@\expandafter{#1{##1}#2}% \edef\@bsx{\endgroup \def\noexpand#1####1{\the\toks@}}% \@bsx} % \end{macrocode} % \end{macro} % % \begin{macro}{\thetitle} % \begin{macro}{\theauthor} % \begin{macro}{\thedate} % In order to make the |\title|, etc., values available for printing % their definitions need extending to save their arguments % (see Section~\ref{sec:app} for their % original definitions). We have to make sure that extraneous material, % like |\thanks|, is excluded from the saved texts. % \begin{macrocode} \appendiargdef{\title}{% \begingroup \renewcommand{\thanks}[1]{} \renewcommand{\thanksmark}[1]{} \renewcommand{\thanksgap}[1]{} \protected@xdef\thetitle{#1} \endgroup} \appendiargdef{\author}{% \begingroup \renewcommand{\thanks}[1]{} \renewcommand{\and}{\unskip, } \renewcommand{\thanksmark}[1]{} \renewcommand{\thanksgap}[1]{} \protected@xdef\theauthor{#1} \endgroup} \appendiargdef{\date}{% \begingroup \renewcommand{\thanks}[1]{} \renewcommand{\thanksmark}[1]{} \renewcommand{\thanksgap}[1]{} \protected@xdef\thedate{#1} \endgroup} % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % % The end of this package. % \begin{macrocode} % % \end{macrocode} % % \appendix % \section{Original code for making a title} \label{sec:app} % % These are the kernel commands (from \file{ltsect.dtx}) for the elements % of |\maketitle|. % \par\begin{small}\begin{verbatim} % \def\title#1{\gdef\@title{#1}} % \def\@title{\@latex@error{No \noexpand\title given}\@ehc} % \def\author#1{\gdef\@author{#1}} % \def\@author{\@latex@warning@no@line{No \noexpand\author given}} % \def\date#1{\gdef\@date{#1}} % \def\@date{\today} % \def\thanks#1{\footnotemark % \protected@xdef\@thanks{\@thanks % \protect\footnotetext[\the\c@footnote]{#1}}% % } % \let\@thanks\@empty % \def\and{% % \begin{tabular} % \end{tabular}% % \hskip 1em \@plus.17fil% % \begin{tabular}[t]{c}}% % \end{tabular} % \end{verbatim} % \par\end{small} % % % This is the version of % |\maketitle| and |\@maketitle| from \file{classes.dtx}. % \par\begin{small}\begin{verbatim} % \if@titlepage % \newcommand{\maketitle}{\begin{titlepage}% % \let\footnotesize\small % \let\footnoterule\relax % \let \footnote \thanks % \null\vfil % \vskip 60\p@ % \begin{center}% % {\LARGE \@title \par}% % \vskip 3em% % {\large % \lineskip .75em% % \begin{tabular}[t]{c}% % \@author % \end{tabular}\par} % \vskip 1.5em% % {\large \@date \par}% % \end{center}\par % \@thanks % \vfil\null % \end{titlepage}% % \setcounter{footnote}{0}% % \global\let\thanks\relax % \global\let\maketitle\relax % \global\let\@maketitle\relax % \global\let\@thanks\@empty % \global\let\@author\@empty % \global\let\@date\@empty % \global\let\@title\@empty % \global\let\title\relax % \global\let\author\relax % \global\let\date\relax % \global\let\and\relax % } % \else % \newcommand{\maketitle}{\par % \begingroup % \renewcommand\thefootnote{\@fnsymbol\c@footnote}% % \def\@makefnmark{\rlap{\@textsuperscript{\normalfont\@thefnmark}}}% % \long\def\@makefntext##1{\parindent 1em\noindent % \hb@xt@1.8em{% % \hss\@textsuperscript{\normalfont\@thefnmark}}##1}% % \if@twocolumn % \ifnum \col@number=\@ne % \@maketitle % \else % \twocolumn[\@maketitle]% % \fi % \else % \newpage % \global\@topnum\z@ % \@maketitle % \fi % \thispagestyle{plain}\@thanks % \endgroup % \setcounter{footnote}{0}% % \global\let\thanks\relax % \global\let\maketitle\relax % \global\let\@maketitle\relax % \global\let\@thanks\@empty % \global\let\@author\@empty % \global\let\@date\@empty % \global\let\@title\@empty % \global\let\title\relax % \global\let\author\relax % \global\let\date\relax % \global\let\and\relax % } % % \def\@maketitle{% % \newpage % \null % \vskip 2em% % \begin{center}% % \let \footnote \thanks % {\LARGE \@title \par}% % \vskip 1.5em% % {\large % \lineskip .5em% % \begin{tabular}[t]{c}% % \@author % \end{tabular}\par} % \vskip 1em% % {\large \@date}% % \end{center} % \par % \vskip 1.5em} % \fi % % \end{verbatim} % \end{small}\par % % % % % \Finale % \PrintIndex % \endinput %% \CharacterTable %% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z %% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z %% Digits \0\1\2\3\4\5\6\7\8\9 %% Exclamation \! Double quote \" Hash (number) \# %% Dollar \$ Percent \% Ampersand \& %% Acute accent \' Left paren \( Right paren \) %% Asterisk \* Plus \+ Comma \, %% Minus \- Point \. Solidus \/ %% Colon \: Semicolon \; Less than \< %% Equals \= Greater than \> Question mark \? %% Commercial at \@ Left bracket \[ Backslash \\ %% Right bracket \] Circumflex \^ Underscore \_ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~}