From fe8ebf77951d7f5fa746af3d453a3b0ed97a3ade Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Wed, 11 Jan 2006 23:54:37 +0000 Subject: trunk/Master/texmf-dist/source/latex/limap git-svn-id: svn://tug.org/texlive/trunk@356 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/source/latex/limap/Makefile | 34 + Master/texmf-dist/source/latex/limap/limap.dtx | 1244 ++++++++++++++++++++++++ Master/texmf-dist/source/latex/limap/limap.ins | 46 + 3 files changed, 1324 insertions(+) create mode 100644 Master/texmf-dist/source/latex/limap/Makefile create mode 100644 Master/texmf-dist/source/latex/limap/limap.dtx create mode 100644 Master/texmf-dist/source/latex/limap/limap.ins (limited to 'Master/texmf-dist') diff --git a/Master/texmf-dist/source/latex/limap/Makefile b/Master/texmf-dist/source/latex/limap/Makefile new file mode 100644 index 00000000000..926ee7b955c --- /dev/null +++ b/Master/texmf-dist/source/latex/limap/Makefile @@ -0,0 +1,34 @@ +#****************************************************************************** +#* $Id: Makefile 1.2 2000/03/01 20:11:42 gene Exp gene $ +#****************************************************************************** +#* Author: Gerd Neugebauer +#*============================================================================= + +NAME = limap +LATEX = latex +MAKEINDEX = makeindex + + +all: ${NAME}.cls ${NAME}.dvi + +${NAME}.cls: ${NAME}.dtx ${NAME}.ins + ${RM} ${NAME}.cls ${NAME}.sty + ${LATEX} ${NAME}.ins + +${NAME}.sty: ${NAME}.dtx ${NAME}.ins + ${RM} ${NAME}.cls ${NAME}.sty + ${LATEX} ${NAME}.ins + +${NAME}.dvi: ${NAME}.dtx + ${LATEX} ${NAME}.dtx + ${MAKEINDEX} -s gind.ist ${NAME} + ${LATEX} ${NAME}.dtx + +#------------------------------------------------------------------------------ + +ci: + ci -l ${NAME}.dtx ${NAME}.ins Makefile +clean: + ${RM} ${NAME}.cls ${NAME}.sty + + diff --git a/Master/texmf-dist/source/latex/limap/limap.dtx b/Master/texmf-dist/source/latex/limap/limap.dtx new file mode 100644 index 00000000000..e9a1b495300 --- /dev/null +++ b/Master/texmf-dist/source/latex/limap/limap.dtx @@ -0,0 +1,1244 @@ +%%^^A%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%^^A $Id: limap.dtx 1.2 2000/03/01 20:11:42 gene Exp gene $ +%%^^A%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%\iffalse +%% Purpose: +%% A package for typesetting Information Maps. +%% +%% Documentation: +%% The documentation can be generated from the original file +%% limap.dtx with the doc style/package. LaTeX the file limap.tex +%% to get the full documentation in \textsc{dvi} format. +%% +%% Author: Gerd Neugebauer +%% Mainzer Str. 8 +%% 56321 Rhens (Germany) +%% Mail: gerd.neugebauer@sdm.de +%% gerd.neugebauer@gmx.de +%% +%% Copyright (C) 1999-2000 Gerd Neugebauer +%% +%% limap.dtx may be distributed under the terms of the LaTeX Project +%% Public License, as described in lppl.txt in the base LaTeX +%% distribution. Either version 1.0 or, at your option, any later +%% version. +%% +%% This class is still under development and may be replaced with a +%% new version which provides an enhanced functionality. +%% +%\fi +%^^A%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% \title{A \LaTeX\ Package for Typesetting Information Maps\thanks{This file +% documents \filename\ version \fileversion\ as of \filedate.}} +% \author{Gerd Neugebauer\\ +% Mainzer Str.\ 8\\ +% 56321 Rhens (Germany)\\ +% Net: \texttt{gerd.neugebauer@sdm.de}} +% +% \date{{\footnotesize Documentation date: \docdate}} +% +% \maketitle +% +%^^A%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% \changes{1.0}{2000/03/01}{First public release.} +%^^A%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% \DoNotIndex{\ ,\",\',\.,\[,\\,\],\^,\`,\~,\@,\@author,\@auxout} +% \DoNotIndex{\@currentlabel,\@currenvir,\@date} +% \DoNotIndex{\@dottedtocline,\@gobble,\@gobbletwo,\@highpenalty} +% \DoNotIndex{\@ifnextchar,\@ifstar,\@ifundefined} +% \DoNotIndex{\@namedef,\@nameuse,\@pnumwidth,\@startsection,\@starttoc} +% \DoNotIndex{\@tempdima,\@title,\@thefnmark,\@undefined} +% \DoNotIndex{\@ixpt,\@vpt,\@vipt,\@viipt,\@viiipt} +% \DoNotIndex{\@xpt,\@xipt,\@xiipt,\@xivpt,\@xvii,\@xxpt,\@xxvpt} +% \DoNotIndex{\AA,\AE,\CodelineIndex} +% \DoNotIndex{\CurrentOption,\DeclareOption,\DeleteShortVerb,\DocInput} +% \DoNotIndex{\EnableCrossrefs,\H,\InputIfFileExists} +% \DoNotIndex{\L,\LARGE,\LaTeX,\Large} +% \DoNotIndex{\LoadClass,\NeedsTeXFormat,\O,\OE,\OptionNotUsed} +% \DoNotIndex{\PackageError,\PackageWarning,\PassOptionsToClass} +% \DoNotIndex{\ProcessOptions,\ProvidesClass} +% \DoNotIndex{\PrintChanges,\PrintIndex} +% \DoNotIndex{\ProvidesPackage,\RecordChanges,\RequirePackage,\TeX} +% \DoNotIndex{\aa,\addcontentsline,\addpenalty,\addtolength,\advance} +% \DoNotIndex{\addvspace,\ae,\ast,\arabic} +% \DoNotIndex{\b,\baselineskip,\begin,\begingroup,\bf,\bgroup,\egroup} +% \DoNotIndex{\bigskip,\box,\bullet} +% \DoNotIndex{\c,\cal,\catcode,\centering,\chapter,\chardef,\circ} +% \DoNotIndex{\clearpage,\closein,\closeout} +% \DoNotIndex{\clubpenalty,\csname} +% \DoNotIndex{\d,\def,\dimen,\diamond,\divide,\documentclass,\dots,\dp} +% \DoNotIndex{\edef,\else,\em,\emph,\empty,\end,\endcsname,\endgroup} +% \DoNotIndex{\endinput,\endlist} +% \DoNotIndex{\expandafter,\fbox,\fi,\footnotesize,\footskip,\framebox} +% \DoNotIndex{\frenchspacing,\futurelet,\gdef,\global,\gobble} +% \DoNotIndex{\hangafter,\hangindent,\hbox,\headheight,\headsep,\hfil} +% \DoNotIndex{\hfill,\hrule,\hskip,\hspace,\hss,\ht,\huge,\ifcat,\ifeof} +% \DoNotIndex{\ifdim,\ifnum,\iftrue,\ifx,\ignorespaces,\immediate,\index} +% \DoNotIndex{\input,\it} +% \DoNotIndex{\itemindent,\itemsep,\jobname,\kern,\l,\labelsep,\labelwidth} +% \DoNotIndex{\large,\leavevmode,\leftmark,\leftskip,\let,\list} +% \DoNotIndex{\llap,\long,\lower} +% \DoNotIndex{\m@th,\makebox,\magstep,\makeindex,\markboth,\mbox,\medskip} +% \DoNotIndex{\multicolumn} +% \DoNotIndex{\newblock,\newcommand,\newcount,\newenvironment,\newfont} +% \DoNotIndex{\newif,\newlength,\newline,\newpage,\newread,\newwrite} +% \DoNotIndex{\nobreak,\noindent,\normalsize,\null,\o,\oe} +% \DoNotIndex{\openin,\openout,\or,\pagestyle,\par,\paragraph,\parbox} +% \DoNotIndex{\parfillskip,\parindent,\parsep,\parskip,\part,\partopsep} +% \DoNotIndex{\penalty,\providecommand,\quad} +% \DoNotIndex{\raggedbottom,\raggedright,\raise,\raisebox,\refstepcounter} +% \DoNotIndex{\relax,\renewcommand,\renewenvironment,\rightskip,\rm,\rule} +% \DoNotIndex{\sbox,\sc,\section,\setcounter,\setlength,\settowidth} +% \DoNotIndex{\sf,\sfcode,\sl} +% \DoNotIndex{\sloppy,\small,\space,\ss,\string} +% \DoNotIndex{\subparagraph,\subsubparagraph} +% \DoNotIndex{\subsection,\subsubsection,\symbol} +% \DoNotIndex{\t,\tenex,\textheight,\textit,\textsf,\textstyle,\textwidth} +% \DoNotIndex{\the,\thepage,\thispagestyle} +% \DoNotIndex{\topmargin,\topsep,\tt,\typeout} +% \DoNotIndex{\u,\unitlength,\usecounter,\v,\varepsilon,\vbox} +% \DoNotIndex{\vfill,\vsize,\vskip,\vspace,\vss} +% \DoNotIndex{\wd,\widowpenalty,\write,\xdef,\z@} +% +%^^A%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% \CheckSum{608} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% \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 \~} +%% +%^^A%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% \begin{abstract} +% The Information +% Mapping\(^{\textrm{\footnotesize\textregistered}}\) method +% provides a different methodology for structuring and presenting +% information. It claims to be useful for readers who are more +% concerned about finding the right information than reading the +% document as a whole. Thus short, highly structured, and context +% free pieces of information are used. +% +% \texttt{limap.dtx} provides a \LaTeX{} style and a \LaTeX{} +% class. The style contains definitions to typeset maps and +% blocks according to the Information Mapping method. The +% class provides all definitions to typeset a whole document. +% \end{abstract} +% +% \newpage +% \tableofcontents +% \newpage +% +% \section{Motivation} +% +% The information mapping method provides a methodology to +% structure information in a special way. The aim is to help a +% reader who uses the document to search for relevant information +% instead of consuming it from start to end. The information +% mapping method also claims to raise the productivity of writers. +% +% This document does not include an introduction to the information +% mapping method. The reader is referred to other documents. Maybe +% an acompanying document is distributed with this package. +% +% To support the information mapping method several \LaTeX{} macros +% and environments are needed which provide a logical description +% of the relevant concepts. Those macros are provided in the +% package and class file. +% +% This package provides both a class file as well as a package. The +% package contains the definitions of maps, blocks, and +% others. They can be used together with any base class. +% +% The class load a base class and does some other useful stuff. The +% base class can be determined with two class options. +% +% +% \section{The User Interface} +% +% The main part of the user interface is inherited from \LaTeX. The +% major differences are the sectioning commands which are made +% obsolete in parts by the information mapping method. +% +% \subsection{Package and Class Options} +% The package and the class can take several options to influence +% the behaviour of the package or class. +% +% First, we describe the settings influencing the languáge specific +% settings. They do not make provisions to use the appropriate +% hyphenation patterns. They just arrange things such that the +% internaly used texts are displaeyed in the choosen language. +% \begin{description} +% \item [austrian] Activate the language specific text fragments +% for the austrian language (in fact German with one minor modification). +% \item [german] Activate the language specific text fragments +% for the german language. +% \item [french] Activate the language specific text fragments +% for the french language. +% \item [english] Activate the language specific text fragments +% for the english language. +% \item [USenglish] Activate the language specific text fragments +% for the american language. +% \end{description} +% +% The class has two additional options to determine the base class +% to be used. The first option is the variant. It can take the +% following values: +% +% \begin{description} +% \item [base] Use the base set of classes. This is the default. +% \item [koma] Use the set of classes from koma-script. +% \end{description} +% +% The second option is the class type. It determines which kind of +% document to typeset. It can talk the following values: +% \begin{description} +% \item [book] Typeset a book type document. +% \item [report] Typeset a report type document. +% \item [article] Typeset a article type document. +% \item [letter] Typeset a letter type document. +% \end{description} +% +% The following table shows which base classes are loaded according +% to the given values: +% +% \begin{center} +% \begin{tabular}{lcc}\hline +% & \emph{base} & \emph{koma} \\\hline +% \emph{book} & book & scrbook \\ +% \emph{report} & report & scrreprt \\ +% \emph{article} & article & scrartcl \\ +% \emph{letter} & latter & scrlettr \\\hline +% \end{tabular} +% \end{center} +% +% Any option not processed by limap.cls is passed to the base class +% used. Thus it is possible to customize those classes any further. +% +% +% \subsection{Macros and Environments} +% +% \DescribeEnv{Block} +% The environment |Block| can be used to typeset an IMAP block. It takes +% one argument which is the block title. +% +% This environment is active inside a map only. It can't easily be +% redefined. +% +% \DescribeMacro{\Block} +% The macro |\Block| can be used to typeset an IMAP block. It takes +% one argument which is the block title. +% +% This is a shorthand for denoting a block. The end mark can be +% omitted if you use the macro instead of the environment. +% Nevertheless this is depreciated. +% +% \DescribeMacro{\WideBlock} +% The macro |\WideBlock| can be used to typeset a piece of +% information on the whole page width. It is normally used after an +% initiating block containng the title of the whole construction. +% +% The macro |\WideBlock| takes one argument which contains the +% material to span the whole page width. +% +% \DescribeEnv{Map} +% The environment |Map| can be used to typeset an IMAP map. +% +% \DescribeMacro{\MapTableOfContents} +% The macro |\MapTableOfContents| can be used to typeset the table +% of contents for a map. This table of contents includes all +% submaps of the map it is contained in---not recursively but +% only one level deeper. +% +% \DescribeMacro{\maketitle} +% The macro |\maketitle| is redefined by the class to show a new +% appearance on a title page. It can be used as in the standard +% classes. +% +% +% \subsection{The Configuration Options} +% +% The configuration options are settings which can be easily +% adapted to suit your personal needs. Nevertheless it is strongly +% recommended that you touch them only if you are really knowing +% what you are doing and when you are willing to face the +% consequences. +% +% \DescribeMacro{\MapRuleWidth} +% The macro |\MapRuleWidth| determines the width of the rules drawn +% between blocks. +% +% \DescribeMacro{\MapFont} +% The macro |\MapFont| determines the font changing command to be +% used when starting a new map. +% +% \DescribeMacro{\MapTitleSize} +% The macro |\MapTitleSize| determines the size changing command to +% be used when typesetting the title of a map. +% +% \DescribeMacro{\MapTitleContinuedSize} +% This macro determines the font changing command to be used for +% typesetting the additional text after titles on followup pages of +% multipage maps. +% +% \DescribeMacro{\MapParskip} +% The macro |\MapParskip| determines the distance of the text from +% the separating rules. +% +% \DescribeMacro{\MapTitlefraction} +% The macro |\MapTitlefraction| determines the part of the page +% width devoted to the title area. It is a fraction in the range +% from 0 to 1. +% +% \DescribeMacro{\MapTextfraction} +% This macro determines the part of the page width devoted to the +% text area. It is a fraction in the range from 0 to 1. +% |\MapTitlefraction| and |\MapTextfraction| should add up to +% something less or equal to 1. Otherwise you will get some +% ``overfull hbox'' messages. +% +% \DescribeMacro{\MapNewpage} +% The macro |\MapNewpage| is expanded whenever a new page is +% required between maps. Thus it can be used to suppress the +% newpages by |\let|ing it to |\relax|. Note that this is not in +% the spirit of the Information Mapping method. +% +% \DescribeMacro{\MapTOC} +% The macro |\MapTOC| is expanded to generate the entry in the +% table of contents. It can be redefined to allow another +% behaviour. +% +% +% \subsection{Changing or Adding Language Specific Settings} +% +% Several strings are used automatically by the current class or +% package. Default values for several languages are hardwired in +% the implementation. Nevertheless it is possible to change those +% language specific settings. +% +% If you create settings for a new language it is highly +% recommended to contact the author to integrate them into the +% default distribution. +% +% The following macros can be redefined in the preamble after the +% package or class has been loaded to reset the language specific +% text. +% +% \DescribeMacro{\MapContinued} +% The macro |\MapContinued| contains the text appearing at the end +% of map which are continued on the next page. +% +% \DescribeMacro{\MapContinuing} +% The macro |\MapContinuing| contains the text appearing at the +% beginning of map which are continued from the previous page. It +% is typeset after the map title. +% +% \DescribeMacro{\MapTOCname} +% The macro |\MapTOCname| contains the text of the heading in table +% of contents of maps for the column of map titles. +% +% \DescribeMacro{\MapTOCpage} +% The macro |\MapTOCpage| contains the text of the heading in table +% of contents of maps for the column of page numbers. +% +% If you want to provide a new language \emph{lang} you can define +% the macro |\IMAP@SelectLanguage@|\texttt{\textit{lang}} which +% redefines the macros given above. This definition has to be +% present before the package is loaded. +% +% Note that the macro name contains a @ character. Thus the +% definition should be made in a package of its own. +% +% +% \subsection{The Configuration File} +% +% When the class or package is loaded as a last action a +% configuration file is loaded if it can be found. The name of the +% configuration file is \texttt{limap.cfg}. This file can contain +% redefinitions of the several macros to adjust the behaviour of +% limap on a per directory, per user or per installation base. +% +% Note that some settings are activated before the configuration +% file is loaded. Thus some settings may not have any effect at +% all. +% +% +% +% \vfill\noindent\hrulefill +% +% \emph{To be completed} +% +% \noindent\hrulefill\vfill\null +% +% \StopEventually{} +% \newpage +% \if@undefined\environment +% \newenvironment{environment}[1]{}{} +% \fi +% +% +% \section{The Documentation Driver} +% +% The documentation driver is necessary to provide a self +% documenting dtx file. With this construction the dtx file can be +% run through \LaTeX\ to produce the documentation. +% +% \subsection{The Version Information} +% +% \begin{macro}{\LIMAP@RCS} +% The macro |\LIMAP@RCS| is used to parse rcs information. The +% second word enclosed in spaces is preserved. The other parts are +% ignored. +% \begin{macrocode} +\def\LIMAP@RCS$#1: #2 #3${#2} +% \end{macrocode} +% \end{macro} +% +% Now the usual macros are filled. Some of the informations are +% taken from strings automatically managed by rcs. +% +% \begin{macro}{\filename} +% |\filename| is the name of the dtx file. +% \begin{macrocode} +\def\filename{limap.dtx} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\fileversion} +% |\fileversion| is the version number of the dtx file. +% \begin{macrocode} +\xdef\fileversion{\LIMAP@RCS$Revision: 1.2 $} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\filedate} +% |\filedate| is the change date of the dtx file. +% \begin{macrocode} +\xdef\filedate{\LIMAP@RCS$Date: 2000/03/01 20:11:42 $} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\docversion} +% |\docversion| is version number of the documentation. It is +% identical to the version number of the dtx file. +% \begin{macrocode} +\let\docversion=\fileversion +% \end{macrocode} +% \end{macro} +% \begin{macro}{\docdate} +% |\docdate| is change date of the documentation. It is +% identical to the change date of the dtx file. +% \begin{macrocode} +\let\docdate=\filedate +% \end{macrocode} +% \end{macro} +% +% \subsection{Producing the Documentation} +% +% The driver section contains a complete \LaTeX\ document which +% loads the dtx file. The special class |ltxdoc| is used and some +% arraganements are made for this purpose. +% +% \begin{macrocode} +%<*driver> +\documentclass{ltxdoc} +\RequirePackage{textcomp} +\InputIfFileExists{limap.dcf}{}{} +\RecordChanges +\EnableCrossrefs +\CodelineIndex +\begin{document} +\DeleteShortVerb{|} +\DocInput{\filename} +\newpage +\PrintChanges +\newpage +\setcounter{IndexColumns}{2} +\PrintIndex +\end{document} +% +% \end{macrocode} +% +% \section{The Implementation} +% The rest of the document describes the implementation. Usually it +% is not meant for the casual user. Nevertheless it might be +% fruitful for those searching for inspiration or for tricks when +% using this class or style. +% +% \subsection{Preliminaries and Option Processing} +% +% First of all we request a descent version of \LaTeX\ to be used. +% +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e} +% \end{macrocode} +% +% \subsubsection{The Package/Class Declarations} +% +% When the package is generated, the package identification is +% included. +% \begin{macrocode} +%<*package> +\ProvidesPackage{limap}[\filedate\space gene] +% +% \end{macrocode} +% +% When the class is generated, the class identification is +% included. +% \begin{macrocode} +%<*class> +\ProvidesClass{limap}[\filedate\space gene] +% +% \end{macrocode} +% +% \subsubsection{Language Specific Declarations} +% +% \begin{macro}{\LIMAP@Language} +% The macro |\IMAP@Language| determines the language to be used for +% several small text fragments to be inserted at certain places. It +% is redefinded by package/class options and evaluated at the end +% to activate the selected settings. +% \begin{macrocode} +\providecommand\LIMAP@Language{english} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +\DeclareOption{austrian}{\renewcommand\LIMAP@Language{austrian}} +\DeclareOption{german}{\renewcommand\LIMAP@Language{german}} +\DeclareOption{french}{\renewcommand\LIMAP@Language{french}} +\DeclareOption{english}{\renewcommand\LIMAP@Language{english}} +\DeclareOption{USenglish}{\renewcommand\LIMAP@Language{USenglish}} +% \end{macrocode} +% +% \begin{macro}{\ifLIMAP@strict} +% The boolean |\ifLIMAP@strict| determines if the lower sectioning +% macros should be disabled in the class. +% \begin{macrocode} +\newif\ifLIMAP@strict \LIMAP@stricttrue +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +\DeclareOption{nonstrict}{\LIMAP@strictfalse} +% \end{macrocode} +% +% \subsubsection{Determining the Appropriate Base Class} +% +% \begin{macrocode} +%<*class> +% \end{macrocode} +% +% \begin{macro}{\LIMAP@ClassType} +% The macro |\LIMAP@ClassType| determines the type of the class to +% be used. Usually it can take the values |book|, |report|, +% |article|, and |letter| (for completeness). This macro is +% redefined when the options of the class are evaluated. Finally +% this macro helps to select the appropriate base class. +% \begin{macrocode} +\providecommand\LIMAP@ClassType{report} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +\DeclareOption{book}{\renewcommand\LIMAP@ClassType{book}} +\DeclareOption{report}{\renewcommand\LIMAP@ClassType{report}} +\DeclareOption{article}{\renewcommand\LIMAP@ClassType{article}} +\DeclareOption{letter}{\renewcommand\LIMAP@ClassType{letter}} +% \end{macrocode} +% +% \begin{macro}{\LIMAP@Variant} +% The macro |\LIMAP@Variant| determines the variant of the class to +% be used. Usually it can take the values |base| and |koma|. This +% macro is redefined when the options of the class are evaluated. +% Finally this macro helps to select the appropriate base class. +% \begin{macrocode} +\providecommand\LIMAP@Variant{base} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +\DeclareOption{koma}{\renewcommand\LIMAP@Variant{koma}} +\DeclareOption{base}{\renewcommand\LIMAP@Variant{base}} +% \end{macrocode} +% +% Define a mapping between the variant and class type to the class +% name to be used. +% \begin{macrocode} +\newcommand\LIMAP@Class@base@article{article} +\newcommand\LIMAP@Class@base@report{report} +\newcommand\LIMAP@Class@base@book{book} +\newcommand\LIMAP@Class@base@letter{letter} +\newcommand\LIMAP@Class@koma@article{scrartcl} +\newcommand\LIMAP@Class@koma@report{scrreprt} +\newcommand\LIMAP@Class@koma@book{scrbook} +\newcommand\LIMAP@Class@koma@letter{scrlettr} +% \end{macrocode} +% +% \begin{macrocode} +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{% + \csname LIMAP@Class@\LIMAP@Variant @\LIMAP@ClassType\endcsname}% + } +% \end{macrocode} +% +% Thus the class specific options are completed. +% \begin{macrocode} +% +% \end{macrocode} +% +% Now we can process all options. +% \begin{macrocode} +\ProcessOptions +% \end{macrocode} +% +% \begin{macrocode} +%<*class> +% \end{macrocode} +% The requested class is loaded and the options remaining are +% processed. +% \begin{macrocode} +\LoadClass{\csname LIMAP@Class@\LIMAP@Variant @\LIMAP@ClassType\endcsname} +% +% \end{macrocode} +% +% \subsubsection{Loading Required Packages} +% +% The package |longtable| is used internally to implement a part of +% the required functionality. Thus we need to ensure that it is +% loaded. +% \begin{macrocode} +\RequirePackage{longtable} +% \end{macrocode} +% +% The package |booktabs| is used internally to implement a part of +% the required functionality. Thus we need to ensure that it is +% loaded. +% \begin{macrocode} +\RequirePackage{booktabs} +% \end{macrocode} +% +% +% \begin{macrocode} +%<*class> +\RequirePackage{fancyhdr} +\addtolength{\headheight}{2ex}% +\pagestyle{fancy}% +\cfoot{} +\rhead{\small\thepage} +\lhead{\textit{\footnotesize\@title}} +\def\@title{} +% +% \end{macrocode} +% +% Since the blocks are not supposed to line up at the end of the +% page we declare |\raggedbottom|. +% \begin{macrocode} +\raggedbottom +% \end{macrocode} +% +% \subsection{Layout Parameters} +% +% The layout can be influenced by a large number of +% parameters. Thus the design decisions have been made transparent +% (to a certain degree at least). These options are not meant to be +% changed except when a new layout is beeing designed and implemented. +% +% \begin{macro}{\MapRuleWidth} +% The macro |\MapRuleWidth| determines the width of the rules drawn +% between blocks. +% \begin{macrocode} +\newcommand\MapRuleWidth{.25pt} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\MapContinued} +% This macro determines the text to be used in the title of +% continued maps. This macro is reset when the language specific +% initializations are performed. +% \begin{macrocode} +\newcommand\MapContinued{} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\MapContinuing} +% The macro |\MapContinuing| determines the text to be used at the +% bottom of the map which is continued. This macro is reset when +% the language specific initializations are performed. +% \begin{macrocode} +\newcommand\MapContinuing{} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\MapContinuingFormat} +% This macro determines the format of the bottom line on continued +% maps. I.e. it includes the text as well as font changing +% commands. The text is passed to this command as argument 1. +% \begin{macrocode} +\newcommand\MapContinuingFormat[1]{\textit{\footnotesize #1}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\MapContinuedFormat} +% This macro determines the format of the bottom line on continued +% maps. I.e. it includes the text passed to it as argument 1 as +% well as font changing commands. +% \begin{macrocode} +\newcommand\MapContinuedFormat[1]{, {\MapTitleContinuedSize #1}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\MapFont} +% The macro |\MapFont| determines the font changing command to be +% used when starting a new map. +% \begin{macrocode} +\let\MapFont\textsf +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\MapTitleSize} +% The macro |\MapTitleSize| determines the size changing command to +% be used when typesetting the title of a map. +% \begin{macrocode} +\let\MapTitleSize\Large +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\MapTitleContinuedSize} +% This macro determines the font changing command to be used for +% typesetting the additional text after titles on followup pages of +% multipage maps. +% \begin{macrocode} +\let\MapTitleContinuedSize\small +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\MapParskip} +% The macro |\MapParskip| determines the distance of the text from +% the separating rules. +% \begin{macrocode} +\newcommand\MapParskip{2ex} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\MapTitlefraction} +% The macro |\MapTitlefraction| determines the part of the page +% width devoted to the title area. It is a fraction in the range +% from 0 to 1. +% \begin{macrocode} +\newcommand\MapTitlefraction{.2} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\MapTextfraction} +% This macro determines the part of the page width devoted to the +% text area. It is a fraction in the range from 0 to 1. +% |\MapTitlefraction| and |\MapTextfraction| should add up to +% something less or equal to 1. Otherwise you will get some +% ``overfull hbox'' messages. +% \begin{macrocode} +\newcommand\MapTextfraction{.75} +% \end{macrocode} +% \end{macro} +% +% \subsection{Adaptable Macros} +% +% \begin{macro}{\MapNewpage} +% The macro |\MapNewpage| is expanded whenever a new page is +% required between maps. Thus it can be used to suppress the +% newpages by |\let|ing it to |\relax|. +% \begin{macrocode} +\let\MapNewpage\newpage +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\MapTOC} +% The macro |\MapTOC| is expanded to generate the entry in the +% table of contents. It can be redefined to allow another +% behaviour. +% \begin{macrocode} +\newcommand\MapTOC[1]{% + \refstepcounter{\@nameuse{Map@TOC@name\the\Map@level}}% + \addcontentsline{toc}{\@nameuse{Map@TOC@name\the\Map@level}}{#1}% +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\MapTOCname} +% The macro |\MapTOCname| contains the heading for the section title +% in contents blocks. This macro is reset when the language specific +% initializations are performed. +% \begin{macrocode} +\newcommand\MapTOCname{} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\MapTOCpage} +% The macro |\MapTOCpage| contains the heading for the page number +% in contents blocks. This macro is reset when the language specific +% initializations are performed. +% \begin{macrocode} +\newcommand\MapTOCpage{} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\MapTOCemph} +% The macro |\MapTOCemph| +% \begin{macrocode} +\let\MapTOCemph=\emph +% \end{macrocode} +% \end{macro} +% +% \subsection{Language Specific Macros} +% +% This section contains interanl macros used to implement the +% functionality. New languages can be easily be added. For this +% puropose only a new macro has to be defined and a package/class +% option for the convenience of the user. +% +% Consider you want to add a new language ``latin'' then you have +% to provide the command |\LIMAP@SelectLanguage@latin|. This macro +% should simply redefine the macros containing strings of the +% language specific texts. Examples for other languages are +% provided in this section. +% +% To enable the language settings for ``latin'' the macro +% |\LIMAP@Language| has to be defined to contain the value +% ``latin''. Usually this is accomplished by providing a convenient +% option to the package or class. +% +% \begin{macro}{\LIMAP@SelectLanguage@austrian} +% Provide the definition for the langauge ``austrian''. +% \begin{macrocode} +\providecommand\LIMAP@SelectLanguage@austrian{% + \renewcommand\MapContinued{ Fortsetzung}% + \renewcommand\MapContinuing{Fortsetzung\dots} + \renewcommand\MapTOCname{Titel} + \renewcommand\MapTOCpage{Seite} +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\LIMAP@SelectLanguage@german} +% Provide the definitions for the laguage ``german''. +% \begin{macrocode} +\providecommand\LIMAP@SelectLanguage@german{% + \renewcommand\MapContinued{ Fortsetzung}% + \renewcommand\MapContinuing{Fortsetzung\dots} + \renewcommand\MapTOCname{Titel} + \renewcommand\MapTOCpage{Seite} +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\LIMAP@SelectLanguage@english} +% Provide the definitions for the language ``english''. +% \begin{macrocode} +\providecommand\LIMAP@SelectLanguage@english{% + \renewcommand\MapContinued{ Continued}% + \renewcommand\MapContinuing{Continuing\dots} + \renewcommand\MapTOCname{Title} + \renewcommand\MapTOCpage{Page} +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\LIMAP@SelectLanguage@USenglish} +% Provide the definitions for the language ``USenglish''. +% \begin{macrocode} +\providecommand\LIMAP@SelectLanguage@USenglish{% + \renewcommand\MapContinued{ Continued}% + \renewcommand\MapContinuing{Continuing\dots} + \renewcommand\MapTOCname{Title} + \renewcommand\MapTOCpage{Page} +} +% \end{macrocode} +% \end{macro} +% +% +% \subsection{Internal Macros, Lengths, and Counters} +% +% This section contains internal macros used to implement the +% functionality. +% +% \begin{macro}{\Map@length} +% The length register |\Map@length| is allocated to store the width +% of the space between the columns of a block. +% \begin{macrocode} +\newlength{\Map@length} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\Map@level} +% The macro |\Map@level| determines the level of inclusion of +% maps. It is used to determine the appearence in the table of +% contents. +% \begin{macrocode} +\newcount\Map@level +\Map@level=0 +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\Map@blockcount} +% The macro |\Map@blockcount| is used to count the blocks per map +% to issue a style warning if required. +% \begin{macrocode} +\newcount\Map@blockcount +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\ifMap@open@} +% The conditional |\ifMap@open@| is used to record the opening and +% closing of the |longtable| environment, since can not be used +% inside itself. Thus it can be closed before a new instance is +% opened. +% \begin{macrocode} +\newif\ifMap@open@ +\Map@open@false +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\Map@TOC@name} +% The macros |\Map@TOC@name|\dots provide a mapping between a +% number and a sectioning unit. This mapping is used when the +% entry in the table of contents is generated. +% \begin{macrocode} +\@namedef{Map@TOC@name0}{chapter} +\@namedef{Map@TOC@name1}{section} +\@namedef{Map@TOC@name2}{subsection} +\@namedef{Map@TOC@name3}{subsubsection} +\@namedef{Map@TOC@name4}{paragraph} +\@namedef{Map@TOC@name5}{subparagraph} +\@namedef{Map@TOC@name6}{subsubparagraph} +\@namedef{Map@TOC@name7}{subsubparagraph} +\@namedef{Map@TOC@name8}{subsubparagraph} +\@namedef{Map@TOC@name9}{subsubparagraph} +\@namedef{Map@TOC@name10}{subsubparagraph} +\@namedef{Map@TOC@name11}{subsubparagraph} +\@namedef{Map@TOC@name12}{subsubparagraph} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\Map@start} +% The macro |\Map@start| is used to initiate the use of a map. It +% uses the |longtable| environment to perform the page breaking and +% marking of continued pages. +% \begin{macrocode} +\newcommand\Map@start{% +% \typeout{--- MAP START}% + \setlength{\Map@length}{\textwidth}% + \addtolength{\Map@length}{-\MapTitlefraction\textwidth}% + \addtolength{\Map@length}{-\MapTextfraction\textwidth}% + \MapTOC{\Map@TITLE}% + \longtable + {@{}p{\MapTitlefraction\textwidth}@{\hspace{\Map@length}} + p{\MapTextfraction\textwidth}@{}}% + \multicolumn{2}{@{}p{\textwidth}@{}}{% + \MapFont{\MapTitleSize\rule{0pt}{3ex}% + \Map@TITLE}} + \endfirsthead + \multicolumn{2}{@{}p{\textwidth}@{}}{% + \MapFont{\MapTitleSize\rule{0pt}{3ex}% + \Map@TITLE\MapContinuedFormat{\MapContinued}}}% + \endhead + \par\vspace*{-\parskip}\vspace*{-2ex}\\ + &\rule{\MapTextfraction\textwidth}{\MapRuleWidth}\newline + \mbox{}\hfill\raisebox{3pt}{\MapContinuingFormat{\MapContinuing}} + \endfoot + &\rule{\MapTextfraction\textwidth}{\MapRuleWidth}% + \vspace{\MapParskip} + \endlastfoot + \xdef\@currentlabel{\Map@TITLE}% + \global\Map@open@true +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\Map@end} +% The macro |\Map@end| is expanded when the end of the end of the +% |longtable| environment might be needed. The boolean |\ifMap@open@| +% determines whether such an environment is really open. +% \begin{macrocode} +\newcommand\Map@end{% +% \typeout{--- MAP END}% + \ifMap@open@ + \global\Map@open@false + \endlongtable + \MapNewpage + \fi + \iftrue + \ifnum\Map@blockcount>9 + \PackageWarning{limap}% + {*** The current map contains too much blocks: \the\Map@blockcount}% + \else\ifnum\Map@blockcount>7 + \PackageWarning{limap}% + {--- The current map contains \the\Map@blockcount blocks.}% + \fi\fi + \fi +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\Map@UP} +% The macro |\Map@UP| contains the number of the parent map or the +% empty string. +% \begin{macrocode} +\newcommand\Map@UP{} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\Map@no} +% The counter |\Map@no| contains the sequence number for all +% maps. This value is used internally to reference single maps. +% \begin{macrocode} +\newcount\Map@no +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\Map@parts@} +% The macro |\Map@parts@| is used to store the parts of the +% toplevel maps. This is the initialization of a feature otherwise +% used in the aux file. +% \begin{macrocode} +\@namedef{Map@parts@}{} +% \end{macrocode} +% \end{macro} +% +% \subsection{Typesetting a Map} +% +% \begin{environment}{Map} +% This environment determines the apearance of a Map. It is +% implemented as a longtable environment which takes care for the +% page breaks and inserts material at the end of the page and the +% beginning of the new page upon page break. +% \begin{macrocode} +\newenvironment{Map}[1]{% +% \end{macrocode} +% First the messages of |longtable| are modified to show this +% package name instead. +% \begin{macrocode} + \def\LT@err{\PackageError{limap}}% + \def\LT@warn{\PackageWarning{limap}}% +% \end{macrocode} +% The map local macro |\Block| and the environment |Block| is +% activated. The counter for blocks is reset. +% \begin{macrocode} + \let\Block\Map@Block + \let\endBlock\Map@endBlock + \Map@blockcount=0 +% \end{macrocode} +% The number of the map in the internal counting is set by +% incrementing the old value. +% \begin{macrocode} + \global\advance\Map@no1 +% \typeout{--- \the\Map@no: \Map@UP}% +% \end{macrocode} +% +% \begin{macrocode} + \ifx\Map@UP\empty\else + \immediate\write\@auxout + {\string\expandafter\string\xdef\string\csname\space + Map@parts@\Map@UP\string\endcsname{\string\csname\space + Map@parts@\Map@UP\string\endcsname\the\Map@no:}}% + \fi +% \end{macrocode} +% +% \begin{macrocode} + \edef\Map@UP{\the\Map@no}% + \ifnum\Map@level>0 + \xdef\Map@@up{\Map@UP}% Just to save the value across blocks. + \endgroup +% \typeout{--- Closing Map \the\Map@level}% + \Map@end + \begingroup + \edef\Map@UP{\Map@@up}% + \def\@currenvir{Map}% + \fi + \edef\Map@this{\the\Map@no}% +% \end{macrocode} +% The entries for future use of submaps are written to the aux file. +% \begin{macrocode} + \immediate\write\@auxout + {\string\global\string\@namedef{Map@title@\the\Map@no}{#1}}% + \immediate\write\@auxout + {\string\global\string\@namedef{Map@page@\the\Map@no}{\the\c@page}}% + \immediate\write\@auxout + {\string\global\string\@namedef{Map@parts@\the\Map@no}{}}% +% \end{macrocode} +% +% \begin{macrocode} +% \typeout{--- Opening Map \the\Map@level}% + \global\advance\Map@level1 + \def\Map@TITLE{#1}% + \Map@start +% \end{macrocode} +% +% \begin{macrocode} + }{% +% \end{macrocode} +% +% \begin{macrocode} + \Map@end + \global\advance\Map@level-1 +% \typeout{--- At end of Map \Map@this level \the\Map@level}% +} +% \end{macrocode} +% \end{environment} +% +% \subsection{Typesetting a Block} +% +% \begin{environment}{Map@Block} +% This macro is used to typeset a block inside a Map. To avoid +% abuse outside of a map it is activated within a Map only. +% \begin{macrocode} +\newenvironment{Map@Block}[1]{\par\vspace*{-\parskip}\vspace*{-2ex}% + \\\null\par + \vspace*{\MapParskip}% + \raggedright\hspace{0pt}\MapFont{#1}% + \gdef\@currentlabel{#1}% +% \global\advance\Map@blockcount1 + &\parskip=\MapParskip + \rule{\MapTextfraction\textwidth}{\MapRuleWidth}\par +% \end{macrocode} +% +% The final action is empty. Thus the block can be used as a simple +% macro as well. +% \begin{macrocode} +}{% +} +% \end{macrocode} +% \end{environment} +% +% \begin{macro}{\WideBlock} +% The macro |\WideBlock| takes one argument which is added to the +% current block where the whole width of the table is used. +% \begin{macrocode} +\newcommand\Wide@Block{\\\multicolumn2{@{}l@{}}}{} +% \end{macrocode} +% \end{macro} +% +% \subsection{Typesetting a Table of Contents} +% +% \begin{macro}{\MapTableOfContents} +% The macro |\MapTableOfContents| produces the table of contents +% for the current map. It produces a tabular containing the +% titels and pages of all maps directly contained in the current +% map. +% \begin{macrocode} +\newcommand\MapTableOfContents{% + \medskip\par + \xdef\Map@@{\csname Map@parts@\the\Map@no\endcsname}% + \gdef\Map@@@{}% + \centering + \begin{tabular}{p{.6\textwidth}r}\toprule + \MapTOCemph{\MapTOCname}&\MapTOCemph{\MapTOCpage}\\ + \midrule + \expandafter\Map@toc@loop \Map@@:% + \\\bottomrule + \end{tabular} +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\Map@toc@loop} +% The macro |\Map@toc@loop| is a recursive solution to loop throup +% all elements of a list of children. +% \begin{macrocode} +\def\Map@toc@loop#1:{% + \def\Map@@{#1}% + \ifx\Map@@\empty + \global\let\Map@@=\relax + \else + \gdef\Map@@{\Map@@@\@nameuse{Map@title@#1}&\@nameuse{Map@page@#1}% + \global\let\Map@@@=\\% + \Map@toc@loop}% + \fi + \Map@@ +} +% \end{macrocode} +% \end{macro} +% +% \subsection{Typesetting a Title Page} +% +% \begin{macro}{\MakeTitle} +% The macro |\MakeTitle| can be used as a replacement for the +% |\maketitle| macro. +% \begin{macrocode} +\newcommand\MakeTitle{\thispagestyle{empty} + \rule{0pt}{.25\textheight}\par + \mbox{}\hfill + \begin{minipage}{\MapTextfraction\textwidth} + \raggedright + \rule{\textwidth}{1pt}\par + \vspace*{5ex}% + \sf{\huge \@title\par}% + \vspace*{5ex}% + \rule{\textwidth}{1pt}\par + \vspace*{5ex}% + \MapFont{\large \@author} \par + \vspace*{10ex}% + \MapFont{\footnotesize \@date} + \vspace*{10ex}% + \end{minipage}% + \par +} +% \end{macrocode} +% \end{macro} +% +% The new |\maketitle| macro is activated for the class. +% +% \begin{macrocode} +%<*class> +\let\maketitle\MakeTitle +% +% \end{macrocode} +% +% \subsection{Final Actions} +% +% Load the configuration file at the end if it can be found. +% \begin{macrocode} +\InputIfFileExists{limap.cfg}{}{} +% \end{macrocode} +% +% Finally we have to activate the proper settings for the choosen +% language. +% \begin{macrocode} +\csname LIMAP@SelectLanguage@\LIMAP@Language\endcsname +% \end{macrocode} +% +% \begin{macrocode} +\ifLIMAP@strict +% \def\section{\PackageWarning{limap}{The sectioning command +% `section' is not available.}} + \def\subsection{\PackageWarning{limap}{The sectioning command + `subsection' is not available.}} + \def\subsubsection{\PackageWarning{limap}{The sectioning command + `subsubsection' is not available.}} + \def\paragraph{\PackageWarning{limap}{The sectioning command + `paragraph' is not available.}} + \def\subparagraph{\PackageWarning{limap}{The sectioning command + `subparagraph' is not available.}} + \def\subsubparagraph{\PackageWarning{limap}{The sectioning command + `subsubparagraph' is not available.}} +\fi +% \end{macrocode} +% +% That's all. +% +% \Finale +% +\endinput +% +% Local Variables: +% mode: latex +% TeX-master: "limap.dtx" +% End: diff --git a/Master/texmf-dist/source/latex/limap/limap.ins b/Master/texmf-dist/source/latex/limap/limap.ins new file mode 100644 index 00000000000..4936fe57ca0 --- /dev/null +++ b/Master/texmf-dist/source/latex/limap/limap.ins @@ -0,0 +1,46 @@ +%%------------------------------------------------------------------ +%% Driver file to extract the dtx style and class files. +%% +%% Copyright (C) 1999-2000 Gerd Neugebauer +%% +%% limap.ins may be distributed under the terms of the LaTeX Project +%% Public License, as described in lppl.txt in the base LaTeX +%% distribution. Either version 1.0 or, at your option, any later +%% version. +%% +%%------------------------------------------------------------------ +%% +%% Run this file through TeX or LaTeX to extract the files. +%% You need the docstrip package as distributed with LaTeX2e. +%% It is also available as seperate package from any CTAN site. +%% +%%------------------------------------------------------------------ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% $Id: limap.ins 1.2 2000/03/01 20:11:42 gene Exp gene $ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\input docstrip.tex +\keepsilent +\askonceonly + +\generate{\file{limap.sty}{\from{limap.dtx}{package}} + \file{limap.cls}{\from{limap.dtx}{class}} + } +%\usedir{tex/latex/limap} + +\ifToplevel{ +\Msg{****************************************************************} +\Msg{*} +\Msg{* To finish the installation you have to move the following} +\Msg{* files into a directory searched by (La)TeX:} +\Msg{*} +\Msg{* \space\space limap.cls limap.sty} +\Msg{*} +\Msg{* To produce the documentation run limap.tex through LaTeX,} +\Msg{* makeindex, and LaTeX again.} +\Msg{*} +\Msg{* Happy TeXing} +\Msg{****************************************************************} +} + +\endbatchfile +\endinput -- cgit v1.2.3