# This is -*- tcl -*- style script for generate "official"-style 
# title page in RTF
# $Id: official_title,v 1.3 1998/11/11 15:06:02 tobotras Exp $
# ----------------- style sheet ------------------

rtf:sectStyle style_Two_Column "Two cols" {
    LeftMargin		3cm
    RightMargin		2cm
    SectionBreak	None
    Columns		2
}

rtf:sectStyle style_Doc_Title "Document title" -basedon style_Front {
    VAlign		Middle
    BottomMargin	1cm
}

rtf:sectStyle style_Bottom_Section "Bottom section" -basedon style_Front {
    VAlign		Bottom
    BottomMargin	1cm
}

rtf:paraStyle style_Caption_Title "Caption title" -basedon style_Default {
    Font	sans
    FontSize	16pt
    Bold	1
    SpaceBefore	3mm
    SpaceAfter	0pt
    LeftIndent	0pt
    FirstIndent	0pt
}

rtf:paraStyle style_Caption "Official caption" -basedon style_Default {
    LeftIndent	0pt
    FirstIndent	0pt
}

rtf:paraStyle style_Document_Title "Title page title" -basedon style_DocTitle {
    SpaceBefore 6cm
    SpaceAfter  6cm
    FontSize	24pt
    Italic	1
    Bold	1
}

rtf:paraStyle style_Document_Author "Title page author" -basedon style_DocAuthor {
    SpaceBefore 3cm
    SpaceAfter  4mm
}

rtf:paraStyle style_Document_Date "Title page date" -basedon style_DocDate {
    SpaceBefore 0pt
    SpaceAfter  0pt
}

# --------------------- end ----------------------

proc textFilter { text } {
    regsub -all "\[ \n\t\]+" [sFilter $text] " " var
    return $var
}

proc nameSpace { name } {
    global rtfSpecial
    regsub -all " " "$name" $rtfSpecial(EnSpace) var
    return $var
}

rename titlePage {}

proc titlePage {} {
    set ultitle {}
    set ulname {}
    set lltitle {}
    set llname {}
    set urtitle {}
    set urname {}
    set lrtitle {}
    set lrname {}
    set theTitle {}
    set theDate {}

    withNode doctree element "TITLEPAGE" {
	foreachNode subtree element "TITLEPART" {
	    set nVal [attVal "N"]
	    set nCont "[textFilter [content]]"
	    switch $nVal \
		"ultitle" { append ultitle $nCont } \
		"ulname" { append ulname [nameSpace $nCont] } \
		"urtitle" { append urtitle $nCont } \
		"urname" { append urname [nameSpace $nCont] } \
		"lltitle" { append lltitle $nCont } \
		"llname" { append llname [nameSpace $nCont] } \
		"lrtitle" { append lrtitle $nCont } \
		"lrname" { append lrname [nameSpace $nCont] } \
		default { append theTitle $nCont }
	}
	withNode subtree element "DOCDATE" {
	    set theDate "[textFilter [content]]"
	}
    }

    foreach var "ultitle ulname urtitle urname lltitle llname lrtitle lrname theTitle" {
	if { "[set $var]" == "" } {
	    puts stderr "ERROR: All parts of official title page should be defined,
$var not found."
	    return
	}
    }

    rtf:startSection style_Two_Column

    rtf:startPara style_Caption_Title
    rtf:text ""
    rtf:endPara
    rtf:startPara style_Caption
    rtf:write $ultitle
    rtf:endPara
    rtf:startPara style_Caption
    global rtfSpecial
    rtf:write "______________$rtfSpecial(EnSpace)$ulname"
    rtf:endPara
    rtf:startPara style_Caption
    rtf:write "$rtfSpecial(LDQuote)___$rtfSpecial(RDQuote)__________$rtfSpecial(EnSpace)199__$rtfSpecial(EnSpace)."
    rtf:endPara

    rtf:columnBreak

    rtf:startPara style_Caption_Title
    rtf:text ""
    rtf:endPara
    rtf:startPara style_Caption
    rtf:write $urtitle
    rtf:endPara
    rtf:startPara style_Caption
    global rtfSpecial
    rtf:write "______________$rtfSpecial(EnSpace)$urname"
    rtf:endPara
    rtf:startPara style_Caption
    rtf:write "$rtfSpecial(LDQuote)___$rtfSpecial(RDQuote)__________$rtfSpecial(EnSpace)199__$rtfSpecial(EnSpace)."
    rtf:endPara

    rtf:startSection style_Doc_Title
    rtf:startPara style_Document_Title
      rtf:text $theTitle
    rtf:endPara

    rtf:startSection style_Two_Column

    rtf:startPara style_Caption
    rtf:write $lltitle
    rtf:endPara
    rtf:startPara style_Caption
    rtf:write "______________$rtfSpecial(EnSpace)$llname"
    rtf:endPara
    rtf:startPara style_Caption
    rtf:write "$rtfSpecial(LDQuote)___$rtfSpecial(RDQuote)\
__________$rtfSpecial(EnSpace)199__$rtfSpecial(EnSpace)."
    rtf:endPara

    rtf:columnBreak

    rtf:startPara style_Caption
    rtf:write $lrtitle
    rtf:endPara
    rtf:startPara style_Caption
    rtf:write "______________$rtfSpecial(EnSpace)$lrname"
    rtf:endPara
    rtf:startPara style_Caption
    rtf:write "$rtfSpecial(LDQuote)___$rtfSpecial(RDQuote)\
__________$rtfSpecial(EnSpace)199__$rtfSpecial(EnSpace)."
    rtf:endPara

    rtf:startSection style_Bottom_Section

    rtf:startPara style_Document_Author
    rtf:text ""
    rtf:endPara

    if { "$theDate" != "" } {
	rtf:startPara style_Document_Date
	rtf:write $theDate
	rtf:endPara
    }

#    rtf:write "$rtfSpecial(PageBreak)"
}
