LaTeXML

 view release on metacpan or  search on metacpan

lib/LaTeXML/Package/mathabx.sty.ltxml  view on Meta::CPAN

# -*- mode: Perl -*-
# /=====================================================================\ #
# | mathabx.sty                                                         | #
# | 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.     | #
# |---------------------------------------------------------------------| #
# | 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;

#======================================================================
# Specials  (matha/mathb)
# These are intended to overlay to show negation,
# but they're not going to work well for that.
DefMath('\notsign',    '|', role => 'OPERATOR', meaning => 'not');
DefMath('\varnotsign', '/', role => 'OPERATOR', meaning => 'not');
DefPrimitive('\changenotsign', sub {
    Info('unexpected', '\\changenotsign', $_[0],
      "The \\changenotsign operation of mathabx is not implemented."); });
# \cdotp

#======================================================================
# Usual binary operators (matha)
#   +, -
#   \times, \div
#   \cdot, \circ
#   *, \ast
DefMath('\asterisk', "\x{2217}", role => 'MULOP');
# DefMath('\coasterisk',Tokens());
DefMath('\ltimes', "\x{22C9}", role => 'MULOP', meaning => 'left-normal-factor-semidirect-product');
DefMath('\rtimes', "\x{22CA}", role => 'MULOP', meaning => 'right-normal-factor-semidirect-product');
#   \diamond, \bullet
#   \star
DefMathI('\varstar', undef, "\x{2736}", role => 'MULOP');
# Next two probably text style or small size?
DefMathI('\ssum',  undef, "\x{2211}", role => 'SUMOP', meaning => 'sum');
DefMathI('\sprod', undef, "\x{220F}", role => 'SUMOP', meaning => 'product');
#   \amalg

#======================================================================
# Unusual binary operators (mathb)
DefMath('\dotplus',  "\x{2214}", role => 'ADDOP');
DefMath('\dotdiv',   "\x{2238}", role => 'MULOP');
DefMath('\dottimes', "\x{2A30}", role => 'MULOP');
DefMath('\divdot',   "\x{2A2A}", role => 'MULOP');
DefMath('\udot',     "\x{22C5}", role => 'MULOP');    # Same as \cdot, but should shift to left
DefMath('\square',   "\x{25A1}", role => 'MULOP');
DefMath('\Asterisk', "\x{273D}", role => 'MULOP');
DefMath('\bigast',   "\x{273D}", role => 'MULOP');
# DefMath('\coAsterisk',Tokens());
# DefMath('\bigcoast',Tokens());
DefMath('\circplus',      "\x{2A22}",  role => 'MULOP');
DefMath('\pluscirc',      "\x{2295}",  role => 'MULOP');    # Not quite right glyph
DefMath('\convolution',   "\x{2733}",  role => 'MULOP');
DefMath('\divideontimes', "\x{22C7}",  role => 'MULOP');
DefMath('\blackdiamond',  "\x{25C6}",  role => 'MULOP');
DefMath('\sqbullet',      "\x{2BC0}",  role => 'MULOP');
DefMath('\bigstar',       "\x{1F7CA}", role => 'MULOP');
DefMath('\bigvarstar',    "\x{1F7CC}", role => 'MULOP');

#======================================================================
# Usual relations (matha)
#   =, \equiv
#   \sim, \approx
#   \simeq, \cong
#   \asymp
DefMath('\divides', "\x{2223}", role => 'RELOP');
#   \neq, \ne,
DefMath('\nequiv', "\x{2262}", meaning => 'not-equivalent-to', role => 'RELOP');
Let('\notequiv', '\nequiv');
DefMath('\nsim', "\x{2241}", role => 'RELOP',
  meaning => 'not-similar-to');    # NOTE TILDE
DefMath('\napprox', "\x{2249}", meaning => 'not-approximately-equals', role => 'RELOP');



( run in 0.842 second using v1.01-cache-2.11-cpan-f56aa216473 )