diff options
Diffstat (limited to 'info/pictex/summary/useful.sty')
-rw-r--r-- | info/pictex/summary/useful.sty | 176 |
1 files changed, 176 insertions, 0 deletions
diff --git a/info/pictex/summary/useful.sty b/info/pictex/summary/useful.sty new file mode 100644 index 0000000000..541b383ad3 --- /dev/null +++ b/info/pictex/summary/useful.sty @@ -0,0 +1,176 @@ +% Copyright (c) 1990 Angus Duggan +% All rights reserved. +% +% Redistribution and use in source and binary forms, with or without +% modification, are permitted provided that the following conditions are met: +% +% Redistributions of source code must retain the above copyright +% notice, this list of conditions and the following disclaimer. +% +% Redistributions in binary form must reproduce the above copyright +% notice, this list of conditions and the following disclaimer in the +% documentation and/or other materials provided with the distribution. +% +% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +% IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +% TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +% PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +% HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +% SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +% TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +% PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +% LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +% NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +% SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +% useful.sty - useful LaTeX macros for my documents +% AJCD 18/1/90 + +% \makeatletter +%\catcode`@=11 + + +% CHARACTERS +\def\bsl{{\tt\char'134}} % backslash +\def\crt{\char'136} % caret +\def\tld{\char'176} % tilde +\def\bar{\char'174} % vertical bar +\def\and{\char'046} % ampersand +\def\squ{{\tt\char'015}} % straight quote + +\def\tc#1{\hbox{\tt\bs#1}} +\def\ctr#1{\quad#1\hfil} +%\def\type#1{{\tt#1}} + + +% FONTS +% oldstyle (for numerals) +\def\oldstyle{\fam\@ne \tenmi} + + +% LOGOS +% AMS logo +\def\AMS{American Mathematical Society} + +% AmSTeX logo +\def\AmSTeX{$\cal A\kern-.1667em\lower.5ex\hbox{$\cal M$}\kern-.075em S$-\TeX} + +% BiBTeX logo +\def\BibTeX{{\rm B\kern-.05em{\sc i\kern-.025em b}\kern-.08em \TeX}} + +% Metafont logo +\font\manual=manfnt +\def\MF{{\manual META}\-{\manual FONT}} + +% SliTeX logo +\def\SliTeX{{\rm S\kern-.06em{\sc l\kern-.035emi}\kern-.06em \TeX}} + +% PiCTeX logo +\def\PiCTeX{P\kern-.12em\lower.5ex\hbox{I}\kern-.075emC\kern-.11em\TeX} + +% PiC logo +\def\PiC{P\kern-.12em\lower.5ex\hbox{I}\kern-.075emC} + + +% COMMANDS +% discretionary break +\def\nl{\discretionary{}{}{}} + +% linestack: like shortstack, but defaults to normal line spacing +\def\linestack{\@ifnextchar[{\@linestack}{\@linestack[c]}} +\def\@linestack[#1]{\leavevmode +\vbox\bgroup%\baselineskip-1pt\lineskip 3pt +\let\mb@l\hss +\let\mb@r\hss \expandafter\let\csname mb@#1\endcsname\relax +\let\\\@stackcr\@ishortstack} + +% inputwith: input file with local style files +% if first char is '*', count & dimen allocations are shared between styles +% if second char is also '*', allocations are shared with input file also. +% This is not clean. +\newif\ifrealloc \newif\ifmaxalloc +\newcount\b@secount \newcount\m@xcount +\newcount\b@sedimen \newcount\m@xdimen +\def\inputwith{\reallocfalse\maxalloctrue + \@ifnextchar*{\realloctrue\@inwithalloc}{\@inwithshare*}} +\def\@inwithalloc*{\@ifnextchar*{\maxallocfalse\@inwithshare}{\@inwithshare*}} +\def\@inwithshare*{\@ifnextchar[{\@inwithstyle}{\@inwithstyle[]}} +\def\@inwithstyle[#1]#2{\bgroup\makeatletter + \b@secount\count10 \b@sedimen\count11 + \m@xcount\b@secount \m@xdimen\b@sedimen + \@for\@tempa:={#1}\do + {\ifrealloc \count10\b@secount \count11\b@sedimen \fi + \expandafter\input\@tempa.sty\relax + \ifmaxalloc \ifnum\count10>\m@xcount \m@xcount\count10 \fi + \ifnum\count11>\m@xdimen \m@xdimen\count11 \fi\fi}\makeatother + \global\count10\m@xcount \global\count11\m@xdimen + \input #2\relax\egroup +} + +% readaux: reads another aux file, ignoring table of contents, etc, but +% collecting references +\def\readaux#1{% probably want some redefinition here... + \makeatletter + \@input{#1.aux} + \makeatother} + + +% ENVIRONMENTS +% hanging indentation on a list +\newbox\hangb@x +\def\labelled{% + \begin{list}{}{\renewcommand{\makelabel}[1]{\setbox\hangb@x\hbox{##1}% + \ifdim\wd\hangb@x>\leftmargin + \vbox{\hbox to\labelwidth{\box\hangb@x\hss}\hbox{}}% + \else \box\hangb@x\hfil + \fi}% + \setlength{\leftmargin}{2\leftmargin}% + \setlength{\labelsep}{.5em}% + \setlength{\labelwidth}{\leftmargin}% + \addtolength{\labelwidth}{-\labelsep}% + \setlength{\listparindent}{1.5em}% + }% +} +\def\endlabelled{% + \end{list}% +} + +% extracts (in small type) +\def\extract{% + \begin{quote}\small +} +\def\endextract{\end{quote}} + +% newverbatim ripped out of verbatim.tex: +\def\newverbatim#1{\@ifnextchar[{\@new@v@env{#1}}{\@new@v@env{#1}[0]}} +% In the definition of \@new@v@env, the easy part (definition of \endFOO) comes +% first. The definition of \FOOVERBATIM is harder, and finally \FOO is defined +% to have \verb@syntax\FOOVERBATIM at the end of its expansion. +\def\@new@v@env#1[#2]#3#4{\expandafter\def\csname end#1\endcsname{#4}\relax + \expandafter\def@verbatim\csname #1VERBATIM\endcsname{#1}{##1\end{#1}}\relax + \expandafter\newcommand\csname #1\endcsname + [#2]{#3\verb@syntax\csname #1VERBATIM\endcsname}} +% Define verbatim syntax. +\def\verb@syntax{\obeylines\tt\let\do\@makeother\dospecials\frenchspacing\@vobeyspaces} +% Finally, an auxiliary function to define a macro whose argument is delimited +% by \end{foo} in special syntax, \def@verbatim{\CS}{foo}{...body...}. +\begingroup \catcode `|=0 \catcode `[= 1 +\catcode`]=2 \catcode `\{=12 \catcode `\}=12 +\catcode`\\=12 |gdef|def@verbatim#1#2#3[|def#1##1\end{#2}[#3]] +|endgroup + + +% ANGLICISED COMMANDS +% british itemize +\let\itemise\itemize +\let\enditemise\enditemize + +% british center +\let\centre\center +\let\endcentre\endcenter +% ...and while we're at it +\let\centring\centering +\let\centreline\centerline + +% \makeatother +%\catcode`@=12 |