capture program drop title
program define title
*!2.0 June 6 2000 Jan Brogger
	version 6.0

	/* get everything thats before the comma into titles */

	gettoken part 0 : 0, parse(" ,") quotes
	while `"`part'"' ~= "," & `"`part'"' ~= "" {
		local left `"`left' `part'"'
		gettoken part 0 : 0, parse(" ,") quotes
	}

	local titles `"`left'"'
	local 0 `",`0'"'

	*di `"0 -`0'-"'
	*di `"titles -`titles'-"'

	syntax  [,ll ss xl xxl n(integer -1) bl(integer -1)]

	local lins=2
	local blanks=1
	if ("`ss'" ~= "") {
		local lins= 1
		local blanks=1
	}
	if ("`ll'" ~= "") {
		local lins= 3
		local blanks=1
	}
	if ("`xl'" ~= "") {
		local lins= 3
		local blanks=2
	}
	if ("`xxl'" ~= "") {
		local lins= 5
		local blanks=3
	}
	if (`n' >0 ) {
		local lins=`n'
	}
	if (`bl' >0 ) {
		local blanks=`bl'
	}


	local lin_i = 1
	while  (`lin_i' <= `blanks' ) {
		di _newl
		local lin_i = `lin_i'+1
	}

	local lin_i = 1
	while  (`lin_i' <= `lins' ) {
		di _dup(79) "*"
		local lin_i = `lin_i'+1
	}


	local lin_i = 1
	while  (`lin_i' <= `lins' ) {
		di _dup(5) "*" _col(75) _dup(5) "*"
		local lin_i = `lin_i'+1
	}


	tokenize `"`titles'"'

	while "`1'" ~= "" {

		local col=int((80-length(`"`1'"'))/2)

		di _dup(5) "*" _col(`col') "`1'" _col(75) _dup(5) "*"

		macro shift 1
	}


	local lin_i = 1
	while  (`lin_i' <= `lins' ) {
		di _dup(5) "*" _col(75) _dup(5) "*"
		local lin_i = `lin_i'+1
	}
	di _dup(5) "*" _col(50) "$S_DATE" _col(65) "$S_TIME" _col(75) _dup(5) "*"



	local lin_i = 1
	while  (`lin_i' <= `lins' ) {
		di _dup(79) "*"
		local lin_i = `lin_i'+1
	}


	local lin_i = 1
	while  (`lin_i' <= `blanks' ) {
		di _newl
		local lin_i = `lin_i'+1
	}

end