-
-
- %********************************************* \NLDROP has a preceding node *********************************************
-
- %rule handling the case where the preceding node is a token or an empty macro.
- \item{\verb+*[(i||n||o||s||c[^$])#]/+$\NLDROP$}\\
- remove the \INODE{}, \NNODE{}, \ONODE{}, \SNODE{} or the \CNODE{} node.
- %rule handling the case where the preceding node is a group
- \item{\verb+*[g#]/+$\NLDROP$}\\
- remove the $\NLDROP$ append it to the \G{} node.
- %rule handling the case where the preceding node is a script
- \item{\verb+*[<sp|sb>#]/+$\NLDROP$}\\
- remove the $\NLDROP$ append it to the \SP{} or \SB{} node.
- %rule handling the case where the preceding node is an open-right macro
- \item{\verb+*[(c[^p[@right-open='1']$])#]/+$\NLDROP$}\\
- remove the $\NLDROP$ and append it to the \PNODE{} node.
- %rule handling the case where the preceding node is a left-open macro (and not right-open), and the p node of this macro has no children
- \item{\verb+*[(c[^p[!(@right-open='1')][@left-open='1'][^$]$])#]/+$\NLDROP$}\\
- remove the \CNODE node.
- %rule handling the case where the preceding node is a left-open macro (and not right-open), and the p node of this macro has children
- \item{\verb+*[(c[^p[!(@right-open='1')][@left-open='1']$])#]/+$\NLDROP$}\\
- replace the \CNODE{} node with the content of the \PNODE{} node.
- %rule handling the case where the preceding node is a macro with parameter(s)
- \item{\verb+*[c#]/+$\NLDROP$}\\
- remove the $\NLDROP$ and append it to the \CNODE{} node.
-
- %rule handling the deletion of primes in superscript
-
- %there are more than one prime in the phantom group
- \item{\verb+sp[!(@id)][*#$]/g[!(@id)][o#]/+$\NLDROP$}\\
- remove the \ONODE node, remove the $\NLDROP$ and insert the cursor after the \SP{} node.
- %there is one and only one prime in the phantom group
- \item{\verb+sp[!(@id)][*#$]/g[!(@id)][^o#]/+$\NLDROP$}\\
- replace the \SP{} node with it's first child and insert the cursor after it
-
- %*** rules handling the case where the \NLDROP's parent is a macro (with parameter) ***
-
- %the node preceding the \NLDROP is a delimiter
- \item{\verb+c[(<i|n|o|s|c>)#]/+$\NLDROP$}\\
- remove the $\NLDROP$ and insert it before the \INODE{}, \NNODE{}, \ONODE{}, \SNODE{} or \CNODE{} node.
- %the node preceding the \NLDROP is parameter
- \item{\verb+c[p#]/+$\NLDROP$}\\
- remove the $\NLDROP$ and append it to the \PNODE{} node.
-
- %********************************************* the \NLDROP has no preceding nodes ****************************************************
-
- %if the \NLDROP has no preceding nodes, but has following nodes...
- \item{\verb+<g|p>[#*]/+$\NLDROP$}\\
- replace the $\NLDROP$ with the cursor.
- %rule handling the case where the $\NLDROP$ is the only child of a group with id.
- \item{\verb+g[@id][^#$]/+$\NLDROP$}\\
- replace the \G{} node with the $\NLDROP$.
- %\NLDROP is the first child of a macro with no inserted parameter
- \item{\verb+c[!(p[*])][^#]/+$\NLDROP$}\\
- replace the \CNODE{} with the $\NLDROP$.
- %\NLDROP is the first child of a macro with some inserted parameter
- \item{\verb+c[p[*]][^#]/+$\NLDROP$}\\
- put the cursor in the first \PNODE{} node.
-
-
- %**** rule handling the case where the \NLDROP has a preceding token or a preceding empty macro, which is either undefined or empty ****
-
- %%the \NLDROP's parent is neither a macro nor a phantom group which in turn is a sp's child and the token is a prime
- %\item{\verb+*[(i||n||o||s||c[^$])#]/+$\NLDROP$}\\
- %replace the \INODE{}, \NNODE{}, \SNODE{}, \ONODE{}, \SNODE{} or \CNODE{} node with the cursor and remove the $\NLDROP$.
- %%the \NLDROP's parent is a macro with argument
- %\item{\verb+c[((!(p[@left-open='1']))&(!(p[@right-open+'1'])))][(i||n||o||s||c[^$])#]/+$\NLDROP$}\\
- %remove the $\NLDROP$ and insert it before the \INODE{}, \NNODE{}, \ONODE{}, \SNODE{} or \CNODE{} node.
- %%rule handling the case where the \NLDROP's parent is a phantom group, which in turn is a sp's child
- %\item{\verb+sp[!(@id)][^*#$]/g[!(@id)][o#$]/+$\NLDROP$}\\
- %remove the \ONODE{} node
-
- %********************************* rules handling the case where the \NLDROP has a preceding group **************************************
- \item{\verb+*[g#]/+$\NLDROP$}\\
- remove the $\NLDROP$ and append it to the \G{} node.
-