Last active
October 29, 2017 11:58
-
-
Save weibeld/d0e662f4de558f294e8147457cbf3ba2 to your computer and use it in GitHub Desktop.
Custom BibTeX bibliography style with entries sorted in alphabetical order
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
% Begin of manually added comments | |
%------------------------------------------------------------------------------% | |
% | |
% The main characteristics of this bib style are: | |
% - Ordering of references in ALPHABETICAL order | |
% - Author names: initials + surname (e.g. J. F. Smith) | |
% - Maximum three authors (missing names replaced by et al.) | |
% - Date as month + year | |
% - Titles (and punctuation) in double quotes | |
% - Don't change capitalisation of titles | |
% - Journal names in italics | |
% - No ISBN, ISSN, DOI | |
% - No word "in" for collections and proceedings | |
% | |
% ------ | |
% | |
% To create a .bst file, do: | |
% | |
% latex makebst | |
% | |
% This asks a catalogue of questions and then creates a .dbj file (e.g. foo.dbj). | |
% The .dbj file contains the answers to all the questions. It may be manually | |
% edited. | |
% | |
% latex foo.dbj | |
% | |
% Creates the .bst file based on the information in the .dbj file. | |
% | |
% Daniel Weibel <danielmweibel@gmail.com> 26 May 2016 | |
%------------------------------------------------------------------------------% | |
% End of manually added comments | |
%% | |
%% This is file `my_alphorder.bst', | |
%% generated with the docstrip utility. | |
%% | |
%% The original source files were: | |
%% | |
%% merlin.mbs (with options: `nm-init,ed-au,nmlm,x3,m3,mcite,mct-3,mct-x3,tit-qq,atit-u,vnum-nr,volp-com,jwdpg,jwdvol,num-xser,edpar,edby-par,edbyx,in-x,pp,xedn,etal-it,url,url-blk,em-it,nfss,') | |
%% ---------------------------------------- | |
%% *** *** | |
%% | |
%% Copyright 1994-2011 Patrick W Daly | |
% =============================================================== | |
% IMPORTANT NOTICE: | |
% This bibliographic style (bst) file has been generated from one or | |
% more master bibliographic style (mbs) files, listed above. | |
% | |
% This generated file can be redistributed and/or modified under the terms | |
% of the LaTeX Project Public License Distributed from CTAN | |
% archives in directory macros/latex/base/lppl.txt; either | |
% version 1 of the License, or any later version. | |
% =============================================================== | |
% Name and version information of the main mbs file: | |
% \ProvidesFile{merlin.mbs}[2011/11/18 4.33 (PWD, AO, DPC)] | |
% For use with BibTeX version 0.99a or later | |
%------------------------------------------------------------------- | |
% This bibliography style file is intended for texts in ENGLISH | |
% This is a numerical citation style, and as such is standard LaTeX. | |
% It requires no extra package to interface to the main text. | |
% The form of the \bibitem entries is | |
% \bibitem{key}... | |
% Usage of \cite is as follows: | |
% \cite{key} ==>> [#] | |
% \cite[chap. 2]{key} ==>> [#, chap. 2] | |
% where # is a number determined by the ordering in the reference list. | |
% The order in the reference list is alphabetical by authors. | |
%--------------------------------------------------------------------- | |
ENTRY | |
{ address | |
author | |
booktitle | |
chapter | |
edition | |
editor | |
eid | |
howpublished | |
institution | |
journal | |
key | |
month | |
note | |
number | |
organization | |
pages | |
publisher | |
school | |
series | |
title | |
type | |
url | |
volume | |
year | |
} | |
{} | |
{ label } | |
INTEGERS { output.state before.all mid.sentence after.sentence after.block } | |
FUNCTION {init.state.consts} | |
{ #0 'before.all := | |
#1 'mid.sentence := | |
#2 'after.sentence := | |
#3 'after.block := | |
} | |
STRINGS { s t} | |
FUNCTION {output.nonnull} | |
{ 's := | |
output.state mid.sentence = | |
{ ", " * write$ } | |
{ output.state after.block = | |
{ add.period$ write$ | |
newline$ | |
"\newblock " write$ | |
} | |
{ output.state before.all = | |
'write$ | |
{ add.period$ " " * write$ } | |
if$ | |
} | |
if$ | |
mid.sentence 'output.state := | |
} | |
if$ | |
s | |
} | |
FUNCTION {output} | |
{ duplicate$ empty$ | |
'pop$ | |
'output.nonnull | |
if$ | |
} | |
FUNCTION {output.check} | |
{ 't := | |
duplicate$ empty$ | |
{ pop$ "empty " t * " in " * cite$ * warning$ } | |
'output.nonnull | |
if$ | |
} | |
FUNCTION {fin.entry} | |
{ add.period$ | |
write$ | |
newline$ | |
} | |
FUNCTION {new.block} | |
{ output.state before.all = | |
'skip$ | |
{ after.block 'output.state := } | |
if$ | |
} | |
FUNCTION {new.sentence} | |
{ output.state after.block = | |
'skip$ | |
{ output.state before.all = | |
'skip$ | |
{ after.sentence 'output.state := } | |
if$ | |
} | |
if$ | |
} | |
FUNCTION {add.blank} | |
{ " " * before.all 'output.state := | |
} | |
FUNCTION {date.block} | |
{ | |
new.block | |
} | |
FUNCTION {not} | |
{ { #0 } | |
{ #1 } | |
if$ | |
} | |
FUNCTION {and} | |
{ 'skip$ | |
{ pop$ #0 } | |
if$ | |
} | |
FUNCTION {or} | |
{ { pop$ #1 } | |
'skip$ | |
if$ | |
} | |
FUNCTION {non.stop} | |
{ duplicate$ | |
"}" * add.period$ | |
#-1 #1 substring$ "." = | |
} | |
FUNCTION {new.block.checka} | |
{ empty$ | |
'skip$ | |
'new.block | |
if$ | |
} | |
FUNCTION {new.block.checkb} | |
{ empty$ | |
swap$ empty$ | |
and | |
'skip$ | |
'new.block | |
if$ | |
} | |
FUNCTION {new.sentence.checka} | |
{ empty$ | |
'skip$ | |
'new.sentence | |
if$ | |
} | |
FUNCTION {new.sentence.checkb} | |
{ empty$ | |
swap$ empty$ | |
and | |
'skip$ | |
'new.sentence | |
if$ | |
} | |
FUNCTION {field.or.null} | |
{ duplicate$ empty$ | |
{ pop$ "" } | |
'skip$ | |
if$ | |
} | |
FUNCTION {emphasize} | |
{ duplicate$ empty$ | |
{ pop$ "" } | |
{ "\textit{" swap$ * "}" * } | |
if$ | |
} | |
FUNCTION {tie.or.space.prefix} | |
{ duplicate$ text.length$ #3 < | |
{ "~" } | |
{ " " } | |
if$ | |
swap$ | |
} | |
FUNCTION {capitalize} | |
{ "u" change.case$ "t" change.case$ } | |
FUNCTION {space.word} | |
{ " " swap$ * " " * } | |
% Here are the language-specific definitions for explicit words. | |
% Each function has a name bbl.xxx where xxx is the English word. | |
% The language selected here is ENGLISH | |
FUNCTION {bbl.and} | |
{ "and"} | |
FUNCTION {bbl.etal} | |
{ "et~al." } | |
FUNCTION {bbl.editors} | |
{ "editors" } | |
FUNCTION {bbl.editor} | |
{ "editor" } | |
FUNCTION {bbl.edby} | |
{ "edited by" } | |
FUNCTION {bbl.edition} | |
{ "edition" } | |
FUNCTION {bbl.volume} | |
{ "volume" } | |
FUNCTION {bbl.of} | |
{ "of" } | |
FUNCTION {bbl.number} | |
{ "number" } | |
FUNCTION {bbl.nr} | |
{ "no." } | |
FUNCTION {bbl.in} | |
{ "in" } | |
FUNCTION {bbl.pages} | |
{ "pp." } | |
FUNCTION {bbl.page} | |
{ "p." } | |
FUNCTION {bbl.chapter} | |
{ "chapter" } | |
FUNCTION {bbl.techrep} | |
{ "Technical Report" } | |
FUNCTION {bbl.mthesis} | |
{ "Master's thesis" } | |
FUNCTION {bbl.phdthesis} | |
{ "Ph.D. thesis" } | |
MACRO {jan} {"January"} | |
MACRO {feb} {"February"} | |
MACRO {mar} {"March"} | |
MACRO {apr} {"April"} | |
MACRO {may} {"May"} | |
MACRO {jun} {"June"} | |
MACRO {jul} {"July"} | |
MACRO {aug} {"August"} | |
MACRO {sep} {"September"} | |
MACRO {oct} {"October"} | |
MACRO {nov} {"November"} | |
MACRO {dec} {"December"} | |
MACRO {acmcs} {"ACM Computing Surveys"} | |
MACRO {acta} {"Acta Informatica"} | |
MACRO {cacm} {"Communications of the ACM"} | |
MACRO {ibmjrd} {"IBM Journal of Research and Development"} | |
MACRO {ibmsj} {"IBM Systems Journal"} | |
MACRO {ieeese} {"IEEE Transactions on Software Engineering"} | |
MACRO {ieeetc} {"IEEE Transactions on Computers"} | |
MACRO {ieeetcad} | |
{"IEEE Transactions on Computer-Aided Design of Integrated Circuits"} | |
MACRO {ipl} {"Information Processing Letters"} | |
MACRO {jacm} {"Journal of the ACM"} | |
MACRO {jcss} {"Journal of Computer and System Sciences"} | |
MACRO {scp} {"Science of Computer Programming"} | |
MACRO {sicomp} {"SIAM Journal on Computing"} | |
MACRO {tocs} {"ACM Transactions on Computer Systems"} | |
MACRO {tods} {"ACM Transactions on Database Systems"} | |
MACRO {tog} {"ACM Transactions on Graphics"} | |
MACRO {toms} {"ACM Transactions on Mathematical Software"} | |
MACRO {toois} {"ACM Transactions on Office Information Systems"} | |
MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"} | |
MACRO {tcs} {"Theoretical Computer Science"} | |
FUNCTION {bibinfo.check} | |
{ swap$ | |
duplicate$ missing$ | |
{ | |
pop$ pop$ | |
"" | |
} | |
{ duplicate$ empty$ | |
{ | |
swap$ pop$ | |
} | |
{ swap$ | |
pop$ | |
} | |
if$ | |
} | |
if$ | |
} | |
FUNCTION {bibinfo.warn} | |
{ swap$ | |
duplicate$ missing$ | |
{ | |
swap$ "missing " swap$ * " in " * cite$ * warning$ pop$ | |
"" | |
} | |
{ duplicate$ empty$ | |
{ | |
swap$ "empty " swap$ * " in " * cite$ * warning$ | |
} | |
{ swap$ | |
pop$ | |
} | |
if$ | |
} | |
if$ | |
} | |
FUNCTION {format.url} | |
{ | |
url | |
duplicate$ empty$ | |
{ pop$ "" } | |
{ "\urlprefix\url{" swap$ * "}" * } | |
if$ | |
} | |
INTEGERS { nameptr namesleft numnames } | |
STRINGS { bibinfo} | |
FUNCTION {format.names} | |
{ 'bibinfo := | |
duplicate$ empty$ 'skip$ { | |
's := | |
"" 't := | |
#1 'nameptr := | |
s num.names$ 'numnames := | |
numnames 'namesleft := | |
{ namesleft #0 > } | |
{ s nameptr | |
"{f.~}{vv~}{ll}{, jj}" | |
format.name$ | |
bibinfo bibinfo.check | |
't := | |
nameptr #1 > | |
{ | |
nameptr #3 | |
#1 + = | |
numnames #3 | |
> and | |
{ "others" 't := | |
#1 'namesleft := } | |
'skip$ | |
if$ | |
namesleft #1 > | |
{ ", " * t * } | |
{ | |
s nameptr "{ll}" format.name$ duplicate$ "others" = | |
{ 't := } | |
{ pop$ } | |
if$ | |
numnames #2 > | |
{ "," * } | |
'skip$ | |
if$ | |
t "others" = | |
{ | |
" " * bbl.etal emphasize * | |
} | |
{ | |
bbl.and | |
space.word * t * | |
} | |
if$ | |
} | |
if$ | |
} | |
't | |
if$ | |
nameptr #1 + 'nameptr := | |
namesleft #1 - 'namesleft := | |
} | |
while$ | |
} if$ | |
} | |
FUNCTION {format.names.ed} | |
{ | |
format.names | |
} | |
FUNCTION {format.authors} | |
{ author "author" format.names | |
} | |
FUNCTION {get.bbl.editor} | |
{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ } | |
FUNCTION {format.editors} | |
{ editor "editor" format.names duplicate$ empty$ 'skip$ | |
{ | |
" " * | |
get.bbl.editor | |
"(" swap$ * ")" * | |
* | |
} | |
if$ | |
} | |
FUNCTION {format.note} | |
{ | |
note empty$ | |
{ "" } | |
{ note #1 #1 substring$ | |
duplicate$ "{" = | |
'skip$ | |
{ output.state mid.sentence = | |
{ "l" } | |
{ "u" } | |
if$ | |
change.case$ | |
} | |
if$ | |
note #2 global.max$ substring$ * "note" bibinfo.check | |
} | |
if$ | |
} | |
FUNCTION {format.title} | |
{ title | |
"title" bibinfo.check | |
duplicate$ empty$ 'skip$ | |
{ | |
"\enquote{" swap$ * | |
add.period$ "}" * | |
} | |
if$ | |
} | |
FUNCTION {output.bibitem} | |
{ newline$ | |
"\bibitem{" write$ | |
cite$ write$ | |
"}" write$ | |
newline$ | |
"" | |
before.all 'output.state := | |
} | |
FUNCTION {n.dashify} | |
{ | |
't := | |
"" | |
{ t empty$ not } | |
{ t #1 #1 substring$ "-" = | |
{ t #1 #2 substring$ "--" = not | |
{ "--" * | |
t #2 global.max$ substring$ 't := | |
} | |
{ { t #1 #1 substring$ "-" = } | |
{ "-" * | |
t #2 global.max$ substring$ 't := | |
} | |
while$ | |
} | |
if$ | |
} | |
{ t #1 #1 substring$ * | |
t #2 global.max$ substring$ 't := | |
} | |
if$ | |
} | |
while$ | |
} | |
FUNCTION {word.in} | |
{ "" } | |
FUNCTION {format.date} | |
{ | |
month "month" bibinfo.check | |
duplicate$ empty$ | |
year "year" bibinfo.check duplicate$ empty$ | |
{ swap$ 'skip$ | |
{ "there's a month but no year in " cite$ * warning$ } | |
if$ | |
* | |
} | |
{ swap$ 'skip$ | |
{ | |
swap$ | |
" " * swap$ | |
} | |
if$ | |
* | |
} | |
if$ | |
} | |
FUNCTION {format.btitle} | |
{ title "title" bibinfo.check | |
duplicate$ empty$ 'skip$ | |
{ | |
emphasize | |
} | |
if$ | |
} | |
FUNCTION {either.or.check} | |
{ empty$ | |
'pop$ | |
{ "can't use both " swap$ * " fields in " * cite$ * warning$ } | |
if$ | |
} | |
FUNCTION {format.bvolume} | |
{ volume empty$ | |
{ "" } | |
{ bbl.volume volume tie.or.space.prefix | |
"volume" bibinfo.check * * | |
series "series" bibinfo.check | |
duplicate$ empty$ 'pop$ | |
{ swap$ bbl.of space.word * swap$ | |
emphasize * } | |
if$ | |
"volume and number" number either.or.check | |
} | |
if$ | |
} | |
FUNCTION {format.number.series} | |
{ volume empty$ | |
{ number empty$ | |
{ series field.or.null } | |
{ series empty$ | |
{ number "number" bibinfo.check } | |
{ output.state mid.sentence = | |
{ bbl.number } | |
{ bbl.number capitalize } | |
if$ | |
number tie.or.space.prefix "number" bibinfo.check * * | |
bbl.in space.word * | |
series "series" bibinfo.check * | |
} | |
if$ | |
} | |
if$ | |
} | |
{ "" } | |
if$ | |
} | |
FUNCTION {format.edition} | |
{ edition duplicate$ empty$ 'skip$ | |
{ | |
output.state mid.sentence = | |
{ "l" } | |
{ "t" } | |
if$ change.case$ | |
"edition" bibinfo.check | |
" " * bbl.edition * | |
} | |
if$ | |
} | |
INTEGERS { multiresult } | |
FUNCTION {multi.page.check} | |
{ 't := | |
#0 'multiresult := | |
{ multiresult not | |
t empty$ not | |
and | |
} | |
{ t #1 #1 substring$ | |
duplicate$ "-" = | |
swap$ duplicate$ "," = | |
swap$ "+" = | |
or or | |
{ #1 'multiresult := } | |
{ t #2 global.max$ substring$ 't := } | |
if$ | |
} | |
while$ | |
multiresult | |
} | |
FUNCTION {format.pages} | |
{ pages duplicate$ empty$ 'skip$ | |
{ duplicate$ multi.page.check | |
{ | |
bbl.pages swap$ | |
n.dashify | |
} | |
{ | |
bbl.page swap$ | |
} | |
if$ | |
tie.or.space.prefix | |
"pages" bibinfo.check | |
* * | |
} | |
if$ | |
} | |
FUNCTION {format.journal.pages} | |
{ pages duplicate$ empty$ 'pop$ | |
{ swap$ duplicate$ empty$ | |
{ pop$ pop$ format.pages } | |
{ | |
", " * | |
swap$ | |
n.dashify | |
pages multi.page.check | |
'bbl.pages | |
'bbl.page | |
if$ | |
swap$ tie.or.space.prefix | |
"pages" bibinfo.check | |
* * | |
* | |
} | |
if$ | |
} | |
if$ | |
} | |
FUNCTION {format.journal.eid} | |
{ eid "eid" bibinfo.check | |
duplicate$ empty$ 'pop$ | |
{ swap$ duplicate$ empty$ 'skip$ | |
{ | |
", " * | |
} | |
if$ | |
swap$ * | |
} | |
if$ | |
} | |
FUNCTION {format.vol.num.pages} | |
{ volume field.or.null | |
duplicate$ empty$ 'skip$ | |
{ | |
bbl.volume swap$ tie.or.space.prefix | |
"volume" bibinfo.check | |
* * | |
} | |
if$ | |
number "number" bibinfo.check duplicate$ empty$ 'skip$ | |
{ | |
swap$ duplicate$ empty$ | |
{ "there's a number but no volume in " cite$ * warning$ } | |
'skip$ | |
if$ | |
swap$ | |
", " bbl.nr * number tie.or.space.prefix pop$ * swap$ * | |
} | |
if$ * | |
eid empty$ | |
{ format.journal.pages } | |
{ format.journal.eid } | |
if$ | |
} | |
FUNCTION {format.chapter.pages} | |
{ chapter empty$ | |
'format.pages | |
{ type empty$ | |
{ bbl.chapter } | |
{ type "l" change.case$ | |
"type" bibinfo.check | |
} | |
if$ | |
chapter tie.or.space.prefix | |
"chapter" bibinfo.check | |
* * | |
pages empty$ | |
'skip$ | |
{ ", " * format.pages * } | |
if$ | |
} | |
if$ | |
} | |
FUNCTION {format.booktitle} | |
{ | |
booktitle "booktitle" bibinfo.check | |
emphasize | |
} | |
FUNCTION {format.in.ed.booktitle} | |
{ format.booktitle duplicate$ empty$ 'skip$ | |
{ | |
editor "editor" format.names.ed duplicate$ empty$ 'pop$ | |
{ | |
get.bbl.editor | |
" " * swap$ * | |
"(" swap$ * ")" * | |
swap$ | |
" " * swap$ | |
* } | |
if$ | |
word.in swap$ * | |
} | |
if$ | |
} | |
FUNCTION {empty.misc.check} | |
{ author empty$ title empty$ howpublished empty$ | |
month empty$ year empty$ note empty$ | |
and and and and and | |
key empty$ not and | |
{ "all relevant fields are empty in " cite$ * warning$ } | |
'skip$ | |
if$ | |
} | |
FUNCTION {format.thesis.type} | |
{ type duplicate$ empty$ | |
'pop$ | |
{ swap$ pop$ | |
"t" change.case$ "type" bibinfo.check | |
} | |
if$ | |
} | |
FUNCTION {format.tr.number} | |
{ number "number" bibinfo.check | |
type duplicate$ empty$ | |
{ pop$ bbl.techrep } | |
'skip$ | |
if$ | |
"type" bibinfo.check | |
swap$ duplicate$ empty$ | |
{ pop$ "t" change.case$ } | |
{ tie.or.space.prefix * * } | |
if$ | |
} | |
FUNCTION {format.article.crossref} | |
{ | |
key duplicate$ empty$ | |
{ pop$ | |
journal duplicate$ empty$ | |
{ "need key or journal for " cite$ * " to crossref " * crossref * warning$ } | |
{ "journal" bibinfo.check emphasize word.in swap$ * } | |
if$ | |
} | |
{ word.in swap$ * " " *} | |
if$ | |
" \cite{" * crossref * "}" * | |
} | |
FUNCTION {format.crossref.editor} | |
{ editor #1 "{vv~}{ll}" format.name$ | |
"editor" bibinfo.check | |
editor num.names$ duplicate$ | |
#2 > | |
{ pop$ | |
"editor" bibinfo.check | |
" " * bbl.etal | |
emphasize | |
* | |
} | |
{ #2 < | |
'skip$ | |
{ editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = | |
{ | |
"editor" bibinfo.check | |
" " * bbl.etal | |
emphasize | |
* | |
} | |
{ | |
bbl.and space.word | |
* editor #2 "{vv~}{ll}" format.name$ | |
"editor" bibinfo.check | |
* | |
} | |
if$ | |
} | |
if$ | |
} | |
if$ | |
} | |
FUNCTION {format.book.crossref} | |
{ volume duplicate$ empty$ | |
{ "empty volume in " cite$ * "'s crossref of " * crossref * warning$ | |
pop$ word.in | |
} | |
{ bbl.volume | |
capitalize | |
swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word * | |
} | |
if$ | |
editor empty$ | |
editor field.or.null author field.or.null = | |
or | |
{ key empty$ | |
{ series empty$ | |
{ "need editor, key, or series for " cite$ * " to crossref " * | |
crossref * warning$ | |
"" * | |
} | |
{ series emphasize * } | |
if$ | |
} | |
{ key * } | |
if$ | |
} | |
{ format.crossref.editor * } | |
if$ | |
" \cite{" * crossref * "}" * | |
} | |
FUNCTION {format.incoll.inproc.crossref} | |
{ | |
editor empty$ | |
editor field.or.null author field.or.null = | |
or | |
{ key empty$ | |
{ format.booktitle duplicate$ empty$ | |
{ "need editor, key, or booktitle for " cite$ * " to crossref " * | |
crossref * warning$ | |
} | |
{ word.in swap$ * } | |
if$ | |
} | |
{ word.in key * " " *} | |
if$ | |
} | |
{ word.in format.crossref.editor * " " *} | |
if$ | |
" \cite{" * crossref * "}" * | |
} | |
FUNCTION {format.org.or.pub} | |
{ 't := | |
"" | |
address empty$ t empty$ and | |
'skip$ | |
{ | |
t empty$ | |
{ address "address" bibinfo.check * | |
} | |
{ t * | |
address empty$ | |
'skip$ | |
{ ", " * address "address" bibinfo.check * } | |
if$ | |
} | |
if$ | |
} | |
if$ | |
} | |
FUNCTION {format.publisher.address} | |
{ publisher "publisher" bibinfo.warn format.org.or.pub | |
} | |
FUNCTION {format.organization.address} | |
{ organization "organization" bibinfo.check format.org.or.pub | |
} | |
FUNCTION {article} | |
{ output.bibitem | |
format.authors "author" output.check | |
new.block | |
format.title "title" output.check | |
new.block | |
crossref missing$ | |
{ | |
journal | |
"journal" bibinfo.check | |
emphasize | |
"journal" output.check | |
format.vol.num.pages output | |
format.date "year" output.check | |
} | |
{ format.article.crossref output.nonnull | |
format.pages output | |
} | |
if$ | |
new.block | |
format.url output | |
new.block | |
format.note output | |
fin.entry | |
} | |
FUNCTION {book} | |
{ output.bibitem | |
author empty$ | |
{ format.editors "author and editor" output.check | |
} | |
{ format.authors output.nonnull | |
crossref missing$ | |
{ "author and editor" editor either.or.check } | |
'skip$ | |
if$ | |
} | |
if$ | |
new.block | |
format.btitle "title" output.check | |
crossref missing$ | |
{ format.bvolume output | |
new.block | |
format.number.series output | |
new.sentence | |
format.publisher.address output | |
} | |
{ | |
new.block | |
format.book.crossref output.nonnull | |
} | |
if$ | |
format.edition output | |
format.date "year" output.check | |
new.block | |
format.url output | |
new.block | |
format.note output | |
fin.entry | |
} | |
FUNCTION {booklet} | |
{ output.bibitem | |
format.authors output | |
new.block | |
format.title "title" output.check | |
new.block | |
howpublished "howpublished" bibinfo.check output | |
address "address" bibinfo.check output | |
format.date output | |
new.block | |
format.url output | |
new.block | |
format.note output | |
fin.entry | |
} | |
FUNCTION {inbook} | |
{ output.bibitem | |
author empty$ | |
{ format.editors "author and editor" output.check | |
} | |
{ format.authors output.nonnull | |
crossref missing$ | |
{ "author and editor" editor either.or.check } | |
'skip$ | |
if$ | |
} | |
if$ | |
new.block | |
format.btitle "title" output.check | |
crossref missing$ | |
{ | |
format.bvolume output | |
format.chapter.pages "chapter and pages" output.check | |
new.block | |
format.number.series output | |
new.sentence | |
format.publisher.address output | |
} | |
{ | |
format.chapter.pages "chapter and pages" output.check | |
new.block | |
format.book.crossref output.nonnull | |
} | |
if$ | |
format.edition output | |
format.date "year" output.check | |
new.block | |
format.url output | |
new.block | |
format.note output | |
fin.entry | |
} | |
FUNCTION {incollection} | |
{ output.bibitem | |
format.authors "author" output.check | |
new.block | |
format.title "title" output.check | |
new.block | |
crossref missing$ | |
{ format.in.ed.booktitle "booktitle" output.check | |
format.bvolume output | |
format.number.series output | |
format.chapter.pages output | |
new.sentence | |
format.publisher.address output | |
format.edition output | |
format.date "year" output.check | |
} | |
{ format.incoll.inproc.crossref output.nonnull | |
format.chapter.pages output | |
} | |
if$ | |
new.block | |
format.url output | |
new.block | |
format.note output | |
fin.entry | |
} | |
FUNCTION {inproceedings} | |
{ output.bibitem | |
format.authors "author" output.check | |
new.block | |
format.title "title" output.check | |
new.block | |
crossref missing$ | |
{ format.in.ed.booktitle "booktitle" output.check | |
format.bvolume output | |
format.number.series output | |
format.pages output | |
new.sentence | |
publisher empty$ | |
{ format.organization.address output } | |
{ organization "organization" bibinfo.check output | |
format.publisher.address output | |
} | |
if$ | |
format.date "year" output.check | |
} | |
{ format.incoll.inproc.crossref output.nonnull | |
format.pages output | |
} | |
if$ | |
new.block | |
format.url output | |
new.block | |
format.note output | |
fin.entry | |
} | |
FUNCTION {conference} { inproceedings } | |
FUNCTION {manual} | |
{ output.bibitem | |
author empty$ | |
{ organization "organization" bibinfo.check | |
duplicate$ empty$ 'pop$ | |
{ output | |
address "address" bibinfo.check output | |
} | |
if$ | |
} | |
{ format.authors output.nonnull } | |
if$ | |
new.block | |
format.btitle "title" output.check | |
author empty$ | |
{ organization empty$ | |
{ | |
address new.block.checka | |
address "address" bibinfo.check output | |
} | |
'skip$ | |
if$ | |
} | |
{ | |
organization address new.block.checkb | |
organization "organization" bibinfo.check output | |
address "address" bibinfo.check output | |
} | |
if$ | |
format.edition output | |
format.date output | |
new.block | |
format.url output | |
new.block | |
format.note output | |
fin.entry | |
} | |
FUNCTION {mastersthesis} | |
{ output.bibitem | |
format.authors "author" output.check | |
new.block | |
format.btitle | |
"title" output.check | |
new.block | |
bbl.mthesis format.thesis.type output.nonnull | |
school "school" bibinfo.warn output | |
address "address" bibinfo.check output | |
format.date "year" output.check | |
new.block | |
format.url output | |
new.block | |
format.note output | |
fin.entry | |
} | |
FUNCTION {misc} | |
{ output.bibitem | |
format.authors output | |
title howpublished new.block.checkb | |
format.title output | |
howpublished new.block.checka | |
howpublished "howpublished" bibinfo.check output | |
format.date output | |
new.block | |
format.url output | |
new.block | |
format.note output | |
fin.entry | |
empty.misc.check | |
} | |
FUNCTION {phdthesis} | |
{ output.bibitem | |
format.authors "author" output.check | |
new.block | |
format.btitle | |
"title" output.check | |
new.block | |
bbl.phdthesis format.thesis.type output.nonnull | |
school "school" bibinfo.warn output | |
address "address" bibinfo.check output | |
format.date "year" output.check | |
new.block | |
format.url output | |
new.block | |
format.note output | |
fin.entry | |
} | |
FUNCTION {proceedings} | |
{ output.bibitem | |
editor empty$ | |
{ organization "organization" bibinfo.check output | |
} | |
{ format.editors output.nonnull } | |
if$ | |
new.block | |
format.btitle "title" output.check | |
format.bvolume output | |
format.number.series output | |
editor empty$ | |
{ publisher empty$ | |
'skip$ | |
{ | |
new.sentence | |
format.publisher.address output | |
} | |
if$ | |
} | |
{ publisher empty$ | |
{ | |
new.sentence | |
format.organization.address output } | |
{ | |
new.sentence | |
organization "organization" bibinfo.check output | |
format.publisher.address output | |
} | |
if$ | |
} | |
if$ | |
format.date "year" output.check | |
new.block | |
format.url output | |
new.block | |
format.note output | |
fin.entry | |
} | |
FUNCTION {techreport} | |
{ output.bibitem | |
format.authors "author" output.check | |
new.block | |
format.title | |
"title" output.check | |
new.block | |
format.tr.number output.nonnull | |
institution "institution" bibinfo.warn output | |
address "address" bibinfo.check output | |
format.date "year" output.check | |
new.block | |
format.url output | |
new.block | |
format.note output | |
fin.entry | |
} | |
FUNCTION {unpublished} | |
{ output.bibitem | |
format.authors "author" output.check | |
new.block | |
format.title "title" output.check | |
format.date output | |
new.block | |
format.url output | |
new.block | |
format.note "note" output.check | |
fin.entry | |
} | |
FUNCTION {default.type} { misc } | |
READ | |
FUNCTION {sortify} | |
{ purify$ | |
"l" change.case$ | |
} | |
INTEGERS { len } | |
FUNCTION {chop.word} | |
{ 's := | |
'len := | |
s #1 len substring$ = | |
{ s len #1 + global.max$ substring$ } | |
's | |
if$ | |
} | |
FUNCTION {sort.format.names} | |
{ 's := | |
#1 'nameptr := | |
"" | |
s num.names$ 'numnames := | |
numnames 'namesleft := | |
{ namesleft #0 > } | |
{ s nameptr | |
"{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" | |
format.name$ 't := | |
nameptr #1 > | |
{ | |
nameptr #3 | |
#1 + = | |
numnames #3 | |
> and | |
{ "others" 't := | |
#1 'namesleft := } | |
'skip$ | |
if$ | |
" " * | |
namesleft #1 = t "others" = and | |
{ "zzzzz" 't := } | |
'skip$ | |
if$ | |
t sortify * | |
} | |
{ t sortify * } | |
if$ | |
nameptr #1 + 'nameptr := | |
namesleft #1 - 'namesleft := | |
} | |
while$ | |
} | |
FUNCTION {sort.format.title} | |
{ 't := | |
"A " #2 | |
"An " #3 | |
"The " #4 t chop.word | |
chop.word | |
chop.word | |
sortify | |
#1 global.max$ substring$ | |
} | |
FUNCTION {author.sort} | |
{ author empty$ | |
{ key empty$ | |
{ "to sort, need author or key in " cite$ * warning$ | |
"" | |
} | |
{ key sortify } | |
if$ | |
} | |
{ author sort.format.names } | |
if$ | |
} | |
FUNCTION {author.editor.sort} | |
{ author empty$ | |
{ editor empty$ | |
{ key empty$ | |
{ "to sort, need author, editor, or key in " cite$ * warning$ | |
"" | |
} | |
{ key sortify } | |
if$ | |
} | |
{ editor sort.format.names } | |
if$ | |
} | |
{ author sort.format.names } | |
if$ | |
} | |
FUNCTION {author.organization.sort} | |
{ author empty$ | |
{ organization empty$ | |
{ key empty$ | |
{ "to sort, need author, organization, or key in " cite$ * warning$ | |
"" | |
} | |
{ key sortify } | |
if$ | |
} | |
{ "The " #4 organization chop.word sortify } | |
if$ | |
} | |
{ author sort.format.names } | |
if$ | |
} | |
FUNCTION {editor.organization.sort} | |
{ editor empty$ | |
{ organization empty$ | |
{ key empty$ | |
{ "to sort, need editor, organization, or key in " cite$ * warning$ | |
"" | |
} | |
{ key sortify } | |
if$ | |
} | |
{ "The " #4 organization chop.word sortify } | |
if$ | |
} | |
{ editor sort.format.names } | |
if$ | |
} | |
FUNCTION {presort} | |
{ type$ "book" = | |
type$ "inbook" = | |
or | |
'author.editor.sort | |
{ type$ "proceedings" = | |
'editor.organization.sort | |
{ type$ "manual" = | |
'author.organization.sort | |
'author.sort | |
if$ | |
} | |
if$ | |
} | |
if$ | |
" " | |
* | |
year field.or.null sortify | |
* | |
" " | |
* | |
title field.or.null | |
sort.format.title | |
* | |
#1 entry.max$ substring$ | |
'sort.key$ := | |
} | |
ITERATE {presort} | |
SORT | |
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} | |
{ preamble$ empty$ | |
'skip$ | |
{ preamble$ write$ newline$ } | |
if$ | |
"\begin{thebibliography}{" longest.label * "}" * | |
write$ newline$ | |
"\newcommand{\enquote}[1]{``#1''}" | |
write$ newline$ | |
"\providecommand{\url}[1]{\texttt{#1}}" | |
write$ newline$ | |
"\providecommand{\urlprefix}{URL }" | |
write$ newline$ | |
} | |
EXECUTE {begin.bib} | |
EXECUTE {init.state.consts} | |
ITERATE {call.type$} | |
FUNCTION {end.bib} | |
{ newline$ | |
"\end{thebibliography}" write$ newline$ | |
} | |
EXECUTE {end.bib} | |
%% End of customized bst file | |
%% | |
%% End of file `my_alphorder.bst'. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
%% Driver file to produce my_alphorder.bst from merlin.mbs | |
%% Generated with makebst, version 4.1 (2003/09/08) | |
%% Produced on 2016/05/27 at 15:21 | |
%% | |
\input docstrip | |
\preamble | |
---------------------------------------- | |
*** *** | |
\endpreamble | |
\postamble | |
End of customized bst file | |
\endpostamble | |
\keepsilent | |
\askforoverwritefalse | |
\def\MBopts{\from{merlin.mbs}{% | |
%EXTERNAL FILES: | |
%Name of language file: \cfile=. | |
%No included files. | |
%INTERNAL LANGUAGE SUPPORT (if no external language file) | |
%: (def) English | |
% babel,%: Babel | |
%-------------------- | |
%STYLE OF CITATIONS: | |
%: (def) Numerical | |
% ay,%: Author-year | |
% alph,%: Alpha style, Jon90 or JWB90 | |
% alph,alf-1,%: Alpha style, Jon90 | |
% alph,alf-f,%: Alpha style, Jones90 | |
% cite,%: Cite key | |
%-------------------- | |
%HTML OUTPUT (if non author-year citations) | |
%: (def) Normal LaTeX | |
% html,%: Hypertext | |
% html,htlist,%: Hypertext list | |
% html,htdes,%: Hypertext with keys | |
%-------------------- | |
%AUTHOR--YEAR SUPPORT SYSTEM (if author-year citations) | |
% nat,%: Natbib | |
% %: (def) Older Natbib | |
% alk,%: Apalike | |
% har,%: Harvard | |
% ast,%: Astronomy | |
% cay,%: Chicago | |
% nmd,%: Named | |
% cn,%: Author-date | |
%-------------------- | |
%HARVARD EXTENSIONS INCLUDED (if Harvard support selected) | |
% harnm,%: With Harvard extensions | |
% %: (def) Older Harvard | |
%-------------------- | |
%LANGUAGE FIELD | |
%: (def) No language field | |
% lang,%: Add language field | |
%-------------------- | |
%ANNOTATIONS: | |
%: (def) No annotations | |
% annote,%: Annotations | |
%-------------------- | |
%PRESENTATIONS: | |
%: (def) Do not add presentation type | |
% pres,%: Add presentation, speaker not highlighted | |
% pres,pres-bf,%: Presentation, speaker bold face | |
% pres,pres-it,%: Presentaion, speaker italic | |
% pres,pres-sc,%: Presentaion, speaker in small caps | |
%-------------------- | |
%ORDERING OF REFERENCES (if non-author/year and non-alph) | |
%: (def) Alphabetical | |
% seq-no,%: Citation order | |
% seq-yr,%: Year ordered | |
% seq-yrr,%: Reverse year ordered | |
%-------------------- | |
%ORDERING OF REFERENCES (if author-year citations) | |
% %: (def) Alphabetical | |
% seq-lab,%: By label | |
% seq-labc,%: By label and cite order | |
% seq-key,%: By label and cite key | |
% seq-yr,%: Year ordered | |
% seq-yrr,%: Reverse year ordered | |
% seq-no,%: Citation order | |
%-------------------- | |
%ORDER ON VON PART (if not citation order) | |
%: (def) Sort on von part | |
% vonx,%: Sort without von part | |
%-------------------- | |
%IGNORE FIRST NAMES (if author-year citations) | |
% %: (def) Respect first names | |
% xintls,%: Sort on surname only | |
%-------------------- | |
%AUTHOR NAMES: | |
% ed-au,%: Full, surname last | |
% nm-revf,%: Full, surname first | |
nm-init,ed-au,%: Initials + surname | |
% nm-rev,%: Surname + initials | |
% nm-rv,%: Surname + dotless initials | |
% nm-rvvc,%: Surname + comma + spaceless initials | |
% nm-rvx,%: Surname + pure initials | |
% nm-rvcx,%: Surname + comma + pure initials | |
% nm-rvv,%: Surname + spaceless initials | |
% nm-rev1,%: Only first name reversed, initials | |
% nm-revv1,%: First name reversed, with full names | |
%-------------------- | |
%EDITOR NAMES IN COLLECTIONS (if author names reversed) | |
% ed-rev,%: Editor names reversed | |
%-------------------- | |
%POSITION OF JUNIOR (if author names reversed) | |
% jnrlst,%: Junior comes last | |
% %: (def) Junior between | |
%-------------------- | |
%JUNIOR PART IN THE CITATION (if author-year citations) | |
% %: (def) No `junior' part in the citations | |
% jnrlab,%: `Junior' in citations | |
%-------------------- | |
%PUNCTUATION BETWEEN AUTHOR NAMES: | |
%: (def) Author names separated by commas | |
% aunm-semi,%: Names separated by semi-colon | |
% aunm-sl,%: Names separated by slash | |
%-------------------- | |
%ADJACENT REFERENCES WITH REPEATED NAMES: | |
%: (def) Author/editor names always present | |
% nmdash,%: Repeated author/editor names replaced by dash | |
% nmdash,nmd-2,%: Repeated author/editor names replaced by 2 dashes | |
% nmdash,nmd-3,%: Repeated author/editor names replaced by 3 dashes | |
%-------------------- | |
%NUMBER OF AUTHORS IN BIBLIOGRAPHY: | |
% %: (def) All authors | |
nmlm,%: Limited authors | |
%-------------------- | |
x3,%: Maximum of 3 authors | |
m3,%: Minimum of 3 authors | |
%AUTHORS IN CITATIONS: | |
% %: (def) One author et al | |
mcite,%: Some other truncation scheme | |
%-------------------- | |
%MAX AUTHORS BEFORE ET AL: (if regular cite not selected) | |
% mct-1,%: One et al | |
% mct-2,%: One, Two et al | |
mct-3,%: One, Two, Three et al | |
% mct-4,%: One, Two, Three, Four et al | |
% mct-5,%: One, Two, Three, Four, Five et al | |
% mct-6,%: One, Two, Three, Four, Five, Six et al | |
%-------------------- | |
%MAX AUTHORS WITHOUT ET AL: (if regular cite not selected) | |
% mct-x2,%: Two authors without truncating | |
mct-x3,%: Three authors | |
% mct-x4,%: Four authors | |
% mct-x5,%: Five authors | |
% mct-x6,%: Six authors | |
%-------------------- | |
%TYPEFACE FOR AUTHORS IN LIST OF REFERENCES: | |
%: (def) Normal font for author names | |
% nmft,nmft-sc,%: Small caps authors | |
% nmft,nmft-it,%: Italic authors | |
% nmft,nmft-bf,%: Bold authors | |
% nmft,nmft-def,%: User defined author font | |
%-------------------- | |
%FONT FOR FIRST NAMES (if non-default font for authors) | |
% %: (def) First names same font as surnames | |
% fnm-rm,%: First names in normal font | |
% fnm-def,%: First names in user defined font | |
%-------------------- | |
%EDITOR NAMES IN INCOLLECTION ETC: | |
% %: (def) Editors incollection normal font | |
% nmfted,%: Editors incollection like authors | |
%-------------------- | |
%FONT FOR `AND' IN LIST: | |
% %: (def) `And' in author font | |
% nmand-rm,%: `And' in normal font | |
%-------------------- | |
%FONT OF CITATION LABELS IN TEXT (if author-year citations) | |
% %: (def) Cited authors plain | |
% lab,lab-it,%: Cited authors italic | |
% lab,lab-sc,%: Cited authors small caps | |
% lab,lab-bf,%: Cited authors bold | |
% lab,lab-def,%: User defined citation font | |
%-------------------- | |
%FONT FOR `AND' IN CITATIONS (if non-default font for citation lables) | |
% %: (def) Cited `and' in author font | |
% and-rm,%: Cited `and' in normal font | |
%-------------------- | |
%FONT OF EXTRA LABEL (The extra letter on the year) | |
% %: (def) Extra label plain | |
% xlab-it,%: Extra label italic | |
%-------------------- | |
%LABEL WHEN AUTHORS MISSING (if author-year citations) | |
% keyxyr,%: Year blank when KEY replaces missing author | |
% %: (def) Year included when KEY replaces missing author | |
%-------------------- | |
%MISSING DATE (if author-year citations) | |
% %: (def) Missing date set to ???? | |
% blkyear,%: Missing date left blank | |
%-------------------- | |
%DATE POSITION: | |
%: (def) Date at end | |
% dt-beg,%: Date after authors | |
% dt-jnl,%: Date part of journal spec. | |
% dt-end,%: Date at very end | |
%-------------------- | |
%DATE FORMAT (if non author-year citations) | |
%: (def) Plain month and year | |
% yr-par,%: Date in parentheses | |
% yr-brk,%: Date in brackets | |
% yr-col,%: Date preceded by colon | |
% yr-per,%: Date preceded by period | |
% yr-com,%: Date preceded by comma | |
% yr-blk,%: Date preceded by space | |
%-------------------- | |
%SUPPRESS MONTH: | |
%: (def) Date is month and year | |
% xmth,%: Date is year only | |
%-------------------- | |
%REVERSED DATE (if including month) | |
%: (def) Date as month year | |
% dtrev,%: Date as year month | |
%-------------------- | |
%DATE FORMAT (if author-year citations) | |
% %: (def) Year plain | |
% yr-par,%: Year in parentheses | |
% yr-brk,%: Year in brackets | |
% yr-col,%: Year preceded by colon | |
% yr-per,%: Year preceded by period | |
% yr-com,%: Date preceded by comma | |
% yr-blk,%: Year preceded by space | |
%-------------------- | |
%INCLUDE MONTHS: | |
% %: (def) Date is year only | |
% aymth,%: Include month in date | |
%-------------------- | |
%REVERSED DATE (if including month) | |
% %: (def) Date as month year | |
% dtrev,%: Date as year month | |
%-------------------- | |
%DATE PUNCTUATION (if date not at end) | |
% %: (def) Date with standard block punctuation | |
% yrp-col,%: Colon after date | |
% yrp-semi,%: Semi-colon after date | |
% yrp-per,%: Period after date | |
% yrp-x,%: No punct. after date | |
%-------------------- | |
%BLANK AFTER DATE: | |
% %: (def) Space after date | |
% yrpp-xsp,%: No space after date | |
%-------------------- | |
%DATE FONT: | |
%: (def) Date in normal font | |
% dtbf,%: Date in bold face | |
%-------------------- | |
%TRUNCATE YEAR (if author-year citations) | |
% note-yr,%: Year text full | |
% %: (def) Year truncated | |
%-------------------- | |
%TITLE OF ARTICLE: | |
% %: (def) Title plain | |
% tit-it,%: Title italic | |
% tit-qq,qt-s,%: Title and punctuation in single quotes | |
tit-qq,%: Title and punctuation in double quotes | |
% tit-qq,qt-g,%: Title and punctuation in guillemets | |
% tit-qq,qt-s,qx,%: Title in single quotes | |
% tit-qq,qx,%: Title in double quotes | |
% tit-qq,qt-g,qx,%: Title in guillemets | |
%-------------------- | |
%COLLECTION/PROCEEDINGS TITLES (if quoted title) | |
% bt-qq,%: Quote collection and proceedings titles | |
%: (def) Collection and proceedings titles not in quotes | |
%-------------------- | |
%CAPITALIZATION OF ARTICLE TITLE: | |
% %: (def) Sentence style | |
atit-u,%: Title style | |
%-------------------- | |
%ARTICLE TITLE PRESENT: | |
%: (def) Article title present | |
% jtit-x,%: No article title | |
%-------------------- | |
%JOURNAL NAMES: | |
%: (def) Periods in journal names | |
% jxper,%: Dotless journal names | |
%-------------------- | |
%JOURNAL NAME FONT: | |
%: (def) Journal name italics | |
% jttl-rm,%: Journal name normal | |
%-------------------- | |
%THESIS TITLE: | |
%: (def) Thesis titles like books | |
% thtit-a,%: Thesis title like article | |
% thtit-x,%: No thesis title | |
%-------------------- | |
%TECHNICAL REPORT TITLE: | |
%: (def) Tech. report title like articles | |
% trtit-b,%: Tech. report title like books | |
%-------------------- | |
%TECHNICAL REPORT NUMBER: | |
%: (def) Tech. report and number plain | |
% trnum-it,%: Tech. report and number italic | |
%-------------------- | |
%JOURNAL VOLUME: | |
%: (def) Volume plain | |
% vol-it,%: Volume italic | |
% vol-bf,%: Volume bold | |
% vol-2bf,%: Volume and number bold | |
%-------------------- | |
%JOURNAL VOL AND NUMBER: | |
% %: (def) Journal vol(num) | |
% vnum-sp,%: Journal vol (num) | |
% vnum-cm,%: Journal vol, num | |
vnum-nr,%: Journal vol, no. num | |
% vnum-h,%: Journal vol, \# number | |
% vnum-b,%: Journal vol number | |
% vnum-x,%: Journal vol, without number | |
%-------------------- | |
%VOLUME PUNCTUATION: | |
% %: (def) Volume with colon | |
% volp-sp,%: Volume with colon and space | |
% volp-semi,%: Volume with semi-colon | |
volp-com,%: Volume with comma | |
% volp-blk,%: Volume with blank | |
%-------------------- | |
%YEAR IN JOURNAL SPECIFICATION: | |
%: (def) Journal year like others | |
% jdt-v,%: Journal vol(year) | |
% jdt-vs,%: Journal vol (year) | |
% jdt-p,%: Year with pages | |
% jdt-pc,%: Year, comma, pages | |
%-------------------- | |
%PAGE NUMBERS: | |
%: (def) Start and stop page numbers | |
% jpg-1,%: Only start page number | |
%-------------------- | |
%LARGE PAGE NUMBERS: | |
%: (def) No separators for large page numbers | |
% pgsep-c,%: Comma inserted over 9999 | |
% pgsep-s,%: Thin space inserted over 9999 | |
% pgsep-p,%: Period inserted over 9999 | |
%-------------------- | |
%WORD `PAGE' IN ARTICLES: | |
% %: (def) Article pages numbers only | |
jwdpg,%: Include `page' in articles | |
%-------------------- | |
%POSITION OF PAGES: | |
%: (def) Pages given mid text | |
% pp-last,%: Pages at end | |
%-------------------- | |
%WORD `VOLUME' IN ARTICLES: | |
% %: (def) Article volume as number only | |
jwdvol,%: Include `volume' in articles | |
%-------------------- | |
%NUMBER AND SERIES FOR COLLECTIONS: | |
num-xser,%: Allows number without series | |
% %: (def) Standard BibTeX | |
%-------------------- | |
%POSITION OF NUMBER AND SERIES: | |
%: (def) After chapter and pages | |
% numser,%: Just before publisher | |
%-------------------- | |
%VOLUME AND SERIES FOR BOOKS/COLLECTIONS: | |
%: (def) Vol. 23 of Series | |
% ser-vol,%: Series, vol. 23 | |
%-------------------- | |
%POSITION OF VOLUME AND SERIES FOR INCOLLECTIONS: | |
%: (def) Series and volume after the editors | |
% ser-ed,%: Series and volume after booktitle | |
%-------------------- | |
%JOURNAL NAME PUNCTUATION: | |
%: (def) Comma after journal | |
% jnm-x,%: Space after journal | |
%-------------------- | |
%BOOK TITLE: | |
%: (def) Book title italic | |
% btit-rm,bt-rm,%: Book title plain | |
%-------------------- | |
%PAGES IN BOOKS: | |
%: (def) Pages in book plain | |
% bkpg-par,%: Pages in book in parentheses | |
% bkpg-x,%: Pages in book bare | |
%-------------------- | |
%TOTAL PAGES OF A BOOK: | |
%: (def) Total book pages not printed | |
% pg-bk,%: For book: 345 pages | |
% pg-bk,pg-pre,%: Total book pages before publisher | |
%-------------------- | |
%PUBLISHER ADDRESS: | |
%: (def) Publisher, address | |
% add-pub,%: Address: Publisher | |
%-------------------- | |
%PUBLISHER IN PARENTHESES: | |
%: (def) Publisher as normal block | |
% pub-par,%: Publisher in parentheses | |
% pub-date,%: Publisher and date in parentheses | |
% pub-date,pub-xc,%: Publisher and date in parentheses, no comma | |
% pub-date,pub-xpar,%: Publisher and date without parentheses | |
% pub-date,pub-xpar,pub-xc,%: Publisher and date, no parentheses, no comma | |
%-------------------- | |
%PUBLISHER POSITION: | |
%: (def) Publisher after chapter, pages | |
% pre-pub,%: Publisher before chapter, pages | |
% pre-edn,%: Publisher after edition | |
%-------------------- | |
%ISBN NUMBER: | |
% isbn,%: Include ISBN | |
%: (def) No ISBN | |
%-------------------- | |
%ISSN NUMBER: | |
% issn,%: Include ISSN | |
%: (def) No ISSN | |
%-------------------- | |
%DOI NUMBER: | |
% doi,%: Include DOI | |
% url-doi,%: Format DOI as URL //dx.doi.org/doi | |
% agu-doi,doi,%: Insert DOI AGU style | |
%: (def) No DOI | |
%-------------------- | |
%`EDITOR' AFTER NAMES (EDITED BOOKS WITHOUT AUTHORS): | |
% %: (def) Word `editor' after name | |
edpar,%: `Name (editor),' | |
% edpar,bkedcap,%: `Name (Editor),' | |
% edparc,%: `Name, (editor)' | |
% edparc,bkedcap,%: `Name, (Editor)' | |
% edparxc,%: `Name (editor)' | |
% edparxc,bkedcap,%: `Name (Editor)' | |
%-------------------- | |
%EDITOR IN COLLECTIONS: | |
% %: (def) Same as for edited book | |
% edby,%: In booktitle, edited by .. | |
% edby-par,%: In booktitle (edited by ..) | |
% edby-parc,%: In booktitle, (edited by ..) | |
% edby,edbyx,%: In booktitle, editor .. | |
% edby,edbyw,%: In booktitle, (editor) .. | |
edby-par,edbyx,%: In booktitle (editor..) | |
% edby-parc,edbyx,%: In booktitle, (editor..) | |
% edby,edbyy,%: In booktitle, .., editor | |
% edby-par,edbyy,%: In booktitle (.., editor) | |
%-------------------- | |
%CAPITALIZE `EDITOR' OR `EDITED BY' (if editor capitalizable) | |
%: (def) `(editor,..)' or `(edited by..)' | |
% edcap,%: `(Editor,..)' or `(Edited by..)' | |
%-------------------- | |
%PUNCTUATION BETWEEN SECTIONS (BLOCKS): | |
%: (def) \newblock after blocks | |
% blk-com,%: Comma between blocks | |
% blk-com,com-semi,%: Semi-colon between blocks | |
% blk-com,com-blank,%: Blanks between blocks | |
% blk-tit,%: Period after titles of articles, books, etc | |
% blk-tit,tit-col,%: Colon after titles of articles, books, etc | |
% blk-tita,%: Period after titles of articles | |
% blk-tita,tit-col,%: Colon after titles of articles | |
%-------------------- | |
%PUNCTUATION BEFORE NOTES (if not using \newblock) | |
% %: (def) Notes have regular punctuation | |
% blknt,%: Notes preceded by period | |
%-------------------- | |
%PUNCTUATION AFTER AUTHORS: | |
%: (def) Author block normal | |
% au-col,%: Author block with colon | |
%-------------------- | |
%PUNCTUATION AFTER `IN': | |
% %: (def) Space after `in' | |
% in-col,%: Colon after `in' | |
% in-it,%: Italic `in' | |
% in-col,in-it,%: Italic `in' and colon | |
in-x,%: No word `in' | |
%-------------------- | |
%`IN' WITH JOURNAL NAMES (if using 'in' with collections) | |
% %: (def) No `in' before journal name | |
% injnl,%: Add `in' before journal name | |
%-------------------- | |
%FINAL PUNCTUATION: | |
%: (def) Period at very end | |
% fin-bare,%: No period at end | |
%-------------------- | |
%ABBREVIATE WORD `PAGES' (if not using external language file) | |
% %: (def) `Page(s)' | |
pp,%: `Page' abbreviated | |
% ppx,%: `Page' omitted | |
%-------------------- | |
%ABBREVIATE WORD `EDITORS': | |
%: (def) `Editor(s)' | |
% ed,%: `Editor' abbreviated | |
%-------------------- | |
%OTHER ABBREVIATIONS: | |
%: (def) No abbreviations | |
% abr,%: Abbreviations | |
%-------------------- | |
%ABBREVIATION FOR `EDITION' (if abbreviating words) | |
% %: (def) `Edition' abbreviated as `edn' | |
% ednx,%: `Edition' abbreviated as `ed' | |
%-------------------- | |
%MONTHS WITH DOTS: | |
% %: (def) Months with dots | |
% mth-bare,%: Months without dots | |
%-------------------- | |
%EDITION NUMBERS: | |
xedn,%: Editions as in database | |
% %: (def) Write out editions | |
% ord,%: Numerical editions | |
%-------------------- | |
%Reading external language file \cfile= | |
%STORED JOURNAL NAMES: | |
%: (def) Full journal names | |
% jabr,%: Abbreviated journal names | |
% jabr,jaa,%: Abbreviated with astronomy shorthands | |
%-------------------- | |
%AMPERSAND: | |
%: (def) Use word `and' | |
% amper,%: Use ampersand | |
% varand,%: Use \BIBand | |
%-------------------- | |
%COMMA BEFORE `AND': | |
%: (def) Comma before `and' | |
% and-xcom,%: No comma before `and' | |
% and-com,%: Comma even with 2 authors | |
%-------------------- | |
%COMMA BEFORE `AND' EVEN FOR COLLECTION EDITORS (if using comma before `and' with authors) | |
% and-com-ed,%: Comma with 2 editors | |
% %: (def) Two editors without comma | |
%-------------------- | |
%NO `AND' IN REFERENCE LIST: | |
%: (def) With `and' | |
% xand,%: No `and' | |
%-------------------- | |
%COMMA BEFORE `ET AL': | |
%: (def) Comma before `et al' | |
% etal-xc,%: No comma before `et al' | |
%-------------------- | |
%FONT OF `ET AL': | |
% %: (def) Plain et al | |
etal-it,%: Italic et al | |
% etal-rm,%: Roman et al | |
%-------------------- | |
%ADDITIONAL REVTeX DATA FIELDS: | |
%: (def) No additional fields | |
% revdata,eprint,url,url-blk,%: Include REVTeX data fields | |
%-------------------- | |
%E-PRINT DATA FIELD: (without REVTeX fields) | |
%: (def) Do not include eprint field | |
% eprint,%: Include eprint and archive fields | |
%-------------------- | |
%URL ADDRESS: (without REVTeX fields) | |
% %: (def) No URL | |
url,url-blk,%: Include URL | |
% url,url-nt,%: URL as note | |
% url,url-nl,%: URL on new line | |
%-------------------- | |
%REFERENCE COMPONENT TAGS: | |
%: (def) No reference component tags | |
% bibinfo,%: Reference component tags | |
%-------------------- | |
%EMPHASIS: (affects all so-called italics) | |
% %: (def) Use emphasis | |
em-it,%: Use true italics | |
% em-x,%: No italics | |
% em-ul,%: Underlining | |
%-------------------- | |
%COMPATIBILITY WITH PLAIN TEX: | |
nfss,%: Use LaTeX commands | |
% plntx,%: Use only Plain TeX | |
%-------------------- | |
}} | |
\generate{\file{my_alphorder.bst}{\MBopts}} | |
\endbatchfile |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment