x [0+8+FQ(+4)[1 0FO10F"G+Q1' +FQ()+4U1 FQ1"L0' ,Q1:M(Q1+4(]1]0)) D\zqY;3W9pC}I @#?a`>IWe8c)74 7r6%3kq-&.Z2g,?2 09/5lM*k)6+L+'41}, 1@4-)7(>:& Setup BIBLIO library& Show biblio entriesBIBLIOConvert to BIBLIO formatShow BIBLIO entries in windowSort entries by codeword^R Cleanup biblio entry^R Copy codeword^R Create Nofield^R End of biblio entry^R Incremental biblio expand^R Mark biblio entry^R Next biblio field^R Next blank biblio field^R Previous biblio field^R Previous blank biblio field^R Print biblio summary^R Skip over Field^R Start of biblio entry^R Unexpand biblio entry~DIRECTORY~~DOC~ & Setup BIBLIO library~DOC~ & Show biblio entries~DOC~ BIBLIO~DOC~ Convert to BIBLIO format~DOC~ Show BIBLIO entries in window~DOC~ Sort entries by codeword~DOC~ ^R Cleanup biblio entry~DOC~ ^R Copy codeword~DOC~ ^R Create Nofield~DOC~ ^R End of biblio entry~DOC~ ^R Incremental biblio expand~DOC~ ^R Mark biblio entry~DOC~ ^R Next biblio field~DOC~ ^R Next blank biblio field~DOC~ ^R Previous biblio field~DOC~ ^R Previous blank biblio field~DOC~ ^R Print biblio summary~DOC~ ^R Skip over Field~DOC~ ^R Start of biblio entry~DOC~ ^R Unexpand biblio entry~DOC~ ~FILENAME~~FILENAME~~INVERT~x23*6FSQVectorm.cBIBLIO defsQ Vector containing old BIBLIO key definitions. 0m.cBIBLIO modeSet to 1 if BIBLIO keys defined, otherwise 0. 0m.cBIBLIO windowSet if second window is displayed 1M(m.mBIBLIO) :I*Available bibliographic entries: Article; Book, Booklet; InBook, InColl(ection), InProc(eedings); Master(sThesis), Manual, Misc; Phd(Thesis), Proc(eedings); Tech(Report); Unpub(lished).m.vBIBLIO window entries :I*Entry names are: Article Book, Booklet InBook, InColl(ection), InProc(eedings) Master(sThesis), Manual, Misc PhD(Thesis), Proc(eedings) Tech(Report) Unpub(lished) Command characters are: M-n = Next field; M-p = Previous field; M-[ = Start of entry; M-] = End of entry; M-. = Remove all blank fields; M-/ = Reinsert blank fields; C-M-n = Next blank field; C-M-p = Previous blank field; M-s = Skip to end of field; C-M-m = Mark entry; C-M-u = Unexpand entry; M-u = Unexpand word; C-M-c = Copy codeword; C-M-f = Create Nofield; M-? = BIBLIO Summary. OTHER USEFUL COMMANDS * Convert a BIB file to BIBLIO format, "M-X Convert to BIBLIO format$". * Permanently displays the entry names at the top of the page, "M-X Show BIBLIO entries in window$". * Turn off the expansion mode type, "M-X BIBLIO$". (Toggles) * View a entry's fields type, "M-X List Word Abbrevs$entry-name". * Change any or all entry fields type, "M-X Edit Word Abbrevs$". * Save your definitions of entry names and other words, "M-X Write Word Abbrevs$". This library is based on the word abbrev library, in fact it's loaded automatically underneath the BIBLIO library. This means all of the word abbrev capablities are also available with this library. This is a trial version, please sent your comments(complains) to CTaylor@ISIF. ------------------------------------------------------------------------------ m.vBiblio entries [19:I1 :I* 1 M.vBIBLIO blanks :I*!~#;$%^&*- =+[]()\|:`"'{},<.>/? m.vWORDAB Ins Chars 1M(m.mWord Abbrev mode) E?BIBLIO DEFNS"E MMRead Word Abbrev FileBIBLIO DEFNS' "#MMRead Word Abbrev FileEMACS; BIBLIO DEFNS' 0"L-:M(m.m^R Previous blank biblio field)' .[1 <:S=<>]+1"N -1"NQ1j :I*Hit end of bibliographic entryFSErr '' R.u1> 0z"L-:M(m.m^R Previous biblio field)' .[1 <:S=<]+1"N!>! Q1j:I*Hit end of bibliographic entryFSErr' .u1> 0"L-:M(m.m^R Next blank biblio field)' .[1 <-:S=<>[+1"N Q1J:I*Hit start of bibliographic entryFSErr' 2C.u1> 0"L-:M(m.m^R Next biblio field)' .[1 <1:<.-2,.F==<"E!>!1R'> -:S=<[+1"N!>! Q1J:I*Hit start of bibliographic entryFSErr' 2C.u1> 0.[2 "L -<-:S[=<+1;.+2u2>' "# [1 .,.+1F=>"E%1' q1<:S]=<+1;.u2>' -:S[>+2"GQ2j' 0[1 0L:FWLFWX1 1M(m.m^R next biblio field) .,.+1F=>"N:I*This field has a valueFSErr' INo1 -FWZj.-1,.F=]"EI ' Bj 1M(m.m^R End of biblio entry) 3,1M(m.m^R Start of biblio entry) -FWL0L .F[VB FWL:FWLFWL1M(m.m^R End of biblio entry$)w H.[1[3[4 6,1M(m.m^R Start of biblio entry)"L' .u1 .,.+1F=,"EFG@FT Missing codeword for this field. 0FSEchoAct0' !LCleanup! :S]@?=<>+2u3 q3"G 0u4Q1j +2"N1;' .,.+1F=,"N%4 I,' > -:S,>[+1"ED' q4-1F"G:\u4 FG@FT Replaced 4 commas after ">"'s.!'! 0FSEchoAct' :S]"E :I*Missing closing "]"FSErr!''!' 0fo..QAutomatic codeword sort"N 7,1M(m.m^R Start of biblio entry) -FWL1X4 M(m.mSort entries by codeword) S4 H' "#Q1,.' ' q3"E-:S>, C:KoLCleanup ' q3"L.-1u4:L.u2 q4,q2:FB@?u3 :FWL q3"E !EError!@FT Missing the required or one of the alt. bibliographic fields. @FG0FSEchoAct .u8Q4jQ1,.' FWF=Optional"E !DLine!Q4j0LKoLCleanup' FWF=or"EFWL .u2:L.u3q2j Q1j !Next name!:S]2=+2u3 q3"GoEError' .,.+2F=<>"N0q3oDLine' CoNext name ' FWX2 :I*Unknown keyword "2" after "@?"FSErr!''''! 0 '[1[2.[3[4 7,1M(m.m^R Start of biblio entry) -FWLFWX1 1M(m.m^R Mark biblio entry) M(m.m^R Copy region) 1M(m.m^R Un-kill) M(m.m^R Set bounds region) -:S>.+1,ZK Bj:S, :FWLB,.K <.u4 :S=< +1u2 q2"E-FWLq4,.KFWLCI1K' "#q2"Lq4,.K' "#q2"G1;''' > B,Z-2X2HK G1 1F :S, :FWLB,.K Zj-:S> 1L.,ZK <-:S2;0LK> B-Z"EHKM(m.m^R Set bounds full) Q3j:I*No additional fieldsFSErr' HX2HK M(m.m^R Set bounds full) 1,1M(m.m^R End of biblio entry) 0L.u1G2 Q1j-:S>,+1"ECI,' :S].u2 Q1j1,1M(m.m^R Next blank biblio field) Q1,q2"L-:M(m.m^R End of biblio entry)' .[1QBIBLIO blanks[2[3 :L.u3Q1j q1,q3:FB[@]+1"E:L' <&4"E 1:<-@F2:j .-1,.F=["E2R'>' -:S[+1"NQ1J -1"E:I*Not inside bibliographic entryFSErr' "#-1'' "#&1"EC@F2j' "#C' .U1' > 1:<.,.+1F=,"E&2"E1: @:FT Please enter the bibliographic codeword. 0FSEchoAct''> 0"L-:M(m.m^R Start of biblio entry)' .[1 <:S]+1"N Q1J-1"E:I*Not inside bibliographic entryFSErr' -1' "#"E:S@"E'"#0l'' .u1' > 0.[1[2 4,1M(m.m^R Start of biblio entry)"L0' @:F,X2 Q1jG2 q1,.[0 ff&1"N"'Gu0' "#qBIBLIO Window"'Eu0' q0,0fu0 q0-qBIBLIO Window"E0' q0M(m.m& Show biblio entries) q0uBIBLIO Window 0"E1M(m.m^R One window)' "# 1,2M(m.m^R Two windows) -qWindow 1 size+3M(m.m^R Grow window) 1: M(m.mSelect buffer)BIBLIOW :I*No entry names available fo..QBiblio window entries[1 G1 BjH@V M(m.m^R Other window)' 0:I*No entry names available fo..QBiblio entries[1 :FT1 0FSEchoAct [1[2 1:<.-2,.-1F=["E .-1,.X1-1D 1M(m.m^R End of biblio entry) M(m.m^R Unexpand Last Word)u2 G1 q2' "#:I*Not at the codeword position for this unexpand commandFSErr' > 0[1.[2 M(m.m^R End of biblio entry)"LoMarkErr' .u1 3,M(m.m^R Start of biblio entry)"LoMarkErr' -FWL0L .,q1Fu1jq1: 0 !MarkErr!-1"Nu1q1:\u1 !""!Q2j:I*Couldn't mark 1 entries, so mark wasn't setFSErr' -1[1[3 qBIBLIO blanks[2:I*()[]{}<>""[4 bj !NEntry! :S@"eH' FWL@F2j 1AF4u1 q1+1,q1+2:G4u1 DI[ S, !NField! FWL.u3@F2=j q3,.K 1A"cI=< :S1,wR -@F2:jI>' "#1AF4u3 q3+1,q3+2:G4u3 DI=< S3-1DI>' :S1,u3 q3+2"eoNField' q3+1"e-1DI]oNEntry' q3"eoNEntry'[0 ff&1"N"'Gu0' "#qBIBLIO Mode"'Eu0' q0,0fu0 q0-qBIBLIO Mode"E0' q0uBIBLIO Mode qBIBLIO defsu0 qBIBLIO mode"G qBIBLIO window"G1M(m.m& Show biblio entries)' :I*bibliouSubmode 1M(m.mWord Abbrev mode) 0M(m.m& Alter ..D)@A q..?u:BIBLIO defs(0) q...Nu:BIBLIO defs(1) q...nu:BIBLIO defs(12) q..Nu:BIBLIO defs(2) q..nu:BIBLIO defs(13) q...Pu:BIBLIO defs(3) q...pu:BIBLIO defs(14) q..Pu:BIBLIO defs(4) q..pu:BIBLIO defs(15) q..Su:BIBLIO defs(21) q..su:BIBLIO defs(22) q...u:BIBLIO defs(5) q../u:BIBLIO defs(6) q..[u:BIBLIO defs(7) q..]u:BIBLIO defs(8) q...Cu:BIBLIO defs(9) q...cu:BIBLIO defs(16) q...Fu:BIBLIO defs(19) q...fu:BIBLIO defs(20) q...Mu:BIBLIO defs(10) q...mu:BIBLIO defs(17) q...Uu:BIBLIO defs(11) q...uu:BIBLIO defs(18) m.m^R Print biblio summaryu..? m.m^R Next blank biblio fieldu...N m.m^R Next blank biblio fieldu...n m.m^R Next biblio fieldu..N m.m^R Next biblio fieldu..n m.m^R Previous blank biblio fieldu...P m.m^R Previous blank biblio fieldu...p m.m^R Previous biblio fieldu..P m.m^R Previous biblio fieldu..p m.m^R Skip over fieldu..S m.m^R Skip over fieldu..s m.m^R Cleanup biblio entryu... m.m^R Incremental biblio expandu../ m.m^R Start of biblio entryu..[ m.m^R End of biblio entryu..] m.m^R Copy codewordu...C m.m^R Copy codewordu...c m.m^R Create Nofieldu...F m.m^R Create Nofieldu...f m.m^R Mark biblio entryu...m m.m^R Unexpand biblio entryu...U m.m^R Unexpand biblio entryu...u ' "# qBIBLIO window"G0M(m.m& Show biblio entries)' :I*uSubmode 0M(m.mWord Abbrev mode) 0M(m.m& Alter ..D)@  q:BIBLIO defs(0)u..? q:BIBLIO defs(1)u...N q:BIBLIO defs(12)u...n q:BIBLIO defs(2)u..N q:BIBLIO defs(13)u..n q:BIBLIO defs(3)u...P q:BIBLIO defs(14)u...p q:BIBLIO defs(4)u..P q:BIBLIO defs(15)u..p q:BIBLIO defs(21)u..S q:BIBLIO defs(22)u..s q:BIBLIO defs(5)u... q:BIBLIO defs(6)u../ q:BIBLIO defs(7)u..[ q:BIBLIO defs(8)u..] q:BIBLIO defs(9)u...C q:BIBLIO defs(16)u...c q:BIBLIO defs(16)u...F q:BIBLIO defs(16)u...f q:BIBLIO defs(10)u...M q:BIBLIO defs(17)u...m q:BIBLIO defs(11)u...U q:BIBLIO defs(18)u...u ' 0BIBLIOMacros to facilitate entering a bibliographyS Assign keys and load WORDAB library for BIBLIO.^R Skip to the next blank bibliographic field. Initially all of the field values for a entry are empty and 'M-n' and 'C-M-n' work the same. As you fill in values, you may want to skip over the fields with values, 'C-M-n' does this. 'C-M-n' skips forward to the next blank field.^R Skip to the next bibliographic field. Skips to the start of the next field, positioning the typing cursor at the beginning of the field's value.q^R Skip to prev. blank bibliographic field. Similar to 'C-M-n', but skips backwards to a blank field value.w^R Skip to the previous bibliographic field. Skips to the previous field, also positions the cursor at the value.^R Skip to the end of a bibliographic field.^R Create a field with NoField as its value. Creates a value by combining the word 'no' with the current 'field name' and inserts the combination in the field's value. Helpful when you don't know what to enter but want something to show up in the bibliography.C Sort by codeword. Sorts the bibliographic entries by codeword. This function will be automatically invoked by 'M-.' if the variable 'automatic codeword sort' is set non-zero.^R Delete all @? and empty fields. When a entry is expanded all possible fields for that entry are displayed. You probably don't want to enter information for all of the fields displayed. After the entry is completed to suit your needs, type 'M-.', to delete empty optional and empty satisfied alternative entries. If you have forgotten one of the required fields, you will be warned and the cursor left at the required field needing information. Enter the missing information and retype 'M-.'. When the entire entry is acceptable, no message will be displayed and the cursor will be after the closing ']'.^R Fill out any missing fields. After typing 'M-.', all of the empty fields will have been deleted. To reinstate these fields use 'M-/'. Typing 'M-/' will redisplay all of the blank fields at the end of the entry and place the cursor at the first blank field.^R Jump to keyword pos. in bibliographic entry. Moves the typing cursor to the beginning of the codeword for the current entry.y^R Jump to end of bibliographic entry. Moves the cursor to the end of the current entry (just before the next '@').^R Copies the codeword at the point. Makes a copy of the codeword for this entry after the typing cursor. This is useful for copying the codeword into the key and author's fields, when the fields all use the author's last name.C Permanently displays entry names. Creates a second window at the top of the screen and displays the bibliographic entry names in it for quick reference.& Subr for entry names in window.^R Print summary of BIBLIO functions. Displays a short summary. The summary is two pages long; if you want to see the second page type a space, otherwise type '^G'.{^R Similar to C-X U but for biblio entries. If you expanded an entry template by accident, this function will restore the entry name as it was before the expansion. This function is only valid immediately after the template has been expanded.^R Place point at beginning and mark at the end. Places the mark at the end of the entry and the point at the beginning. This is useful for deleting or moving an entire bibliographic entry. With an argument, n entries from the cursor are marked.C Convert BIB file to BIBLIO format. BIBLIO provides a conversion function to rewrite any bibliographic file into the form expected by BIBLIO. This conversion is not guaranteed to be complete, so you may have to hand translate a small portion. Try it and see.C Turns BIBLIO key definitions on and off ('M-?' for summary). Toggles between the standard character definitions and those specially defined for BIBLIO. By toggling BIBLIO off the library remains loaded but inactive.& Setup BIBLIO library ^R Next blank biblio field ^R Next biblio field ^R Previous blank biblio field ^R Previous biblio field ^R Skip over Field ^R Create Nofield Sort entries by codeword ^R Cleanup biblio entry ^R Incremental biblio expand ^R Start of biblio entry ^R End of biblio entry ^R Copy codeword Show BIBLIO entries in window & Show biblio entries ^R Print biblio summary ^R Unexpand biblio entry ^R Mark biblio entry Convert to BIBLIO format BIBLIO +8+fq(+4)[20[3 <%3,-q2f2u3q3&1@;q3"l0'> f[BBindq3-1*5,q3*5g2q:..o(0)+q2