#! /bin/sh
######################################
##### Model Transformation Tools #####
######################################
# Bourne shell script: struc_txt2tex
# Structure file - text to TeX table conversion
# P.J.Gawthrop April 1997
# Copyright (c) P.J.Gawthrop, 1997.
###############################################################
## Version control history
###############################################################
## $Id$
## $Log$
# Revision 1.3 1997/12/06 19:10:41 peterg
# Reverted to tabular --- from supertabular
#
# Revision 1.2 1997/04/15 11:17:58 peterg
# Uses supertabular for long tables.
#
# Revision 1.1 1997/04/15 09:49:04 peterg
# Initial revision
#
###############################################################
# Inform user
echo "Creating $1_struc.tex"
rm -f mtt_error
#Write some file headers
echo "%% Structure file ($1_struc.txt)" > $1_struc.tex
echo "%% Generated by MTT at `date`" >> $1_struc.tex
# This is the main transformation using awk
sed 's/_/\\_/g' < $1_struc.txt | awk '
function header(what){
print " \\centering";
print " \\tablefirsthead{\\hline %";
print " \\multicolumn{4}{|c|}{\\bf List of " what "s for system " SYSTEM "} \\\\";
print " \\hline";
print " & Component & System & Repetition \\\\";
print " \\hline}";
print " \\tablehead{\\hline %";
print " \\multicolumn{4}{|c|}{\\bf List of " what "s for system " SYSTEM " (continued)} \\\\";
print " \\hline";
print " & Component & System & Repetition \\\\";
print " \\hline}";
print " \\tabletail{\\hline}";
print " \\begin{supertabular}{|l|l|l|l|}";
}
#function header(what){
# print "\\begin{table}[htbp]";
# print " \\centering";
# print " \\begin{tabular}{|l|l|l|l|}"; print " \\hline";
# print " & Component & System & Repetition \\\\";
# print " \\hline";
#}
function footer(what){
print " \\hline";
print " \\end{supertabular}";
# print " \\end{tabular}";
# print " \\caption{" what "}";
# print "\\end{table}";
print " \\bigskip";
print " \\bigskip";
}
BEGIN{
Which=""
}
{
if ($1!=Which) {
if (Which!="") footer(Which);
header($1);
}
print $2, "&", $3,"&", $4, "&", $5, "\\\\";
Which = $1;
}
END{
footer(Which)
}
' SYSTEM=$1 >> $1_struc.tex 2>mtt_error.txt
# Now invoke the standard error handling.
mtt_error mtt_error.txt