-# This file is part of
-# ==================================================================
-#
-# LyX, the Document Processor
-#
-# Copyright (C) 1997 LyX Team
-#
-# Version 0.1, May 28 1997
-#
-# ==================================================================
+# -*- text -*-
+
+# file math.bind
+# This file is part of LyX, the document processor.
+# Licence details can be found in the file COPYING.
-# This file provides math mode keys. Most were suggested by John Weiss
-# and modified by Alejandro Aguilar Sierra to be used with different
+# author John Weiss
+# author Alejandro Aguilar Sierra
+# author Lars Gullik Bjønnes
+# author Jean-Marc Lasgouttes
+# author John Levon
+# author André Pönitz
+# author Michael Gerz
+# author Martin Vermeer
+
+# Full author contact details are available in file CREDITS.
+
+# This file provides math mode keys. Most were suggested by John Weiss
+# and modified by Alejandro Aguilar Sierra to be used with different
# keyboard layouts.
#
# This file is automatically included from the main bind file.
# These are defined for the math menu:
-\bind "M-m f" "math-insert frac"
-\bind "M-m s" "math-insert sqrt"
-\bind "M-m e" "math-insert ^"
-\bind "M-m x" "math-insert _"
-\bind "M-m u" "math-insert sum"
-\bind "M-m i" "math-insert int"
-\bind "M-m m" "math-mode"
+\bind "M-m f" "math-insert \frac"
+\bind "M-m s" "math-insert \sqrt"
+\bind "M-m e" "math-superscript"
+\bind "M-m x" "math-subscript"
+
+\bind "M-m u" "math-insert \sum"
+\bind "M-m i" "math-insert \int"
+\bind "M-m m" "math-mode" # produces mathematical text
\bind "M-m d" "math-display"
-\bind "M-m g" "math-greek"
-\bind "M-m S-G" "math-greek-toggle"
-\bind "M-m o" "math-insert oint"
-\bind "M-m p" "math-insert partial"
-\bind "M-m r" "math-insert root"
+\bind "M-m y" "math-insert \oint"
+\bind "M-m p" "math-insert \partial"
+\bind "M-m r" "math-insert \root"
\bind "M-m l" "math-limits"
+\bind "M-m S-L l" "math-limits limits"
+\bind "M-m S-L n" "math-limits nolimits"
+\bind "M-m S-L space" "math-limits empty"
+
\bind "M-m n" "math-number"
\bind "M-m S-N" "math-nonumber"
-\bind "M-m 8" "math-insert infty"
-\bind "M-m v" "accent-vector"
+\bind "M-m 8" "math-insert \infty"
+
+\bind "M-m o 1" "self-insert \#1"
+\bind "M-m o 2" "self-insert \#2"
+\bind "M-m o 3" "self-insert \#3"
+\bind "M-m o 4" "self-insert \#4"
+\bind "M-m o 5" "self-insert \#5"
+\bind "M-m o 6" "self-insert \#6"
+\bind "M-m o 7" "self-insert \#7"
+\bind "M-m o 8" "self-insert \#8"
+\bind "M-m o 9" "self-insert \#9"
+
+\bind "M-m t n" "math-mutate none"
+\bind "M-m t t" "math-mutate dump"
+\bind "M-m t a" "math-mutate align"
+\bind "M-m t i" "math-mutate simple"
+\bind "M-m t d" "math-mutate equation"
+\bind "M-m t e" "math-mutate eqnarray"
+\bind "M-m t m" "math-mutate multline"
+
+\bind "M-m c i" "tabular-feature append-column"
+\bind "M-m c d" "tabular-feature delete-column"
+\bind "M-m c c" "tabular-feature copy-column"
+\bind "M-m c s" "tabular-feature swap-column"
+\bind "M-m c a" "tabular-feature add-vline-left"
+\bind "M-m c e" "tabular-feature delete-vline-left"
+\bind "M-m c z" "tabular-feature add-vline-right"
+\bind "M-m c x" "tabular-feature delete-vline-right"
+
+\bind "M-m w i" "tabular-feature append-row"
+\bind "M-m w d" "tabular-feature delete-row"
+\bind "M-m w c" "tabular-feature copy-row"
+\bind "M-m w s" "tabular-feature swap-row"
+\bind "M-m w a" "tabular-feature add-hline-above"
+\bind "M-m w e" "tabular-feature delete-hline-above"
+\bind "M-m w z" "tabular-feature add-hline-below"
+\bind "M-m w x" "tabular-feature delete-hline-below"
+
+\bind "M-m w t" "tabular-feature valign-top"
+\bind "M-m w m" "tabular-feature valign-middle"
+\bind "M-m w b" "tabular-feature valign-bottom"
+\bind "M-m c l" "tabular-feature align-left"
+\bind "M-m c m" "tabular-feature align-center"
+\bind "M-m c r" "tabular-feature align-right"
+
+# Decoration accents
# The accent-circumflex is 'h' for 'hat', which is what most math
# folks call it verbally.
-\bind "M-m b" "math-insert overline"
-\bind "M-m h" "accent-circumflex"
-\bind "M-m ~S-period" "accent-dot"
-\bind "M-m ~S-asciitilde" "accent-tilde"
-\bind "M-m ~S-apostrophe" "math-insert prime"
-\bind "M-m ~S-quotedbl" "accent-umlaut"
+\bind "M-m ~S-quotedbl" "math-insert \ddot"
+\bind "M-m h" "math-insert \hat"
+\bind "M-m ~C-~M-~S-backslash" "math-insert \grave"
+\bind "M-m ~S-slash" "math-insert \acute"
+\bind "M-m ~C-~M-~S-ampersand" "math-insert \tilde"
+\bind "M-m ~S-minus" "math-insert \bar"
+\bind "M-m ~S-period" "math-insert \dot"
+\bind "M-m S-V" "math-insert \check"
+\bind "M-m S-U" "math-insert \breve"
+\bind "M-m v" "math-insert \vec"
+\bind "M-m ~S-underscore" "math-insert \underbar"
+\bind "M-m b" "math-insert \overline"
+\bind "M-m ~S-apostrophe" "math-insert \prime"
# These do pairs of: () {} [] <> ||
\bind "M-m ~S-parenleft" "math-delim ( )"
-\bind "M-m ~S-bracketleft" "math-delim [ ]"
-\bind "M-m ~S-braceleft" "math-delim { }"
-\bind "M-m ~S-less" "math-delim langle rangle"
-\bind "M-m ~S-greater" "math-delim rangle langle"
-\bind "M-m ~S-bar" "math-delim | |"
+\bind "M-m ~C-~M-~S-bracketleft" "math-delim [ ]"
+\bind "M-m ~C-~M-~S-braceleft" "math-delim { }"
+\bind "M-m ~S-less" "math-delim langle rangle" # produces < >
+\bind "M-m ~S-greater" "math-delim rangle langle" # produces > <
+\bind "M-m ~C-~M-~S-bar" "math-delim | |"
-# Note: it's easy to insert binary relations like \pm, \mp, \neq, \geq,
+# Note: it's easy to insert binary relations like \pm, \mp, \neq, \geq,
# and \leq just by typing them. However it's easier to remember these:
-\bind "M-m ~S-plus" "math-insert pm"
-\bind "M-m ~S-equal" "math-insert neq"
+\bind "M-m ~S-plus" "math-insert \pm"
+\bind "M-m ~S-equal" "math-insert \neq"
+
+\bind "Escape" "escape"
+\bind "C-Tab" "cell-split"
+\bind "M-m space" "math-space"
+
+# math-macros
+\bind "C-plus" "math-macro-unfold"
+\bind "C-minus" "math-macro-fold"
+
+# This should be handled properly by some "get the next key" method
+
+\bind "M-m g a" "math-insert \alpha"
+\bind "M-m g b" "math-insert \beta"
+\bind "M-m g c" "math-insert \chi"
+\bind "M-m g d" "math-insert \delta"
+\bind "M-m g e" "math-insert \epsilon"
+\bind "M-m g f" "math-insert \phi"
+\bind "M-m g g" "math-insert \gamma"
+\bind "M-m g h" "math-insert \eta"
+\bind "M-m g i" "math-insert \iota"
+\bind "M-m g j" "math-insert \varphi"
+\bind "M-m g k" "math-insert \kappa"
+\bind "M-m g l" "math-insert \lambda"
+\bind "M-m g m" "math-insert \mu"
+\bind "M-m g n" "math-insert \nu"
+\bind "M-m g o" "math-insert \omega"
+\bind "M-m g p" "math-insert \pi"
+\bind "M-m g q" "math-insert \vartheta"
+\bind "M-m g r" "math-insert \rho"
+\bind "M-m g s" "math-insert \sigma"
+\bind "M-m g t" "math-insert \tau"
+\bind "M-m g u" "math-insert \upsilon"
+\bind "M-m g v" "math-insert \theta"
+\bind "M-m g w" "math-insert \omega"
+\bind "M-m g x" "math-insert \xi"
+\bind "M-m g y" "math-insert \psi"
+\bind "M-m g z" "math-insert \zeta"
+
+\bind "M-m g S-D" "math-insert \Delta"
+\bind "M-m g S-E" "math-insert \varepsilon"
+\bind "M-m g S-F" "math-insert \Phi"
+\bind "M-m g S-G" "math-insert \Gamma"
+\bind "M-m g S-I" "math-insert \iota"
+\bind "M-m g S-J" "math-insert \epsilon"
+\bind "M-m g S-L" "math-insert \Lambda"
+\bind "M-m g S-O" "math-insert \Omega"
+\bind "M-m g S-P" "math-insert \Pi"
+\bind "M-m g S-Q" "math-insert \vartheta"
+\bind "M-m g S-R" "math-insert \varrho"
+\bind "M-m g S-S" "math-insert \Sigma"
+\bind "M-m g S-T" "math-insert \varsigma"
+\bind "M-m g S-U" "math-insert \Upsilon"
+\bind "M-m g S-V" "math-insert \Theta"
+\bind "M-m g S-W" "math-insert \Omega"
+\bind "M-m g S-X" "math-insert \Xi"
+\bind "M-m g S-Y" "math-insert \Psi"