diff options
author | Jeffrey H. Kingston <jeff@it.usyd.edu.au> | 2010-09-14 19:21:41 +0000 |
---|---|---|
committer | Jeffrey H. Kingston <jeff@it.usyd.edu.au> | 2010-09-14 19:21:41 +0000 |
commit | 71bdb35d52747e6d7d9f55df4524d57c2966be94 (patch) | |
tree | 480ee5eefccc40d5f3331cc52d66f722fd19bfb9 /doc/user/ref_entr | |
parent | b41263ea7578fa9742486135c762803b52794105 (diff) | |
download | lout-71bdb35d52747e6d7d9f55df4524d57c2966be94.tar.gz |
Lout 3.17.
git-svn-id: http://svn.savannah.nongnu.org/svn/lout/trunk@2 9365b830-b601-4143-9ba8-b4a8e2c3339c
Diffstat (limited to 'doc/user/ref_entr')
-rw-r--r-- | doc/user/ref_entr | 293 |
1 files changed, 293 insertions, 0 deletions
diff --git a/doc/user/ref_entr b/doc/user/ref_entr new file mode 100644 index 0000000..63516b2 --- /dev/null +++ b/doc/user/ref_entr @@ -0,0 +1,293 @@ +@Section + @Title { Constructing database entries } + @Tag { entries } +@Begin +@PP +Here is the complete, fixed list of options that you may give to the +@Code "@Reference" symbol: +@ID @Tab + vmargin { 0.5vx } + @Fmta { @Col @Code A ! @Col B } +{ +@Rowa + A { "{ @Reference" } +@Rowa + A { " @Tag {}" } + B { Used to cite this reference } +@Rowa + A { " @Type {}" } + B { The type of reference, for example {@Code Book}, {@Code Article} } +@Rowa + A { " @Abstract {}" } + B { Not used, intended to hold an abstract } +@Rowa + A { " @Address {}" } + B { The address of a publisher, organization, or institution } +@Rowa + A { " @Annote {}" } + B { Not used, intended for annotations } +@Rowa + A { " @Author {}" } + B { The author(s) or editor(s) } +@Rowa + A { " @Day {}" } + B { The day of the month, for newspaper articles } +@Rowa + A { " @Edition {}" } + B { The edition, for example @Code "Second Edition" } +@Rowa + A { " @HowPublished {}" } + B { How something strange has been published } +@Rowa + A { " @InAuthor {}" } + B { The author of the work that the cited work appears within } +@Rowa + A { " @InTitle {}" } + B { The title of the work that the cited work appears within } +@Rowa + A { " @Institution {}" } + B { The institution or school } +@Rowa + A { " @Journal {}" } + B { The journal name } +@Rowa + A { " @Keywords {}" } + B { Not used, intended to hold keywords } +@Rowa + A { " @Label {}" } + B { The label of a labelled reference } +@Rowa + A { " @Month {}" } + B { The month of publication or writing } +@Rowa + A { " @Note {}" } + B { Any additional helpful information } +@Rowa + A { " @Number {}" } + B { The number of a technical report } +@Rowa + A { " @Organization {}" } + B { The organization sponsoring the work } +@Rowa + A { " @Page {}" } + B { Page number if only one, for example @Code "23" } +@Rowa + A { " @Pages {}" } + B { Page numbers if more than one, for example @Code "23--47" } +@Rowa + A { " @Pinpoint {}" } + B { A point or part of the work, for example @Code "Chapter VI" } +@Rowa + A { " @Publisher {}" } + B { The publisher of the work } +@Rowa + A { " @Title {}" } + B { The title of the work } +@Rowa + A { " @TitleNote {}" } + B { Additional title information (series, editor, etc.) } +@Rowa + A { " @TRType {}" } + B { The type of a technical report, for example @Code "Research Note" } +@Rowa + A { " @URL {}" } + B { The URL of the reference } +@Rowa + A { " @Volume {}" } + B { The volume of a journal } +@Rowa + A { " @Year {}" } + B { The year of publication or writing } +@Rowa + A { "}" } +} +Every reference may contain any of these options, although, depending +on the {@Code "@Type"} option, only some will be printed. You can't give +an option twice; in particular, multiple authors must be placed +within one @Code "@Author" option, arranged as you want them to appear. Here +is the complete set of values that you may give to the @Code "@Type" option: +@ID @Tab + vmargin { 0.5vx } + @Fmta { @Col @Code A ! @Col @Code B ! @Col @Code C ! @Col @Code D } +{ + @Rowa + A { Book } + B { TechReport } + C { Article } + D { InBook } + @Rowa + A { Proceedings } + B { MastersThesis } + C {} + D { InProceedings } + @Rowa + A { PhDThesis } + B { Misc } + C {} + D {} +} +Each column represents one broad category of reference type: the first +contains large works; the second contains small works not appearing +within anything else (although possibly part of a series); the third +contains small works appearing within an ongoing forum for such works; +and the fourth contains small works appearing within large works. In each +case, the reference may be to the work as a whole, or to one point or part +of it (known as pinpointing). +@PP +Some care is needed when choosing the @Code "@Tag" option, since references +are both cited and sorted by tag. It is best to choose a three-part +tag consisting of the first author's surname and possibly initial, the +year of publication, and a brief reminder of the contents: +@ID @Code "@Tag { kingston1995lout.expert }" +Keep to lower-case letters, since mixed cases confuse the sorting, and +give the full four digits of the year to avoid trouble in the year +2000. Multi-word tags are possible but not recommended. +@PP +Unusually for Lout, you can have unquoted @Code "/" and @Code "~" +characters inside the @Code "@URL" option: +@ID @Code "@URL { ftp://ftp.cs.su.oz.au/jeff/lout }" +In fact it is better not to use quotes because then Lout will +be able to break lines at @Code "/" characters, which is very useful +since URLs tend to be long and prone to causing bad line breaks. +@PP +Since the types within each broad category are similar, our plan is to +give one example of each and briefly note how the others differ. Here +is a @Code Book entry showing all its options: +book.ref.type @Index { @Code Book reference type } +@ID @OneRow @Code { +"{ @Reference" +" @Tag { homer.odyssey }" +" @Type { Book }" +" @Author { Homer }" +" @Title { The Odyssey }" +" @TitleNote { Translated by E. V. Rieu }" +" @Pinpoint { Chapter VI }" +" @Pages { 102--111 }" +" @Page { 102 }" +" @Publisher { Penguin Books }" +" @Address { Harmondsworth, Middlesex }" +" @Edition { Penguin Classics Edition }" +" @Month { August }" +" @Year { 1942 }" +" @Note { The date of composition is unknown," +"but is thought to be about the tenth century BC. }" +"}" +} +And here is what it produces: +@ID @RefPrint homer.odyssey +The only compulsory options are {@Code "@Tag"}, {@Code "@Type"}, and +{@Code "@Title"}, and Lout will carefully adjust the formatting to the +right thing when you omit others. A basic book would have just +{@Code "@Tag"}, {@Code "@Type"}, {@Code "@Author"}, {@Code "@Title"}, +{@Code "@Publisher"}, and {@Code "@Year"} options. +@PP +@Code Proceedings is similar, except you +proceedings.ref.type @Index { @Code Proceedings reference type } +may have an @Code "@Organization" or @Code "@Institution" option for +the sponsoring organization if you wish, and the author will either be +absent or an editor: +@ID @Code "@Author { P. W. Lamb, editor }" +There is no option specifically for editors, translators, and so forth. +@PP +@Code PhDThesis is very similar again, with @Code "@Institution" +phdthesis.ref.type @Index { @Code PhDThesis reference type } +instead of {@Code "@Publisher"}, and the phrase `Ph.D. thesis' +appearing by magic in the right spot. Like all words and phrases +introduced automatically by Lout, it will be translated into the current +language if this is not English. +@PP +Moving now to the second broad category, here is a typical {@Code TechReport}: +techreport.ref.type @Index { @Code TechReport reference type } +@ID @OneRow @Code { +"{ @Reference" +" @Tag { christofides1976tsp }" +" @Type { TechReport }" +" @Author { Christofides, N. }" +" @Title { Worst-case analysis of a new heuristic" +"for the travelling salesman problem }" +" @Number { 388 }" +" @Institution { Graduate School of Industrial" +"Administration, Carnegie-Mellon University }" +" @Address { Pittsburgh, PA }" +" @Year { 1976 }" +"}" +} +Here is the result: +@ID @RefPrint christofides1976tsp +The two novelties here are the @Code "@Number" option, which is the +number of the report, and the `Tech. Rep.' phrase. If you +need some other phrase instead, use the @Code "@TRType" option: +@ID @Code "@TRType { Programmer's Manual }" +or whatever. The phrase will be `Master's Thesis' in the +current language for type {@Code MastersThesis}, and absent in type +mastersthesis.ref.type @Index { @Code MastersThesis reference type } +misc.ref.type @Index { @Code Misc reference type } +{@Code Misc}. You may use the pinpointing options ({@Code "@Pinpoint"}, +{@Code "@Page"}, and {@Code "@Pages"}) and {@Code "@TitleNote"}, +{@Code "@Month"}, and {@Code "@Note"} in the same way as for books. +@PP +Journal articles are referenced by journal name, volume, number, and +page(s): +article.ref.type @Index { @Code Article reference type } +@ID @OneRow @Code { +"{ @Reference" +" @Tag { kingston1993lout.design }" +" @Type { Article }" +" @Author { Jeffrey H. Kingston }" +" @Title { The design and implementation of the" +"Lout document formatting language }" +" @Journal { Software---Practice and Experience }" +" @Volume { 23 }" +" @Pages { 1001--1041 }" +" @Year { 1993 }" +"}" +} +The result of this is +@ID @RefPrint kingston1993lout.design +All are optional, as usual. Notice that @Code "@Pages" and @Code "@Page" +refer to the whole article so are not available for pinpointing here, +but you may still use {@Code "@Pinpoint"}. +@PP +Finally, small works that appear within large works have @Code "@Author" +inbook.ref.type @Index { @Code InBook reference type } +and @Code "@Title" options for the work itself, and @Code "@InAuthor" and +@Code "@InTitle" for the work that it appears within: +@ID @OneRow @Code { +"{ @Reference" +" @Tag { rieu1942intro }" +" @Type { InBook }" +" @Author { E. V. Rieu }" +" @Title { Introduction to @I { The Odyssey } }" +" @InAuthor { Homer }" +" @InTitle { The Odyssey }" +" @Publisher { Penguin }" +" @Year { 1942 }" +"}" +} +@Code "@InAuthor" would often be absent or an editor. The result is +@ID @RefPrint rieu1942intro +The other options are as for large works. Type @Code InProceedings is +inproceedings.ref.type @Index { @Code InProceedings reference type } +similar to {@Code InBook}. +@PP +A database usually has a long life, and some day it might find itself +used in a document whose language is not the one its original compiler +had in mind. For this reason, a truly meticulous compiler of database +entries would enclose @I all language-specific options in +@Code "@Language" symbols: +@ID @OneRow @Code { +"{ @Reference" +" @Tag { zimand1986size.sets.strings }" +" @Type { Article }" +" @Author { French @Language { M. Zimand } }" +" @Title { English @Language { On the topological size of sets of random strings } }" +" @Journal { German @Language { Zeitschr. f. math. Logik und Grundlagen d. Math. } }" +" @Volume { 32 }" +" @Pages { 81--88 }" +" @Year { 1986 }" +"}" +} +(My apologies to M. Zimand if he or she is not French.) This ensures +correct hyphenation whatever the language of the document in which the +reference appears. +@End @Section |