"]\n
    }
    set even [expr {1-$even}]
    if {[info exists kwid($text)]} {
	set anchor $kwid($text)
    } else {
	set anchor key$cnt
	incr cnt
    }
    append  res "    [markup {| }]"
    append  res "[markup ""] ${text} [markup ][tag/ td]\n"
    append  res "    [markup { | }]\n"
    return $res
}
proc FlushReferences {} {
    global firstkey reflist
    set res ""
    if {!$firstkey} {
	set lines [list]
	foreach {ref label} $reflist {
	    lappend lines "\t[markup ""] ${label} [tag/ a]"
	}
	append res "[join $lines ,\n]\n    [tag /td]\n[tag/ tr]\n"
    }
    set reflist [list]
    return $res
}
proc fmt_manpage {file label} {global reflist ; lappend reflist [dt_fmap $file] $label ; return}
proc fmt_url     {url label}  {global reflist ; lappend reflist $url            $label ; return}
proc fmt_comment {text}       {ht_comment $text}
################################################################
global    __var
array set __var {
    meta   {}
    header {}
    footer {}
    kwid   {}
}
proc Get               {varname}      {global __var ; return $__var($varname)}
proc idx_listvariables {}             {global __var ; return [array names __var]}
proc idx_varset        {varname text} {
    global __var
    if {![info exists __var($varname)]} {return -code error "Unknown engine variable \"$varname\""}
    set __var($varname) $text
    return
}
################################################################ |