ENTRY
{ address
author
journal
month
number
note
pages
publisher
title
year
volume
}
{}
{ label }
INTEGERS { stringfield stringitem stringbibliography stringlen }
STRINGS { string }
FUNCTION {init.string}
{
"WinEdt" 'string :=
string text.length$ 'stringlen :=
}
FUNCTION {output.bibitem}
{ newline$
"\bibitem{" write$
cite$ write$
"}" write$
newline$
"This entry " write$
""
#0 'stringitem :=
}
FUNCTION {fin.entry}
{ write$
stringitem #0 =
{ "does not contain the word `" string * "'." * }
{ ". That makes a total of "
stringitem int.to.str$ *
" occurences." *
stringbibliography stringitem + 'stringbibliography :=
}
if$
write$
newline$
}
INTEGERS { start end }
FUNCTION {check.for.string}
{ duplicate$
#0 'stringfield :=
text.length$ stringlen - #2 + 'end :=
#0 'start :=
{ start end < }
{ duplicate$
start stringlen substring$
string =
{ stringfield #1 + 'stringfield :=}
'skip$
if$
start #1 + 'start :=
}
while$
stringfield #0 =
{ pop$ pop$ }
{ pop$
stringitem #0 =
{ "contains of " stringfield int.to.str$ *
" occurences of the word `" * string * "' in the \emph{" * swap$ "} field" * * }
{ ", " stringfield int.to.str$ * " in the \emph{" * swap$ "} field" * * }
if$
write$
}
if$
stringfield stringitem + 'stringitem :=
}
FUNCTION {check}
{ duplicate$ empty$
{ pop$ pop$ }
{ check.for.string }
if$
}
FUNCTION {article}
{ output.bibitem
"Author" author check
"Title" title check
"Journal" journal check
"Publisher" publisher check
"Address" address check
"Month" month check
"Note" note check
"Pages" pages check
"Year" year check
"Volume" volume check
fin.entry
}
READ
STRINGS { longest.label }
INTEGERS { number.label longest.label.width }
FUNCTION {initialize.longest.label}
{ "" 'longest.label :=
#1 'number.label :=
#0 'longest.label.width :=
}
FUNCTION {longest.label.pass}
{ number.label int.to.str$ 'label :=
number.label #1 + 'number.label :=
label width$ longest.label.width >
{ label 'longest.label :=
label width$ 'longest.label.width :=
}
'skip$
if$
}
EXECUTE {initialize.longest.label}
ITERATE {longest.label.pass}
FUNCTION {begin.bib}
{ "% This bibliography has been generated by sample.bst," write$ newline$
"% the bibliography style that is a sample for the" write$ newline$
"% BibStyle mode for WinEdt 5.4." write$ newline$ newline$
"\begin{thebibliography}{" longest.label * "}" * write$ newline$
}
EXECUTE {begin.bib}
EXECUTE {init.string}
ITERATE {call.type$}
FUNCTION {end.bib}
{ newline$
"\end{thebibliography}" write$ newline$
"Your bibliography contains of "
stringbibliography int.to.str$ *
" occurences of the word `" string * "'." * *
write$ newline$
}
EXECUTE {end.bib}