|
|
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: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.