# -*- mode: Perl -*-
# /=====================================================================\ #
# |  amstex                                                             | #
# | Implementation for LaTeXML                                          | #
# |=====================================================================| #
# | Part of LaTeXML:                                                    | #
# |  Public domain software, produced as part of work done by the       | #
# |  United States Government & not subject to copyright in the US.     | #
# |---------------------------------------------------------------------| #
# | Thanks to the arXMLiv group for initial implementation              | #
# |    http://arxmliv.kwarc.info/                                       | #
# | Released to the Public Domain                                       | #
# |---------------------------------------------------------------------| #
# | Bruce Miller <bruce.miller@nist.gov>                        #_#     | #
# | http://dlmf.nist.gov/LaTeXML/                              (o o)    | #
# \=========================================================ooo==U==ooo=/ #
package LaTeXML::Package::Pool;
use strict;
use warnings;
use LaTeXML::Package;

# amstex.sty is obsolete; It is  recommended to try to use amsmath instead.
# ORRR should it be reading AmSTeX, no that's non LaTeX.... ?
# There should perhaps be some option handling, instead of loading all...
RequirePackage('amsmath');
RequirePackage('amsfonts');
RequirePackage('amsxtra');

DefMacro('\nolimits@', '\nolimits');
DefMacro('\nlimits@',  '\displaylimits');
# Oddly, different defn than amsopn
DefMacro('\qopname{}{}{}', '\mathop{#3}\csname #2limits@\endcsname');

#DefMacro('\Sb XUntil:\endSb','_{\substack{#1}}');
#DefMacro('\Sp XUntil:\endSp','^{\substack{#1}}');
#Let('\endSb','\relax');
#Let('\endSp','\relax');

# DefMacro('\Sb',    '_\bgroup\substack\bgroup');
# DefMacro('\endSb', '\cr\egroup\egroup');
# DefMacro('\Sp',    '^\bgroup\substack\bgroup');
# DefMacro('\endSp', '\cr\egroup\egroup');
DefMacro('\Sb', '\lx@generalized@over{\Sb}{meaning=substack}');
DefMacro('\Sp', '\lx@generalized@over{\Sp}{meaning=superstack}');
Let('\endSb', '\relax');
Let('\endSp', '\relax');

1;
