Trailing-Edge
-
PDP-10 Archives
-
mit_emacs_170_teco_1220
-
info/biblio.info
There are no other files named biblio.info in the archive.
File: BIBLIO Node: Top Up: (DIR) Next: Names
* Menu:
* Intro:: Introduction to BIBLIO.
* Notations:: Notations used in this document.
* HowTo:: A short how to.
* Basic:: A description of the basic functions
* Adv:: A description of the advanced functions
* Convert:: Notes on converting an existing BIB file.
* Conclusion:: Closing remarks and references.
-- Summarys
* Names:: A brief summary of the entry names and commands.
* Characters:: A brief summary of predefined characters and their functions.
* Callable:: A brief summary of the directly callable functions.
File: BIBLIO Node: Intro Next: Notations, Previous: Top, Up: Top
BIBLIO is an extension of EMACS[3] designed to aid in creating and
maintaining SCRIBE bibliographic (.BIB) files.[See chapter 11 of the SCRIBE
manual[2] for more information on bibliographic files.] BIBLIO provides
three types of aid: bibliographic entry templates, predefined function keys and
directly callable functions. A template is an empty copy of a bibliography
entry which greatly simplifies typing entries by providing matching delimiters,
a complete set of field names for an entry and a reminder of the fields' type.
A template is inserted in the bibliographic file by typing its name and can
easily be modified and formatted using the predefined function keys. For the
advanced user, BIBLIO provides a group of directly callable functions to sort
entries, convert old files, allow word abbreviations and do personal
customization.
File: BIBLIO Node: Notations Next: HowTo, Previous: Intro, Up: Top
The following notations are used throughout this document:
M- = Ascii escape character. In Emacs terminology the meta-key.
C-M- = Ascii control Z(^Z). In Emacs the control-meta-key.
$ = Ascii escape character.
<sp> = Ascii space character.
<cr> = Ascii return character.
_ = underlined characters are the minimum needed to identify a directly
callable function.
names = italicized names are generic.
entry = refers to an entire bibliographic entry such as Article or Book.
field = refers to a subpart of an entry (e.g., key, publisher, etc.)
File: BIBLIO Node: HowTo Next: Examples, Previous: Notations, Up: Top
BIBLIO is an EMACS library.[If you are interested in using EMACS and would
like an EMACS manual[1], send a message to <EMACS>@ISIF or PUBLICATIONS@AI and
ask for AI Memo 555.] To use it type M-X Load Library$BIBLIO<cr>; when the
library is loaded, `biblio' will be displayed on the mode line. To invoke a
bibliographic entry template, type @Entry Name<sp>; after typing the space, the
template for that entry will expand. The lines of the entry will indicate with
@? which fields are optional and which can be satisfied by an alternative
field. Any field not marked with a @? is a required field. These field
types are used by BIBLIO to remind the user which fields SCRIBE requires.
Once an entry has been expanded it can be filled out by entering text in the
usual way or by using the predefined function keys. The predefined keys
provide movement and manipulation functions described in the examples below and
completely defined, along with the directly callable functions, in the sections
on basic and advanced functions.
File: BIBLIO Node: Examples Next: Basic, Previous: HowTo, Up: Top
Three examples are given below. The first example expands a template and
discusses the type of fields displayed. The second example shows how to move
among the fields using BIBLIO's predefined keys. Finally, the last example
shows how to clean up an entry by removing the useless fields.
@proc<sp> ;Comment 1
@Proceedings[ ,
^ ;Comment 2
Key=<>, ;Comment 3
Editor=<>, @? or Organization ;Comment 4
Organization=<>, @? or Editor
Publisher=<>,
Title=<>,
Year=<>,
Address=<>, @? Optional ;Comment 5
Note=<>, @? Optional
]
@proc<sp>
^ ;Comment 6
Figure 4-1: Expanding a template
Comments:
1. Entering @proc<sp> causes the Proceedings bibliographic entry to be
expanded, displaying all the associated fields.
2. The typing cursor is represented as ^. After the entry is expanded
the cursor is at the codeword position waiting for codeword to be
entered.
3. This is an example of a required field. See the SCRIBE manual for a
description of the field types.
4. This is an example of an alternative field.
5. Here's an optional field.
6. Typing C-M-u when the cursor is at the position shown on comment
line 2, results in the original word and space (i.e., It unexpands
the entry). This is useful if you accidentally expand the wrong
entry.
@Misc[ ThisIsTheCodeWord,
^1 ;Comment 1
Key=<BIBLIO>, ;Comment 2
Author=<>,
^3 @? Optional ;Comment 3
HowPublished=<>, @? Optional
Note=<>, @? Optional
Title=<>, @? Optional
Year=<> @? Optional
]
^4 Comment 4
Figure 4-2: Using the motion commands
Comments:
1. This is where the cursor (^1) would be after expanding the Misc
entry and entering a codeword.
2. To move to and enter a value for a new field, type M-n (the next
entry) and the value. In this case BIBLIO was entered.
3. Typing another M-n moves the cursor to ^3. Use M-p (the previous
entry) to move the cursor prior to the word BIBLIO on the previous
line.
4. A ] indicates the end of the entry. Typing M-] (move to end of
entry) will position the cursor to the right of the ] (^4). M-[
(move to start of entry) moves the cursor to the beginning of the
codeword.
@Proceedings[ Test, Comment 1
Key=<AKey>, ;Comment 2
Editor=<>, @? or Organization ;Comment 3
Organization=<Instead of an Editor>, @? or Editor
Publisher=<Penguin>,
Title=<CleanupExample>,
Year=<1980>,
Address=<>, @? Optional ;Comment 4
Note=<>, @? Optional
]
@Proceedings[ Test, ;Comment 5
Key=<AKey>,
Organization=<Instead of an Editor>,
Publisher=<Penguin>,
Title=<CleanupExample>,
Year=<1980>,
]
^
Figure 4-3: Cleaning up an entry
Comments:
1. 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 ].
2. A required field must be filled in, otherwise M-. will complain.
3. To satisfy M-. either the Editor or the Organization field must be
filled in.
4. If you don't fill in an optional field M-., won't care and will
delete the line if the field is empty.
5. This would be the result of typing M-. on the top half of this
example. Notice that the cursor is at the end of the entry.
File: BIBLIO Node: Basic Next: Adv, Previous: Examples, Up: Top
The process of loading the BIBLIO library automatically defines a set of
functions and connects these functions to predefined characters on the
keyboard. These functions override any previously defined action for the
characters and are specifically tailored to work with bibliographic entries.
A list of basic functions, their predefined key and a description follow:
Next bibliographic field (M-n):
Skips to the start of the next field, positioning the typing
cursor at the beginning of the field's value.
Previous bibliographic field (M-p):
Skips to the previous field, also positions the cursor at the
value.
Skip to end of field (M-s):
Skips to the end of the current field.
Next blank bibliographic field (C-M-n):
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.
Previous blank bibliographic field (C-M-p):
Similar to C-M-n, but skips backwards to a blank field value.
Start of entry (M-[):
Moves the typing cursor to the beginning of the codeword for
the current entry.
End of entry (M-]):
Moves the cursor to the end of the current entry (i.e., after
the closing ]).
Unexpand entry (C-M-u):
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.
Copy codeword (C-M-c):
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.
Create no field (C-M-f):
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.
Remove blank entries (M-.):
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 ].
Restore blank entries (M-/):
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.
Print bibliographic summary (M-?):
Displays a short summary. The summary is two pages long; if
you want to see the second page type a space, otherwise type
^G.
Permanently display entry names (M-X Show BIBLIO entries in window$<cr>):
Creates a second window at the top of the screen and displays
the bibliographic entry names in it for quick reference.
Disable BIBLIO keys (M-X BIBLIO$<cr>):
Toggles between the standard character definitions and those
specially defined for BIBLIO. By toggling BIBLIO off the
library remains loaded but inactive.
All of the BIBLIO motion commands take an optional argument. For example,
M-3 M-] will skip to the end of the third entry starting from the current
cursor position.
File: BIBLIO Node: Adv Next: Convert, Previous: Basic, Up: Top
The BIBLIO library is, in reality, a series of extensions built on the Word
Abbreviation Library.<Detailed information on Word Abbreviation Library
(WORDAB) library can be found in INFO or the EMACS manual.> That is to say,
SCRIBE bibliographic entries are just very elaborate word abbreviations. For
the sophisticated user this can be of an enormous benefit since all the power
of the WORDAB library is available while using BIBLIO; e.g., customizing the
entry templates.
Below are some of the features of WORDAB and the remaining features of
BIBLIO:
Sort by codeword (M-X Sort entries by codeword$<cr>):
Sorts the bibliographic entries by codeword. This function
will be automatically invoked by M-. if the variable automatic
codeword sort is set non-zero.
Mark bibliographic entry (C-M-m):
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.
Add Global Word Abbreviation[WORDAB] (C-X +):
Typed after a word asks for its abbreviation and stores the
abbreviation with word in the word abbreviation list for later
use. If this function is given a negative argument, it will
delete a prior abbreviation.
Inverse Add Global Word Abbreviation[WORDAB] (C-X -):
Typed after an abbreviation asks for a word, stores the
abbreviation with the word and expands the abbreviation.
Abbreviation Expand Only[WORDAB] (C-M-<sp>):
Normally an abbreviation is expanded after the punctuation is
entered. C-M-<sp> forces the immediate expansion without any
punctuation.
View an entry[WORDAB] (M-X List Word Abbrevs$Entry Name$<cr>):
Displays the fields of an entry.
Edit Word Abbreviations[WORDAB] (M-X Edit Word Abbrevs$<cr>):
Calls EMACS recursively on the word abbreviations, allowing
modifications of the bibliographic entries to suit your tastes.
To exit use C-M-z.
Write Word Abbreviation File[WORDAB] (M-X Write Word Abbrev file$<Your
Directory Name>$<cr>):
This stores a personal copy of the words you've added plus any
changes made to the bibliographic entries. Next time BIBLIO is
loaded it will automatically restore your copy if it is
available.
File: BIBLIO Node: Convert Next: Conclusion, Previous: Adv, Up: Top
Converting existing bibliography files
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. To do this
type, M-X Convert to BIBLIO format$<cr>.
Assumptions
The TECO macros implementing the BIBLIO library make several assumptions. If
you didn't create your .BIB file using BIBLIO here are somethings to consider:
1. The bibliographic file must contain only bibliographic entries.
2. All bibliographic entries start with @entry-name then a [ and end
with a ].
3. A field has the form `field-name=<text>' and an empty field is
considered to be `field-name=<>'. The text of a field must not
contain `=<'.
4. The @? is reserved for BIBLIO. M-. will complain if @? isn't
followed by the `optional' or the `alternative' indicators.
5. Optional fields have the indicator, `@? Optional'.
6. Alternative fields are commented, `@? or Alt. field {, Alt. field}'
where a value for any one of the alternative fields will allow this
field value to be empty.
7. All field names in the word abbreviations file should have a comma
after them including the last one. M-. removes the trailing comma
automatically.
File: BIBLIO Node: Names, Next: Characters, Previous: Conclusion, Up: Top
Article
Book, Booklet
InBook, InCollection, InProceedings
MastersThesis, Manual, Misc
PhDThesis, Proceedings
TechReport
Unpublished
NOTE: The bibliographic entry names can be abbreviated as indicated
by underlined characters.
Figure 8-1: Bibliographic Entry Names
File: BIBLIO Node: Characters, Next: Callable, Previous: Names, Up: Top
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 no field;
M-? = BIBLIO summary.
Figure 8-2: Predefined Characters and their Functions
File: BIBLIO Node: Callable, Next: Top, Previous: Characters, Up: Top
M-X Load Library$BIBLIO<cr>
M-X Show BIBLIO entries in window$<cr>
M-X BIBLIO$<cr>
M-X Sort entries by codeword$<cr>
M-X Convert to BIBLIO format$<cr>
M-X Write Word Abbrev$<Your Directory Name>$<cr>
M-X Edit Word Abbrev$<cr>
M-X List Word Abbrevs$Entry Name$<cr>
Figure 8-3: Directly Callable Functions
File: BIBLIO Node: Conclusion, Next: Names, Previous: Convert, Up: Top
If you have any suggestions about the design, function and/or implementation
of this library send them to <CTaylor>@ISIF.
References
[EMACS 80] Richard Stallman, EMACS Manual for Twenex Users, 1980. Generated
from the online documentation at ISI for version 142 of EMACS
[Reid 80] SCRIBE Introductory User's Manual, Third Edition Preliminary Draft
edition, 1980.
[Stallman 79] Richard Stallman, EMACS, the Extensible, Customizable
Self-Documenting Display Editor, Massachusetts Institute Technology, AI
Memo 519, June 1979.