diff options
Diffstat (limited to 'Master/texmf-dist/bibtex/bst/gatech-thesis/gatech-thesis-losa.bst')
-rw-r--r-- | Master/texmf-dist/bibtex/bst/gatech-thesis/gatech-thesis-losa.bst | 264 |
1 files changed, 264 insertions, 0 deletions
diff --git a/Master/texmf-dist/bibtex/bst/gatech-thesis/gatech-thesis-losa.bst b/Master/texmf-dist/bibtex/bst/gatech-thesis/gatech-thesis-losa.bst new file mode 100644 index 00000000000..022548eec9c --- /dev/null +++ b/Master/texmf-dist/bibtex/bst/gatech-thesis/gatech-thesis-losa.bst @@ -0,0 +1,264 @@ +% gatech-thesis-losa.bst: This style is used by the gatech-thesis-losa.sty +% style to provide support for a 'List of Symbols or Abbreviations' +% within the context of gatech-thesis.cls. The advantages of +% creating a separate .bst file are that the formatting of the +% losa glossary can be different from that of other "real" glossaries +% which are also based on the gloss.sty package. +% +% This file was adapted from the file `glsplain.bst' taken from the +% gloss package. +% +% Original information: +% ORIG: +% ORIG: (c) 1998 Jose Luis Diaz, 1999-2002 Jose Luis Diaz and Javier Bezos. +% ORIG: All Rights Reserved. +% ORIG: +% ORIG: This file is part of the gloss distribution release 1.5.2 +% ORIG: -------------------------------------------------------- +% ORIG: +% ORIG: This file can be redistributed and/or modified under the terms +% ORIG: of the LaTeX Project Public License Distributed from CTAN +% ORIG: archives in directory macros/latex/base/lppl.txt; either +% ORIG: version 1 of the License, or any later version. +% ORIG: +% ORIG: % History of v0.1 +% ORIG: % ~~~~~~~~~~~~~~~ +% ORIG: % 1997/06/25 (JLDdA) Original version, by Jose Luis Diaz de Arriba (and an +% ORIG: % unindicted co-conspirator) +% ORIG: % History of v1.0 +% ORIG: % ~~~~~~~~~~~~~~~ +% ORIG: % 1999/07/29 (JBL) Rewritten in full. Now it warns if a required field is +% ORIG: % missing, conforms the new gloss.sty syntax, and +% ORIG: % writes headings for each letter. The heading, +% ORIG: % short, and group fiels have been added. +% ORIG: % History of v1.1-1.4 +% ORIG: % ~~~~~~~~~~~~~~~~~~~ +% ORIG: % 1999/10/10 (JBL) Lots of changes. +% ORIG: % History of v.1.5 +% ORIG: % ~~~~~~~~~~~~~~~~ +% ORIG: % 2001/08/02 (JBL) Added the sort-short field for compatility +% ORIG: % with glsshort.bst + +STRINGS { last.heading s t star.period} + +ENTRY + { word + sort-word + definition + heading + group + short + sort-short + } + {} + { ucword } + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} + +FUNCTION {has.period} +{ duplicate$ + add.period$ = +} + +FUNCTION {str.length} +{ 't := + #0 + { t empty$ not } + { t #2 global.max$ substring$ + 't := + #1 + + } + while$ +} + + +FUNCTION {upper.first} +{ duplicate$ + #1 text.prefix$ + duplicate$ + "u" change.case$ + 's := + str.length + #1 + entry.max$ substring$ + s swap$ * +} + +FUNCTION {check.required} +{ 's := + duplicate$ empty$ + { "Empty " s * " in " * cite$ * warning$ } + 'skip$ + if$ +} + +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} + +FUNCTION {push.sortword} +{ sort-word empty$ + { word field.or.null } + 'sort-word + if$ +} + +FUNCTION {check.alpha} +{ duplicate$ + purify$ + empty$ + { "Non alphabetical " cite$ * + " entry without group field" * warning$ } + 'skip$ + if$ +} + +FUNCTION {push.heading} +{ heading empty$ + { word field.or.null + #1 text.prefix$ + check.alpha + } + 'heading + if$ +} + +FUNCTION {begin.entry} +{ newline$ + "\begin{losaitem" star.period * write$ + "}{" write$ + cite$ write$ + "}{" write$ + word write$ + "}{" write$ + ucword write$ + "}{" write$ + short field.or.null write$ + "}" write$ + newline$ +} + +FUNCTION {end.entry} +{ "\end{losaitem" star.period "}" * * write$ + newline$ +} + +FUNCTION {set.vars} +{ word field.or.null + "word" check.required + upper.first + 'ucword := +} + + +FUNCTION {losadef} +{ definition field.or.null + "definition" check.required + duplicate$ has.period + { "*" } + { "" } + if$ + 'star.period := % definition is stored for later writing + begin.entry % this outputs word, ucword, and short + write$ % writes definition + end.entry +} + +FUNCTION {gd} +{ definition field.or.null + "definition" check.required + duplicate$ has.period + { "*" } + { "" } + if$ + 'star.period := % definition is stored for later + begin.entry % this outputs word, ucword, and short + write$ % writes definition + end.entry +} + +FUNCTION {default.type} { losadef } + +FUNCTION {presort} +{ set.vars + push.sortword + group empty$ + { purify$ "L" } + 'group + if$ % sort-word heading + swap$ * % heading * sort-word + "l" change.case$ + 'sort.key$ := +} + +FUNCTION {begin.thelosa} +{ "\begin{thelosa}" + write$ + newline$ + preamble$ empty$ + 'skip$ + { preamble$ write$ newline$ } + if$ +} + +FUNCTION {end.thelosa} +{ newline$ + "\end{thelosa}" write$ + newline$ +} + +FUNCTION {call.entries} + { group empty$ + 'push.heading + { heading empty$ + 'skip$ + { "Ignoring heading because there is group field in " + cite$ * + warning$ + } + if$ + group + } + if$ + "u" change.case$ + duplicate$ + group empty$ + 'skip$ + { "$$$$$" * } + if$ + duplicate$ + last.heading = + { pop$ pop$ } + { newline$ + 'last.heading := + group empty$ + { "\losaheading{" } + { "\losagroup{" } + if$ + swap$ * "}" * + write$ + newline$ + } + if$ + call.type$ + } + +READ + +ITERATE {presort} + +SORT + +EXECUTE {begin.thelosa} + +ITERATE {call.entries} + +EXECUTE {end.thelosa} + + |