Annotation of researchv10dc/vol2/index/tools/doinp.awk, revision 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.