/* COPYRIGHT (C) 1987  Kamal Al-Yahya */
#include    "setups.h"
Eqn(buffer,out_file)                    /* srips TEX equations */

FILE *out_file;
char *buffer;
{
int c,d;
int i;
char w[MAXLINE], ww[MAXWORD];
while ((c = *buffer++) != NULL)
       {
       if(c == '%')
               {
               while ((c = *buffer++) != NULL)
                       if (c == '\n') break;
               }
       else if(c == '$')
               {
               if ((d = *buffer++) == '$')
                       {
                       putc(c,out_file);       putc(d,out_file);
                       while ((c = *buffer++) != NULL)
                               {
                               if(c != '$')   putc(c,out_file);
                               else
                                       {
                                       buffer++;
                                       fprintf(out_file,"$$ \n");
                                       break;
                                       }
                               }
                       }
               }
/* check for LaTeX \begin{equation}, \begin{eqnarray}, and \begin{displaymath} */
       else if(c == '\\')
               {
               c = *buffer++;
               if (c == '[')
                       {
                       putc('\\',out_file); putc(c,out_file);
                       while((c = *buffer++) != NULL)
                               {
                               if(c == '\\')
                                       {
                                       c = *buffer++;
                                       fprintf(out_file,"\\%c",c);
                                       if (c == ']')
                                               {
                                               putc('\n',out_file);
                                               break;
                                               }
                                       }
                               else
                                       putc(c,out_file);
                               }
                       continue;
                       }
               buffer--;
               buffer += get_buf_word(buffer,w);
               if (strcmp(w,"begin") == 0)
                       {
                       buffer++;
                       i = get_buf_word(buffer,w);
                       buffer += i;
                       if (strcmp(w,"equation") == 0 || strcmp(w,"eqnarray")
                               == 0 || strcmp(w,"displaymath") == 0)
                               {
                               fprintf(out_file,"\\begin{%s}",w);
                               buffer++;
                               while ((c = *buffer++) != NULL)
                                       {
                                       putc(c,out_file);
                                       if (c == '\\')
                                               {
                                               i = get_buf_word(buffer,ww);
                                               buffer += i;
                                               fprintf(out_file,"%s",ww);
                                               if (strcmp(ww,"end") == 0)
                                                       {
                                                       buffer++;
                                                       i = get_buf_word(buffer,ww);
                                                       buffer += i;
                                                       fprintf(out_file,
                                                               "{%s}\n",ww);
                                                       buffer++;
                                                       if (strcmp(ww,"equation")
                                                           == 0 ||
                                                           strcmp(ww,"eqnarray")
                                                           == 0 ||
                                                           strcmp(ww,"displaymath")
                                                           == 0)
                                                               break;
                                                       }
                                               }
                                       }
                               }
                       }
               else if (strcmp(w,"def") == 0)
                       {
                       i = def(buffer,w);
                       buffer += i;
                       fprintf(out_file,"\\def%s\n",w);
                       }
               else if (strcmp(w,"newcommand") == 0)
                       {
                       i = command(buffer,w);
                       buffer += i;
                       fprintf(out_file,"\\newcommand%s\n",w);
                       }
               }
       }
}