Annotation of researchv10no/cmd/prefer/misc/pbib, revision 1.1

1.1     ! root        1: PHOME=${PHOME:-/usr/lib/prefer}
        !             2: export PHOME
        !             3: $PHOME/prefawk '
        !             4: BEGIN  {typestr = "%type"; edstr = "%editor"}
        !             5: 
        !             6: /^%A/  {$1 = "%author"} 
        !             7: /^%B/  {$1 = "%booktitle"} 
        !             8: /^%C/  {$1 = "%address"} 
        !             9: /^%d/  {$1 = "%date"} 
        !            10: /^%D/  {$1 = "%date"} 
        !            11: /^%E/  {$1 = "%editor"} 
        !            12: /^%G/  {$1 = "%government"} 
        !            13: /^%I/  {$1 = "%publisher"} 
        !            14: /^%J/  {$1 = "%journal"} 
        !            15: /^%K/  {$1 = "%keyword"} 
        !            16: /^%L/  {$1 = "%label"} 
        !            17: /^%M/  {$1 = "%tm"} 
        !            18: /^%N/  {$1 = "%number"} 
        !            19: /^%O/  {$1 = "%other"} 
        !            20: /^%P/  {$1 = "%pages"} 
        !            21: /^%r/  {$1 = "%report"} 
        !            22: /^%R/  {$1 = "%report"} 
        !            23: /^%T/  {$1 = "%title"} 
        !            24: /^%V/  {$1 = "%volume"} 
        !            25: 
        !            26: /^%/   {
        !            27:        if(($1 != "%author") && ($1 != "%publisher"))
        !            28:                print; 
        !            29:        if($1 != "%editor")
        !            30:                ineditor = 0
        !            31:        inref = 1;
        !            32: }
        !            33: 
        !            34: $1 == "%author"        {
        !            35:        if ($NF ~ /\([Ee]d.*\)/) {
        !            36:                edited++;
        !            37:                $NF = "";
        !            38:        }
        !            39:        print;
        !            40: }
        !            41: 
        !            42: $1 == "%publisher"     {
        !            43:        publisher++ ;
        !            44:        if($2 == "PhD") {
        !            45:                phd++;
        !            46:                printf "%s", $1;
        !            47:                for (i=4; i <= NF; i++)
        !            48:                        printf " %s", $i;
        !            49:                print "";
        !            50:        }
        !            51:        else if($2 ~ /Master*/) {
        !            52:                masters++;
        !            53:                printf "%s",$1;
        !            54:                for (i=4; i <= NF; i++)
        !            55:                        printf " %s", $i;
        !            56:                print "";
        !            57:        }
        !            58:        else print;
        !            59: }
        !            60: 
        !            61: $1 == "%editor"                { editor++; ineditor = 1;}
        !            62: $1 == "%author"                { author++ }
        !            63: $1 == "%journal"       { journal++ }
        !            64: $1 == "%tm"            { tm++ }
        !            65: $1 == "%report"                { report++ }
        !            66: $1 == "%booktitle"     { booktitle++ }
        !            67: /[Pp]roc/ || /[Cc]onf/ { if ($1 == "%journal") inproceedings++;}
        !            68: 
        !            69: /^[^%]/        {               # handle multiple editors
        !            70:        if(ineditor) {
        !            71:                printf "%s ", edstr;
        !            72:                if($1 == "and")
        !            73:                        print substr($0,length($1)+2);
        !            74:                else
        !            75:                        print;
        !            76:        }
        !            77:        else print;     # handle other multiple lines (like %Z)
        !            78: }
        !            79: # blank line, so now infer document type
        !            80: /^$/   {
        !            81:        if(inref) infer();
        !            82: }
        !            83: 
        !            84: 
        !            85: func infer()
        !            86: {
        !            87:        printf "%s ", typestr;
        !            88:        if(edited) print "editedbook";
        !            89:        else if(masters) print "mastersthesis";
        !            90:        else if(phd) print "phdthesis";
        !            91:        else if(inproceedings) print "inproceedings";
        !            92:        else if(journal) print "article";
        !            93:        else if(booktitle) print "incollection";
        !            94:        else if(tm) print "tm";
        !            95:        else if(report) print "techreport";
        !            96:        else if(publisher) print "book";
        !            97:        else print "misc";
        !            98:        print;
        !            99: 
        !           100:        inref = 0;
        !           101:        editor = 0;
        !           102:        author = 0;
        !           103:        journal = 0;
        !           104:        inproceedings = 0;
        !           105:        booktitle = 0;
        !           106:        publisher = 0;
        !           107:        tm = 0;
        !           108:        report = 0;
        !           109:        book = 0;
        !           110:        tflag = 0;
        !           111:        ineditor = 0;
        !           112:        phd = 0;
        !           113:        masters = 0;
        !           114:        edited = 0;
        !           115: }
        !           116: 
        !           117: END {
        !           118:        if(inref) infer();
        !           119: }
        !           120: ' $1

unix.superglobalmegacorp.com

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