From 017c1e7872e44e46d3b0dc2e186769e275145a4c Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Wed, 11 Jan 2006 23:49:55 +0000 Subject: trunk/Master/texmf-dist/source/latex/abstract git-svn-id: svn://tug.org/texlive/trunk@126 c570f23f-e606-0410-a88d-b1316a301751 --- .../texmf-dist/source/latex/abstract/abstract.dtx | 701 +++++++++++++++++++++ .../texmf-dist/source/latex/abstract/abstract.ins | 81 +++ 2 files changed, 782 insertions(+) create mode 100644 Master/texmf-dist/source/latex/abstract/abstract.dtx create mode 100644 Master/texmf-dist/source/latex/abstract/abstract.ins diff --git a/Master/texmf-dist/source/latex/abstract/abstract.dtx b/Master/texmf-dist/source/latex/abstract/abstract.dtx new file mode 100644 index 00000000000..5aee33ec49d --- /dev/null +++ b/Master/texmf-dist/source/latex/abstract/abstract.dtx @@ -0,0 +1,701 @@ +% \iffalse meta-comment +% abstract.dtx +% Author: Peter Wilson (CUA) now at peter.r.wilson@boeing.com until June 2004 +% (or at: pandgwilson at earthlink dot net) +% 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.3 of this license or (at your option) any +% later version. +% The latest version of the license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of +% LaTeX version 2003/06/01 or later. +% +% This work has the LPPL maintenance status "author-maintained". +% +% This work consists of the files listed in the README file. +% +% +%<*driver> +\documentclass{ltxdoc} +\EnableCrossrefs +\CodelineIndex +%%\OnlyDescription +\setcounter{StandardModuleDepth}{1} +\begin{document} + \DocInput{abstract.dtx} +\end{document} +% +% +% \fi +% +% \CheckSum{255} +% +% \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{v1.1}{2001/02/11}{Added runin option} +% \changes{v1.1a}{2004/04/16}{Changed license and contact details} +% +% \def\dtxfile{abstract.dtx} +% ^^A \def\fileversion{v0.3} +% ^^A \def\filedate{2000/05/20} +% ^^A \def\fileversion{v1.0} +% ^^A \def\filedate{2000/06/11} +% \def\fileversion{v1.1} +% \def\filedate{2001/02/11} +% \def\fileversion{v1.1a} +% \def\filedate{2004/04/16} +% \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{abstract} package\thanks{This +% file (\texttt{\dtxfile}) has version number \fileversion, last revised +% \filedate.}} +% +% \author{% +% Peter Wilson\thanks{After May 2004 at: \texttt{pandgwilson at earthlink dot net}}\\ +% Catholic University of America \\ +% Now at \texttt{peter.r.wilson@boeing.com} +% } +% \date{\filedate} +% \maketitle +% \begin{abstract} +% The \Lpack{abstract} package provides control over the typesetting +% of the |abstract| environment, and especially provides for a one-column +% abstract in a two-column paper. +% +% \end{abstract} +% \tableofcontents +% +% +% +% \section{Introduction} +% +% Questions about how to have a one-column abstract in a two-column paper +% seem to pop up fairly regularly on the +% \texttt{comp.text.tex} newsgroup. While an answer based on responses +% on \texttt{ctt} is provided in the FAQ, +% the \Lpack{abstract} package provides a more author-friendly means +% of accomplishing this. Further, additional controls are provided +% for the typesetting of the |abstract| environment in general. +% +% +% 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{abstract} +% package and +% commented source code is in Section~\ref{sec:code}. +% +% \section{The \Lpack{abstract} package} \label{sec:usc} +% +% The typeset format of the |abstract| in a \Lpack{report} or +% \Lpack{article} class\footnote{The \texttt{abstract} environment is not +% available for the \Lpack{book} class.} document depends on the class +% options. The formats are: +% \begin{itemize} +% \item \Lopt{titlepage} class option: The abstract heading (i.e., value of +% |\abstractname|) is typeset centered in a bold font; the text is set in +% the normal font and to the normal width. +% \item \Lopt{twocolumn} class option: The abstract heading is typeset like +% an unnumbered section; the text is set in the normal font and to the +% normal width (of a single column). +% \item Default (neither of the above class options): The abstract heading +% is typeset centered in a small bold font; the text is set in a small +% font and indented like the |quotation| environment. +% \end{itemize} +% Note that the \Lopt{titlepage} option takes precedence over the +% \Lopt{twocolumn} option. +% +% The \Lpack{abstract} package provides handles to modify the typesetting +% of the |abstract|. +% +% \subsection{Options} +% +% The \Lpack{abstract} package takes the following options. +% \begin{itemize} +% \item \Lopt{original}. In a \Lopt{twocolumn} document the package default +% is to use the default abstract style (i.e., centered heading +% and small text). This option sets the +% typeset format of the abstract to match that of a standard +% two column document (i.e., section heading and normal sized text). +% \item \Lopt{addtotoc}. The abstract title (the value of |\abstractname|) +% is added to the Table of Contents. +% \item \Lopt{number}. The abstract title will be typeset as a +% numbered |\chapter| +% or as a |\section|, depending on whether the document class supports +% chapters or not. +% \item \Lopt{runin}. The abstract title is typeset as a run-in\footnote{This +% option was suggested by R.~Chandrasekhar (\texttt{chandra@ee.uwa.edu.au}).} heading. +% Note that the \Lopt{number} option is ignored if the \Lopt{runin} option +% is used. +% \end{itemize} +% +% When the \Lopt{number} option is used with a class that provides chapters, +% the usual |\chapter| command is used for typesetting the title. If you +% do not want the word `Chapter' (or its equivalent) to appear, +% you can use the \Lpack{anonchap} +% package to suppress this. +% +% \subsection{Commands and environments} +% +% 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 +% +% \DescribeEnv{onecolabstract} +% \DescribeMacro{\saythanks} +% With the \Lpack{abstract} package, instead you do: +% \par\begin{small}\begin{verbatim} +% \documentclass[twocolumn...]{...} +% \usepackage{abstract} +% ... +% \twocolumn[ +% \maketitle % need full-width title +% \begin{onecolabstract} +% abstract text... +% \end{onecolabstract} +% ] +% \saythanks % typesets any \thanks commands +% ... +% \end{verbatim} +% \end{small}\par +% If you want, you can use the |onecolabstract| environment in place +% of the |abstract| environment --- it doesn't have to be within the optional +% argument of the |\twocolumn| command. In fact, |onecolabstract| internally +% uses |abstract| for the typesetting. +% +% \DescribeMacro{\abstractnamefont} +% \DescribeMacro{\abstracttextfont} +% These two commands can be redefined to change the fonts used for +% typesetting the heading (defined via |\abstractname|) of the |abstract| +% environment and the font for typesetting the text of the abstract, +% respectively. The default definitions for these are designed to mimic +% the traditional |abstract| typesetting. Different values are used +% depending on whether the document uses the \Lopt{titlepage} and/or +% \Lopt{twocolumn} options. For example, in a non-titlepage +% one-column paper, their definitions are: +% \par\begin{small}\begin{verbatim} +% \newcommand{\abstractnamefont}{\normalfont\small\bfseries} +% \newcommand{\abstracttextfont}{\normalfont\small} +% \end{verbatim} +% \end{small}\par +% +% +% \DescribeMacro{\absleftindent} +% \DescribeMacro{\absrightindent} +% \DescribeMacro{\absparindent} +% \DescribeMacro{\absparsep} +% The amended version of |abstract| uses a list environment for typesetting +% the text. These four lengths can be changed (via |\setlength|) to adjust +% the left and right margins, the paragraph indentation, and the vertical skip +% between paragraphs in this environment. +% The default values depend on the document class options in +% effect. +% +% \DescribeMacro{\abslabeldelim} +% If the \Lopt{runin} option is used, the heading is typeset as a run-in heading. +% That is, it is the first piece of text on the first line of the abstract text. +% The \meta{text} as dspecified by |\abslabeldelim{|\meta{text}|}| is typeset +% immediately after the heading. By default it is defined to do nothing, but +% if you wanted, for example, the |\abstractname| to be followed by a colon and +% some extra space you could specify |\abslabeldelim{:\quad}|. +% +% \DescribeMacro{\absnamepos} +% If the \Lopt{runin} option is not used then the heading is typeset +% in its own environment. |\absnamepos| specifies the name of the environment +% in which the abstract +% name is typeset. It can be redefined to be one of |flushleft|, |center|, +% or |flushright| to give a left, centered or right aligned heading; or to any +% other appropriate environment which is supported by the document class or +% used packages. +% +% \DescribeMacro{\abstitleskip} +% With the \Lopt{runin} option a space of length |\abstitleskip| is typeset +% before the heading. For example, if |\absparindent| is non-zero, then: \\ +% |\setlength{\abstitleskip}{-\absparindent}| \\ +% will typeset the heading flush left. +% +% Without the \Lopt{runin} option |\abstitleskip| is aditional vertical +% space (either positive +% or negative) that is inserted between the abstract name and the text of +% the abstract. +% +% \DescribeMacro{\appendiargdef} +% The (internal) command |\appendiargdef{|\meta{macro}|}{|\meta{stuff}|}| +% will append +% \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 an artist} +% \appendiargdef{\mymacro}{ in spite of being colour blind} +% % or +% \newcommand{\mymacro}[1]{#1 is an artist in spite of being colour blind} +% \end{verbatim} +% \end{small}\par +% +% \StopEventually{ +% \bibliographystyle{alpha} +% \begin{thebibliography}{GMS94} +% \bibitem[GMS94]{GOOSSENS94} +% Michel Goossens, Frank Mittelbach, and Alexander Samarin. +% \newblock {\em The LaTeX Companion}. +% \newblock Addison-Wesley Publishing Company, 1994. +% ^^A \bibitem[Wil96]{PRW96i} +% ^^A Peter~R. Wilson. +% ^^A \newblock {\em {LaTeX for standards: The LaTeX package files user manual}}. +% ^^A \newblock NIST Report NISTIR, June 1996. +% \end{thebibliography} +% } +% +% +% +% \section{The package code} \label{sec:code} +% +% To try and avoid name clashes, all the internal commands include +% the string |@bs|. +% +% \subsection{Preliminaries} +% +% Announce the name and version of the package, which requires +% \LaTeXe. +% \begin{macrocode} +%<*usc> +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{abstract}[2001/02/11 v1.1 configurable abstracts] + +% \end{macrocode} +% +% +% The following |\if...| commands are for implementing various options. +% \changes{v1.1}{2001/02/11}{Added \cs{if@bsrunin}} +% \begin{macro}{\if@bsonecol} +% \begin{macro}{\ifadd@bstotoc} +% \begin{macro}{\ifnumber@bs} +% \begin{macro}{\if@bsrunin} +% \begin{macrocode} +\newif\if@bsonecol + \@bsonecoltrue +\newif\ifadd@bstotoc + \add@bstotocfalse +\newif\ifnumber@bs + \number@bsfalse +\newif\if@bsrunin + \@bsruninfalse + +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% Now declare and process the options. +% \begin{macrocode} +\DeclareOption{original}{\@bsonecolfalse} +\DeclareOption{addtotoc}{\add@bstotoctrue} +\DeclareOption{number}{\number@bstrue} +\DeclareOption{runin}{\@bsrunintrue} +\ProcessOptions\relax +% \end{macrocode} +% Make sure that the \Lopt{number} option is disabled +% if \Lopt{runin} is used (otherwise the \Lopt{addtotoc} option +% may not work as expected). +% \begin{macrocode} +\if@bsrunin\number@bsfalse\fi + +% \end{macrocode} +% +% \subsection{Abstracts} +% +% The original definition of the |abstract| environment given in +% \file{ltclasses.dtx} is: +% \par\begin{small}\begin{verbatim} +% \if@titlepage +% \renewenvironment{abstract}{% +% \titlepage +% \null\vfil +% \@beginparpenalty\@lowpenalty +% \begin{center}% +% \bfseries \abstractname +% \@endparpenalty\@M +% \end{center}}% +% {\par\vfil\null\endtitlepage} +% \else +% \renewenvironment{abstract}{% +% \if@twocolumn +% \section*{\abstractname}% +% \else +% \small +% \begin{center}% +% {\bfseries \abstractname\vspace{-.5em}\vspace{\z@}}% +% \end{center}% +% \quotation +% \fi} +% {\if@twocolumn\else\endquotation\fi} +% \fi +% \end{verbatim} +% \end{small}\par +% The next set of macros comprise the \Lpack{abstract} package +% reimplementation of the |abstract| environment. +% +% \begin{macro}{\abstractnamefont} +% \begin{macro}{\abstracttextfont} +% These two macros are for specifying the fonts for typesetting the +% abstract's title and text. They are initialised for the default case +% (i.e., no class options). +% \begin{macrocode} +\newcommand{\abstractnamefont}{\normalfont\small\bfseries} +\newcommand{\abstracttextfont}{\normalfont\small} + +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\absnamepos} +% \begin{macro}{\abstitleskip} +% |\absnamepos| specifies the environment in which the abstract's title +% name will be typeset, and the length |\abstitleskip| is an adjustement +% to the vertical space between the title and the abstract's text. These +% are initialised for the default case. +% \begin{macrocode} +\newcommand{\absnamepos}{center} +\newlength{\abstitleskip} \setlength{\abstitleskip}{-0.5em} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\absleftindent} +% \begin{macro}{\absrightindent} +% \begin{macro}{\absparindent} +% \begin{macro}{\absparsep} +% The abstract's text is typeset as a single item list, called +% |@bstr@ctlist|. These lengths set the left and right margin indents, the +% paragraph indentation, and the inter-paragraph vertical space. Their +% initial values are all class option-dependent. +% \begin{macrocode} +\newlength{\absleftindent} +\newlength{\absrightindent} +\newlength{\absparindent} +\newlength{\absparsep} + +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\abslabeldelim} +% \begin{macro}{\@bslabeldelim} +% The contents of |\abslabeldelim| are typeset after a run-in heading. +% \changes{v1.1}{2001/02/11}{Added \cs{abslabeldelim} and \cs{@bslabeldelim}} +% \begin{macrocode} +\newcommand{\abslabeldelim}[1]{\def\@bslabeldelim{#1}} +\abslabeldelim{} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\@bsrunintitle} +% This macro typeset the run-in heading. +% \changes{v1.1}{2001/02/11}{Added \cs{@bsrunintitle}} +% \begin{macrocode} +\newcommand{\@bsrunintitle}{% + \hspace*{\abstitleskip}{\abstractnamefont\abstractname\@bslabeldelim}} + +% \end{macrocode} +% \end{macro} +% +% Now set all the class option-dependent values. +% \begin{macrocode} +\if@titlepage +% \end{macrocode} +% Values for the \Lopt{titlepage} class option. Note that this option takes +% precedence over any other option. +% \begin{macrocode} + \setlength{\absleftindent}{\z@} + \renewcommand{\abstractnamefont}{\normalfont\bfseries} + \renewcommand{\abstracttextfont}{\normalfont} + \setlength{\abstitleskip}{0em} +\else + \if@twocolumn +% \end{macrocode} +% Values for the \Lopt{twocolumn} class option. +% \begin{macrocode} + \if@bsonecol + \setlength{\absleftindent}{\leftmargin} + \else + \setlength{\absleftindent}{\z@} + \renewcommand{\abstractnamefont}{\normalfont\Large\bfseries} + \renewcommand{\abstracttextfont}{\normalfont} + \renewcommand{\absnamepos}{flushleft} + \setlength{\abstitleskip}{0em} + \fi + \else +% \end{macrocode} +% Values for the default, if not already initialised. +% \begin{macrocode} + \setlength{\absleftindent}{\leftmargin} + \fi +\fi +% \end{macrocode} +% Finally, values that apply for all cases. +% \begin{macrocode} +\setlength{\absrightindent}{\absleftindent} +\AtBeginDocument{\setlength{\absparindent}{\parindent} + \setlength{\absparsep}{\parskip}} + +% \end{macrocode} +% +% \begin{environment}{@bstr@ctlist} +% The abstract's text is typeset within the |@bstr@ctlist| list environment. +% \begin{macrocode} +\newenvironment{@bstr@ctlist}{% + \list{}{% + %%\topsep \z@ + \partopsep \z@ + \listparindent \absparindent + \itemindent \listparindent + \leftmargin \absleftindent + \rightmargin \absrightindent + \parsep \absparsep}% + \item\relax} + {\endlist} + +% \end{macrocode} +% \end{environment} +% +% \begin{macro}{\put@bsintoc} +% This macro adds the abstract's title to the ToC. It does nothing if +% the abstract is being numbered. +% \begin{macrocode} +\newcommand{\put@bsintoc}{% + \ifadd@bstotoc + \ifnumber@bs\else + \@ifundefined{chapter}{\addcontentsline{toc}{section}{\abstractname}}{% + \addcontentsline{toc}{chapter}{\abstractname}} + \fi + \fi} + +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\num@bs} +% This macro generates a numbered abstract heading. +% \begin{macrocode} +\newcommand{\num@bs}{% + \@ifundefined{chapter}{\section{\abstractname}}{% + \chapter{\abstractname}} +} + +% \end{macrocode} +% \end{macro} +% +% \begin{environment}{abstract} +% At last we are in position to redefine the |abstract| environment. This +% follows very much along the lines of the original definition, but with +% macros inserted at strategic points. +% \begin{macrocode} +\if@titlepage +% \end{macrocode} +% For the \Lopt{titlepage} option. +% \begin{macrocode} + \renewenvironment{abstract}{% + \titlepage + \null\vfil + \@beginparpenalty\@lowpenalty + \if@bsrunin\else +% \end{macrocode} +% If the \Lopt{runin} option is not used: +% number the title, if called for, otherwise typeset the title in the +% specified (via |\absnamepos|) environment and adjust the following vertical +% spacing. +% \begin{macrocode} + \ifnumber@bs \num@bs \else + \begin{\absnamepos}% + \abstractnamefont \abstractname + \@endparpenalty\@M + \end\absnamepos% + \vspace{\abstitleskip}% + \fi + \fi +% \end{macrocode} +% Try adding the title to the ToC, then start the environment for typesetting +% the text. If the \Lopt{runin} option is used, typeset the heading at the start +% of the environment. +% \begin{macrocode} + \put@bsintoc% + \begin{@bstr@ctlist}\if@bsrunin\@bsrunintitle\fi\abstracttextfont}% +% \end{macrocode} +% Finish the |abstract| environment. +% \begin{macrocode} + {\par\end{@bstr@ctlist}\vfil\null\endtitlepage} +\else +% \end{macrocode} +% The \Lopt{twocolumn} option and the default case. These use the same code +% as any style differences are embedded in the new macros. +% \begin{macrocode} + \renewenvironment{abstract}{% + \if@bsrunin\else + \ifnumber@bs \num@bs \else + \begin{\absnamepos}\abstractnamefont\abstractname\end\absnamepos% + \vspace{\abstitleskip}% + \fi + \fi + \put@bsintoc% + \begin{@bstr@ctlist}\if@bsrunin\@bsrunintitle\fi\abstracttextfont}% + {\par\end{@bstr@ctlist}} +\fi + +% \end{macrocode} +% \end{environment} +% +% \begin{environment}{onecolabstract} +% An environment for typesetting a single column abstract, +% particularly as the optional +% argument to the |\twocolumn| command. +% \begin{macrocode} +\newenvironment{onecolabstract}{% + \begin{@twocolumnfalse}\begin{abstract}}{% + \end{abstract}\end{@twocolumnfalse}} + +% \end{macrocode} +% \end{environment} +% +% \begin{macro}{\appendiargdef} +% |\appendiargdef{\macro}{Additional stuff}| will add |Additional stuff| at +% the end of the definition of |\macro|, where |\macro| is a macro that has +% one argument.\footnote{Code suggestions for this were made by Michael Downes +% (\texttt{epsmjd@ams.org}) and Heiko Oberdiek +% (\texttt{oberdiek@ruf.uni-freiburg.de}) on \texttt{ctt}.} +% \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}{\thanks} +% \begin{macro}{\@bs@thanks} +% We have to keep the contents of the |\thanks| commands as normally these +% are emptied by the |\maketitle| command. I do this by extending the definition +% of the |\thanks| (from \file{ltsect.dtx}) command, +% so that |\@bs@thanks| has a copy of the contents +% of |\@thanks|. +% \begin{macrocode} +\appendiargdef{\thanks}{% + \protected@xdef\@bs@thanks{\@bs@thanks + \protect\footnotetext[\the\c@footnote]{#1}}% +} +\let\@bs@thanks\@empty + +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\saythanks} +% This macro typesets any |\thanks| commands \emph{after} using +% |onecolabstract|. +% \begin{macrocode} +\newcommand{\saythanks}{\begingroup + \renewcommand{\thefootnote}{\fnsymbol{footnote}}\@bs@thanks + \endgroup\global\let\@bs@thanks\@empty} + +% \end{macrocode} +% \end{macro} +% +% +% The end of this package. +% \begin{macrocode} +% +% \end{macrocode} +% +% +% +% +% \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 \~} + + diff --git a/Master/texmf-dist/source/latex/abstract/abstract.ins b/Master/texmf-dist/source/latex/abstract/abstract.ins new file mode 100644 index 00000000000..d6e960d0a7a --- /dev/null +++ b/Master/texmf-dist/source/latex/abstract/abstract.ins @@ -0,0 +1,81 @@ +%% abstract.ins +%% Author: Peter Wilson (CUA) now at peter.r.wilson@boeing.com until June 2004 +%% (or at: pandgwilson at earthlink dot net) +%% 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.3 of this license or (at your option) any +%% later version. +%% The latest version of the license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of +%% LaTeX version 2003/06/01 or later. +%% +%% This work has the LPPL maintenance status "author-maintained". +%% +%% This work consists of the files listed in the README file. +%% +%% +%% This file will generate fast loadable files and documentation +%% driver files from the doc files in this work when run through +%% LaTeX. +%% +%% +%% +%% +%% --------------- start of docstrip commands ------------------ +%% +\def\batchfile{abstract.ins} +\input docstrip.tex +\preamble + +----------------------------------------------------------------- + Author: Peter Wilson (CUA) now at peter.r.wilson@boeing.com until June 2004 + (or at: pandgwilson at earthlink dot net) + 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.3 of this license or (at your option) any + later version. + The latest version of the license is in + http://www.latex-project.org/lppl.txt + and version 1.3 or later is part of all distributions of + LaTeX version 2003/06/01 or later. + + This work has the LPPL maintenance status "author-maintained". + + This work consists of the files listed in the README file. +----------------------------------------------------------------- + +\endpreamble + +\keepsilent + +%%% \Msg{*** Generating the driver file ***} +%%% \generateFile{abstract.drv}{t}{\from{abstract.dtx}{driver}} + +\Msg{*** Generating the LaTeX2e package files ***} + +\generateFile{abstract.sty}{t}{\from{abstract.dtx}{usc}} + +\Msg{***********************************************************} +\Msg{*} +\Msg{* To finish the installation you have to move the following} +\Msg{* file(s) into a directory searched by TeX:} +\Msg{*} +\Msg{* \space\space abstract.sty} +\Msg{*} +\Msg{*} +\Msg{* To produce the documentation run the files ending with} +\Msg{* `.dtx' through LaTeX.} +\Msg{* For an index, process any name.idx file by:} +\Msg{* \space\space\space\space makeindex -s gind.ist name} +\Msg{* For a list of changes, process any name.glo file by:} +\Msg{* \space\space\space\space makeindex -s gglo.ist -o name.gls name.glo} +\Msg{*} +\Msg{* Happy TeXing} +\Msg{***********************************************************} + +\endinput -- cgit v1.2.3