diff options
author | Karl Berry <karl@freefriends.org> | 2006-01-12 23:56:23 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2006-01-12 23:56:23 +0000 |
commit | ef12e4625572a36ce13f9d608876327298763f99 (patch) | |
tree | 0ced6bd9d233b25c340013a6d7fa2fd0e3ca4cb5 /Master/texmf-dist | |
parent | 64d9ede6adf7d0e8c599a09d9b42af6fdbf35614 (diff) |
geomsty
git-svn-id: svn://tug.org/texlive/trunk@952 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r-- | Master/texmf-dist/tex/latex/geomsty/geom.sty | 597 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/geomsty/geomar10.sty | 142 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/geomsty/geomar11.sty | 130 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/geomsty/geomar12.sty | 132 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/geomsty/geomart.sty | 193 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/geomsty/geombk10.sty | 157 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/geomsty/geombk11.sty | 152 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/geomsty/geombk12.sty | 157 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/geomsty/geombook.sty | 249 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/geomsty/geomenv.sty | 189 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/geomsty/geomeqns.sty | 49 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/geomsty/geomfig.sty | 168 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/geomsty/geomfnt.sty | 135 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/geomsty/geomindx.sty | 72 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/geomsty/geompsfi.sty | 632 |
15 files changed, 3154 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/geomsty/geom.sty b/Master/texmf-dist/tex/latex/geomsty/geom.sty new file mode 100644 index 00000000000..fd2674c302c --- /dev/null +++ b/Master/texmf-dist/tex/latex/geomsty/geom.sty @@ -0,0 +1,597 @@ +% $Header: /usr/home/levy/texts/geomsty/RCS/geom.sty,v 1.21 95/08/02 16:22:57 levy Exp Locker: levy $ +% NFSS2 mods 95/06/18 by J Rawnsley + +% Test for LaTeX2e +\def\format@e{LaTeX2e} + +\ifx\fmtname\format@e + \ProvidesPackage{geom}[95/06/18] +\fi + +\ifx\DeclareFontShape\@undefined +\else + \let\normalshape\normalfont + \let\mediumseries\relax +\fi + +% +% This is the geom style master file, by Silvio Levy. +% It contains modifications to latex.tex and lplain.tex. +% LATEX VERSION 2.09 <14 January 1991> +% +\typeout{Reading Geometry Center style by Silvio Levy, $Revision: 1.21 $} +\typeout{NFSS2 compatibility by J. Rawnsley, Maths Institute, Warwick 95/06/18} + +% Find out which style has been loaded (book or article). +% If \chapter is undefined we assume the style is article, otherwise book. + +\def\@article{\@@article} \def\@book{\@@book} +\@ifundefined{chapter}{\def\@style{\@@article}}{\def\@style{\@@book}} + +% Load an appropriate file with changes to book.sty or article.sty. + +\ifx\@style\@book \input geombook.sty \else \input geomart.sty \fi + +% Load in other definitions. + +\input geomenv.sty % environments +\input geomfig.sty % figures +\input geomfnt.sty % new fonts +\input geomindx.sty % indexing macros +\ifx\fmtname\format@e + %\usepackage{multicol} % two-column formatting + \input multicol.sty % two-column formatting +\else + \input multicol.sty % two-column formatting +\fi +% **************************************** +% * USEFUL HACKS * +% **************************************** +% +% \@@warning and \@warning don't need the word ``LaTeX''. +% +\def\@@warning#1{\typeout{Warning: #1.}} + +% ********************************************** +% * SPACING / LINE AND PAGE BREAKING * +% ********************************************** + +% Avoid the lack of spacing after a list when the first item is run-in. + +\def\endtrivlist{\if@newlist\@noitemerr\fi + \if@inlabel\indent\fi + \ifhmode\unskip \par\fi +% \if@noparlist \else + \ifdim\lastskip >\z@ \@tempskipa\lastskip \vskip -\lastskip + \advance\@tempskipa\parskip \advance\@tempskipa -\@outerparskip + \vskip\@tempskipa + \fi\@endparenv +% \fi +} +\let\endcenter=\endtrivlist +\let\endflushleft=\endtrivlist +\let\endflushright=\endtrivlist +\let\endverbatim=\endtrivlist +\expandafter\let\csname endverbatim*\endcsname =\endtrivlist + +% **************************************** +% * FILE HANDLING * +% **************************************** +% +% Proofing is true by default. +% +\newif\ifproofing\proofingtrue +\def\include#1{\ifproofing\@include#1 \else\input{#1.tex}\fi} +\def\noproofing{\noexpand\proofingfalse} +\def\@proofingfalse{\proofingfalse} +\def\checkproofing{\ifx\@partlist\@proofingfalse\proofingfalse\fi} +\def\includeonly#1{\@partswtrue\edef\@partlist{#1}\checkproofing} + +% **************************************** +% * CROSS-REFERENCING MACROS * +% **************************************** + +\let\@xf\expandafter +% +% The main differences between these macros and LaTeX's are that keys +% are not expanded, and the first field in the record's value contains +% the type of object referred to. For example, +% \newlabel{square torus in space}{{problem 1.1.1}{5}} +% This information is read at the time the record is formed +% from the \object@type. Expansion of the key is inhibited by storing +% it into the token list \@key, with everything protected by \noexpand's. +% +\def\object@type{??} +\def\setlabeltype#1{\edef\object@type{#1}} +\newtoks\@key +\def\set@key#1{{\aftergroup\@key\aftergroup{\sanitize#1\endsanity}}} + +% +% These are the user-level macros: +% +% \fullref{...} expands to theorem~3.7 +% \Fullref{...} expands to Theorem~3.7 +% \ref{...} expands to 3.7 +% \pageref{...} expands to 377 + +\def\fullref{\@ref{\@xf\@car}} +\def\Fullref{\@ref{\@xf\@xf\@xf\cap@first\@xf\@car}} +\def\pageref{\@ref{\@xf\@cdr}} +\def\ref{\@ref{\@xf\@xf\@xf\discard@first\@xf\@car}} +\def\reftype{\@ref{\@xf\@xf\@xf\discard@second\@xf\@car}} +\def\Reftype{\@ref{\@xf\@xf\@xf\@xf\@xf\@xf\@xf\discard@second + \@xf\@xf\@xf\cap@first\@xf\@car}} +\def\cap@first#1{\uppercase{#1}} +\def\discard@first#1~{} +\def\discard@second#1~\preref{#1\@gobble} + +% +% This is similar to \ref in LaTeX, but has two arguments: the second +% is the key, which is not expanded; the first is an operator to be +% applied to the value of the record. +% +\newtoks\@value +\def\@ref#1{\@ifnextchar*{\@r@f{#1}}{\@r@f{#1}+}} +\def\@r@f#1#2#3{\set@key{#3}\@ifundefined{r@\the\@key}% + {{\bf ??}\@warning{Reference `\expand@key' %on page \thepage\space + undefined}}% + {\@value=\@xf\@xf\@xf{\csname r@\the\@key\endcsname}#1\the\@value\@nil\null}% + \if#2*\refindex{#3} (#3)\else\refinvindex{#3}\fi} +\def\expand@key{\@xf\empty\the\@key} + +\def\@lbibitem[#1]#2{\set@key{#2}\item[\@biblabel{#1}]\if@filesw + \xdef\@gtempa{\immediate\write\@auxout{\string\bibcite{\the\@key}{#1}}} + \@gtempa\fi\ignorespaces} + +% +% Like \label in LaTeX, but follows the conventions explained at the +% top of this file. The \label* variant creates a more comprehensive +% index entry. +% +\def\preref#1{#1} +\def\label{\@ifnextchar*{\l@bel}{\l@bel+}} +\def\l@bel#1#2{\set@key{#2}\@bsphack\if@filesw + {\let\thepage\relax + \xdef\@gtempa{\write\@auxout{\string\newlabel{\the\@key}% + {{\object@type\string~\string\preref{\@currentlabel}}% + {\string\preref{\thepage}}}% + }}}\@gtempa + \if@nobreak \ifvmode\nobreak\fi\fi\fi\@esphack + \if#1*\labelindex{#2}\else\index{#2}\fi\ignorespaces} + +\def\newlabel{\bgroup\@sanitize\afterassignment\@readlabel\global\@key} +\def\bibcite{\bgroup\@sanitize\afterassignment\@readbibcite\global\@key} +\def\@readlabel{\egroup\r@adlabel r} +\def\@readbibcite{\egroup\r@adlabel b} +\def\r@adlabel#1#2{\@ifundefined{#1@\the\@key}{}% + {\@warning{Label `\expand@key' multiply defined}}% + \global\@namedef{#1@\the\@key}{#2}} + +% +% sanitize +% +\def\citeseparator{,} +\def\@citex[#1]#2{\set@key{#2}\if@filesw + \xdef\@gtempa{\immediate\write\@auxout{\string\citation{\the\@key}}}\@gtempa\fi + \let\@citea\@empty + \@xf\@cite\@xf{\@xf\@for\@xf\@citeb\@xf:\@xf=\the\@key\do + {\@citea\def\@citea{\citeseparator\penalty\@m\ }% + \def\@tempa##1##2\@nil{\edef\@citeb{\if##1\space##2\else##1##2\fi}}% + \expandafter\@tempa\@citeb\@nil + \@ifundefined{b@\@citeb}{{\reset@font\bf ?}\@warning + {Citation `\@citeb' %on page \thepage \space + undefined}}% + {\csname b@\@citeb\endcsname}}}{#1}} + +% +% add a preref +% +\def\@cite#1#2{\preref{[{#1\if@tempswa , #2\fi}]}} + +\def\nocite#1{\set@key{#1}\@bsphack\if@filesw + \xdef\@gtempa{\immediate\write\@auxout{\string\citation{\the\@key}}}\@gtempa\fi + \@esphack} + +\def\@testdef #1#2#3{\set@key{#2}\def\@tempa{#3}% + \@xf\ifx\csname #1@\the\@key\endcsname\@tempa\else\@tempswatrue\fi} + +\def\\{\let\stoken= } \\ +\def\sanitize{\futurelet\next\sanswitch} +\def\sanswitch{\let\@tempa\relax \ifx\next\endsanity \let\@tempa\endsanity + \else\ifcat\noexpand\next\stoken\aftergroup\space\let\@tempa\eat + \else\ifcat\noexpand\next\bgroup\aftergroup{\let\@tempa\eat + \else\ifcat\noexpand\next\egroup\aftergroup}\let\@tempa\eat + \else\let\@tempa\copytoken\fi\fi\fi\fi \@tempa} +\def\eat{\afterassignment\sanitize \let\next= } +\long\def\copytoken#1{% + \ifcat\noexpand#1##\aftergroup\string\aftergroup\string##\aftergroup\string + \else\ifcat\noexpand#1\noexpand~\aftergroup\string + \else\ifcat\noexpand#1\relax\aftergroup\str@ng \fi\fi\fi + \aftergroup#1\sanitize} +\def\endsanity\endsanity{} +\def\str@ng#1{\string#1\expandafter\if@secondletter\string #1\next\nex} +\def\if@secondletter#1#2#3\nex{\ifx #2\next\else\ifnum`#2<`A \else + \ifnum`#2<`Z \space\else\ifnum`#2<`a \else\ifnum`#2<`z \space\fi\fi\fi\fi\fi} + +% Labels are automatically added to theorems, section headings and the +% like if \autolabel is true. + +\newif\ifautolabel\autolabeltrue + +% **************************************** +% * ENVIRONMENTS * +% **************************************** + +\long\def\@writefile#1#2{\@ifundefined{tf@#1}{}{ +\edef\@tempa{\immediate\write\csname tf@#1\endcsname} +{\aftergroup\@tempa\aftergroup{\sanitize #2\endsanity}}}} + +% ********************************************** +% * MATH ENVIRONMENTS * +% ********************************************** + +%% following RmS 91/09/29: \reset@font added. + +\def\@eqnnum{{\reset@font\rm (\theequation)}} + +% +% set object type +% +\def\equation{$$ % $$ BRACE MATCHING HACK + \def\object@type{equation}\refstepcounter{equation}} + +%% following RmS 92/01/10: put \hbox around \@eqnnum + +\def\endequation{\eqno \hbox{\@eqnnum}% $$ BRACE MATCHING HACK +$$\global\@ignoretrue} + +\def\eqnarray{\def\object@type{equation}% + \stepcounter{equation}\edef\@currentlabel{\theequation}% +\global\@eqnswtrue\m@th +\global\@eqcnt\z@\tabskip\@centering\let\\\@eqncr +$$\halign to\displaywidth\bgroup\@eqnsel\hskip\@centering + $\displaystyle\tabskip\z@{##}$&\global\@eqcnt\@ne + \hskip 2\arraycolsep \hfil${##}$\hfil + &\global\@eqcnt\tw@ \hskip 2\arraycolsep $\displaystyle\tabskip\z@{##}$\hfil + \tabskip\@centering&\llap{##}\tabskip\z@\cr} +\def\@eqncr{{\ifnum0=`}\fi\@ifstar{\global\@eqpen\@M + \@yeqncr}{\global\@eqpen\interdisplaylinepenalty \@yeqncr}% + \edef\@currentlabel{\theequation}} + +% +% allow equations to be numbered with other environments +% + +\def\equationwith#1{% + \@xf\edef\@xf\c@equation\@xf{\csname c@#1\endcsname}% + \@xf\let\@xf\theequation\csname the#1\endcsname +} + +% +% Bring back \eqalign from plain TeX (for less than full-width alignments) +% +\def\eqalign#1{\null\,\vcenter{\openup\jot\m@th + \ialign{\strut\hfil$\displaystyle{##}$&$\displaystyle{{}##}$\hfil + \crcr#1\crcr}}\,} + +% **************************************** +% * THE LIST ENVIRONMENT * +% **************************************** + +% make the \listparindent non-zero + +\def\list#1#2{\ifnum \@listdepth >5\relax \@toodeep + \else \global\advance\@listdepth\@ne \fi + \rightmargin \z@ \listparindent.8\parindent \itemindent\z@ + \csname @list\romannumeral\the\@listdepth\endcsname + \def\@itemlabel{#1}\let\makelabel\@mklab \@nmbrlistfalse #2\relax + \@trivlist + \parskip\parsep \parindent\listparindent + \advance\linewidth -\rightmargin \advance\linewidth -\leftmargin + \advance\@totalleftmargin \leftmargin + \parshape \@ne \@totalleftmargin \linewidth + \ignorespaces} + +% for bibliography +\def\@mklab#1{#1\hskip 0pt plus .0001fil\relax} + +% Use \unhbox instead of \box for labels like theorems etc. +% Add normalshape +% Removed a \penalty0 to avoid line ending with blank space +% +% to make part (a) of an enumerate that immediate follows a label +% start on a fresh line, change the last line of \@item to: +% +%\def\@item[#1]{\if@noparitem \@donoparitem +% ... +% \hskip \labelsep}\vrule width 0pt \ignorespaces} +% +\def\@item[#1]{\if@noparitem \@donoparitem + \else \if@inlabel \indent \par \fi + \ifhmode \unskip\unskip \par \fi + \if@newlist \if@nobreak \@nbitem \else + \addpenalty\@beginparpenalty + \addvspace\@topsep \addvspace{-\parskip}\fi + \else \addpenalty\@itempenalty \addvspace\itemsep + \fi + \global\@inlabeltrue +\fi +\everypar{\global\@minipagefalse\global\@newlistfalse + \if@inlabel\global\@inlabelfalse \hskip -\parindent \unhbox\@labels +% \penalty\z@ \fi + \fi + \everypar{}}\global\@nobreakfalse +\if@noitemarg \@noitemargfalse \if@nmbrlist \refstepcounter{\@listctr}\fi \fi +\setbox\@tempboxa\hbox{\makelabel{#1}}% +%\setbox\@tempboxa\hbox{\makelabel{\normalshape #1}}% this would kill \sc +\global\setbox\@labels + \hbox{\unhbox\@labels \hskip \itemindent + \hskip -\labelwidth \hskip -\labelsep + \ifdim \wd\@tempboxa >\labelwidth + \unhbox\@tempboxa + \else \hbox to\labelwidth {\makelabel{\normalshape #1}}\fi + \hskip \labelsep}\ignorespaces} + +% **************************************** +% * ITEMIZE AND ENUMERATE * +% **************************************** + +% Save \@currentlabel to allow correct label in the cases like this: +% +% \begin{theorem} +% \begin{equation} +% \end{equation} +% \begin{enumerate} +% \label +% + +\def\enumerate{\ifnum \@enumdepth >3 \@toodeep\else + \advance\@enumdepth \@ne + \edef\@enumctr{enum\romannumeral\the\@enumdepth}\list + {\csname label\@enumctr\endcsname}{\usecounter + {\@enumctr}\def\makelabel##1{\hss\llap{\normalshape ##1}}}\fi + \let\@@currentlabel\@currentlabel} + +% commented out Jan 11 93; had been added to version 1.14, but I have no +% idea how it was supposed to work, or what unrobustness it was trying +% to solve (see log). With this code, \@@currentlabel was never assigned. +% +% \let\@savecurrentlabel\@currentlabel} +% +%\@ifundefined{@@currentlabel}{\@currentlabel}{\@savecurrentlabel} + +% **************************************** +% * THEOREM ENVIRONMENTS * +% **************************************** + +% See geomenv.sty + +% ***************************************** +% * SECTIONING * +% ***************************************** + +% Allow up to \presection at bottom of page before new section +% to encourage section to start on fresh page + +\newskip\presection \presection 0pt plus 10ex \relax + +\def\@startsection#1#2#3#4#5#6{\if@noskipsec \leavevmode \fi + \par \@tempskipa #4\relax + \@afterindenttrue + \ifdim \@tempskipa <\z@ \@tempskipa -\@tempskipa \@afterindentfalse\fi + \advance\@tempskipa by\presection + \if@nobreak \everypar{}\else + \addpenalty{\@secpenalty}\addvspace{\@tempskipa}% + \allowbreak\vskip -\presection \fi \@ifstar + {\@ssect{#1}{#2}{#3}{#4}{#5}{#6}}{\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}} + +% Add a . after section number instead of skipping 1em +% Mess with \addcontentsline +% Automatic labels + +\def\@sect#1#2#3#4#5#6[#7]#8{\def\object@type{#1}% + \ifnum #2>\c@secnumdepth\def\@svsec{}\def\@tempb{}% + \else\refstepcounter{#1}\edef\@svsec{\csname the#1\endcsname. }% + \edef\@tempb{\noexpand\numberline{\csname the#1\endcsname}} \fi + \@tempskipa #5\relax + \def\@tempa{\addcontentsline{toc}{#1}}% + \ifdim \@tempskipa>\z@ + \begingroup #6\relax + \@hangfrom{\hskip #3\relax\@svsec}{\interlinepenalty \@M #8\par}% + \endgroup + \csname #1mark\endcsname{#7}% + \expandafter\@tempa\expandafter{\@tempb #7}% + \ifautolabel\label*{#8}\fi + \else + \def\@svsechd{#6\hskip #3\relax + \@svsec #8\csname #1mark\endcsname {#7}% + \expandafter\@tempa\expandafter{\@tempb #7}% + \ifautolabel\label*{#8}\fi}\fi + \@xsect{#5}} + +% Add automatic content line and label + +\def\@ssect#1#2#3#4#5#6#7{% + \ifnum #2>\c@secnumdepth\def\@tempb{}% + \else \def\@tempb{\numberline{}}\fi + \@tempskipa #5\relax + \def\@tempa{\addcontentsline{toc}{s#1}}% + \ifdim \@tempskipa>\z@ + \begingroup #6\relax + \@hangfrom{\hskip #3}{\interlinepenalty \@M #7\par}% + \endgroup + \csname s#1mark\endcsname{#7}% + \ifstarredcontents\expandafter\@tempa\expandafter{\@tempb #7}\fi + \ifautolabel\label*{#7}\fi + \else + \def\@svsechd{#6\hskip #3\relax #7% + \csname s#1mark\endcsname {#7}% + \ifautolabel\label*{#7}\fi}\fi + \@xsect{#5}} + +\newif\ifstarredcontents\starredcontentstrue +\def\ssubsectionmark#1{} +\def\ssubsubsectionmark#1{} +\def\sparagraphmark#1{} +\def\ssubparagraphmark#1{} + +% ***************************************** +% * TABLE OF CONTENTS, ETC. * +% ***************************************** + +% Don't expand macros when writing lines for the table of contents. + +\def\addcontentsline#1#2#3{\if@filesw \begingroup +\set@key{#3}% +\let\label\@gobble \let\index\@gobble \let\glossary\@gobble + {\let\thepage\relax +\xdef\@gtempa{\write \@auxout{\string\@writefile{#1}{\noexpand\string + \noexpand\contentsline{#2}{\the\@key}{\thepage}}}}\@gtempa} + \if@nobreak \ifvmode\nobreak\fi\fi\endgroup\fi} + +\long\def\addtocontents#1#2{\if@filesw \begingroup +\set@key{#2}% +\let\label\@gobble \let\index\@gobble \let\glossary\@gobble +\edef\@tempa{\write \@auxout {\string\@writefile{#1}{\the\@key}}}\@tempa + \if@nobreak \ifvmode\nobreak\fi\fi\endgroup\fi} + +% **************************************** +% * FLOATS * +% **************************************** + +% Make marginal pars tiny and ragged right + +\long\def\@savemarbox#1#2{\global\setbox#1\vtop{\hsize\marginparwidth + \@parboxrestore\marginparstyle #2}} + +\def\marginparstyle{\tiny\normalshape\mediumseries\raggedright} + +% **************************************** +% * INITIAL DECLARATION COMMANDS * +% **************************************** + +% Don't expand macros in marks. + +\newtoks\@mark +\def\markboth#1#2{{\global\@mark={{#1}{#2}}{% + \mark{\the\@mark}}\if@nobreak\ifvmode\nobreak\fi\fi}} + +\def\markbothsame#1{{\global\@mark={{#1}{#1}}{% + \mark{\the\@mark}}\if@nobreak\ifvmode\nobreak\fi\fi}} + +\def\markright#1{{\expandafter\@markright\the\@mark + {#1}\mark{\the\@mark}}\if@nobreak\ifvmode\nobreak\fi\fi} + +\def\@markright#1#2#3{\global\@mark{{#1}{#3}}} + +\@mark{{}{}} + +% **************************************** +% * OUTPUT * +% **************************************** + +% CHECK if this bug really has disappeared. +% the two lines after ``here was the bug'' +% avoid disappearing \write's before a \marginpar +% at the top of a page (SL 900302). The bug is exemplified by +% \documentstyle{article} +% \begin{document} +% \label{foo}\marginpar{foo} +% \end{document} +% +\def\@specialoutput{\ifnum\outputpenalty > -\@Mii + \@doclearpage + \else + \ifnum \outputpenalty <-\@Miii + \ifnum\outputpenalty<-\@MM \deadcycles\z@\fi + \global\setbox\@holdpg\vbox{\unvbox\@cclv}% + \else % here was the bug + \ifdim\ht\@cclv=\pagegoal\else + \setbox\@tempboxa\vsplit\@cclv to\z@ \unvbox\@tempboxa\fi + \setbox\@tempboxa\box\@cclv + \@pagedp\dp\@holdpg \@pageht\ht\@holdpg + \unvbox\@holdpg + \@next\@currbox\@currlist{\ifnum\count\@currbox >\z@ + \ifvoid\footins\else\advance\@pageht\ht\footins + \advance\@pageht\skip\footins \advance\@pagedp\dp\footins + \insert\footins{\unvbox\footins}\fi + \@addtocurcol\else + \ifvoid\footins\else\insert\footins{\unvbox\footins}\fi + \@addmarginpar\fi}\@latexbug + \ifnum \outputpenalty <\z@ \penalty\interlinepenalty\fi + \fi\fi} + +% Avoid headers on blank pages +\def\cleardoublepage{\clearpage\if@twoside \ifodd\c@page\else + \thispagestyle{plain}\hbox{}\newpage\if@twocolumn\hbox{}\newpage\fi\fi\fi} + +% $Log: geom.sty,v $ +%Revision 1.21 95/08/02 16:22:57 levy +%introduced cite separator +% +%Revision 1.20 95/07/18 18:19:57 levy +%\normalshape migrated from \@item to \enumerate, so \sc will work w/ +%\description, say +% +%Revision 1.19 95/07/03 14:08:49 levy +%NFSS2 changes by John Rawnsley +% +%Revision 1.19 95/07/03 14:07:58 levy +%*** empty log message *** +% +%Revision 1.17 93/08/04 10:00:53 levy +%fixed problem with \ssectionmark (so running heads for Bibliography etc. +%are correct). +% +%Revision 1.16 93/01/31 16:15:20 levy +%created \marginparstyle +% +%Revision 1.16 93/01/12 01:50:02 levy +%*** empty log message *** +% +%Revision 1.15 1992/08/25 19:53:57 levy +%fixed \@mklab (previous fix was nonsense) +% +%Revision 1.14 92/08/25 19:33:50 levy +%@@currentlabel more robust +% +%Revision 1.13 92/07/31 09:50:26 levy +%redefine \@mklab +% +%Revision 1.12 92/07/17 13:44:12 levy +%*** empty log message *** +% +%Revision 1.11 92/07/13 21:54:14 levy +%further cleaned up the environments +% +%Revision 1.10 92/07/13 11:11:48 levy +%*** empty log message *** +% +%Revision 1.9 92/07/13 08:57:20 levy +%changes to geomenv.sty +% +%Revision 1.8 1992/07/06 19:04:42 levy +%sanitize \bibcite, \cite +% +%Revision 1.7 92/06/26 18:46:57 levy +%\reftype +% +%Revision 1.6 92/06/03 11:25:59 levy +%*** empty log message *** +% +%Revision 1.5 92/04/16 12:58:26 levy +%*** empty log message *** +% +%Revision 1.4 92/04/07 09:09:03 levy +%*** empty log message *** +% +%Revision 1.3 1992/03/21 02:37:06 levy +%*** empty log message *** +% +%Revision 1.2 1992/03/20 22:39:40 levy +%*** empty log message *** +% +%Revision 1.1 1992/03/20 19:09:34 levy +%Initial revision +% + diff --git a/Master/texmf-dist/tex/latex/geomsty/geomar10.sty b/Master/texmf-dist/tex/latex/geomsty/geomar10.sty new file mode 100644 index 00000000000..620e34957e5 --- /dev/null +++ b/Master/texmf-dist/tex/latex/geomsty/geomar10.sty @@ -0,0 +1,142 @@ +% $Header: /u/levy/texts/geombook/RCS/geomar10.sty,v 1.5 1994/06/14 21:49:20 levy Exp levy $ + +% +% This is the geom style art10 file, by Silvio Levy. +% It contains modifications to art10.sty of 22 Dec 87 +% +% \typeout{Reading geomart10.sty $Revision: 1.5 $ (changes to art10.sty)} + +% make the \parsep 0pt + +\def\small{\@setsize\small{11pt}\ixpt\@ixpt + \abovedisplayskip 9pt plus2pt minus4pt + \belowdisplayskip \abovedisplayskip + \abovedisplayshortskip 0pt plus2.5pt + \belowdisplayshortskip 5pt plus2.5pt minus2.5pt + \def\@listi{\leftmargin\leftmargini \parsep 0pt + \itemsep 2.5pt plus 2pt minus 0pt + \topsep 5pt plus 2pt minus 2pt}} + +\def\footnotesize{\@setsize\footnotesize{9.5pt}\viiipt\@viiipt + \abovedisplayskip 7.2pt plus 2pt minus 4pt% + \belowdisplayskip \abovedisplayskip + \abovedisplayshortskip \z@ plus 1pt% + \belowdisplayshortskip 4pt plus 2pt minus 2pt + \def\@listi{\leftmargin\leftmargini %% Added 22 Dec 87 + \parsep 0pt + \topsep 4pt plus 2pt minus 2pt + \itemsep 2pt plus 1pt minus 1pt}} + +% Make chapter and section heads less huge + +\let\chapheadsize=\LARGE +\let\huge=\Large +\let\Large=\large + +% Increase the page size + +\textwidth 5.5in \oddsidemargin .6in \evensidemargin .4in + +\textheight = 44\baselineskip \advance\textheight by \topskip \topmargin -.25in + +% Increase the parindent + +\parindent 20pt + +% Following change commented out 940614 for the following imperfectly +% understood reason. When the partopsep is NOT set here, it is zero +% at the beginning of a run (even though defined to be 3 +1 -2 in +% art10.sty). When it is set here, it is nonzero, and breaks the +% footnotes on the first page of amsart.sty. + +% Extra vertical space, in addition to +% \parskip and \topsep, added when user +% leaves blank line before environment. +% (Changed from 3 +1 -2) + +%\partopsep 2pt plus 1pt minus 1pt + +% mess with \addcontentsline; \chapheadsize instead of \Huge + +\def\@part[#1]#2{\ifnum \c@secnumdepth >-1\relax % IF secnumdepth > -1 + \refstepcounter{part} % THEN step part counter + \def\@tempa{\addcontentsline{toc}{part}} % + \expandafter\@tempa\expandafter{\thepart % add toc line + \hspace{1em}#1}\else % ELSE add unnumbered line + \addcontentsline{toc}{part}{#1}\fi % FI + {\centering + \ifnum \c@secnumdepth >-1\relax % IF secnumdepth > -1 + \Large\bf Part \thepart % THEN Print 'Part' and number + \par\nobreak % in \Large bold. + \fi % FI + \chapheadsize \bf % + #2\markboth{}{}\par} + \nobreak % TeX penalty to prevent page break. + \vskip 3ex % Space between title and text. + \@afterheading % Routine called after part and + } % section heading. + +\def\@spart#1{{\centering + \chapheadsize \bf + #1\par} % Title. + \nobreak % TeX penalty to prevent page break. + \vskip 3ex % Space between title and text. + \@afterheading % Routine called after part and + } % section heading. + +% Normalize according to \parindent + +\leftmargini\parindent +\listparindent .8\parindent +\leftmarginii .8\parindent +\leftmarginiii .8\parindent +\leftmarginiv .8\parindent +\leftmarginv .8\parindent +\leftmarginvi .8\parindent +\leftmargin\leftmargini +\labelwidth\leftmargini\advance\labelwidth-\labelsep + +% Make \parsep 0 + +\def\@listI{\leftmargin\leftmargini + \parsep 0pt + \topsep 8pt plus 3pt minus 4pt% + \itemsep 4pt plus 2pt minus 1pt} + +\let\@listi\@listI +\@listi + +\def\@listii{\leftmargin\leftmarginii + \labelwidth\leftmarginii\advance\labelwidth-\labelsep + \topsep 4pt plus 2pt minus 1pt + \itemsep 2.5pt plus \p@ minus \p@ + \parsep \z@} + +\def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii\advance\labelwidth-\labelsep + \topsep 2pt plus 1pt minus 1pt + \parsep \z@ \partopsep \p@ plus \z@ minus \p@ + \itemsep \topsep} + +% $Log: geomar10.sty,v $ +%Revision 1.5 1994/06/14 21:49:20 levy +%*** empty log message *** +% +%Revision 1.4 1994/06/14 21:48:58 levy +%*** empty log message *** +% +%Revision 1.3 1994/06/14 21:48:37 levy +%*** empty log message *** +% +%Revision 1.2 1993/12/21 05:16:58 levy +%corrected \footnotesize +% +%Revision 1.1 92/07/11 22:28:19 levy +%Initial revision +% +%Revision 1.1 92/04/07 09:09:06 levy +%Initial revision +% +%Revision 1.1 1992/03/20 22:38:55 levy +%Initial revision +% diff --git a/Master/texmf-dist/tex/latex/geomsty/geomar11.sty b/Master/texmf-dist/tex/latex/geomsty/geomar11.sty new file mode 100644 index 00000000000..05e1601e7e7 --- /dev/null +++ b/Master/texmf-dist/tex/latex/geomsty/geomar11.sty @@ -0,0 +1,130 @@ +% $Header: /u/levy/texts/geombook/RCS/geomar11.sty,v 1.2 1994/06/14 21:49:20 levy Exp levy $ + +% +% This is the geom style art11 file, by Silvio Levy. +% It contains modifications to art11.sty of 22 Dec 87 +% +% \typeout{Reading geomart11.sty $Revision: 1.2 $ (changes to art11.sty)} + +% make the \parsep 0pt + +\def\small{\@setsize\small{12pt}\xpt\@xpt + \abovedisplayskip 10pt plus2pt minus5pt + \belowdisplayskip \abovedisplayskip + \abovedisplayshortskip 0pt plus3pt + \belowdisplayshortskip 6pt plus3pt minus3pt + \def\@listi{\leftmargin\leftmargini \parsep 0pt + \itemsep 3pt plus 2pt minus 0pt + \topsep 6pt plus 2pt minus 2pt}} + +\def\footnotesize{\@setsize\footnotesize{11pt}\ixpt\@ixpt + \abovedisplayskip 8pt plus 2pt minus 4pt% + \belowdisplayskip \abovedisplayskip + \abovedisplayshortskip \z@ plus 1pt% + \belowdisplayshortskip 4pt plus 2pt minus 2pt + \def\@listi{\leftmargin\leftmargini %% Added 22 Dec 87 + \parsep 0pt + \topsep 4pt plus 2pt minus 2pt + \itemsep 2pt plus 1pt minus 1pt}} + +% Make chapter and section heads less huge + +\let\chapheadsize=\LARGE +\let\huge=\Large +\let\Large=\large + +% Increase the page size + +\textwidth 5.5in \oddsidemargin .6in \evensidemargin .4in + +\textheight = 44\baselineskip \advance\textheight by \topskip \topmargin -.25in + +% Increase the parindent + +\parindent 20pt + +% Following change commented out 940614 for the following imperfectly +% understood reason. When the partopsep is NOT set here, it is zero +% at the beginning of a run (even though defined to be 3 +1 -2 in +% art11.sty). When it is set here, it is nonzero, and breaks the +% footnotes on the first page of amsart.sty. + +% Extra vertical space, in addition to +% \parskip and \topsep, added when user +% leaves blank line before environment. +% (Changed from 3 +1 -2) + +%\partopsep 2pt plus 1pt minus 1pt + +% mess with \addcontentsline; \chapheadsize instead of \Huge + +\def\@part[#1]#2{\ifnum \c@secnumdepth >-1\relax % IF secnumdepth > -1 + \refstepcounter{part} % THEN step part counter + \def\@tempa{\addcontentsline{toc}{part}} % + \expandafter\@tempa\expandafter{\thepart % add toc line + \hspace{1em}#1}\else % ELSE add unnumbered line + \addcontentsline{toc}{part}{#1}\fi % FI + {\centering + \ifnum \c@secnumdepth >-1\relax % IF secnumdepth > -1 + \Large\bf Part \thepart % THEN Print 'Part' and number + \par\nobreak % in \Large bold. + \fi % FI + \chapheadsize \bf % + #2\markboth{}{}\par} + \nobreak % TeX penalty to prevent page break. + \vskip 3ex % Space between title and text. + \@afterheading % Routine called after part and + } % section heading. + +\def\@spart#1{{\centering + \chapheadsize \bf + #1\par} % Title. + \nobreak % TeX penalty to prevent page break. + \vskip 3ex % Space between title and text. + \@afterheading % Routine called after part and + } % section heading. + +% Normalize according to \parindent + +\leftmargini\parindent +\listparindent .8\parindent +\leftmarginii .8\parindent +\leftmarginiii .8\parindent +\leftmarginiv .8\parindent +\leftmarginv .8\parindent +\leftmarginvi .8\parindent +\leftmargin\leftmargini +\labelwidth\leftmargini\advance\labelwidth-\labelsep + +% Make \parsep 0 + +\def\@listI{\leftmargin\leftmargini + \parsep 0pt + \topsep 9pt plus 3pt minus 5pt% + \itemsep 4.5pt plus 2pt minus 1pt} + +\let\@listi\@listI +\@listi + +\def\@listii{\leftmargin\leftmarginii + \labelwidth\leftmarginii\advance\labelwidth-\labelsep + \topsep 4.5pt plus 2pt minus 1pt + \itemsep 2.5pt plus \p@ minus \p@ + \parsep \z@} + +\def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii\advance\labelwidth-\labelsep + \topsep 2pt plus 1pt minus 1pt + \parsep \z@ \partopsep \p@ plus \z@ minus \p@ + \itemsep \topsep} + +% $Log: geomar11.sty,v $ +%Revision 1.2 1994/06/14 21:49:20 levy +%*** empty log message *** +% +%Revision 1.1 92/04/07 09:09:06 levy +%Initial revision +% +%Revision 1.1 1992/03/20 22:38:55 levy +%Initial revision +% diff --git a/Master/texmf-dist/tex/latex/geomsty/geomar12.sty b/Master/texmf-dist/tex/latex/geomsty/geomar12.sty new file mode 100644 index 00000000000..27f3c9a4f71 --- /dev/null +++ b/Master/texmf-dist/tex/latex/geomsty/geomar12.sty @@ -0,0 +1,132 @@ +% $Header: /u/levy/texts/geombook/RCS/geomar12.sty,v 1.3 1994/06/14 21:49:20 levy Exp levy $ + +% +% This is the geom style art12 file, by Silvio Levy. +% It contains modifications to art12.sty of 22 Dec 87 +% +% \typeout{Reading geomart12.sty $Revision: 1.3 $ (changes to art12.sty)} + +% make the \parsep 0pt + +\def\small{\@setsize\small{13.6pt}\xipt\@xipt +\abovedisplayskip 11pt plus3pt minus6pt% +\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus3pt% +\belowdisplayshortskip 6.5pt plus3.5pt minus3pt +\def\@listi{\leftmargin\leftmargini \parsep 0pt + \itemsep 4.5pt plus 2pt minus 0pt + \topsep 9pt plus 3pt minus 5pt}} + +\def\footnotesize{\@setsize\footnotesize{12pt}\xpt\@xpt + \abovedisplayskip 10pt plus2pt minus5pt + \belowdisplayskip \abovedisplayskip + \abovedisplayshortskip 0pt plus3pt + \belowdisplayshortskip 6pt plus3pt minus3pt + \def\@listi{\leftmargin\leftmargini \parsep 0pt + \itemsep 3pt plus 2pt minus 0pt + \topsep 6pt plus 2pt minus 2pt}} + +% Make chapter and section heads less huge + +\let\chapheadsize=\LARGE +\let\huge=\Large +\let\Large=\large + +% Increase the page size + +\textwidth 5.5in \oddsidemargin .6in \evensidemargin .4in + +\textheight = 44\baselineskip \advance\textheight by \topskip \topmargin -.25in + +% Increase the parindent + +\parindent 20pt + +% Following change commented out 940614 for the following imperfectly +% understood reason. When the partopsep is NOT set here, it is zero +% at the beginning of a run (even though defined to be 3 +2 -2 in +% art10.sty). When it is set here, it is nonzero, and breaks the +% footnotes on the first page of amsart.sty. + +% Extra vertical space, in addition to +% \parskip and \topsep, added when user +% leaves blank line before environment. +% (Changed from 3 +2 -2) + +%\partopsep 2pt plus 1pt minus 1pt + +% mess with \addcontentsline; \chapheadsize instead of \Huge + +\def\@part[#1]#2{\ifnum \c@secnumdepth >-1\relax % IF secnumdepth > -1 + \refstepcounter{part} % THEN step part counter + \def\@tempa{\addcontentsline{toc}{part}} % + \expandafter\@tempa\expandafter{\thepart % add toc line + \hspace{1em}#1}\else % ELSE add unnumbered line + \addcontentsline{toc}{part}{#1}\fi % FI + {\centering + \ifnum \c@secnumdepth >-1\relax % IF secnumdepth > -1 + \Large\bf Part \thepart % THEN Print 'Part' and number + \par\nobreak % in \Large bold. + \fi % FI + \chapheadsize \bf % + #2\markboth{}{}\par} + \nobreak % TeX penalty to prevent page break. + \vskip 3ex % Space between title and text. + \@afterheading % Routine called after part and + } % section heading. + +\def\@spart#1{{\centering + \chapheadsize \bf + #1\par} % Title. + \nobreak % TeX penalty to prevent page break. + \vskip 3ex % Space between title and text. + \@afterheading % Routine called after part and + } % section heading. + +% Normalize according to \parindent + +\leftmargini\parindent +\listparindent .8\parindent +\leftmarginii .8\parindent +\leftmarginiii .8\parindent +\leftmarginiv .8\parindent +\leftmarginv .8\parindent +\leftmarginvi .8\parindent +\leftmargin\leftmargini +\labelwidth\leftmargini\advance\labelwidth-\labelsep + +% Make \parsep 0 + +\def\@listI{\leftmargin\leftmargini + \topsep 10pt plus 4pt minus 6pt% + \itemsep 5pt plus 2.5pt minus 1pt + \parsep \z@} + +\let\@listi\@listI +\@listi + +\def\@listii{\leftmargin\leftmarginii + \labelwidth\leftmarginii\advance\labelwidth-\labelsep + \topsep 5pt plus 2.5pt minus \p@ + \itemsep 2.5pt plus \p@ minus \p@ + \parsep \z@} + +\def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii\advance\labelwidth-\labelsep + \topsep 2.5pt plus \p@ minus \p@ + \parsep \z@ \partopsep \p@ plus \z@ minus \p@ + \itemsep \topsep} + +% $Log: geomar12.sty,v $ +%Revision 1.3 1994/06/14 21:49:20 levy +%*** empty log message *** +% +%Revision 1.2 1994/06/14 21:48:58 levy +%*** empty log message *** +% +%Revision 1.1 92/04/07 09:09:07 levy +%Initial revision +% +%Revision 1.1 1992/03/20 22:38:55 levy +%Initial revision +% diff --git a/Master/texmf-dist/tex/latex/geomsty/geomart.sty b/Master/texmf-dist/tex/latex/geomsty/geomart.sty new file mode 100644 index 00000000000..3cf2d58765c --- /dev/null +++ b/Master/texmf-dist/tex/latex/geomsty/geomart.sty @@ -0,0 +1,193 @@ +% $Header: /a/tampa/h/tampa_a/fac/levy/texts/geombook/RCS/geomart.sty,v 1.7 94/07/22 09:55:30 levy Exp Locker: levy $ + +% +% This is the geom style article file, by Silvio Levy. +% It contains modifications to article.sty of <16 Mar 88>. +% +% \typeout{Reading geomart.sty $Revision: 1.7 $ (changes to article.sty)} + +% Marginpars go on right side of page. + +\@mparswitchfalse + +% Input size-dependent information. \@ptsize.sty is defined in book.sty. + +\input geomar1\@ptsize.sty\relax + +% Layout parameters + +\tolerance 1000 +\clubpenalty 10000 +\widowpenalty 10000 +\hfuzz=.1pt + +% First two levels of enumerations are (a) and (i), respectively, +% rather than 1. and (a). + +\let\@@currentlabel\relax %assign initial value + +\def\labelenumi{\theenumi} +\def\theenumi{(\alph{enumi})} +\def\p@enumi{\@@currentlabel} + +\def\labelenumii{\theenumii} +\def\theenumii{(\roman{enumii})} +\def\p@enumii{\@@currentlabel} + +\def\p@enumiii{\@@currentlabel} + +\def\p@enumiv{\@@currentlabel} + +% Less space around contents of \fbox (2pt instead of 3pt) + +\fboxsep = 2pt + +% No explicit \@mkboth needed in \tableofcontents +% marks are automatically added by \section* + +\@ifundefined{contentsname}{\def\contentsname{Contents}}{} +\def\tableofcontents{{\starredcontentsfalse\section*{\contentsname}\@starttoc{toc}}} + +% Contents line for part + +\def\l@part#1#2{\addpenalty{\@secpenalty} + \addvspace{2em plus 1pt} % space above part line + \begingroup + \def\\{\unskip\ \ignorespaces} % deal with \\ in chapter titles --SL + \@tempdima 3em % width of box holding part number, used by + \parindent \z@ %% \numberline + \rightskip \@pnumwidth plus 3em % allow ragged right + \parfillskip -\rightskip % when line wraps around --SL + \hangindent 1.5em % hangindent is same as l@section below --SL + {\bf % set line in boldface + \leavevmode % TeX command to enter horizontal mode. + #1\hfil \hbox to\@pnumwidth{\hss #2}}\par + \nobreak % Never break after part entry + \endgroup} + +% Treat contents entry for section same as the others + +\def\l@section{\@dottedtocline{1}{0em}{2.3em}} +\def\l@subsection{\@dottedtocline{2}{2.3em}{3.2em}} +\def\l@subsubsection{\@dottedtocline{3}{5.5em}{4.1em}} +\def\l@paragraph{\@dottedtocline{4}{9.6em}{5em}} +\def\l@subparagraph{\@dottedtocline{5}{14.6em}{6em}} + +\def\l@ssection{\@dottedtocline{1}{0em}{0em}} +\def\l@ssubsection{\@dottedtocline{2}{2.3em}{0em}} +\def\l@ssubsubsection{\@dottedtocline{3}{5.5em}{0em}} +\def\l@sparagraph{\@dottedtocline{4}{9.6em}{0em}} +\def\l@ssubparagraph{\@dottedtocline{5}{14.6em}{0em}} + +% No explicit \@mkboth needed in \listoffigures \listoftables \thebibliography +% marks are automatically added by \section* + +\@ifundefined{listfigurename}{\def\listfigurename{List of Figures}}{} +\@ifundefined{listtablename}{\def\listtablename{List of Tables}}{} +\def\listoffigures{\section*{\listfigurename}\@starttoc{lof}} +\def\listoftables{\section*{\listtablename}\@starttoc{lot}} + +% no indentation for figure contents line, since there are +% no higher-level entries + +\def\l@figure{\@dottedtocline{1}{0em}{2.3em}} +\let\l@table\l@figure + +\@ifundefined{refname}{\def\refname{References}}{} +\def\thebibliography#1{\section*{\refname}\list + {[\arabic{enumi}]}{\settowidth\labelwidth{[#1]}\leftmargin\labelwidth + \advance\leftmargin\labelsep + \usecounter{enumi}} + \def\newblock{\hskip .11em plus .33em minus .07em} + \sloppy\clubpenalty4000\widowpenalty4000 + \sfcode`\.=1000\relax} + +% Index uses two columns and smaller type. + +\@ifundefined{indexname}{\def\indexname{Index}}{} +\def\theindex{\begingroup\section*{\indexname}\small + \parindent\z@ + \parskip\z@ plus .3pt\relax\let\item\@idxitem + \begin{multicols}2} +\def\endtheindex{\end{multicols}\endgroup} + +\def\glo#1{${}^{\dagger}$#1\index{\dag #1}} + +\@ifundefined{glossaryname}{\def\glossaryname{Glossary}}{} +\newenvironment{theglossary}% + {\begingroup\section*{\glossaryname}\small + \begin{multicols}2}% + {\end{multicols}\endgroup} +\def\entry{\medbreak\@ifnextchar[{\entry@}{\entry@@}} +\def\entry@@#1{\par\noindent{\bf #1.}\enspace\ignorespaces} +\def\entry@[#1]#2{\par\noindent{\bf #2} #1.\enspace\ignorespaces} + +% Indentation in index is smaller (12pt instead of 40pt) + +\def\@idxitem{\par\hangindent 12pt} + +% Allow more of the page to be taken by figures. + +\def\bottomfraction{.7} +\def\floatpagefraction{.7} + +% Captions at set with a width somewhat smaller than the main text width + +\newdimen\@captionmargin\@captionmargin=\parindent +\newdimen\@captionwidth\@captionwidth=\hsize +\advance\@captionwidth by -2\@captionmargin + +% left and right footers (normally set by RCS) + +\def\leftfoot{{}} +\def\rightfoot{{}} + +% Definition of 'headings' page style. + +\def\ps@headings{\let\@mkboth\markboth + \def\@oddfoot{\ifproofing\leftfoot\hfil\rightfoot\unskip\else\hfil\fi} + \def\@evenfoot{\ifproofing\leftfoot\hfil\rightfoot\unskip\else\hfil\fi} + \def\@evenhead{\footnotesize\rm\thepage\hfil\leftmark}% Left heading. + \def\@oddhead{\footnotesize\rm\hbox{}\rightmark\hfil\thepage}%Right heading + \def\ssectionmark##1{\markbothsame{##1}}% + \def\sectionmark##1{{% Expand the \ifnum, not the ##1 + \edef\@tempa{\ifnum \c@secnumdepth >\z@ \thesection. \fi}% + \expandafter \markbothsame \expandafter{\@tempa ##1}}}} + +\def\ps@plain{\let\@mkboth\markboth + \def\@oddfoot{\ifproofing\leftfoot\hfil\rightfoot\else\hfil\fi}% + \def\@evenfoot{\ifproofing\leftfoot\hfil\rightfoot\else\hfil\fi}% + \def\@evenhead{\hfil}\def\@oddhead{\hfil}} + +% Put the new \ps@headings into effect. + +\ps@headings + +% $Log: geomart.sty,v $ +%Revision 1.7 94/07/22 09:55:30 levy +%\contentsname etc. +% +%Revision 1.6 1994/04/08 22:04:06 levy +%initial value for @@currentlabel +% +%Revision 1.5 92/07/17 13:44:17 levy +%*** empty log message *** +% +%Revision 1.4 92/07/13 21:54:23 levy +%further cleaned up the environments +% +%Revision 1.3 92/07/13 08:49:21 levy +%theoremSt -> Theorem +% +%Revision 1.2 92/06/10 12:38:44 levy +%geomart12 -> geomar12 +% +%Revision 1.1 92/04/07 09:09:05 levy +%Initial revision +% +%Revision 1.3 1992/03/20 22:39:40 levy +%*** empty log message *** +% +%Revision 1.2 1992/03/20 19:17:42 levy +%*** empty log message *** +% diff --git a/Master/texmf-dist/tex/latex/geomsty/geombk10.sty b/Master/texmf-dist/tex/latex/geomsty/geombk10.sty new file mode 100644 index 00000000000..dba9e2b14ad --- /dev/null +++ b/Master/texmf-dist/tex/latex/geomsty/geombk10.sty @@ -0,0 +1,157 @@ +% $Header: /u/levy/texts/geombook/RCS/geombk10.sty,v 1.2 1993/12/21 05:16:58 levy Exp levy $ + +% +% This is the geom style bk10 file, by Silvio Levy. +% It contains modifications to bk10.sty of <24 Nov 89>. +% +% \typeout{Reading geombk10.sty $Revision: 1.2 $ (changes to bk10.sty)} + +% make the \parsep 0pt + +\def\small{\@setsize\small{11pt}\ixpt\@ixpt + \abovedisplayskip 8pt plus 2pt minus 4pt% + \belowdisplayskip \abovedisplayskip + \abovedisplayshortskip \z@ plus 1pt% + \belowdisplayshortskip 4pt plus 2pt minus 2pt + \def\@listi{\leftmargin\leftmargini %% Added 22 Dec 87 + \parsep 0pt + \topsep 4pt plus 2pt minus 2pt + \itemsep 2pt plus 1pt minus 1pt}} + +\def\footnotesize{\@setsize\footnotesize{9.5pt}\viiipt\@viiipt + \abovedisplayskip 7.2pt plus 2pt minus 4pt% + \belowdisplayskip \abovedisplayskip + \abovedisplayshortskip \z@ plus 1pt% + \belowdisplayshortskip 4pt plus 2pt minus 2pt + \def\@listi{\leftmargin\leftmargini %% Added 22 Dec 87 + \parsep 0pt + \topsep 4pt plus 2pt minus 2pt + \itemsep 2pt plus 1pt minus 1pt}} + +% Make chapter and section heads less huge + +\let\chapheadsize=\LARGE +\let\huge=\Large +\let\Large=\large + +% Increase the page size + +\textwidth 5.5in \oddsidemargin .6in \evensidemargin .4in + +\textheight = 44\baselineskip \advance\textheight by \topskip \topmargin -.25in + +% Increase the parindent + +\parindent 20pt + +% Extra vertical space, in addition to +% \parskip and \topsep, added when user +% leaves blank line before environment. +% (Changed from 3 +2 -2) + +\partopsep 2pt plus 1pt minus 1pt + +% Replaced \Huge by \chapheadsize, added +10pt at end + +\def\@makechapterhead#1{ % Heading for \chapter command + \vspace*{50pt} % Space at top of text page. + { \parindent 0pt \raggedright + \ifnum \c@secnumdepth >\m@ne % IF secnumdepth > -1 THEN + \huge\bf \@chapapp{} \thechapter % Print 'Chapter' and number. + \par + \vskip 20pt \fi % Space between number and title. + \chapheadsize \bf % Title. + #1\par + \nobreak % TeX penalty to prevent page break. + \vskip 40pt plus 10 pt % Space between title and text. + } } + +\def\@makeschapterhead#1{ % Heading for \chapter* command + \vspace*{50pt} % Space at top of page. + { \parindent 0pt \raggedright + \chapheadsize \bf % Title. + #1\par + \nobreak % TeX penalty to prevent page break. + \vskip 40pt plus 10pt % Space between title and text. + } } + +% Don't skip page if proofing + +\def\chapter{\ifproofing\clearpage\else\cleardoublepage\fi + \thispagestyle{chapter} % Page style of chapter page is 'plain' + \global\@topnum\z@ % Prevents figures from going at top of page. + \@afterindentfalse % Suppresses indent in first paragraph. Change + \secdef\@chapter\@schapter} % to \@afterindenttrue to have indent. + +% Define \object@type +% stepcounter section so subsidiary counters (e.g. theorems) get reset +% don't \typeout +% mess with \addcontentsline +% no need for \protect before \addvspace +% automatic label + +\def\@chapter[#1]#2{% + \ifnum \c@secnumdepth >\m@ne \def\object@type{chapter} + \refstepcounter{section}\refstepcounter{chapter} + \def\@tempa{\addcontentsline{toc}{chapter}}% + \edef\@tempb{\noexpand\numberline{\thechapter}}% + \expandafter\@tempa\expandafter{\@tempb #1}% + \else\addcontentsline{toc}{chapter}{#1}\fi + \chaptermark{#1}% + \addtocontents{lof}{\addvspace{10pt}} + \addtocontents{lot}{\addvspace{10pt}} + \if@twocolumn \@topnewpage[\@makechapterhead{#2}]% + \else \@makechapterhead{#2}\@afterheading \fi + \ifautolabel\label*{#2}\fi} + +% add mark and table of contents line + +\def\@schapter#1{% + \schaptermark{#1} + \ifstarredcontents\addcontentsline{toc}{chapter}{#1}\fi + \addtocontents{lof}{\addvspace{10pt}} + \addtocontents{lot}{\addvspace{10pt}} + \if@twocolumn \@topnewpage[\@makeschapterhead{#1}] + \else \@makeschapterhead{#1}\@afterheading\fi} + +% Normalize according to \parindent + +\leftmargini\parindent +\listparindent .8\parindent +\leftmarginii .8\parindent +\leftmarginiii .8\parindent +\leftmarginiv .8\parindent +\leftmarginv .8\parindent +\leftmarginvi .8\parindent +\leftmargin\leftmargini +\labelwidth\leftmargini\advance\labelwidth-\labelsep + +% Make \parsep 0 + +\def\@listI{\leftmargin\leftmargini + \topsep 6pt plus 3pt minus 3pt + \itemsep 3pt plus 2pt minus \p@ + \parsep \z@} +\let\@listi\@listI +\@listi + +\def\@listii{\leftmargin\leftmarginii + \labelwidth\leftmarginii\advance\labelwidth-\labelsep + \topsep 5pt plus 2.5pt minus \p@ + \itemsep 2.5pt plus \p@ minus \p@ + \parsep \z@} + +\def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii\advance\labelwidth-\labelsep + \topsep 2.5pt plus \p@ minus \p@ + \parsep \z@ \partopsep \p@ plus \z@ minus \p@ + \itemsep \topsep} + +% $Log: geombk10.sty,v $ +%Revision 1.2 1993/12/21 05:16:58 levy +%corrected \footnotesize +% +%Revision 1.1 92/07/11 22:35:33 levy +%Initial revision +% + diff --git a/Master/texmf-dist/tex/latex/geomsty/geombk11.sty b/Master/texmf-dist/tex/latex/geomsty/geombk11.sty new file mode 100644 index 00000000000..2c3e403fb94 --- /dev/null +++ b/Master/texmf-dist/tex/latex/geomsty/geombk11.sty @@ -0,0 +1,152 @@ +% $Header: /u/levy/texts/geombook/RCS/geombk11.sty,v 1.1 1992/07/11 22:32:09 levy Exp levy $ + +% +% This is the geom style bk12 file, by Silvio Levy. +% It contains modifications to bk12.sty of <24 Nov 89>. +% +% \typeout{Reading geombk12.sty $Revision: 1.1 $ (changes to bk12.sty)} + +% make the \parsep 0pt + +\def\small{\@setsize\small{12pt}\xpt\@xpt + \abovedisplayskip 10pt plus2pt minus5pt + \belowdisplayskip \abovedisplayskip + \abovedisplayshortskip 0pt plus3pt + \belowdisplayshortskip 6pt plus3pt minus3pt + \def\@listi{\leftmargin\leftmargini \parsep 0pt + \itemsep 3pt plus 2pt minus 0pt + \topsep 6pt plus 2pt minus 2pt}} + +\def\footnotesize{\@setsize\footnotesize{11pt}\ixpt\@ixpt + \abovedisplayskip 8pt plus 2pt minus 4pt% + \belowdisplayskip \abovedisplayskip + \abovedisplayshortskip \z@ plus 1pt% + \belowdisplayshortskip 4pt plus 2pt minus 2pt + \def\@listi{\leftmargin\leftmargini %% Added 22 Dec 87 + \parsep 0pt + \topsep 4pt plus 2pt minus 2pt + \itemsep 2pt plus 1pt minus 1pt}} + +% Make chapter and section heads less huge + +\let\chapheadsize=\LARGE +\let\huge=\Large +\let\Large=\large + +% Increase the page size + +\textwidth 5.5in \oddsidemargin .6in \evensidemargin .4in + +\textheight = 44\baselineskip \advance\textheight by \topskip \topmargin -.25in + +% Increase the parindent + +\parindent 20pt + +% Extra vertical space, in addition to +% \parskip and \topsep, added when user +% leaves blank line before environment. +% (Changed from 3 +2 -2) + +\partopsep 2pt plus 1pt minus 1pt + +% Replaced \Huge by \chapheadsize, added +10pt at end + +\def\@makechapterhead#1{ % Heading for \chapter command + \vspace*{50pt} % Space at top of text page. + { \parindent 0pt \raggedright + \ifnum \c@secnumdepth >\m@ne % IF secnumdepth > -1 THEN + \huge\bf \@chapapp{} \thechapter % Print 'Chapter' and number. + \par + \vskip 20pt \fi % Space between number and title. + \chapheadsize \bf % Title. + #1\par + \nobreak % TeX penalty to prevent page break. + \vskip 40pt plus 10 pt % Space between title and text. + } } + +\def\@makeschapterhead#1{ % Heading for \chapter* command + \vspace*{50pt} % Space at top of page. + { \parindent 0pt \raggedright + \chapheadsize \bf % Title. + #1\par + \nobreak % TeX penalty to prevent page break. + \vskip 40pt plus 10pt % Space between title and text. + } } + +% Don't skip page if proofing + +\def\chapter{\ifproofing\clearpage\else\cleardoublepage\fi + \thispagestyle{chapter} % Page style of chapter page is 'plain' + \global\@topnum\z@ % Prevents figures from going at top of page. + \@afterindentfalse % Suppresses indent in first paragraph. Change + \secdef\@chapter\@schapter} % to \@afterindenttrue to have indent. + +% Define \object@type +% stepcounter section so subsidiary counters (e.g. theorems) get reset +% don't \typeout +% mess with \addcontentsline +% no need for \protect before \addvspace +% automatic label + +\def\@chapter[#1]#2{% + \ifnum \c@secnumdepth >\m@ne \def\object@type{chapter} + \refstepcounter{section}\refstepcounter{chapter} + \def\@tempa{\addcontentsline{toc}{chapter}}% + \edef\@tempb{\noexpand\numberline{\thechapter}}% + \expandafter\@tempa\expandafter{\@tempb #1}% + \else\addcontentsline{toc}{chapter}{#1}\fi + \chaptermark{#1}% + \addtocontents{lof}{\addvspace{10pt}} + \addtocontents{lot}{\addvspace{10pt}} + \if@twocolumn \@topnewpage[\@makechapterhead{#2}]% + \else \@makechapterhead{#2}\@afterheading \fi + \ifautolabel\label*{#2}\fi} + +% add mark and table of contents line + +\def\@schapter#1{% + \schaptermark{#1} + \ifstarredcontents\addcontentsline{toc}{chapter}{#1}\fi + \addtocontents{lof}{\addvspace{10pt}} + \addtocontents{lot}{\addvspace{10pt}} + \if@twocolumn \@topnewpage[\@makeschapterhead{#1}] + \else \@makeschapterhead{#1}\@afterheading\fi} + +% Normalize according to \parindent + +\leftmargini\parindent +\listparindent .8\parindent +\leftmarginii .8\parindent +\leftmarginiii .8\parindent +\leftmarginiv .8\parindent +\leftmarginv .8\parindent +\leftmarginvi .8\parindent +\leftmargin\leftmargini +\labelwidth\leftmargini\advance\labelwidth-\labelsep + +% Make \parsep 0 + +\def\@listI{\leftmargin\leftmargini + \topsep 6pt plus 3pt minus 3pt + \itemsep 3pt plus 2pt minus \p@ + \parsep \z@} +\let\@listi\@listI +\@listi + +\def\@listii{\leftmargin\leftmarginii + \labelwidth\leftmarginii\advance\labelwidth-\labelsep + \topsep 5pt plus 2.5pt minus \p@ + \itemsep 2.5pt plus \p@ minus \p@ + \parsep \z@} + +\def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii\advance\labelwidth-\labelsep + \topsep 2.5pt plus \p@ minus \p@ + \parsep \z@ \partopsep \p@ plus \z@ minus \p@ + \itemsep \topsep} + +% $Log: geombk11.sty,v $ +%Revision 1.1 1992/07/11 22:32:09 levy +%Initial revision +% diff --git a/Master/texmf-dist/tex/latex/geomsty/geombk12.sty b/Master/texmf-dist/tex/latex/geomsty/geombk12.sty new file mode 100644 index 00000000000..062484cb150 --- /dev/null +++ b/Master/texmf-dist/tex/latex/geomsty/geombk12.sty @@ -0,0 +1,157 @@ +% $Header: /a/tampa/h/tampa_a/fac/levy/texts/geombook/RCS/geombk12.sty,v 1.3 92/06/18 16:56:17 levy Exp $ + +% +% This is the geom style bk12 file, by Silvio Levy. +% It contains modifications to bk12.sty of <24 Nov 89>. +% +% \typeout{Reading geombk12.sty $Revision: 1.3 $ (changes to bk12.sty)} + +% make the \parsep 0pt + +\def\small{\@setsize\small{13.6pt}\xipt\@xipt + \abovedisplayskip 11pt plus3pt minus6pt + \belowdisplayskip \abovedisplayskip + \abovedisplayshortskip 0pt plus3pt + \belowdisplayshortskip 6.5pt plus3.5pt minus3pt + \def\@listi{\leftmargin\leftmargini \parsep 0pt + \itemsep 4.5pt plus 2pt minus 0pt + \topsep 9pt plus 3pt minus 5pt}} + +\def\footnotesize{\@setsize\footnotesize{12pt}\xpt\@xpt + \abovedisplayskip 10pt plus2pt minus5pt + \belowdisplayskip \abovedisplayskip + \abovedisplayshortskip 0pt plus3pt + \belowdisplayshortskip 6pt plus3pt minus3pt + \def\@listi{\leftmargin\leftmargini \parsep 0pt + \itemsep 3pt plus 2pt minus 0pt + \topsep 6pt plus 2pt minus 2pt}} + +% Make chapter and section heads less huge + +\let\chapheadsize=\LARGE +\let\huge=\Large +\let\Large=\large + +% Increase the page size + +\textwidth 5.5in \oddsidemargin .6in \evensidemargin .4in + +\textheight = 44\baselineskip \advance\textheight by \topskip \topmargin -.25in + +% Increase the parindent + +\parindent 20pt + +% Extra vertical space, in addition to +% \parskip and \topsep, added when user +% leaves blank line before environment. +% (Changed from 3 +2 -2) + +\partopsep 2pt plus 1pt minus 1pt + +% Replaced \Huge by \chapheadsize, added +10pt at end + +\def\@makechapterhead#1{ % Heading for \chapter command + \vspace*{50pt} % Space at top of text page. + { \parindent 0pt \raggedright + \ifnum \c@secnumdepth >\m@ne % IF secnumdepth > -1 THEN + \huge\bf \@chapapp{} \thechapter % Print 'Chapter' and number. + \par + \vskip 20pt \fi % Space between number and title. + \chapheadsize \bf % Title. + #1\par + \nobreak % TeX penalty to prevent page break. + \vskip 40pt plus 10 pt % Space between title and text. + } } + +\def\@makeschapterhead#1{ % Heading for \chapter* command + \vspace*{50pt} % Space at top of page. + { \parindent 0pt \raggedright + \chapheadsize \bf % Title. + #1\par + \nobreak % TeX penalty to prevent page break. + \vskip 40pt plus 10pt % Space between title and text. + } } + +% Don't skip page if proofing + +\def\chapter{\ifproofing\clearpage\else\cleardoublepage\fi + \thispagestyle{chapter} % Page style of chapter page is 'plain' + \global\@topnum\z@ % Prevents figures from going at top of page. + \@afterindentfalse % Suppresses indent in first paragraph. Change + \secdef\@chapter\@schapter} % to \@afterindenttrue to have indent. + +% Define \object@type +% stepcounter section so subsidiary counters (e.g. theorems) get reset +% don't \typeout +% mess with \addcontentsline +% no need for \protect before \addvspace +% automatic label + +\def\@chapter[#1]#2{% + \ifnum \c@secnumdepth >\m@ne \def\object@type{chapter} + \refstepcounter{section}\refstepcounter{chapter} + \def\@tempa{\addcontentsline{toc}{chapter}}% + \edef\@tempb{\noexpand\numberline{\thechapter}}% + \expandafter\@tempa\expandafter{\@tempb #1}% + \else\addcontentsline{toc}{chapter}{#1}\fi + \chaptermark{#1}% + \addtocontents{lof}{\addvspace{10pt}} + \addtocontents{lot}{\addvspace{10pt}} + \if@twocolumn \@topnewpage[\@makechapterhead{#2}]% + \else \@makechapterhead{#2}\@afterheading \fi + \ifautolabel\label*{#2}\fi} + +% add mark and table of contents line + +\def\@schapter#1{% + \schaptermark{#1} + \ifstarredcontents\addcontentsline{toc}{chapter}{#1}\fi + \addtocontents{lof}{\addvspace{10pt}} + \addtocontents{lot}{\addvspace{10pt}} + \if@twocolumn \@topnewpage[\@makeschapterhead{#1}] + \else \@makeschapterhead{#1}\@afterheading\fi} + +% Normalize according to \parindent + +\leftmargini\parindent +\listparindent .8\parindent +\leftmarginii .8\parindent +\leftmarginiii .8\parindent +\leftmarginiv .8\parindent +\leftmarginv .8\parindent +\leftmarginvi .8\parindent +\leftmargin\leftmargini +\labelwidth\leftmargini\advance\labelwidth-\labelsep + +% Make \parsep 0 + +\def\@listI{\leftmargin\leftmargini + \topsep 6pt plus 3pt minus 3pt + \itemsep 3pt plus 2pt minus \p@ + \parsep \z@} +\let\@listi\@listI +\@listi + +\def\@listii{\leftmargin\leftmarginii + \labelwidth\leftmarginii\advance\labelwidth-\labelsep + \topsep 5pt plus 2.5pt minus \p@ + \itemsep 2.5pt plus \p@ minus \p@ + \parsep \z@} + +\def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii\advance\labelwidth-\labelsep + \topsep 2.5pt plus \p@ minus \p@ + \parsep \z@ \partopsep \p@ plus \z@ minus \p@ + \itemsep \topsep} + +% $Log: geombk12.sty,v $ +%Revision 1.3 92/06/18 16:56:17 levy +%footers in chapter openers +% +%Revision 1.2 92/04/07 09:09:08 levy +%*** empty log message *** +% +%Revision 1.1 1992/03/20 22:38:55 levy +%Initial revision +% diff --git a/Master/texmf-dist/tex/latex/geomsty/geombook.sty b/Master/texmf-dist/tex/latex/geomsty/geombook.sty new file mode 100644 index 00000000000..a3ca2320aee --- /dev/null +++ b/Master/texmf-dist/tex/latex/geomsty/geombook.sty @@ -0,0 +1,249 @@ +% $Header: /a/tampa/h/tampa_a/fac/levy/texts/geombook/RCS/geombook.sty,v 1.13 94/07/22 09:55:37 levy Exp Locker: levy $ + +% +% This is the geom style book file, by Silvio Levy. +% It contains modifications to book.sty of <24 Nov 89>. +% +% \typeout{Reading geombook.sty $Revision: 1.13 $ (changes to book.sty)} + +% Marginpars go on right side of page. + +\@mparswitchfalse + +% Input size-dependent information. \@ptsize.sty is defined in book.sty. + +\input geombk1\@ptsize.sty\relax + +% Layout parameters + +\tolerance 1000 +\clubpenalty 10000 +\widowpenalty 10000 +\hfuzz=.1pt + +% syntatic sugar for \includeonly +% \chap1{34} expands to chap1/1.3,chap1/1.4 + +\def\chap#1#2{\ch@p#1#2!} +\def\ch@p#1#2{\if#2!\else chap#1/#1.#2,\expandafter\ch@p\expandafter#1\fi} + +% First two levels of enumerations are (a) and (i), respectively, +% rather than 1. and (a). + +\let\@@currentlabel\relax %assign initial value + +\def\labelenumi{\theenumi} +\def\theenumi{(\alph{enumi})} +\def\p@enumi{\@@currentlabel} + +\def\labelenumii{\theenumii} +\def\theenumii{(\roman{enumii})} +\def\p@enumii{\@@currentlabel} + +\def\p@enumiii{\@@currentlabel} + +\def\p@enumiv{\@@currentlabel} + +% Less space around contents of \fbox (2pt instead of 3pt) + +\fboxsep = 2pt + +% mess with \addcontentsline; \chapheadsize instead of \Huge + +\def\@part[#1]#2{\ifnum \c@secnumdepth >-2\relax % IF secnumdepth > -2 + \refstepcounter{part} % THEN step part counter + \def\@tempa{\addcontentsline{toc}{part}} % + \expandafter\@tempa\expandafter{\thepart % add toc line + \hspace{1em}#1}\else % ELSE add unnumbered line + \addcontentsline{toc}{part}{#1}\fi % FI + \markboth{}{} + {\centering + \ifnum \c@secnumdepth >-2\relax % IF secnumdepth > -2 + \huge\bf Part \thepart % THEN Print 'Part' and number + \par % in \huge bold. + \vskip 20pt \fi % Add space before title. + \chapheadsize \bf % FI + #2\par}\@endpart} + +\def\@spart#1{\ifnum \c@secnumdepth >-2\relax % IF secnumdepth > -2 + \def\@tempa{\addcontentsline{toc}{spart}} % + \expandafter\@tempa\expandafter{#1}\else % ELSE add unnumbered line + \addcontentsline{toc}{spart}{#1}\fi % FI + {\centering \chapheadsize \bf #1\par}\@endpart} + +% No explicit \@mkboth needed in \tableofcontents +% marks are automatically added by \chapter* + +\@ifundefined{contentsname}{\def\contentsname{Contents}}{} +\def\tableofcontents{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn + \fi{\starredcontentsfalse\chapter*{\contentsname}}% + \@starttoc{toc}\if@restonecol\twocolumn\fi} + +% Contents line for chapter + +\def\l@chapter#1#2{\addpenalty{-\@highpenalty} + \vskip 1.0em plus 1pt % space above chapter line + \@tempdima 1.5em % width of box holding chapter number + \begingroup + \def\\{\unskip\ \ignorespaces} % deal with \\ in chapter titles --SL + \hyphenpenalty10000 % prohibit hyphenation --SL + \parindent \z@ + \rightskip \@pnumwidth plus 3em % allow ragged right + \parfillskip -\rightskip % when line wraps around --SL + \hangindent 1.5em % hangindent is same as l@section below --SL + \bf % Boldface. + \leavevmode % TeX command to enter horizontal mode. + \advance\leftskip\@tempdima %% added 5 Feb 88 to conform to + \hskip -\leftskip %% 25 Jan 88 change to \numberline + #1\nobreak\hfil \nobreak\hbox to\@pnumwidth{\hss #2}\par + \penalty\@highpenalty %% added 24 May 89 as suggested by J. Leichter + \endgroup} + +% Contents line for part is the same as for chapter + +\let\l@part\l@chapter +\let\l@spart\l@chapter + +\let\l@schapter\l@chapter +\def\l@ssection{\@dottedtocline{1}{1.5em}{0em}} +\def\l@ssubsection{\@dottedtocline{2}{3.8em}{0em}} +\def\l@ssubsubsection{\@dottedtocline{3}{7.0em}{0em}} +\def\l@sparagraph{\@dottedtocline{4}{10em}{0em}} +\def\l@ssubparagraph{\@dottedtocline{5}{12em}{0em}} + +% No explicit \@mkboth needed in \listoffigures \listoftables \thebibliography +% marks are automatically added by \chapter* + +\@ifundefined{listfigurename}{\def\listfigurename{List of Figures}}{} +\@ifundefined{listtablename}{\def\listtablename{List of Tables}}{} +\def\listoffigures{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn + \fi\chapter*{\listfigurename}\@starttoc{lof}\if@restonecol + \twocolumn\fi} + +\def\listoftables{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn + \fi\chapter*{\listtablename}\@starttoc{lot}\if@restonecol + \twocolumn\fi} + +% no indentation for figure contents line, since there are +% no higher-level entries + +\def\l@figure{\@dottedtocline{1}{0em}{2.3em}} +\let\l@table\l@figure + +\@ifundefined{bibname}{\def\bibname{Bibliography}}{} +\def\thebibliography#1{\chapter*{\bibname}\list + {[\arabic{enumi}]}{\settowidth\labelwidth{[#1]}\leftmargin\labelwidth + \advance\leftmargin\labelsep + \usecounter{enumi}} + \def\newblock{\hskip .11em plus .33em minus .07em} + \sloppy\clubpenalty4000\widowpenalty4000 + \sfcode`\.=1000\relax} + +% Index uses two columns and smaller type. + +\@ifundefined{indexname}{\def\indexname{Index}}{} +\def\theindex{\begingroup\chapter*{\indexname}\small + \parindent\z@ + \parskip\z@ plus .3pt\relax\let\item\@idxitem + \begin{multicols}2} +\def\endtheindex{\end{multicols}\endgroup} + +\def\glo#1{${}^{\dagger}$#1\index{\dag #1}} + +\@ifundefined{glossaryname}{\def\glossaryname{Glossary}}{} +\newenvironment{theglossary}% + {\begingroup\chapter*{\glossaryname}\small + \begin{multicols}2}% + {\end{multicols}\endgroup} +\def\entry{\medbreak\@ifnextchar[{\entry@}{\entry@@}} +\def\entry@@#1{\par\noindent{\bf #1.}\enspace\ignorespaces} +\def\entry@[#1]#2{\par\noindent{\bf #2} #1.\enspace\ignorespaces} + +% Indentation in index is smaller (12pt instead of 40pt) + +\def\@idxitem{\par\hangindent 12pt} + +% Allow more of the page to be taken by figures. + +\def\bottomfraction{.7} +\def\floatpagefraction{.7} + +% Captions at set with a width somewhat smaller than the main text width + +\newdimen\@captionmargin\@captionmargin=\parindent +\newdimen\@captionwidth %not set here because depends on hsize + +% left and right footers (normally set by RCS) + +\def\leftfoot{{}} +\def\rightfoot{{}} + +% Definition of 'headings' page style. + +\def\ps@headings{\let\@mkboth\markboth + \def\@oddfoot{\ifproofing\leftfoot\hfil\rightfoot\else\hfil\fi}% + \def\@evenfoot{\ifproofing\leftfoot\hfil\rightfoot\else\hfil\fi}% + \def\@evenhead{\footnotesize\rm\thepage\hfil\leftmark}% Left heading. + \def\@oddhead{\footnotesize\rm\hbox{}\rightmark\hfil\thepage}%Right heading + \def\chaptermark##1{{% Expand the \ifnum, not the ##1 + \edef\@tempa{\ifnum \c@secnumdepth >\m@ne \@chapapp\ \thechapter. \fi}% + \expandafter \markboth \expandafter{\@tempa ##1}{}}}% + \def\schaptermark##1{\markboth {##1}{##1}}% + \def\ssectionmark##1{\markbothsame{##1}}% + \def\sectionmark##1{{% Expand the \ifnum, not the ##1 + \edef\@tempa{\ifnum \c@secnumdepth >\z@ \thesection. \fi}% + \expandafter \markright \expandafter{\@tempa ##1}}}} + +% footline in \ps@plain and \ps@chapter gets no page number + +\def\ps@chapter{\let\@mkboth\markboth + \def\@oddfoot{\ifproofing\leftfoot\hfil\rightfoot\else\hfil\fi}% + \def\@evenfoot{\ifproofing\leftfoot\hfil\rightfoot\else\hfil\fi}% + \def\@evenhead{\hfil}\def\@oddhead{\hfil}} + +\def\ps@plain{\let\@mkboth\@gobbletwo + \def\@oddhead{}\def\@oddfoot{}% + \def\@evenhead{}\let\@evenfoot\@oddfoot} + +% Put the new \ps@headings into effect. + +\ps@headings + +% $Log: geombook.sty,v $ +%Revision 1.13 94/07/22 09:55:37 levy +%\contentsname etc. +% +%Revision 1.12 1994/05/11 17:07:26 levy +%*** empty log message *** +% +%Revision 1.11 1994/05/08 06:05:01 levy +%schapter etc. +% +%Revision 1.10 1994/04/27 07:15:50 levy +%ssectionmark +% +%Revision 1.9 1994/04/08 22:04:06 levy +%initial value for @@currentlabel +% +%Revision 1.8 92/07/17 13:44:19 levy +%*** empty log message *** +% +%Revision 1.7 92/07/13 21:54:25 levy +%further cleaned up the environments +% +%Revision 1.6 92/07/13 08:46:31 levy +%theoremSt -> Theorem +% +%Revision 1.5 92/06/18 16:55:56 levy +%footers in chapter openers +%caption width error +% +%Revision 1.4 92/04/07 09:09:09 levy +%*** empty log message *** +% +%Revision 1.3 1992/03/20 22:39:40 levy +%*** empty log message *** +% +%Revision 1.2 1992/03/20 19:17:42 levy +%*** empty log message *** +% diff --git a/Master/texmf-dist/tex/latex/geomsty/geomenv.sty b/Master/texmf-dist/tex/latex/geomsty/geomenv.sty new file mode 100644 index 00000000000..338ebc4b910 --- /dev/null +++ b/Master/texmf-dist/tex/latex/geomsty/geomenv.sty @@ -0,0 +1,189 @@ +% $Header: /usr/home/levy/texts/geomsty/RCS/geomenv.sty,v 1.15 95/12/13 20:32:50 levy Exp Locker: levy $ + +\@ifundefined{@@newtheorem}{}{\endinput} + +% +% \newtheorem is modified so as to accept a (first) optional argument. +% If this is present, the new theorem type ``foo'' will spawn an inner +% environment ``foo@''. The optional argument contains two +% brace-delimited token sequences, be inserted before and after the inner +% environment starts. +% +\def\newtheorem{\@ifnextchar[{\@newtheorem}{\@newtheorem[{}{}]}}%] + +\long\def\@newtheorem[#1]{\@@newtheorem#1} + +\long\def\@@newtheorem#1#2#3{% + \newenvironment{#3}% + {\def\object@type{#3}#1\@ifnextchar[{\@enva{#3}{#2}}{\@envb{#3}{#2}}}%] + {\end{#3@}}% + \@ifnextchar[{\@othm{#3@}}{\@nnthm{#3}}%] +} + +\def\@nnthm#1#2{% +\@ifnextchar[{\@xnnthm{#1}{#2}}{\@ynnthm{#1}{#2}}} + +\def\unnumbered#1{\expandafter\let\csname the#1\endcsname\relax} + +\def\@xnnthm#1#2[#3]{\@definecounter{#1}\@addtoreset{#1}{#3}% +\expandafter\xdef\csname the#1\endcsname{\expandafter\noexpand + \csname the#3\endcsname \@thmcountersep \@thmcounter{#1}}% +\global\@namedef{#1@}{\@thm{#1}{#2}}\global\@namedef{end#1@}{\@endtheorem}} + +\def\@ynnthm#1#2{\@definecounter{#1}% +\expandafter\xdef\csname the#1\endcsname{\@thmcounter{#1}}% +\global\@namedef{#1@}{\@thm{#1}{#2}}\global\@namedef{end#1@}{\@endtheorem}} + +\def\@enva#1#2[#3]{\begin{#1@}[#3]#2} +\def\@envb#1#2{\begin{#1@}#2} + +% +% Avoid indentation after end of theorem-like environment. +% + +\def\end#1{\csname end#1\endcsname\@checkend{#1}% + \expandafter\endgroup \if@endpe \@doendpe \@restorepar \fi + \if@ignore \global\@ignorefalse \ignorespaces\fi} + +% +% \theoremintro allows the user to choose how the theorem take is +% going to look like. +% + +\def\theoremintro#1{\normalshape\bf#1. } +% +% cannot use \@ifempty for this test because #2 typically looks like +% \csname thetheorem\csname, and \thetheorem has been \let to \relax. +% +\def\thrmintro#1#2{#1% + \def\@tempa{#1}\ifx\@tempa\@empty\else + \expandafter\let\expandafter\@tempa#2% This gives \thetheorem + \ifx\@tempa\relax\else{ }\fi\fi#2} + +\def\@begintheorem#1#2{\trivlist\item[\hskip\labelsep + \theoremintro{\thrmintro{#1}{#2}}\hskip-\labelsep]} + +\def\@opargbegintheorem#1#2#3{\trivlist\item[\hskip \labelsep + \theoremintro{\thrmintro{#1}{#2} (#3)}\hskip-\labelsep]\ifautolabel\label*{#3}\fi} + +% +% \specialdigits causes digits and punctuation to become active +% and print in roman type. \regulardigits cancels that. +% + +\def\dowith#1{\let\@tempa#1% + \@tempa,\@tempa.\@tempa:\@tempa;\@tempa(\@tempa)\@tempa!\@tempa?% + \@tempa0\@tempa1\@tempa2\@tempa3\@tempa4% + \@tempa5\@tempa6\@tempa7\@tempa8\@tempa9} +% +\def\makeactive#1{\catcode`#1=13} +\def\makeother#1{\catcode\expandafter`\noexpand#1=12} +\def\makechoice#1{\edef#1{% + \noexpand\ifmmode\string#1% + \noexpand\else\noexpand\ifhmode\/\noexpand\fi% + {\noexpand\normalshape\string#1}\noexpand\fi}} +% +\def\regulardigits{\dowith\makeother} + +{\dowith\makeactive +\gdef\specialdigits{% +\dowith\makeactive +\let\@tempa\makechoice + \@tempa,\@tempa.\@tempa:\@tempa;\@tempa(\@tempa)\@tempa!\@tempa?% + \@tempa0\@tempa1\@tempa2\@tempa3\@tempa4% + \@tempa5\@tempa6\@tempa7\@tempa8\@tempa9}% +} + +% The proof environment takes an optional argument, which defaults +% to \prooftag (which should be set by theorem-like environments). +% This argument is stored in \provedbox (after being passed to +% \provedboxcontents), to be printed in the ``proved box'' at +% the end of the proof. It is also printed at the beginning of proof, +% after being passed to \proofintro. + +% If the proof +% ends with a displayed formula, it is recommented that the proved box +% be placed next to the formula (as if it were a tag). This is done +% by inserting \proved before the closing $$. In even more difficult +% cases (e.g., if the formula already has a tag, or is part of a +% multi-line display), plop \box\provedbox where we want the box to be. + +\def\prooftag{} +\def\setprooftag{\xdef\prooftag{\@currentlabel}} + +\def\proof{} +\renewenvironment{proof} + {\trivlist\item[]\@ifnextchar[{\pro@f}{\pro@f[\prooftag]}}%] + {\ifvoid\provedbox\else\hproved\fi\endtrivlist} + +% the next few lines, parallel to the Theorem setup, don't work for +% two reasons: \provedbox is set within a group and so disappears, and +% the nextchar seen by processproof is always \hskip. +%\newenvironment{proof} +% {\trivlist\item[\hskip\labelsep\process@proof\hskip-\labelsep]} +% {\ifvoid\provedbox\else\hproved\fi\endtrivlist} +%\def\process@proof{\@ifnextchar[{\pro@f}{\pro@f[\prooftag]}}%] + +\def\pro@f[#1]{\setbox\provedbox\hbox{\provedboxcontents{#1}}\proofintro{#1}} + +\def\proofintro#1{\expandafter\def\expandafter\@tempa\expandafter{#1}% + {\it Proof\ifx\@tempa\empty\else\ of #1\fi. }\ignorespaces} + +\def\provedboxcontents#1{\expandafter\def\expandafter\@tempa\expandafter{#1}% + \ifx\@tempa\empty$\square$\else\fbox{\small#1}\fi} + +\newbox\provedbox + +\def\proved{\ifmmode\eqno{\box\provedbox}\else\hproved\fi} + +\def\hproved{\unskip\nobreak\hfil\penalty50\hskip.5em\hbox{}\nobreak\hfil + \box\provedbox{\parfillskip=0pt\finalhyphendemerits=0\par}} + +% $Log: geomenv.sty,v $ +%Revision 1.15 95/12/13 20:32:50 levy +%make {proof} a redefinition instead of a definition +% +%Revision 1.14 95/07/22 13:32:31 levy +%put space after period in \theoremintro +%(while at the same time removing the \labelsep) +% +%Revision 1.13 93/08/18 08:35:24 levy +%> eliminated space for \newtheorem{justnumber}{} +%added definition of \unnumbered +% +%Revision 1.12 1993/03/16 23:55:14 levy +%*** empty log message *** +% +%Revision 1.11 93/03/07 23:08:41 levy +%removed a repeated invocation of \theoremintro in \opargbegintheorem +% +%Revision 1.10 1993/01/10 20:57:03 levy +%comparison in \proofintro should have \edef, not \def +% +%Revision 1.9 1993/01/10 17:11:12 levy +%*** empty log message *** +% +%Revision 1.8 92/10/01 15:31:59 levy +%fixed space in "Theorem ." +% +%Revision 1.7 92/07/17 13:44:21 levy +%*** empty log message *** +% +%Revision 1.6 92/07/13 21:54:27 levy +%further cleaned up the environments +% +%Revision 1.5 92/07/13 11:12:10 levy +%big change (abolished MakeStEnv) +% +%Revision 1.4 92/06/15 19:15:35 levy +%fixed disappearing punctuation in fancy italics +% +%Revision 1.3 92/06/03 11:25:24 levy +%active punctuation +% +%Revision 1.2 92/04/07 09:08:56 levy +%*** empty log message *** +% +%Revision 1.1 1992/03/21 02:42:28 levy +%Initial revision +% diff --git a/Master/texmf-dist/tex/latex/geomsty/geomeqns.sty b/Master/texmf-dist/tex/latex/geomsty/geomeqns.sty new file mode 100644 index 00000000000..95e39630285 --- /dev/null +++ b/Master/texmf-dist/tex/latex/geomsty/geomeqns.sty @@ -0,0 +1,49 @@ +% $Header: /u/levy/texts/geomsty/RCS/geomeqns.sty,v 1.6 95/07/01 02:23:17 levy Exp Locker: levy $ + +% format equation numbers like subsection numbers + +\def\@eqnnum{\hbox{\normalshape\bf \theequation.}} + +% set equations on left side + +\def\equation{$$ % $$ BRACE MATCHING HACK + \def\object@type{equation}\refstepcounter{equation}} +\def\endequation{\leqno \@eqnnum % $$ BRACE MATCHING HACK + $$\global\@ignoretrue} + +\def\eqnarray{\def\object@type{equation}\stepcounter{equation}% + \edef\@currentlabel{\theequation} + \global\@eqnswtrue\global\@eqcnt\z@\tabskip\@centering\let\\=\@eqncr + $$\halign to\displaywidth\bgroup\@eqnsel\hskip\@centering % $$BRACE MATCHING + $\displaystyle\tabskip\z@{##}$&\global\@eqcnt\@ne\hfil${}##{}$\hfil + &\global\@eqcnt\tw@ $\displaystyle\tabskip\z@{##}$\hfil + \tabskip\@centering&\llap{##}\tabskip\z@\cr} +\def\endeqnarray{\@@eqncr\egroup + \global\advance\c@equation\m@ne$$\global\@ignoretrue} +\def\@@eqncr{\let\@tempa\relax + \ifcase\@eqcnt \def\@tempa{& & &}\or \def\@tempa{& &} + \else \def\@tempa{&}\fi + \@tempa + \if@eqnsw\hbox to .01pt{}\rlap{\rm \hskip -\displaywidth\@eqnnum}% + \stepcounter{equation}\fi + \global\@eqnswtrue\global\@eqcnt\z@\cr} +\def\@eqncr{{\ifnum0=`}\fi\@ifstar{\global\@eqpen\@M + \@yeqncr}{\global\@eqpen\interdisplaylinepenalty \@yeqncr}% + \edef\@currentlabel{\theequation }} + +% $Log: geomeqns.sty,v $ +%Revision 1.6 95/07/01 02:23:17 levy +%fixed currentlabel inside eqnarray +% +%Revision 1.5 92/07/13 21:54:29 levy +%further cleaned up the environments +% +%Revision 1.4 92/07/13 08:46:04 levy +%theoremSt -> Theorem +% +%Revision 1.3 92/04/02 09:08:39 levy +%*** empty log message *** +% +%Revision 1.2 1992/03/20 19:17:42 levy +%*** empty log message *** +% diff --git a/Master/texmf-dist/tex/latex/geomsty/geomfig.sty b/Master/texmf-dist/tex/latex/geomsty/geomfig.sty new file mode 100644 index 00000000000..6d2753a4df3 --- /dev/null +++ b/Master/texmf-dist/tex/latex/geomsty/geomfig.sty @@ -0,0 +1,168 @@ +% $Header: /u/levy/texts/geomsty/RCS/geomfig.sty,v 1.10 95/07/20 13:42:16 levy Exp Locker: levy $ + +\@ifundefined{multifig}{}{\endinput} +\input geompsfi.sty + +% set \object@type + +\def\@xfloat#1[#2]{\ifhmode \@bsphack\@floatpenalty -\@Mii\else + \@floatpenalty-\@Miii\fi\def\@captype{#1}\ifinner + \@parmoderr\@floatpenalty\z@ + \else\@next\@currbox\@freelist{\@tempcnta\csname ftype@#1\endcsname + \multiply\@tempcnta\@xxxii\advance\@tempcnta\sixt@@n + \@tfor \@tempa :=#2\do + {\if\@tempa h\advance\@tempcnta \@ne\fi + \if\@tempa t\advance\@tempcnta \tw@\fi + \if\@tempa b\advance\@tempcnta 4\relax\fi + \if\@tempa p\advance\@tempcnta 8\relax\fi + }\global\count\@currbox\@tempcnta}\@fltovf\fi + \def\object@type{#1}% + \global\setbox\@currbox\vbox\bgroup + \hsize\columnwidth \@parboxrestore} + +% +% Higher-level environments for figures +% + +\newenvironment{Table}{\@ifnextchar[%] + {\@Float{table}}{\@Float{table}[htbp]}}{\end@Float{table}} +\newenvironment{Figure}{\@ifnextchar[%] + {\@Float{figure}}{\@Float{figure}[htbp]}}{\end@Float{figure}} +% +% #1 = type #2 = placement #3 = label #4 = title #5 = caption +% + +\def\@Float#1[#2]#3#4#5{% + \begin{#1}[#2]% + \def\the@label{#3}% + \def\the@title{#4}% + \def\the@caption{#5}% +} + +\def\end@Float#1{% + \expandafter\caption\expandafter[\the@title]{% + {\bf\the@title\ifx\the@caption\empty\else\ifx\the@title\empty\else. \fi\fi}% + \ignorespaces\the@caption}% + \expandafter\label\expandafter*\expandafter{\the@label}% + \end{#1}} + +\def\masterpicpath{} % Needs redefining -- may need change in catcodes + +% +% Definitions for figures +% +% Driver will look for figure in file .../chap3/2 (for book) or .../2 (art) +% +\ifx\@style\@book +\def\picpath{\masterpicpath chap\thechapter/\arabic{section}/} +\else +\def\picpath{\masterpicpath\thesection/} +\fi +% +% User macros: +% \fig, \doublefig, \triplefig +% followed by <optional placement>{filename}{title}{caption} +% +\def\fig{\multifig1} +\def\doublefig{\multifig2} +\def\triplefig{\multifig3} +\def\multifig#1{\ifvmode\else\unskip\fi\@ifnextchar[{\@fig#1}{\@fig#1[htbp]}} +% +\def\@vtick{\vrule depth6pt width.2pt} +\def\@htick{\vrule height.2pt width6pt} +\def\@figbox#1{\setbox0=\psfig{figure=\picpath #1}\dimen0=\wd0 + \ifproofing + \vbox{\offinterlineskip + \hbox to \dimen0{\@htick\hfil\@htick}\kern -.4pt + \hbox to \dimen0{\@vtick\hfil\@vtick}\kern -6pt + \box0 + \kern -6pt\hbox to \dimen0{\@vtick\hfil\@vtick}% + \kern -.4pt\hbox to \dimen0{\@htick\hfil\@htick}}% + \else\box0\fi} + +% +% #1 = number of parts #2 = placement #3 = filename(=label) #4 = title +% #5 = caption +% + +\def\@fig#1[#2]{% + \def\@tempb{\@@fig{#1}[#2]}% + \def\@tempa{\egroup\expandafter\@tempb\expandafter{\thea@label}}% + \bgroup\@sanitize\afterassignment\@tempa\gdef\thea@label} + +\def\@@fig#1[#2]#3#4#5{% + \begin{Figure}[#2]{#3}{#4}{#5}% + {\hyperactivelabels + \centerline{\ifnum#1=1 \@figbox{#3}\else\valign{\vfil##\vfil\cr + \@figbox{#3-1}\cr \noalign{\hfil}\@figbox{#3-2}\cr + \ifnum#1>2 \noalign{\hfil}\@figbox{#3-3}\cr\fi}\fi}}% + \end{Figure}% +} + +% +\let\hyperactivelabels\relax % redefine as appropriate +% + +\long\def\@caption#1[#2]#3{\par + \def\@tempa{\addcontentsline{\csname ext@#1\endcsname}{#1}} + \edef\@tempb{\noexpand\numberline{\csname the#1\endcsname}} + \expandafter\@tempa\expandafter{\@tempb\ignorespaces #2}\begingroup + \@parboxrestore + \normalsize + \@makecaption{\csname fnum@#1\endcsname}{% + \setlanguage\language % put in a whatsit so that later \unhbox + % will know what language it is + \ignorespaces #3}\par + \endgroup} + +\newskip\captionskip +\captionskip=10pt +% +% Redefined from book.sty. +% +\long\def\@makecaption#1#2{% + \vskip\captionskip + \setbox\@tempboxa\hbox{% + \ifproofing\@ifundefined{the@label}{} + {\hbox to 0pt{\vbox to 0pt{\vss\hbox{\tiny\the@label}\bigskip}\hss}}\fi + \small\sf{\bf #1. }\ignorespaces #2}% + \@captionwidth=\hsize \advance\@captionwidth-2\@captionmargin + \ifdim \wd\@tempboxa >\@captionwidth {% + \rightskip=\@captionmargin\leftskip=\@captionmargin + \unhbox\@tempboxa\par}% + \else + \hbox to\hsize{\hfil\box\@tempboxa\hfil}% + \fi} + +% $Log: geomfig.sty,v $ +%Revision 1.10 95/07/20 13:42:16 levy +%\captionskip +% +%Revision 1.9 1994/08/12 17:35:53 levy +%allows empty title in figure (ie. \fig{filename}{}{foo}) +%> allows _ ^ \ & # $ % ~ in file names +% +%Revision 1.8 93/09/16 22:14:30 levy +%language whatsit in caption +% +%Revision 1.7 92/07/17 13:44:23 levy +%*** empty log message *** +% +%Revision 1.6 92/06/25 22:31:08 levy +%tables +% +%Revision 1.5 92/06/18 16:55:16 levy +%caption width error +% +%Revision 1.4 92/06/10 12:42:10 levy +%geompsfig -> geompsfi +% +%Revision 1.3 92/05/27 02:08:42 levy +%moved \hyperactivelabels to before figure (instead of caption!) +% +%Revision 1.2 1992/04/07 09:43:26 levy +%commented out log line +% +% Revision 1.1 92/04/07 09:09:00 levy +% Initial revision + diff --git a/Master/texmf-dist/tex/latex/geomsty/geomfnt.sty b/Master/texmf-dist/tex/latex/geomsty/geomfnt.sty new file mode 100644 index 00000000000..4e64a52bffc --- /dev/null +++ b/Master/texmf-dist/tex/latex/geomsty/geomfnt.sty @@ -0,0 +1,135 @@ +% $Header: /usr/home/levy/texts/geomsty/RCS/geomfnt.sty,v 1.2 95/07/03 14:44:31 levy Exp Locker: levy $ +% NFSS2 mods 95/06/18 by J Rawnsley + +\ifx\fmtname\format@e + \RequirePackage{amsfonts} + \RequirePackage{amssymb} +\else + \input newlfont.sty + \input amsfonts.sty + \input amssymb.sty +\fi + +\let\emptyset\varnothing +\let\epsilon\varepsilon %to agree with figure labels; also looks better + +\def\hide@fi{\fi} +\def\hide@else{\else} + +\ifx\DeclareMathAlphabet\@undefined + \def\mathss{\protect\pmathss} + \def\pmathss{\RIfM@\expandafter\mathss@\hide@else + \expandafter\nonmatherr@\expandafter\mathss\hide@fi} + \newmathalphabet*\mathss@{cmss}{m}{n} + \def\mathtt{\protect\pmathtt} + \def\pmathtt{\RIfM@\expandafter\mathtt@\hide@else + \expandafter\nonmatherr@\expandafter\mathtt\hide@fi} + \newmathalphabet*\mathtt@{cmtt}{m}{n} +% +% mods needed because of the Mittelbach-Schoepf font scheme +% +\def\bf{\ifmmode + \@warning{\string\bf\space ignored in mathmode; use \string\mathbf{...}}% + \else\protect\pbf\fi} +\def\tt{\ifmmode + \@warning{\string\tt\space ignored in mathmode; use \string\mathtt{...}}% + \else\protect\ptt\fi} +\def\rm{\ifmmode + \@warning{\string\rm\space ignored in mathmode; use \string\mathrm{...}}% + \else\protect\prm\fi} +\def\it{\ifmmode + \@warning{\string\it\space ignored in mathmode; use \string\mathit{...}}% + \else\protect\pit\fi} +\def\sf{\ifmmode + \@warning{\string\sf\space ignored in mathmode; use \string\mathss{...}}% + \else\protect\psf\fi} + \let\mathbf\bold +\else + \DeclareMathAlphabet\mathss{OT1}{cmss}{m}{n} + \DeclareMathAlphabet\mathtt{OT1}{cmtt}{m}{n} + \let\text\textrm + \let\bold\mathbf +\fi + +\let\sans\mathss +\let\type\mathtt + +\def\${{\protect\pdollar}} +\def\pdollar{\ifmmode\char`\$\else\text{\ifdim \fontdimen\@ne\font >\z@ + \sl \else \normalshape \fi\char`\$}\fi} + +% +% mod routines from amstex.sty +% +\def\bmod{\mskip-\medmuskip\mkern5mu\mathbin + {\operator@font mod}\penalty900 + \mkern5mu\mskip-\medmuskip} +\def\pmod#1{\allowbreak\ifinner\mkern8mu\else\mkern18mu\fi + ({\operator@font mod}\,\,#1)} +\def\pod#1{\allowbreak\ifinner\mkern8mu\else\mkern18mu\fi(#1)} +\def\mod#1{\allowbreak\ifinner\mkern12mu + \else\mkern18mu\fi{\operator@font mod}\,\,#1} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +%% Math extension font +%% (from fontdef.ams) +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\ifx\DeclareMathAlphabet\@undefined +\new@fontshape{cmex}{m}{n}{% + <5>cmex7 at5pt% + <6>cmex7 at6pt% + <7>cmex7% + <8>cmex8% + <9>cmex9% + <10>cmex10% + <11>cmex10 at10.95pt% + <12>cmex10 at12pt% + <14>cmex10 at14.4pt% + <17>cmex10 at17.28pt% + <20>cmex10 at20.74pt% + <25>cmex10 at24.88pt% + }{} + +\extra@def{cmex}{}{} + +\define@mathgroup\mv@normal{3}{cmex}{m}{n} +\define@mathgroup\mv@bold{3}{cmex}{b}{n} + +\new@mathgroup\cmss@group +\define@mathgroup\mv@normal\cmss@group{cmss}{m}{n} +\define@mathgroup\mv@bold\cmss@group{cmss}{b}{n} +\else + \catcode`\ =9 +\DeclareFontShape{OMX}{cmex}{m}{n}{% + <-8> cmex7% + <8>cmex8% + <9>cmex9% + <10> <10.95> <12> <14.4> <17.28> <20.74> <24.88>cmex10% + }{}% + \expandafter\let\csname OMX/cmex/m/n/10\endcsname\relax + \catcode`\ =10 + +\DeclareSymbolFont{cmss}{OT1}{cmss}{m}{n} +\fi + +%$Log: geomfnt.sty,v $ +%Revision 1.2 95/07/03 14:44:31 levy +%NFSS2 changes by John Rawnsley +% +%Revision 1.2 95/07/03 14:31:45 levy +%NFSS2 changes by John Rawnsley +% +%Revision 1.2 95/07/03 14:09:28 levy +%NFSS2 changes by John Rawnsley +% +%Revision 1.2 95/07/03 14:08:08 levy +%*** empty log message *** +% +%Revision 1.1 92/04/07 09:45:07 levy +%Initial revision +% +% Revision 1.1 92/04/07 09:09:01 levy +% Initial revision diff --git a/Master/texmf-dist/tex/latex/geomsty/geomindx.sty b/Master/texmf-dist/tex/latex/geomsty/geomindx.sty new file mode 100644 index 00000000000..368ba4a3dcc --- /dev/null +++ b/Master/texmf-dist/tex/latex/geomsty/geomindx.sty @@ -0,0 +1,72 @@ +% $Header: /home/tampa_a/fac/levy/texts/geombook/RCS/index.sty,v 1.1 92/04/07 09:47:28 levy Exp $ + +\@ifundefined{@margin}{}{\endinput} + +% +% index and glossary macros +% +% the basic user-level command is \index, which, in proof mode +% merely prints the entry on the left margin. To revert to +% index-making behavior, type \makeindex. +% + +\newif\ifmakingindex\makingindexfalse +\def\makeindex{\if@filesw \newwrite\@indexfile + \immediate\openout\@indexfile=\jobname.idx + \makingindextrue\typeout{Writing index file \jobname.idx }\fi} + +\def\index#1{\@bsphack\ifproofing\marginindex{#1}\fi\ifmakingindex\begingroup + \set@key{#1}\@wrindex{\the\@key}\else\@esphack\fi} +\def\marginindex#1{{\everypar{}\insert\@margin{% + \vbox{\marginstyle\strut #1\hfil\strut}}}} +\def\marginstyle{\tiny \hsize=1in \parindent=0pt \hangindent=10pt + \hangafter=1 \rightskip=0pt plus 5em } +\newinsert\@margin \dimen\@margin=\maxdimen \count\@margin=0 \skip\@margin=0pt + +% +% change in output routine to account for new insertion class +% +\def\@makecol{\ifvoid\footins \setbox\@outputbox\box\@cclv + \else\setbox\@outputbox + \vbox{\boxmaxdepth \maxdepth + \unvbox\@cclv\vskip\skip\footins\footnoterule\unvbox\footins}\fi + \xdef\@freelist{\@freelist\@midlist}\gdef\@midlist{}\@combinefloats + \setbox\@outputbox\vbox to\@colht{\boxmaxdepth\maxdepth + \@texttop\dimen128=\dp\@outputbox + \ifvoid\@margin\else + \llap{\vbox to0pt {\kern4pt\box\@margin \vss}\kern .1in}\fi + \unvbox\@outputbox + \vskip-\dimen128\@textbottom} + \global\maxdepth\@maxdepth} + +% +% But \index does not print its argument. To index a word that +% actually appears in the text say \ix{...}. To index notation say \ixn$...$ +% or \ixninv$...$, depending on whether the word should appear or not. +% And just for symmetry, you can also use \ixinv, which equals \index: +% +% Text Notation +% +% Visible \ix \ixn +% Invisible \ixinv \ixninv +% +\def\ixinv{\index} % must not use \let, since meaning changes + % under \makeindex +\def\ix#1{#1\index{#1}} +\def\ixninv$#1${\index{$#1$}} +\def\ixn$#1${$#1$\index{$#1$}} + +% +% Some functions such as cross-referencing automatically invoke +% indexing. The particular format is defined here. +% The xfs for \labelindex are needed because \index doesn't expand +% +\def\labelindex#1{\@xf\@xf\@xf\index + \@xf\@xf\@xf{\@xf\cap@first\object@type\space``#1''}} +\def\refindex#1{\index{#1}} +{\catcode`\%=12 \gdef\refinvindex#1{\index{% #1}}} + +% $Log: index.sty,v $ +%Revision 1.1 92/04/07 09:47:28 levy +%Initial revision +% diff --git a/Master/texmf-dist/tex/latex/geomsty/geompsfi.sty b/Master/texmf-dist/tex/latex/geomsty/geompsfi.sty new file mode 100644 index 00000000000..d158531e711 --- /dev/null +++ b/Master/texmf-dist/tex/latex/geomsty/geompsfi.sty @@ -0,0 +1,632 @@ +% $Header: /usr/home/levy/texts/geomsty/RCS/geompsfi.sty,v 1.18 95/12/06 13:40:51 levy Exp $ + +% This is geompsfig.sty, based on psfig.tex by Trevor Darrell (as +% modified by Stefan Bechtoslheim). +% +% It works with Latex and plain TeX (normally under the name geompsfi.tex). +% Thanks to Ket Richter for working out the changes for Plain tex. + +% Copyright 1991, 1992, 1993 Silvio Levy + +% This file is part of the Geom Latex style files. It is distributed in +% the hope that it will be useful, but WITHOUT ANY WARRANTY. The author +% makes no representation as to its suitability for any purpose. + +% Permission is granted for use and non-profit distribution of this +% file provided that this notice is clearly maintained. The right to +% distribute this file for profit or as part of any commercial +% product is specifically reserved for the author. If you make +% changes to this file you cannot distribute it under the same name, +% but you can distribute it under a different name provided it is not +% for profit of as part of a commercial product, and provided that the +% copyright line above and this notice are clearly maintained. + +% This version assumes that dimensions read from a PostScript file or +% from a .lab file are in bp (big points). Dimensions found in the +% source TeX file (as in \psfig{...,height=2in}) are true dimensions +% (that is, are not scaled pt -> bp). This is all as it should be. + +\edef\atcatcode{\the\catcode`\@} +\catcode`@=11 + +\newif\ifoldlabels \oldlabelsfalse +\expandafter\ifx\csname @ifundefined\endcsname\relax +\long\def\@ifundefined#1#2#3{\expandafter\ifx\csname + #1\endcsname\relax#2\else#3\fi} +\def\@iden#1{#1} +%\newdimen\@tempdima +\alloc@1\dimen\dimendef\insc@unt\@tempdima +\def\@warning#1{\message{Warning: #1.}} +\fi + +\@ifundefined{ps@init}{}{\endinput} + +\@ifundefined{hyperactivelabels}{\let\hyperactivelabels\relax}{} + +\newif\if@topspecials %false for Rokicki's dvips: \special is at bottom of box + % true for dvitps, dvi2ps + +\input driver.chg % driver-dependent definitions (generally a symlink) + +\newcount\psfc@a +\newcount\psfc@b +\newcount\psfc@c +\newcount\psfc@d +\newcount\psfc@e +\newcount\psfc@f +\newcount\psfc@g +\newcount\psfc@h +\newcount\psfc@i +\newcount\psfc@j +\newcount\psscale@count +\newtoks\psfigtoks@ +% A dimension register for temporarily storing a dimension in +% \@pDimenToSpNumber. +\newdimen\psfig@dimen +% +%\newwrite\@unused +%\def\typeout#1{{\let\protect\string\immediate\write\@unused{#1}}} + +% Identifying message is here. +% \typeout{psfig/tex 1.4.gcg / TeXPS}\fi +% +% @psdo control structure -- similar to Latex @for. +% I redefined these with different names so that psfig can +% be used with TeX as well as LaTeX, and so that it will not +% be vunerable to future changes in LaTeX's internal +% control structure. +\def\@nnil{\@nil} +\def\@empty{} +\def\@psdonoop#1\@@#2#3{} +\def\@psdo#1:=#2\do#3{\edef\@psdotmp{#2}\ifx\@psdotmp\@empty \else + \expandafter\@psdoloop#2,\@nil,\@nil\@@#1{#3}\fi} +\def\@psdoloop#1,#2,#3\@@#4#5{\def#4{#1}\ifx #4\@nnil \else + #5\def#4{#2}\ifx #4\@nnil \else#5\@ipsdoloop #3\@@#4{#5}\fi\fi} +\def\@ipsdoloop#1,#2\@@#3#4{\def#3{#1}\ifx #3\@nnil + \let\@nextwhile=\@psdonoop \else + #4\relax\let\@nextwhile=\@ipsdoloop\fi\@nextwhile#2\@@#3{#4}} +\def\@tpsdo#1:=#2\do#3{\xdef\@psdotmp{#2}\ifx\@psdotmp\@empty \else + \@tpsdoloop#2\@nil\@nil\@@#1{#3}\fi} +\def\@tpsdoloop#1#2\@@#3#4{\def#3{#1}\ifx #3\@nnil + \let\@nextwhile=\@psdonoop \else + #4\relax\let\@nextwhile=\@tpsdoloop\fi\@nextwhile#2\@@#3{#4}} +% +\def\psdraft{% + \def\@psdraft{0} + %\typeout{draft level now is \@psdraft \space.} +} +\def\psfull{% + \def\@psdraft{100} + %\typeout{draft level now is \@psdraft \space.} +} +\psfull +\newif\if@prologfile +\newif\if@postlogfile +\newif\if@noisy +\def\pssilent{% + \@noisyfalse +} +\def\psnoisy{% + \@noisytrue +} +%\psnoisy +\pssilent +% These are for the option list: +% a specification of the form a = b maps to calling \@p@@sa{b}. +\newif\if@bbllx +\newif\if@bblly +\newif\if@bburx +\newif\if@bbury +\newif\if@height +\newif\if@width +\newif\if@rheight +\newif\if@rwidth +\newif\if@clip +\newif\if@proportional +\newif\if@scale +\newif\if@verbose +\def\@p@@sclip#1{\@cliptrue} +\def\@p@@sproportional#1{\@proportionaltrue} +\def\@p@@sfile#1{% + %\typeout{file is #1} + \def\@p@sfile{#1.ps}% + \def\@labfile{#1.lab}% +} +\def\@p@@sfigure#1{% + \def\@p@sfile{#1.ps}% + \def\@labfile{#1.lab}% +} +% \@pDimenToSpNumber +% ================== +% Convert a dimension into scaled points. +% #1: the name of macro which will expand to the dimension in +% scaled points, without the unit 'sp' though, i.e. as a pure +% integer. +% #2: the dimension (not a dimension register, use +% \the if dimension is stored in a dimension register). +\def\@pDimenToSpNumber #1#2{% + \psfig@dimen = #2\relax + \edef#1{\number\psfig@dimen}% +} +\def\@p@@sbbllx#1{% + %\typeout{bbllx is #1} + \@bbllxtrue + \@pDimenToSpNumber{\@p@sbbllx}{#1}% +} +\def\@p@@sbblly#1{% + %\typeout{bblly is #1} + \@bbllytrue + \@pDimenToSpNumber{\@p@sbblly}{#1}% +} +\def\@p@@sbburx#1{% + %\typeout{bburx is #1} + \@bburxtrue + \@pDimenToSpNumber{\@p@sbburx}{#1}% +} +\def\@p@@sbbury#1{% + %\typeout{bbury is #1} + \@bburytrue + \@pDimenToSpNumber{\@p@sbbury}{#1}% +} +\def\@p@@sheight#1{% + \@heighttrue + \@pDimenToSpNumber{\@p@sheight}{#1}% + %\typeout{Height is \@p@sheight} +} +\def\@p@@swidth#1{% + %\typeout{Width is #1} + \@widthtrue + \@pDimenToSpNumber{\@p@swidth}{#1}% +} +\def\@p@@srheight#1{% + %\typeout{Reserved height is #1} + \@rheighttrue + \@pDimenToSpNumber{\@p@srheight}{#1}% +} +\def\@p@@srwidth#1{% + %\typeout{Reserved width is #1} + \@rwidthtrue + \@pDimenToSpNumber{\@p@srwidth}{#1}% +} +\def\@p@@ssilent#1{% + \@verbosefalse +} +\def\@p@@sscale #1{% + \def\@p@scale{#1}% + \@scaletrue +} + +\def\@p@@sprolog#1{\@prologfiletrue\def\@prologfileval{#1}} +\def\@p@@spostlog#1{\@postlogfiletrue\def\@postlogfileval{#1}} +\def\@cs@name#1{\csname #1\endcsname} +\def\@setparms#1=#2,{\def\@tempa{#2}\ifx\@tempa\@empty + \@warning{bad syntax (missing = or extra comma) in argument of \string\psfig}% + \else\@@setparms#1=#2,\fi} +\def\@@setparms#1=#2=,{\@cs@name{@p@@s#1}{#2}} +% +% Initialize the defaults. +% +\def\ps@init@parms{% + \@bbllxfalse \@bbllyfalse + \@bburxfalse \@bburyfalse + \@heightfalse \@widthfalse + \@rheightfalse \@rwidthfalse + \@scalefalse + \def\@p@sbbllx{}\def\@p@sbblly{}% + \def\@p@sbburx{}\def\@p@sbbury{}% + \def\@p@sheight{}\def\@p@swidth{}% + \def\@p@srheight{}\def\@p@srwidth{}% + \def\@p@sfile{}% + \def\@labfile{}% + \def\@p@scost{10}% + \def\@sc{}% + \@prologfiletrue + \@postlogfilefalse + \@clipfalse + \@proportionalfalse + \if@noisy + \@verbosetrue + \else + \@verbosefalse + \fi +} +% +% Go through the options setting things up. +% +\def\parse@ps@parms#1{% + \@psdo\@psfiga:=#1\do + {\expandafter\@setparms\@psfiga=,}% +} + +\newif\ifno@file +\newif\ifno@bb +\newif\ifnot@eof +\newif\if@bbmatch +\newif\if@crematch +\newif\ifmathematica +\newif\ifillustrator +\newread\ps@stream +\newread\lab@stream +\newcount\@linecount +\newcount\maxheaderlines +\maxheaderlines=100 + +% +% Scan header of file, looking for ``BoundingBox'' and ``Creator'' lines +% +\def\scan@header{% + \openin\ps@stream=\@p@sfile + \openin\lab@stream=\@labfile + \ifeof\ps@stream + \relax %needed so the \@warning won't cause trouble + \@warning{cannot open \@p@sfile} + \no@filetrue + \else + \not@eoftrue + \ifno@bb \@bbmatchfalse \else \@bbmatchtrue \fi + \@crematchfalse + \catcode`\%=12 + \catcode`\:=12 % in case punctuation is active (e.g., under french.sty) + \@linecount=\maxheaderlines + \loop + \read\ps@stream to \line@in + \global\psfigtoks@=\expandafter{\line@in} + \ifeof\ps@stream \not@eoffalse \fi + %\typeout{ looking at :: \the\psfigtoks@ } + \if@bbmatch \else \@bbtest{\psfigtoks@} \fi + \if@crematch \else \@cretest{\psfigtoks@} \fi + \if@crematch \if@bbmatch \not@eoffalse \fi \fi + \advance\@linecount-1 + \ifnum\@linecount=0 \not@eoffalse \fi + \ifnot@eof \repeat + \fi + \catcode`\%=14 +} + +% '% ' becomes a regular character for a very short time. +{ + \catcode`\%=12 + \catcode`\:=12 + \gdef\@bbtest#1{\expandafter\@bb@\the#1%%BoundingBox:\@bbtest\@bb@} + \global\long\def\@bb@#1%%BoundingBox:#2#3\@bb@{\ifx\@bbtest#2 + \else\@bbmatchtrue\expandafter\bb@cull\the\psfigtoks@\fi} + + \gdef\@cretest#1{\expandafter\@cre@\the#1%%Creator:\@cretest\@cre@} + \global\long\def\@cre@#1%%Creator:#2#3\@cre@{\ifx\@cretest#2 + \else\@crematchtrue\@mathtest{\psfigtoks@}\@illtest{\psfigtoks@}\fi} +} + +% +% Takes action if ``Creator'' line contains ``Mathematica'' or ``Illustrator'' +% +\def\@mathtest#1{\expandafter\@math@\the#1Mathematica\@mathtest\@math@} +\long\def\@math@#1Mathematica#2#3\@math@{\ifx\@mathtest#2 + \else\mathematicatrue \fi} + +\def\@illtest#1{\expandafter\@ill@\the#1Illustrator\@illtest\@ill@} +\long\def\@ill@#1Illustrator#2#3\@ill@{\ifx\@illtest#2 + \else\illustratortrue \fi} + +\def\bb@cull#1:{\expandafter\bb@@cull\@iden} +\long\def\bb@@cull#1 #2 #3 #4 {% + \@pDimenToSpNumber{\@p@sbbllx}{#1bp}% + \@pDimenToSpNumber{\@p@sbblly}{#2bp}% + \@pDimenToSpNumber{\@p@sbburx}{#3bp}% + \@pDimenToSpNumber{\@p@sbbury}{#4bp}% + \no@bbfalse +} + +% Compute \@bbw and \@bbh, the width and height of the +% bounding box. +\def\compute@bb{% + \no@bbfalse + \if@bbllx \else \no@bbtrue \fi + \if@bblly \else \no@bbtrue \fi + \if@bburx \else \no@bbtrue \fi + \if@bbury \else \no@bbtrue \fi + \scan@header + \ifno@file + \else + \ifno@bb + \@warning{no bounding box found in \@p@sfile} + \no@filetrue + \else + % Now compute the size of the bounding box. + \psfc@c=\@p@sbburx + \psfc@b=\@p@sbbury + \advance\psfc@c by -\@p@sbbllx + \advance\psfc@b by -\@p@sbblly + \edef\@bbw{\number\psfc@c} + \edef\@bbh{\number\psfc@b} + %\typeout{\string\compute@bb: bbh = \@bbh, bbw = \@bbw} + \fi + \fi +} + +% +% \in@hundreds performs #1 * (#2 / #3) correct to the hundreds, +% then leaves the result in \@result. +% +% note: #3 should be a big number, or a multiple of 10. +% +\def\in@hundreds #1#2#3{% + \psfc@g=#2 + \psfc@d=#3 + \divide\psfc@d 10 + \psfc@a=\psfc@g % First two digits #2/#3. + \divide\psfc@a by \psfc@d + \psfc@f=\psfc@a + \multiply\psfc@f by \psfc@d + \advance\psfc@g by -\psfc@f + \multiply\psfc@g by 10 + \psfc@f=\psfc@g % Third digit of #2/#3. + \divide\psfc@f by \psfc@d + \psfc@j=\psfc@f + \multiply\psfc@j by \psfc@d + \advance\psfc@g by -\psfc@j + \multiply\psfc@g by 10 + \psfc@j=\psfc@g % Third digit. + \divide\psfc@j by \psfc@d + \psfc@h=#1\psfc@i=0 + \psfc@e=\psfc@h + \multiply\psfc@e by \psfc@a + \advance\psfc@i by \psfc@e + \psfc@e=\psfc@h + \divide\psfc@e by 10 + \multiply\psfc@e by \psfc@f + \advance\psfc@i by \psfc@e + % + \psfc@e=\psfc@h + \divide\psfc@e by 100 + \multiply\psfc@e by \psfc@j + \advance\psfc@i by \psfc@e + \divide\psfc@i 10 + % + \edef\@result{\number\psfc@i} +} +% Scale a value #1 by the current scaling factor and reassign the new +% scaled value. +\def\@ScaleInHundreds #1{% + \in@hundreds{#1}{\@p@scale}{100}% + \edef#1{\@result}% +} +% +% +% Compute width from height. +\def\compute@wfromh{% + % computing : width = height * (bbw / bbh) + \in@hundreds{\@p@sheight}{\@bbw}{\@bbh}% + %\typeout{ \@p@sheight * \@bbw / \@bbh, = \@result } + \edef\@p@swidth{\@result}% + %\typeout{w from h: width is \@p@swidth}% +} +% +% Compute height from width. +% +\def\compute@hfromw{% + % computing : height = width * (bbh / bbw) + \in@hundreds{\@p@swidth}{\@bbh}{\@bbw}% + %\typeout{ \@p@swidth * \@bbh / \@bbw = \@result } + \edef\@p@sheight{\@result}% + %\typeout{h from w : height is \@p@sheight}% +} +% +% Compute height and width when both are given and proportionality +% must be preserved. +% +\def\compute@minhw{% + \in@hundreds{\@p@swidth}{\@bbh}{\@bbw}% + \ifnum\@p@sheight<\@result + \in@hundreds{\@p@sheight}{\@bbw}{\@bbh}% + \edef\@p@swidth{\@result}% + \else + \edef\@p@sheight{\@result}% + \fi +} +% +% Compute height and width, i.e. \@p@sheight and \@p@swidth. +% +\def\compute@handw{% + % If height is given. + \if@height + % If width is given + \if@width + \if@proportional + \compute@minhw + \fi + \else + % Height, no width: compute width. + \compute@wfromh + \fi + \else + % No height. + \if@width + % Width is given, no height though: compute it. + \compute@hfromw + \else + % Neither width no height is give. + \edef\@p@sheight{\@bbh} + \edef\@p@swidth{\@bbw} + \fi + \fi +} +% Compute the amount of space to reserve. Unless defined +% using rheight and rwidth when \psfig is called, these values +% default to \@p@sheight and \@p@swidth. +\def\compute@resv{% + \if@rheight \else \edef\@p@srheight{\@p@sheight} \fi + \if@rwidth \else \edef\@p@srwidth{\@p@swidth} \fi +} +% +% +% \psfig +% ====== +% usage: \psfig{file=, height=, width=, bbllx=, bblly=, bburx=, bbury=, +% rheight=, rwidth=, clip=, scale=, proportional=} +% +% "clip=" and "proportional=" are switches and take no value, +% but the `=' must be present. +% +\def\partest{\par} +\def\psfig#1{% + \vbox {% + \offinterlineskip + \ps@init@parms + \parse@ps@parms{#1}% + % Compute any missing sizes. + \compute@bb + \ifno@file\vbox{\hbox{{\tt\@p@sfile} not found}}% + \else + \compute@handw + \compute@resv + \if@scale + %\if@verbose \typeout{psfig: scaling by \@p@scale}\fi + % We now scale the width and height as reported to the PS printer. + \@ScaleInHundreds{\@p@swidth}% + \@ScaleInHundreds{\@p@sheight}% + \@ScaleInHundreds{\@p@srwidth}% + \@ScaleInHundreds{\@p@srheight}% + \fi + % + \ifnum\@p@scost<\@psdraft + %\if@verbose \typeout{psfig: including \@p@sfile \space}\fi + \if@topspecials\do@specials\fi + % Create a vbox to reserve the proper amount of space for the figure. + \vbox to \@p@srheight sp{% + \hbox to \@p@srwidth sp{}% + \vss + }% + \if@topspecials\else\do@specials\fi + \ifeof\lab@stream + %\if@verbose\typeout{psfig: no file \@labfile \space found}\fi + \else{% + \hyperactivelabels + \not@eoftrue + \loop + \read\lab@stream to \line@in \ifx\line@in\partest\else\line@in\fi + \ifeof\lab@stream \not@eoffalse \fi + \ifnot@eof \repeat + }\fi + \else + % Draft mode: reserve the space for the figure and print the path name. + \vbox to \@p@srheight sp{% + \hbox to \@p@srwidth sp{% + \if@verbose + \@p@sfile + \fi + }% + \vss + }% + \fi + \fi + }% +} + +\def\do@specials{\ps@init\ps@begin + \if@clip + %\if@verbose \typeout{(clip)} \fi + \ps@clip \fi + \if@prologfile \ps@prolog \fi \ps@include \if@postlogfile \ps@postlog \fi + \ps@end} + +\newbox\label@box +\newdimen\x@lab \newdimen\y@lab +\newdimen\x@aux \newdimen\y@aux +\newdimen\hair\hair=3pt +\def\setlabel#1#2#3#4#5{% + \setbox\label@box\hbox{$#1$}% + \x@lab.5\wd\label@box \x@lab#4\x@lab + \y@lab.5\ht\label@box\advance\y@lab.5\dp\label@box \y@lab#5\y@lab +% rotate lab clockwise by 22.5 degrees to get aux + \x@aux.92388\x@lab \advance\x@aux.38268\y@lab + \y@aux-.38268\x@lab \advance\y@aux.92388\y@lab +% choose + \ifdim\x@aux>0pt + \ifdim\y@aux>0pt + \ifdim\x@aux>\y@aux\advance\x@lab.7071\hair\advance\y@lab.7071\hair + \else\advance\y@lab\hair\fi + \else + \ifdim\x@aux>-\y@aux\advance\x@lab\hair + \else\advance\x@lab.7071\hair\advance\y@lab-.7071\hair\fi + \fi + \else + \ifdim\y@aux>0pt + \ifdim\x@aux>-\y@aux\advance\x@lab-.7071\hair\advance\y@lab.7071\hair + \else\advance\x@lab-\hair\fi + \else + \ifdim\x@aux>\y@aux\advance\y@lab-\hair + \else + \ifdim\x@aux<0pt + \advance\x@lab-.7071\hair\advance\y@lab-.7071\hair\fi + \fi + \fi + \fi + \advance\x@lab.5\wd\label@box + \advance\y@lab.5\ht\label@box\advance\y@lab.5\dp\label@box + \x@aux=#2bp \ifoldlabels \else \advance\x@aux by -\@p@sbbllx sp \fi + \y@aux=#3bp \ifoldlabels \else \advance\y@aux by -\@p@sbblly sp \fi + \in@hundreds{\x@aux}{\@p@swidth}{\@bbw} + \edef\@xpos{\@result} + \in@hundreds{\y@aux}{\@p@sheight}{\@bbh} + \edef\@ypos{\@result} + \vbox to 0pt{% + \vss\hbox to\@p@srwidth sp{\hskip \@xpos sp \hskip-\x@lab + \box\label@box\hss}\vskip \@ypos sp \vskip-\y@lab}} + +\catcode`@=\atcatcode + +% $Log: geompsfi.sty,v $ +%Revision 1.18 95/12/06 13:40:51 levy +%made geompsfi.tex work (\ifx\@ifundefined was wrong!) +% +%Revision 1.17 1994/06/23 04:36:58 levy +%added \ifoldlabels for compatibility with behavior before version 1.11 +% +%Revision 1.16 1994/04/29 00:19:21 levy +%combined with geompsfi.tex +% +%Revision 1.16 1994/04/29 00:03:40 levy +%leave plenty of space so patch geompsfi.tex works +% +%Revision 1.15 1994/04/03 07:07:57 levy +%removed hair correction when x@lab and y@lab are both zero +% +%Revision 1.14 1993/09/16 22:22:38 levy +%\catcode`\:=12 % in case punctuation is active (e.g., under french.sty) +% +%Revision 1.13 1993/08/27 23:04:27 levy +%removed "true" from PS dimensions (so it works with \magnifications) +% +%Revision 1.12 93/08/16 12:28:46 levy +%\ifundefined\hyperactivelabels +% +%Revision 1.11 93/07/19 02:17:24 levy +%.lab coordinates should be world coordinates +% +%Revision 1.10 93/03/05 10:59:38 levy +%error message when arguments of \psfig are incorrect +% +%Revision 1.9 1993/01/13 15:50:36 levy +%expressed things in bp (correctly) +% +%Revision 1.8 1993/01/10 20:56:04 levy +%inhundreds -> inthousands +% +%Revision 1.6 92/07/13 11:12:40 levy +%better error message when bounding box not found +% +%Revision 1.5 92/06/15 22:05:22 levy +%proportional scaling +% +%Revision 1.4 92/06/10 13:03:45 levy +%extend header from 10 to 15 lines +% +%Revision 1.3 92/06/10 12:41:14 levy +%scan header for "Creator" line +% +%Revision 1.2 92/04/07 09:09:17 levy +%*** empty log message *** +% +% Revision 1.1 92/03/31 14:12:38 levy +% Initial revision + |