1 Star 4 Fork 1

楠木/CQUThesis

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
cqunumerical.bst 28.80 KB
一键复制 编辑 原始数据 按行查看 历史
楠木 提交于 2018-02-23 15:13 . [update] 从供应商更新bst
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635
%%
%% This is file `gbt7714-unsrt.bst',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% gbt7714.dtx (with options: `numerical')
%%
%% Copyright (C) 2016-2018 by Zeping Lee <zepinglee AT gmail.com>
%%
%% This file may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either
%% version 1.2 of this license or (at your option) any later
%% version. The latest version of this license is in:
%%
%% http://www.latex-project.org/lppl.txt
%%
%% and version 1.2 or later is part of all distributions of
%% LaTeX version 1999/12/01 or later.
%%
%% This BibTeX style file is derived from `plainnat.bst' by Patrick W Daly,
%% which was designed for use with the `natbib.sty' package.
%%
ENTRY
{ address
author
booktitle
date
doi
edition
editor
institution
journal
key
language
mark
medium
number
organization
pages
publisher
school
series
title
translator
url
urldate
volume
year
}
{ entry.lang }
{ label extra.label sort.label short.list entry.mark }
INTEGERS { output.state before.all mid.sentence after.sentence after.block after.slash }
INTEGERS { lang.zh lang.ja lang.en lang.ru lang.other }
INTEGERS { charptr stringlength }
FUNCTION {init.state.consts}
{ #0 'before.all :=
#1 'mid.sentence :=
#2 'after.sentence :=
#3 'after.block :=
#4 'after.slash :=
#3 'lang.zh :=
#4 'lang.ja :=
#1 'lang.en :=
#2 'lang.ru :=
#0 'lang.other :=
}
STRINGS { s t }
FUNCTION {debug}
{ 's :=
duplicate$
"DEBUG: " s * " -> `" *
swap$ * "'" *
top$
}
FUNCTION {debug.int}
{ 's :=
duplicate$ int.to.str$
"DEBUG: " s * " == " *
swap$ *
top$
}
FUNCTION {punct.colon}
{ ": "
}
FUNCTION {punct.slash}
{ "//\allowbreak{}"
}
FUNCTION {punct.space}
{ " "
}
FUNCTION {output.nonnull}
{ 's :=
output.state mid.sentence =
{ ", " * write$ }
{ output.state after.block =
{ add.period$ write$
newline$
"\newblock " write$
}
{ output.state before.all =
'write$
{ output.state after.slash =
{ punct.slash * write$ }
{ add.period$ " " * write$ }
if$
}
if$
}
if$
mid.sentence 'output.state :=
}
if$
s
}
FUNCTION {output}
{ duplicate$ empty$
'pop$
'output.nonnull
if$
}
FUNCTION {output.after}
{ 't :=
duplicate$ empty$
'pop$
{ 's :=
output.state mid.sentence =
{ t * write$ }
{ output.state after.block =
{ add.period$ write$
newline$
"\newblock " write$
}
{ output.state before.all =
'write$
{ output.state after.slash =
{ punct.slash * write$ }
{ add.period$ " " * write$ }
if$
}
if$
}
if$
mid.sentence 'output.state :=
}
if$
s
}
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$
{ output.state after.slash =
'skip$
{ after.block 'output.state := }
if$
}
if$
}
FUNCTION {new.sentence}
{ output.state after.block =
'skip$
{ output.state before.all =
'skip$
{ output.state after.slash =
'skip$
{ after.sentence 'output.state := }
if$
}
if$
}
if$
}
FUNCTION {new.slash}
{ output.state before.all =
'skip$
{ after.slash 'output.state := }
if$
}
FUNCTION {not}
{ { #0 }
{ #1 }
if$
}
FUNCTION {and}
{ 'skip$
{ pop$ #0 }
if$
}
FUNCTION {or}
{ { pop$ #1 }
'skip$
if$
}
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$ "" }
{ "\emph{" swap$ * "}" * }
if$
}
INTEGERS { ascii }
FUNCTION {get.char.lang}
{ chr.to.int$ 'ascii :=
ascii #64 > ascii #91 < and ascii #96 > ascii #123 < and or
{ lang.en }
{ ascii #227 > ascii #234 < and
{ lang.zh }
{ ascii #227 =
{ lang.ja }
{ ascii #207 > ascii #212 < and
{ lang.ru }
{ lang.en }
if$
}
if$
}
if$
}
if$
}
INTEGERS { char.lang tmp.lang }
STRINGS { tmp.str }
FUNCTION {get.str.lang}
{ 'tmp.str :=
lang.other 'tmp.lang :=
tmp.str empty$
{ "Empty string!" warning$ }
{ #1 'charptr :=
tmp.str text.length$ #1 + 'stringlength :=
{ charptr stringlength < }
{ tmp.str charptr #1 substring$ get.char.lang 'char.lang :=
char.lang tmp.lang >
{ char.lang 'tmp.lang := }
'skip$
if$
char.lang lang.zh = char.lang lang.ja = or
{ charptr #3 + 'charptr := }
{ char.lang lang.ru =
{ charptr #2 + 'charptr := }
{ charptr #1 + 'charptr := }
if$
}
if$
}
while$
}
if$
tmp.lang
}
FUNCTION {is.in.chinese}
{ entry.lang lang.zh =
}
FUNCTION {format.et.al}
{ is.in.chinese
{ "等"}
{ "et~al." }
if$
}
FUNCTION {format.anonymous}
{ is.in.chinese
{ "佚名" }
{ "Anon" }
if$
}
INTEGERS { nameptr namesleft numnames name.lang}
FUNCTION {format.names}
{ 's :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > nameptr #4 < and }
{ s nameptr "{vv~}{ll}{, jj}{, ff}" format.name$ 't :=
t get.str.lang 'name.lang :=
name.lang lang.en =
{ t #1 "{vv~}{ll}{ f{~}}" format.name$ "u" change.case$
t #1 "{, jj}" format.name$ *
't :=
}
{ t #1 "{ll}{ff}" format.name$ 't := }
if$
nameptr #1 >
{ namesleft #1 >
{ ", " * t * }
{ t "others" =
{ ", " * format.et.al * }
{ ", " * t * }
if$
}
if$
nameptr #3 = namesleft #1 > and
{ ", " * format.et.al * }
'skip$
if$
}
't
if$
nameptr #1 + 'nameptr :=
namesleft #1 - 'namesleft :=
}
while$
}
FUNCTION {format.key}
{ empty$
{ key field.or.null }
{ "" }
if$
}
FUNCTION {format.authors}
{ author empty$
{ "" }
{ author format.names }
if$
}
FUNCTION {format.editors}
{ editor empty$
{ "" }
{ editor format.names }
if$
}
FUNCTION {format.translators}
{ translator empty$
{ "" }
{ translator format.names
is.in.chinese
{ translator num.names$ #3 >
{ "译" * }
{ ", 译" * }
if$
}
'skip$
if$
}
if$
}
FUNCTION {format.url}
{ url empty$
{ "" }
{ new.block "\url{" url * "}" * }
if$
}
FUNCTION {is.doi.in.url}
{ url empty$
{ #0 }
{ doi text.length$ 'stringlength :=
url text.length$ 'charptr :=
{ url charptr stringlength substring$ doi = not
charptr #0 >
and
}
{ charptr #1 - 'charptr := }
while$
charptr
}
if$
}
FUNCTION {format.doi}
{ doi empty$
{ "" }
{ is.doi.in.url
{ "" }
{ new.block "\doi{" doi * "}" * }
if$
}
if$
}
FUNCTION {format.title}
{ title empty$
{ "" }
{ title "t" change.case$ }
if$
}
FUNCTION {set.mark}
{ entry.mark empty$ not
'pop$
{ mark empty$ not
{ pop$ mark 'entry.mark := }
{ 'entry.mark := }
if$
medium empty$ not
{ entry.mark "/" * medium * 'entry.mark := }
{ url empty$ not
{ entry.mark "/OL" * 'entry.mark := }
'skip$
if$
}
if$
}
if$
}
FUNCTION {format.mark}
{ "\allowbreak[" entry.mark * "]" * }
FUNCTION {format.full.names}
{'s :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
{ s nameptr "{vv~}{ll}{, jj}{, ff}" format.name$ 't :=
t get.str.lang 'name.lang :=
name.lang lang.en =
{ t #1 "{vv~}{ll}" format.name$ 't := }
{ t #1 "{ll}{ff}" format.name$ 't := }
if$
nameptr #1 >
{
namesleft #1 >
{ ", " * t * }
{
numnames #2 >
{ "," * }
'skip$
if$
t "others" =
{ " et~al." * }
{ " and " * t * }
if$
}
if$
}
't
if$
nameptr #1 + 'nameptr :=
namesleft #1 - 'namesleft :=
}
while$
}
FUNCTION {author.editor.full}
{ author empty$
{ editor empty$
{ "" }
{ editor format.full.names }
if$
}
{ author format.full.names }
if$
}
FUNCTION {author.full}
{ author empty$
{ "" }
{ author format.full.names }
if$
}
FUNCTION {editor.full}
{ editor empty$
{ "" }
{ editor format.full.names }
if$
}
FUNCTION {make.full.names}
{ type$ "book" =
type$ "inbook" =
or
'author.editor.full
{ type$ "collection" =
type$ "proceedings" =
or
'editor.full
'author.full
if$
}
if$
}
FUNCTION {output.bibitem}
{ newline$
"\bibitem[" write$
label write$
")" make.full.names duplicate$ short.list =
{ pop$ }
{ * }
if$
"]{" * 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 {extract.before.dash}
{ duplicate$ empty$
{ pop$ "" }
{ 's :=
#1 'charptr :=
s text.length$ #1 + 'stringlength :=
{ charptr stringlength <
s charptr #1 substring$ "-" = not
and
}
{ charptr #1 + 'charptr := }
while$
s #1 charptr #1 - substring$
}
if$
}
FUNCTION {extract.after.dash}
{ duplicate$ empty$
{ pop$ "" }
{ 's :=
#1 'charptr :=
s text.length$ #1 + 'stringlength :=
{ charptr stringlength <
s charptr #1 substring$ "-" = not
and
}
{ charptr #1 + 'charptr := }
while$
{ charptr stringlength <
s charptr #1 substring$ "-" =
and
}
{ charptr #1 + 'charptr := }
while$
s charptr global.max$ substring$
}
if$
}
FUNCTION {contains.dash}
{ duplicate$ empty$
{ pop$ #0 }
{ 's :=
{ s empty$ not
s #1 #1 substring$ "-" = not
and
}
{ s #2 global.max$ substring$ 's := }
while$
s empty$ not
}
if$
}
FUNCTION {format.year}
{ year empty$ not
{ year extract.before.dash }
{ date empty$ not
{ date extract.before.dash }
{ "empty year in " cite$ * warning$
""
}
if$
}
if$
extra.label *
}
FUNCTION {format.date}
{ type$ "patent" = type$ "newspaper" = or
date empty$ not and
{ date }
{ year }
if$
}
FUNCTION {format.editdate}
{ date empty$ not
type$ "newspaper" = not and
url empty$ not doi empty$ not or
and
{ "\allowbreak(" date * ")" * }
{ "" }
if$
}
FUNCTION {format.urldate}
{ urldate empty$ not
{ "\allowbreak[" urldate * "]" * }
{ "" }
if$
}
FUNCTION {format.btitle}
{ title emphasize
}
FUNCTION {tie.or.space.connect}
{ duplicate$ text.length$ #3 <
{ "~" }
{ " " }
if$
swap$ * *
}
FUNCTION {either.or.check}
{ empty$
'pop$
{ "can't use both " swap$ * " fields in " * cite$ * warning$ }
if$
}
FUNCTION {is.digit}
{ duplicate$ empty$
{ pop$ #0 }
{ chr.to.int$
duplicate$ "0" chr.to.int$ <
{ pop$ #0 }
{ "9" chr.to.int$ >
{ #0 }
{ #1 }
if$
}
if$
}
if$
}
FUNCTION {is.number}
{ 's :=
s empty$
{ #0 }
{ s text.length$ 'charptr :=
{ charptr #0 >
s charptr #1 substring$ is.digit
and
}
{ charptr #1 - 'charptr := }
while$
charptr not
}
if$
}
FUNCTION {format.volume}
{ volume empty$
{ "" }
{ volume is.number
{ is.in.chinese
{ "第" volume * "卷" * }
{ "volume" volume tie.or.space.connect }
if$
}
{ volume }
if$
}
if$
}
FUNCTION {format.number}
{ number empty$
{ "" }
{ number is.number
{ is.in.chinese
{ "第" number * "册" * }
{ "number" number tie.or.space.connect }
if$
}
{ number }
if$
}
if$
}
FUNCTION {format.volume.number}
{ volume empty$ not
{ format.volume }
{ format.number }
if$
}
FUNCTION {format.series.vol.num.title}
{ format.volume.number 's :=
series empty$ not
{ series ": " *
s empty$ not
{ s * "\quad " * }
'skip$
if$
title *
}
{ title
s empty$ not
{ ": " * s * }
'skip$
if$
}
if$
"t" change.case$
}
FUNCTION {format.series.vol.num.booktitle}
{ format.volume.number 's :=
series empty$ not
{ series ": " *
s empty$ not
{ s * "\quad " * }
'skip$
if$
booktitle *
}
{ booktitle
s empty$ not
{ ": " * s * }
'skip$
if$
}
if$
}
FUNCTION {num.to.ordinal}
{ duplicate$ text.length$ 'charptr :=
duplicate$ charptr #1 substring$ 's :=
s "1" =
{ "st" * }
{ s "2" =
{ "nd" * }
{ s "3" =
{ "rd" * }
{ "th" * }
if$
}
if$
}
if$
}
FUNCTION {format.edition}
{ edition empty$
{ "" }
{ edition is.number
{ is.in.chinese
{ edition "版" * }
{ edition num.to.ordinal " ed." * }
if$
}
{ entry.lang lang.en =
{ edition "t" change.case$ 's :=
s "Revised" = s "Revised edition" = or
{ "Rev. ed." }
{ s " ed." *}
if$
}
{ edition }
if$
}
if$
}
if$
}
FUNCTION {format.sine.loco}
{ is.in.chinese
{ "[出版地不详]" }
{ "[S.l.]" }
if$
}
FUNCTION {format.address}
{ address }
FUNCTION {format.sine.nomine}
{ is.in.chinese
{ "[出版地不详]" }
{ "[s.n.]" }
if$
}
FUNCTION {format.publisher}
{ publisher empty$ not
{ publisher }
{ school empty$ not
{ school }
{ organization empty$ not
{ organization }
{ institution empty$ not
{ institution }
{ "" }
if$
}
if$
}
if$
}
if$
}
FUNCTION {format.sine.loco.sine.nomine}
{ is.in.chinese
{ "[出版地不详: 出版者不详]" }
{ "[S.l.: s.n.]" }
if$
}
FUNCTION {format.address.publisher}
{ address empty$ not
{ address
format.publisher empty$ not
{ ": " * format.publisher * }
{ url empty$ doi empty$ and
{ ": " * format.sine.nomine * }
'skip$
if$
}
if$
}
{ url empty$ doi empty$ and
{ format.publisher empty$ not
{ format.sine.loco ": " * format.publisher * }
{ format.sine.loco.sine.nomine }
if$
}
{ format.publisher empty$ not
{ format.publisher }
{ "" }
if$
}
if$
}
if$
}
FUNCTION {format.pages}
{ pages empty$
{ "" }
{ pages n.dashify }
if$
}
FUNCTION {format.journal.volume}
{ volume }
FUNCTION {format.journal.number}
{ number empty$ not
{ "\penalty0 (" number * ")" * }
{ "" }
if$
}
FUNCTION {format.periodical.year.volume.number}
{ year empty$ not
{ year extract.before.dash }
{ "No year in periodical " cite$ * warning$ }
if$
volume empty$ not
{ ", " * volume extract.before.dash * }
'skip$
if$
number empty$ not
{ "\penalty0 (" * number extract.before.dash * ")" * }
'skip$
if$
year contains.dash
{ "--" *
year extract.after.dash empty$
volume extract.after.dash empty$ and
number extract.after.dash empty$ and not
{ year extract.after.dash empty$ not
{ year extract.after.dash * }
{ year extract.before.dash * }
if$
volume empty$ not
{ ", " * volume extract.after.dash * }
'skip$
if$
number empty$ not
{ "\penalty0 (" * number extract.after.dash * ")" * }
'skip$
if$
}
'skip$
if$
}
'skip$
if$
}
FUNCTION {format.in.ed.booktitle}
{ booktitle empty$
{ "" }
{ editor empty$
{ "In " booktitle emphasize * }
{ "In " format.editors * ", " * booktitle emphasize * }
if$
}
if$
}
FUNCTION {empty.misc.check}
{ author empty$ title empty$
year empty$
and and
key empty$ not and
{ "all relevant fields are empty in " cite$ * warning$ }
'skip$
if$
}
FUNCTION {format.article.crossref}
{ key empty$
{ journal empty$
{ "need key or journal for " cite$ * " to crossref " * crossref *
warning$
""
}
{ "In \emph{" journal * "}" * }
if$
}
{ "In " }
if$
" \citet{" * crossref * "}" *
}
FUNCTION {format.book.crossref}
{ volume empty$
{ "empty volume in " cite$ * "'s crossref of " * crossref * warning$
"In "
}
{ "Volume" volume tie.or.space.connect
" of " *
}
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$
"" *
}
{ "\emph{" * series * "}" * }
if$
}
'skip$
if$
}
'skip$
if$
" \citet{" * crossref * "}" *
}
FUNCTION {format.incoll.inproc.crossref}
{ editor empty$
editor field.or.null author field.or.null =
or
{ key empty$
{ booktitle empty$
{ "need editor, key, or booktitle for " cite$ * " to crossref " *
crossref * warning$
""
}
{ "In \emph{" booktitle * "}" * }
if$
}
{ "In " }
if$
}
{ "In " }
if$
" \citet{" * crossref * "}" *
}
FUNCTION {monograph}
{ output.bibitem
author empty$ not
{ format.authors }
{ editor empty$ not
{ format.editors }
{ "" }
if$
}
if$
output
new.block
format.series.vol.num.title "title" output.check
"M" set.mark
format.mark "" output.after
new.block
format.translators output
new.sentence
format.edition output
new.block
format.address.publisher output
format.year "year" output.check
format.pages punct.colon output.after
format.urldate "" output.after
format.url output
format.doi output
fin.entry
}
FUNCTION {incollection}
{ output.bibitem
format.authors "author" output.check
author format.key output
new.block
format.title "title" output.check
"M" set.mark
format.mark "" output.after
new.block
format.translators output
new.slash
format.editors output
new.block
format.series.vol.num.booktitle "booktitle" output.check
new.block
format.edition output
new.block
format.address.publisher output
format.year "year" output.check
format.pages punct.colon output.after
format.urldate "" output.after
format.url output
format.doi output
fin.entry
}
FUNCTION {periodical}
{ output.bibitem
format.authors "author" output.check
author format.key output
new.block
format.title "title" output.check
"J" set.mark
format.mark "" output.after
new.block
format.periodical.year.volume.number output
new.block
format.address.publisher output
format.date "year" output.check
format.urldate "" output.after
format.url output
format.doi output
fin.entry
}
FUNCTION {article.in.journal}
{ output.bibitem
format.authors "author" output.check
author format.key output
new.block
format.title "title" output.check
"J" set.mark
format.mark "" output.after
new.block
journal "journal" output.check
format.date "year" output.check
volume output
format.journal.number "" output.after
format.pages punct.colon output.after
format.editdate "" output.after
format.urldate "" output.after
format.url output
format.doi output
fin.entry
}
FUNCTION {patent}
{ output.bibitem
format.authors output
author format.key output
new.block
format.title
number empty$ not
{ punct.colon * number * }
'skip$
if$
"title" output.check
"P" set.mark
format.mark "" output.after
new.block
format.date "year" output.check
format.urldate "" output.after
format.url output
format.doi output
fin.entry
}
FUNCTION {online}
{ output.bibitem
format.authors output
author format.key output
new.block
format.series.vol.num.title "title" output.check
"EB" set.mark
format.mark "" output.after
new.block
format.address.publisher output
date empty$
{ format.date output }
'skip$
if$
format.pages punct.colon output.after
format.editdate "" output.after
format.urldate "" output.after
format.url output
format.doi output
fin.entry
}
FUNCTION {misc}
{ journal empty$ not
'article.in.journal
{ booktitle empty$ not
'incollection
{ url empty$ not
'online
{ "Z" set.mark
monograph
}
if$
}
if$
}
if$
empty.misc.check
}
FUNCTION {archive}
{ "A" set.mark
misc
}
FUNCTION {article} { misc }
FUNCTION {book} { monograph }
FUNCTION {collection}
{ "G" set.mark
monograph
}
FUNCTION {database}
{ "DB" set.mark
misc
}
FUNCTION {dataset}
{ "DS" set.mark
misc
}
FUNCTION {inbook} { book }
FUNCTION {inproceedings}
{ "C" set.mark
incollection
}
FUNCTION {conference} { inproceedings }
FUNCTION {map}
{ "CM" set.mark
misc
}
FUNCTION {mastersthesis}
{ "D" set.mark
monograph
}
FUNCTION {newspaper}
{ "N" set.mark
article.in.journal
}
FUNCTION {phdthesis} { mastersthesis }
FUNCTION {proceedings}
{ "C" set.mark
monograph
}
FUNCTION {software}
{ "CP" set.mark
misc
}
FUNCTION {standard}
{ "S" set.mark
misc
}
FUNCTION {techreport}
{ "R" set.mark
misc
}
FUNCTION {default.type} { misc }
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"}
READ
EXECUTE {init.state.consts}
FUNCTION {set.entry.lang}
{ language empty$
{ author field.or.null title field.or.null * get.str.lang }
{ language "english" = language "american" = or language "british" = or
{ lang.en }
{ language "chinese" =
{ lang.zh }
{ language "japanese" =
{ lang.ja }
{ language "russian" =
{ lang.ru }
{ lang.other }
if$
}
if$
}
if$
}
if$
}
if$
'entry.lang :=
}
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 {format.lab.names}
{ 's :=
s #1 "{vv~}{ll}{, jj}{, ff}" format.name$ 't :=
t get.str.lang 'name.lang :=
name.lang lang.en =
{ t #1 "{vv~}{ll}" format.name$}
{ t #1 "{ll}{ff}" format.name$}
if$
s num.names$ #1 >
{ "\ " * format.et.al * }
'skip$
if$
}
FUNCTION {author.key.label}
{ author empty$
{ key empty$
{ cite$ #1 #3 substring$ }
'key
if$
}
{ author format.lab.names }
if$
}
FUNCTION {author.editor.key.label}
{ author empty$
{ editor empty$
{ key empty$
{ cite$ #1 #3 substring$ }
'key
if$
}
{ editor format.lab.names }
if$
}
{ author format.lab.names }
if$
}
FUNCTION {author.key.organization.label}
{ author empty$
{ key empty$
{ organization empty$
{ cite$ #1 #3 substring$ }
{ "The " #4 organization chop.word #3 text.prefix$ }
if$
}
'key
if$
}
{ author format.lab.names }
if$
}
FUNCTION {editor.key.organization.label}
{ editor empty$
{ key empty$
{ organization empty$
{ cite$ #1 #3 substring$ }
{ "The " #4 organization chop.word #3 text.prefix$ }
if$
}
'key
if$
}
{ editor format.lab.names }
if$
}
FUNCTION {calc.short.authors}
{ type$ "book" =
type$ "inbook" =
or
'author.editor.key.label
{ type$ "collection" =
type$ "proceedings" =
or
{ editor empty$ not
'editor.key.organization.label
'author.key.organization.label
if$
}
'author.key.label
if$
}
if$
'short.list :=
}
FUNCTION {calc.label}
{ calc.short.authors
short.list
"("
*
format.year duplicate$ empty$
short.list key field.or.null = or
{ pop$ "" }
'skip$
if$
*
'label :=
}
INTEGERS { seq.num }
FUNCTION {init.seq}
{ #0 'seq.num :=}
EXECUTE {init.seq}
FUNCTION {int.to.fix}
{ "000000000" swap$ int.to.str$ *
#-1 #10 substring$
}
FUNCTION {presort}
{ set.entry.lang
calc.label
label sortify
" "
*
seq.num #1 + 'seq.num :=
seq.num int.to.fix
'sort.label :=
sort.label *
#1 entry.max$ substring$
'sort.key$ :=
}
ITERATE {presort}
SORT
STRINGS { longest.label last.label next.extra }
INTEGERS { longest.label.width last.extra.num number.label }
FUNCTION {initialize.longest.label}
{ "" 'longest.label :=
#0 int.to.chr$ 'last.label :=
"" 'next.extra :=
#0 'longest.label.width :=
#0 'last.extra.num :=
#0 'number.label :=
}
FUNCTION {forward.pass}
{ last.label label =
{ last.extra.num #1 + 'last.extra.num :=
last.extra.num int.to.chr$ 'extra.label :=
}
{ "a" chr.to.int$ 'last.extra.num :=
"" 'extra.label :=
label 'last.label :=
}
if$
number.label #1 + 'number.label :=
}
FUNCTION {reverse.pass}
{ next.extra "b" =
{ "a" 'extra.label := }
'skip$
if$
extra.label 'next.extra :=
extra.label
duplicate$ empty$
'skip$
{ "{\natexlab{" swap$ * "}}" * }
if$
'extra.label :=
label extra.label * 'label :=
}
EXECUTE {initialize.longest.label}
ITERATE {forward.pass}
REVERSE {reverse.pass}
FUNCTION {bib.sort.order}
{ sort.label 'sort.key$ :=
}
ITERATE {bib.sort.order}
SORT
FUNCTION {begin.bib}
{ preamble$ empty$
'skip$
{ preamble$ write$ newline$ }
if$
"\begin{thebibliography}{" number.label int.to.str$ * "}" *
write$ newline$
"\providecommand{\natexlab}[1]{#1}"
write$ newline$
"\providecommand{\url}[1]{#1}"
write$ newline$
"\providecommand{\href}[2]{\url{#2}}"
write$ newline$
"\providecommand{\doi}[1]{DOI: \href{http://dx.doi.org/#1}{#1}}"
write$ newline$
"\expandafter\ifx\csname urlstyle\endcsname\relax\relax\else"
write$ newline$
" \urlstyle{same}\fi"
write$ newline$
}
EXECUTE {begin.bib}
ITERATE {call.type$}
FUNCTION {end.bib}
{ newline$
"\end{thebibliography}" write$ newline$
}
EXECUTE {end.bib}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
TeX/LaTeX
1
https://gitee.com/nanmu42/CQUThesis.git
[email protected]:nanmu42/CQUThesis.git
nanmu42
CQUThesis
CQUThesis
master

搜索帮助