policz_slowa () {
# Zmienna globalna `max' sluzy do przekazania liczby linii wolajacemu
  max=0
  while read x; do
    i=0
    for y in $x; do
      i=`expr $i + 1`
    done
    if [ $max -le $i ]; then
      max=$i
    fi
  done
}

wypisz_linie () {
# Tu wypisuje linie pliku; argumenty: plik wyjsciowy, max slow w linii
  while read x ; do
    i=1
    for y in $x; do
      echo -n $y >> $1
      i=`expr $i + 1`
      if [ $i -le  $2 ] ; then
        echo -n " & " >> $1
      fi 
    done
    i=`expr $i + 1`
    while [ $i -le $2 ] ; do
      echo -n "& " >> $1
      i=`expr $i + 1`
    done
    echo \\\\\\hline >> $1 
  done
}

# Glowna czesc programu

policz_slowa < $2
 
i=1
align=\|
while [ $i -le  $max ] ; do
  align=$align$1\|
  i=`expr $i + 1`
done

echo \\documentstyle{article} > $3
echo \\begin{document} >> $3
echo \\begin{tabular}{$align}\\hline >> $3

wypisz_linie $3 $max < $2

echo \\end{tabular} >> $3
echo \\end{document} >> $3
