diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/akktex/akkmathrel.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/akktex/akkmathrel.sty | 161 |
1 files changed, 161 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/akktex/akkmathrel.sty b/Master/texmf-dist/tex/latex/akktex/akkmathrel.sty new file mode 100644 index 00000000000..d74825267f5 --- /dev/null +++ b/Master/texmf-dist/tex/latex/akktex/akkmathrel.sty @@ -0,0 +1,161 @@ +%===================================================================================================================================== +% Package akkmathrel by Igor Akkerman (c) 2000, 2001, 2002, 2003, 2004, 2005, 2006 +% Package providing utilities for typesetting mathematical relations. +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License (latest version). +% +% The latest version of this license can be found at +% http://www.latex-project.org/lppl.txt +% +% This file may only be distributed together with the full 'AkkTeX' bundle. +%===================================================================================================================================== +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{akkmathrel}[2006/10/22 2.0.1 by Igor Akkerman (c) 2000, 2001, 2002, 2003, 2004, 2005, 2006 Package providing utilities for typesetting mathematical relations] +%===================================================================================================================================== + +\RequirePackage{amsmath} +\RequirePackage{amssymb} +\RequirePackage{amstext} +\RequirePackage{latexsym} +%----------------------------------------------------------------------------------------------------------------------------------------------------------------------- + +\makeatletter + +%------------------------------------------------------------------------------ +% Definition relations +%------------------------------------------------------------------------------ +\newcommand \defas {:=} +\newcommand \asdef {=:} +\newcommand \defequiv {:\iff} +\newcommand \equivdef {\iff:} + +%------------------------------------------------------------------------------ +% Aligned annotated relations +%------------------------------------------------------------------------------ +% \ann{annotation} typesets an annotation in the annotation font +% \annrel{relation}{annotation} typesets an annotated relation +% \alannrel{relation}{annotation} typesets an aligned annotated relation +% \setlength \relwidth {relwidth} defines the maximum required relation width +% \annwidth{annotation} \/ defines the maximum required annotation width +% \annw{annotation} /\ by the width of the specified annotation +% \alrel{relation} align a relation within a box of the width +% of the maximum required annotation width +% \annfont{fontcommand} defines the font to use for annotations +% default: \scriptsize +%------------------------------------------------------------------------------ +\newcommand \ann[1] {% + {\akk@annfontsize #1}% +} + +\newcommand \annrel[2] {% + \stackrel{\mbox{\ann{#2}}}{#1}% +} + +\newcommand \alannrel[2] {% + \stackrel{\makebox[\akk@annwidth]{\ann{#2}}}{#1}% +} + +\newcommand \annwidth[1] {% + \settowidth \akk@annwidth {\mbox{\ann{#1}}}% +} + +\newcommand \annw[1] {% + \annwidth{#1}% +} + +\newcommand \alrel[1] {% + \alannrel{#1}{}% +} + +\newcommand \annfont[1] {% + \renewcommand \akk@annfont {#1}% +} + +\newcommand \akk@annfontsize \scriptsize +\newlength \akk@annwidth +%------------------------------------------------------------------------------ + +%------------------------------------------------------------------------------ +% predefined relations prepared for annotations +%------------------------------------------------------------------------------ +\let \akk@orig@neq \neq +\let \akk@orig@in \in +\let \akk@orig@leq \leq +\let \akk@orig@geq \geq +\let \akk@orig@iff \iff +\let \akk@orig@implies \implies +\let \akk@orig@impliedby \impliedby +\let \akk@orig@leadsto \leadsto +\let \akk@orig@subset \subset +\let \akk@orig@supset \supset +\let \akk@orig@subseteq \subseteq +\let \akk@orig@supseteq \supseteq + +\renewcommand {\=}[1][] {\annrel{=}{#1}} +\newcommand \eq[1][] {\annrel{=}{#1}} +\renewcommand \neq[1][] {\annrel{\akk@orig@neq}{#1}} +\renewcommand \iff[1][] {\annrel{\akk@orig@iff}{#1}} +\renewcommand \implies[1][] {\annrel{\akk@orig@implies}{#1}} +\newcommand \impl[1][] {\annrel{\akk@orig@implies}{#1}} +\renewcommand \impliedby[1][] {\annrel{\akk@orig@impliedby}{#1}} +\newcommand \implby[1][] {\annrel{\akk@orig@impliedby}{#1}} +\renewcommand \in[1][] {\annrel{\akk@orig@in}{#1}} +\renewcommand \leq[1][] {\annrel{\akk@orig@leq}{#1}} +\renewcommand \geq[1][] {\annrel{\akk@orig@geq}{#1}} +\newcommand \lt[1][] {\annrel{<}{#1}} +\newcommand \gt[1][] {\annrel{>}{#1}} +\renewcommand \subset[1][] {\annrel{\akk@orig@subset}{#1}} +\newcommand \subs[1][] {\annrel{\akk@orig@subset}{#1}} +\renewcommand \subseteq[1][] {\annrel{\akk@orig@subseteq}{#1}} +\newcommand \subseq[1][] {\annrel{\akk@orig@subseteq}{#1}} +\renewcommand \supset[1][] {\annrel{\akk@orig@supset}{#1}} +\newcommand \sups[1][] {\annrel{\akk@orig@supset}{#1}} +\renewcommand \supseteq[1][] {\annrel{\akk@orig@supseteq}{#1}} +\newcommand \supseq[1][] {\annrel{\akk@orig@supseteq}{#1}} + +\newcommand \aleq[1][] {\alannrel{=}{#1}} +\newcommand \alneq[1][] {\alannrel{\neq}{#1}} +\newcommand \aliff[1][] {\alannrel{\akk@orig@iff}{#1}} +\newcommand \alimplies[1][] {\alannrel{\akk@orig@implies}{#1}} +\newcommand \alimpl[1][] {\alannrel{\akk@orig@implies}{#1}} +\newcommand \alimpliedby[1][] {\alannrel{\akk@orig@impliedby}{#1}} +\newcommand \alimplby[1][] {\alannrel{\akk@orig@impliedby}{#1}} +\newcommand \alin[1][] {\alannrel{\akk@orig@in}{#1}} +\newcommand \alleq[1][] {\alannrel{\akk@orig@leq}{#1}} +\newcommand \algeq[1][] {\alannrel{\akk@orig@geq}{#1}} +\newcommand \allt[1][] {\alannrel{<}{#1}} +\newcommand \algt[1][] {\alannrel{>}{#1}} +\newcommand \alsubset[1][] {\alannrel{\akk@orig@subset}{#1}} +\newcommand \alsubs[1][] {\alannrel{\akk@orig@subset}{#1}} +\newcommand \alsubseteq[1][] {\alannrel{\akk@orig@subseteq}{#1}} +\newcommand \alsubseq[1][] {\alannrel{\akk@orig@subseteq}{#1}} +\newcommand \alsupset[1][] {\alannrel{\akk@orig@supset}{#1}} +\newcommand \alsups[1][] {\alannrel{\akk@orig@supset}{#1}} +\newcommand \alsupseteq[1][] {\alannrel{\akk@orig@supseteq}{#1}} +\newcommand \alsupseq[1][] {\alannrel{\akk@orig@supseteq}{#1}} + +%------------------------------------------------------------------------------ + + +\newcommand \iffq[1][] {{\iff[#1] \quad}} +\newcommand \qiff[1][] {{\quad \iff[#1]}} +\newcommand \qqiff[1][] {{\qquad \iff[#1]}} +\newcommand \qiffq[1][] {{\quad \iff[#1] \quad}} +\newcommand \qqiffqq[1][] {{\qquad \iff[#1] \qquad}} + +\newcommand \qimplies[1][] {{\quad \implies[#1]}} +\newcommand \qqimplies[1][] {{\qquad \implies[#1]}} +\newcommand \qimpliesq[1][] {{\quad \implies[#1] \quad}} +\newcommand \qqimpliesqq[1][] {{\qquad \implies[#1] \qquad}} + +\newcommand \qimpl[1][] {{\quad \impl[#1]}} +\newcommand \qqimpl[1][] {{\qquad \impl[#1]}} +\newcommand \qimplq[1][] {{\quad \impl[#1] \quad}} +\newcommand \qqimplqq[1][] {{\qquad \impl[#1] \qquad}} + +\providecommand \inv {^{-1}} % inverse relation (do not wrap twice! {{}}) +\providecommand \inverse[1] {{#1}\inv} % inverse of argument +%----------------------------------------------------------------------------------------------------------------------------------------------------------------------- + +\makeatother |