Annotation of researchv10dc/vol2/index/tools/doinp.awk, revision 1.1.1.1

1.1       root        1: BEGIN  {
                      2:        if(texinp != "")
                      3:                ninputs = split(texinp, texinputs, ":")
                      4:        else {
                      5:                ninputs = 1
                      6:                texinputs[1] = "."
                      7:        }
                      8: print "ninputs " ninputs|"cat 1>&2"
                      9:        idef=0
                     10:        }
                     11: /\\(input|include)[{ ]/        {
                     12:        getfile("", "")
                     13:        next
                     14:        }
                     15: /.*/   {
                     16:        print $0
                     17:        }
                     18: function getfile(fname, oname, saveline, n, bname, tname, j, name, flag){
                     19:        if(fname == ""){
                     20:                saveline = $0
                     21:                if($0 ~ /\\input/)n = index($0,"\\input")+7
                     22:                else n=index($0,"\\include")+9
                     23:                bname = substr($0,n)
                     24:                gsub(/^[ {]*/,"",bname)
                     25:                gsub(/[ }].*/,"",bname)
                     26:                gsub(/[ }]$/,"",bname)
                     27:                tname = bname ".tex"
                     28:        }
                     29:        else {
                     30:                bname = fname
                     31:                tname = fname
                     32:        }
                     33:        for(j=1; j<= ninputs; j++){
                     34:                name = texinputs[j] "/" tname
                     35:                if((getline <name) >=0)break
                     36:                name = texinputs[j] "/" bname
                     37:                if((getline <name) >=0)break
                     38:                name = ""
                     39:        }
                     40:        if(name == ""){
                     41:                print "cannot open file " bname " or " tname | "cat 1>&2"
                     42:                return
                     43:        }
                     44:        if(name ~ /\/usr\/lib\/tex\/macros/|| name ~ /macros.tex/){
                     45:                if(oname == "")print saveline
                     46:                else print saveline >oname
                     47:                return
                     48:        }
                     49:        flag=0
                     50:        while(1){
                     51:                if(flag)if((getline <name)<1)break
                     52:                flag=1
                     53:                print $0
                     54:        }
                     55:        close(name)
                     56: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.