summaryrefslogtreecommitdiff
path: root/info/pictex/summary/useful.sty
diff options
context:
space:
mode:
Diffstat (limited to 'info/pictex/summary/useful.sty')
-rw-r--r--info/pictex/summary/useful.sty176
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