#!/bin/sh

### example: mtable.sh "8 8 8 8 8" > table8x5.html
### joker : *
###
### tables 
### l-2.dat :   1    -    10^7
### l-3.dat :   10^7 -  2.10^7

MODEL="$1"

DATAS="l-2.dat l-3.dat"
MAXI="2×10<sup>7</sup>"       ## HTML format

AWK=gawk

cat $DATAS | $AWK  -v maxi="$MAXI" -v p="$MODEL" '
function writetable1( j) {
  print "<table  border=\"0\" cellpadding=\"5\" cellspacing=\"6\">"
  print "<tr>"
  for(j=0; j<tcols; j++) {
    print "<td valign=\"top\">"
    if(current< totalelements)
      writetable2()
    print "</td>"
  }
  print "</tr></table>"
}
function tetetable() {
  print "<tr bgcolor=\"#859b8c\"><td><i>rg</i></td><td><i>n</i></td><td>P(<i>n</i>)</td></tr>"
  
}
function writetable2(  k) {
 print "<table bgcolor=\"#d0d0d0\" border=\"1\" cellpadding=\"3\" cellspacing=\"2\">"
   if(current< totalelements) tetetable();
   for(k=0; k<tlignes && current< totalelements; k++) {
#      print "<tr><td bgcolor=\"#feabb9\">" (current+1) "</td><td bgcolor=\"#c0adfe\">" tabrang[current] "</td><td bgcolor=\"#fee984\">" table[current] "</td></tr>"
print "<tr><td bgcolor=\"#dbd0d0\">" (current+1) "</td><td bgcolor=\"#dbd0db\">" tabrang[current] "</td><td bgcolor=\"#eae5c5\">" table[current] "</td></tr>"
      current++
   }
 print "</table>"
}
function entete() {
  print "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">"
  print "<html>"
  print "  <head>"
  print "  <title>Table de n-uples de nombres pratiques. Différences : " model  "</title>"
  print "    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">"
  print "    <meta name=\"Generator\" content=\"HTML (shell+awk script)\" />"
  print "    <meta name=\"Author\" content=\"Jean-Paul Davalan\">"
  print "    <meta name=\"Copyright\" content=\"2002 Jean-Paul Davalan\">"
  print "    <meta name=\"Title\" content=\"n-uples de nombres pratiques " model "\">"
  print "    <meta name=\"KeyWords\" content=\"Arithmétique, Nombre pratique,n-uple,différences finies\">"
  print "    <meta name=\"Language\" CONTENT=\"fr\">"
  print "    <meta name=\"robots\" CONTENT=\"All\">"
  print "  <head>"
  print "<body background=\"fond2.jpg\">"
  print "<center><h1>n-uples de nombres pratiques</h1></center>"
  print "<br />"
  print ""
  print "<strong>Modèle</strong> <i>(différences entre nombres pratiques consécutifs)</i> : " model
  print "<br /><br />"
  print "Chaque ligne donne dans trois colonnes adjacentes le rang du n-uple, le rang du plus petit élément du n-uple puis cet élément"
  print "<br />Les nombres pratiques sont extraits de la table de 1 à " maxi
  print "<br /><br />"
}

BEGIN {
  n=0; k=1; lignes=0;
  pattern=0;
  tcols= 4
  tlignes=16
}

(pattern==0) {
        gsub(/[\t ]+$/,"",p);
        gsub(/^[\t ]+/,"",p);
        np = split(p, pa, /[\t ]+/);
        pattern=1;
}

(NF==2 && pattern==1) {
        lignes++;
        tab[np+1] = $2;
        test=1
        for(i=1;i<=np && test==1;i++) {
           if( tab[i+1]-tab[i]!=pa[i]) test=0;
        }
        if(test==1) {
          table[n]=tab[1]
          tabrang[n] = $1-np
          n++
        }
        for(i=1;i<=np;i++) tab[i]=tab[i+1];
}

END {
  model = p
  totalelements = n
  nelttable = tcols*tlignes
  u=n%nelttable
  ntables = (n-u)/nelttable;   
  if(u !=0) ntables += 1;
  current=0;
  entete()
  for(it=0;it<ntables; it++) {
    writetable1();
  }
  print "<br /><br />"
  print "<center><font size=\"-1\"> | <a href=\"../../index.html\">Accueil</a> | <a"
  print "href=\"prnumbers.html\">Nombres pratiques</a> | <a"
  print "href=\"../../bn/index.html\">Bloc notes</a> | <a href=\"../../graphs/index.html\">Graphes</a> | <a"
  print "href=\"../../jeux/index.html\">Jeux</a> | <a href=\"../../calc/arit/index.html\">Arithmétique</a> | <a"
  print "href=\"../../divers/index.html\">Divers</a> | <a href=\"../../l2003/index.html\">Lycée</a> | <a"
  print "href=\"../../liens/index.html\">Liens</a | </font></center>"
  print "<br /><br />"
  print "<address><a href=\"mailto:jpdvl@wanadoo.fr\"><font color=\"a0a0a0\" size=\"-1\">Jean-Paul Davalan</font></a> <font color=\"a0a0a0\" size=\"-1\">2002</font></address>"
  print "<br /><br />"
  print"</body>\n</html>"
}'
