+ level = 0
+}
+
+seencontents && !seenfore && /^[^@]/ {
+ id = $1
+ if (id ~ /Annex/)
+ id = $2
+ sub(/\.$/, "", id)
+
+ s = $0
+ if (!sub(/ +\. .*/, "", s)) {
+ getline
+ sub(/^ */, " ")
+ s = s $0
+ sub(/ +\. .*/, "", s)
+ }
+
+ if (match(s, /<[a-zA-Z0-9_]*\.h>/)) {
+ h = substr($0,RSTART,RLENGTH)
+ if (!(h in header))
+ header[h] = id
+ }
+
+ s = "<a href=\"#" id "\">" s "</a>\n"
+
+ s = "<li>" s
+ n = split(id, a, /\./)
+ while (n > level) {
+ s = "<ul>\n" s
+ level++
+ }
+ while (n < level) {
+ s = "</ul>\n" s
+ level--
+ }
+ ss[sid] = ss[sid] s
+ next