#!/bin/sh
#
#  This is a part of ChiTeX.
#  This script is created by 
#    Hung-Yih Chen ()  (yih@math.ncu.edu.tw)
#               (Dept. of Mathematics, National Central Univ.)
#  Last revised on Aug 20, 1999
# 
#                All rights preserved   
#

gawkloc=`which gawk|grep ":"`
if test "$gawkloc" = ""; then
   gawkloc=`which gawk|grep "no gawk"`
fi
if test "$gawkloc" != ""; then
   gawkbin="awk"
else
   gawkbin="gawk"
fi


$gawkbin '
BEGIN{
addperc=0
outlinelast=""
}
{sww=0
 outline=""  
  {
   #crloc=index($0,"
")
   crloc=index($0,"\r")
   if (crloc > 0)
      {inline=substr($0,1,crloc-1) substr($0,crloc+1,length($0)-crloc)}
   else 
      inline=$0
   fi
  }
  inlinenew=inline
  percent=index(inline,"%")
  {if (percent > 0)
     inline=substr(inline,1,percent-1)
  fi}       
#

  {if (addperc == 0)
     { beginperc=index(inline,"\\addpercent")
       if (beginperc > 0)
          {beginpercprev=1}
     }      
   fi
  }
  {if (beginpercprev > 0)
      {unaddperc=index(inline,"\\unaddpercent")
       if (unaddperc > 0)
          {beginpercprev=0}
       fi
      }
  }
  {if (beginpercprev > 0)
      {
       if (begintab == 0)
          {begintab=index(inline,"\\chtabverbatim")}
       if (endtab == 0)
          {endtab=index(inline,"\\endchtabverbatim")}
       if (beginverb == 0)
         {beginverb=index(inline,"\\begin{verbatim}")}
       if (endverb == 0)       
          {endverb=index(inline,"\\end{verbatim}")}
       
       if (beginchverv > 0 || begintab > 0 || beginverb > 0)
         {if (begintab > 0) 
             {if (endtab > 0)
                 {begintab=0
                  endtab=0
                  addperc=1}
              else
                 addperc=0
             }
          if (beginverb > 0) 
             {
              if (endverb > 0)
                 {beginverb=0
                  endtaverb=0
                  addperc=1}
              else
                 addperc=0
             }
         }
       else
          {addperc=1}
      }
   else 
     addperc=0
  }
  {if (addperc > 0)
    {
     leninlinenew=length(inlinenew)
     if (substr(inlinenew,leninlinenew,1) == "%")
        {if (leninlinenew > 2)
           {if (substr(inlinenew,leninlinenew-2,1) > "\240")
               {inlinenew=substr(inlinenew,1,leninlinenew-1)}
           }
        }
     outline=inlinenew "
"
    }
  else
     outline=inlinenew
  }   

  {
   outlinelast=inlineold outlinelast
   if (outlinelast != "")
   {lastchar=substr(outlinelast,length(outlinelast),1)
    if (lastchar != "
")
       {outlinelast=inlineold outlinelast 
        print outlinelast 
        inlineold="" }
    else
       {firstchar=substr(outline,1,1)
        if (firstchar > "\240" && firstchar < "\372")
           {lenoutline=length(outlinelast) 
            kk=lenoutline-1
            i=1
            sec=0
            while (kk > i-1)
                {ch=substr(outlinelast,i,1)
                 i=i+1
                 if (ch > "\240" && ch < "\372")
                    {sec=1
                     i=i+1
                     }
                 else
                     {sec=0}
                 }

            if (sec == 1 && lenoutline >2)
               {lchar=substr(outlinelast,lenoutline-2,2)

#                print substr(outlinelast,1,lenoutline-1) "%" 
                inlineold=substr(outlinelast,1,lenoutline-1)
                }
            else
               {print substr(outlinelast,1,lenoutline-1)
                inlineold="" }
           }
        else
           {outlinelast=substr(outlinelast,1,length(outlinelast)-1)
            print outlinelast 
            inlineold=""}
        }
    }
   else
   {print outlinelast }
    outlinelast=outline
   }
}
END{
print outlinelast 
inlineold="" 
}' $1.tex |\
chifilt


exit
