2 %% This is file `amsopn.sty',
3 %% generated with the docstrip utility.
5 %% The original source files were:
9 %%% ====================================================================
11 %%% filename = "amsopn.dtx",
13 %%% date = "1999/12/14",
14 %%% time = "17:30:59 EST",
15 %%% checksum = "46904 254 1037 9431",
16 %%% author = "American Mathematical Society",
17 %%% copyright = "Copyright 1995, 1999 American Mathematical Society,
18 %%% all rights reserved. Copying of this file is
19 %%% authorized only if either:
20 %%% (1) you make absolutely no changes to your copy,
21 %%% including name; OR
22 %%% (2) if you do make changes, you first rename it
23 %%% to some other name.",
24 %%% address = "American Mathematical Society,
25 %%% Technical Support,
26 %%% Electronic Products and Services,
28 %%% Providence, RI 02940,
30 %%% telephone = "401-455-4080 or (in the USA and Canada)
31 %%% 800-321-4AMS (321-4267)",
32 %%% FAX = "401-331-3842",
33 %%% email = "tech-support@ams.org (Internet)",
34 %%% codetable = "ISO/ASCII",
35 %%% keywords = "operator name, amsopn, DeclareMathOperator",
36 %%% supported = "yes",
37 %%% abstract = "This is a \LaTeX{} package that provides a
38 %%% DeclareMathOperator command for defining named
39 %%% operators like sin and lim.",
40 %%% docstring = "The checksum field above contains a CRC-16 checksum
41 %%% as the first value, followed by the equivalent of
42 %%% the standard UNIX wc (word count) utility output of
43 %%% lines, words, and characters. This is produced by
44 %%% Robert Solovay's checksum utility.",
46 %%% ====================================================================
47 \NeedsTeXFormat{LaTeX2e}% LaTeX 2.09 can't be used (nor non-LaTeX)
48 [1994/12/01]% LaTeX date must December 1994 or later
49 \ProvidesPackage{amsopn}[1999/12/14 v2.01 operator names]
50 \def\nolimits@{\@ifnextchar\limits{\nolimits\@gobble}{\nolimits}}
51 \begingroup \catcode`\"=12
52 \gdef\newmcodes@{\mathcode`\'39\mathcode`\*42\mathcode`\."613A%
53 \ifnum\mathcode`\-=45 \else
54 \mathchardef\std@minus\mathcode`\-\relax
56 \mathcode`\-45\mathcode`\/47\mathcode`\:"603A\relax}
58 \DeclareRobustCommand{\operatorname}{%
59 \@ifstar{\qopname\newmcodes@ m}%
60 {\qopname\newmcodes@ o}}%
61 \DeclareRobustCommand{\qopname}[3]{%
62 \mathop{#1\kern\z@\operator@font#3}%
63 \csname n#2limits@\endcsname}
64 \newcommand{\DeclareMathOperator}{%
65 \@ifstar{\@declmathop m}{\@declmathop o}}
66 \long\def\@declmathop#1#2#3{%
68 \DeclareRobustCommand{#2}{\qopname\newmcodes@#1{#3}}}}
69 \@onlypreamble\DeclareMathOperator
70 \@onlypreamble\@declmathop
71 \def\arccos{\qopname\relax o{arccos}}
72 \def\arcsin{\qopname\relax o{arcsin}}
73 \def\arctan{\qopname\relax o{arctan}}
74 \def\arg{\qopname\relax o{arg}}
75 \def\cos{\qopname\relax o{cos}}
76 \def\cosh{\qopname\relax o{cosh}}
77 \def\cot{\qopname\relax o{cot}}
78 \def\coth{\qopname\relax o{coth}}
79 \def\csc{\qopname\relax o{csc}}
80 \def\deg{\qopname\relax o{deg}}
81 \def\det{\qopname\relax m{det}}
82 \def\dim{\qopname\relax o{dim}}
83 \def\exp{\qopname\relax o{exp}}
84 \def\gcd{\qopname\relax m{gcd}}
85 \def\hom{\qopname\relax o{hom}}
86 \def\inf{\qopname\relax m{inf}}
87 \def\injlim{\qopname\relax m{inj\,lim}}
88 \def\ker{\qopname\relax o{ker}}
89 \def\lg{\qopname\relax o{lg}}
90 \def\lim{\qopname\relax m{lim}}
91 \def\liminf{\qopname\relax m{lim\,inf}}
92 \def\limsup{\qopname\relax m{lim\,sup}}
93 \def\ln{\qopname\relax o{ln}}
94 \def\log{\qopname\relax o{log}}
95 \def\max{\qopname\relax m{max}}
96 \def\min{\qopname\relax m{min}}
97 \def\Pr{\qopname\relax m{Pr}}
98 \def\projlim{\qopname\relax m{proj\,lim}}
99 \def\sec{\qopname\relax o{sec}}
100 \def\sin{\qopname\relax o{sin}}
101 \def\sinh{\qopname\relax o{sinh}}
102 \def\sup{\qopname\relax m{sup}}
103 \def\tan{\qopname\relax o{tan}}
104 \def\tanh{\qopname\relax o{tanh}}
105 \def\operator@font{\mathgroup\symoperators}
106 \def\operatorfont{\operator@font}
107 \def\operatornamewithlimits{\operatorname*}
109 \vtop{\m@th\ialign{##\cr
110 \hfil$#1\operator@font lim$\hfil\cr
111 \noalign{\nointerlineskip\kern1.5\ex@}#2\cr
112 \noalign{\nointerlineskip\kern-\ex@}\cr}}%
115 \mathop{\mathpalette\varlim@{\rightarrowfill@\textstyle}}\nmlimits@
118 \mathop{\mathpalette\varlim@{\leftarrowfill@\textstyle}}\nmlimits@
120 \def\varliminf{\mathop{\mathpalette\varliminf@{}}\nmlimits@}
121 \def\varliminf@#1{\@@underline{\vrule\@depth.2\ex@\@width\z@
122 \hbox{$#1\m@th\operator@font lim$}}}
123 \def\varlimsup{\mathop{\mathpalette\varlimsup@{}}\nmlimits@}
124 \def\varlimsup@#1{\@@overline{\hbox{$#1\m@th\operator@font lim$}}}
125 \let\nmlimits@\displaylimits
126 \DeclareOption{namelimits}{\let\nmlimits@\displaylimits}
127 \DeclareOption{nonamelimits}{\let\nmlimits@\nolimits}
128 \ProcessOptions\relax
129 \RequirePackage{amsgen}\relax
132 %% End of file `amsopn.sty'.