Redian新闻
>
为什么我用从elsvier上下载的bibliographystyle排出来的reference跟实际journal格式上不完全一样?
avatar
为什么我用从elsvier上下载的bibliographystyle排出来的reference跟实际journal格式上不完全一样?# TeX - TeX电子排版系统
d*n
1
EB2,交了485之后180天内一定不能换工作吗? 一换工作就一定得从头来吗
,即使原来的雇主不Revoke 140? 还是说可以只要原雇主不Rovoke,就没有问
题?(换得工作title, 性质都一样)
我现在很难办,排期2月就到了,但6月底很可能要换工作(和LG异地多年,现在终
于有机会换过去,此机会过期作废),所以现在很纠结。到底交不交485。 交的话
,即使2月1号交,6月30号换工作,也只有5个月,不足180天,岂不全功尽弃
?
谢谢!
avatar
a*e
2
老婆J2申请发出了两个多月,确认收据在发出两周内收到了,$340已经被charge,可是
卡一直没下来。我的DS表9月底到期,不知道会不会有问题。
avatar
z*o
3
《故梦》琵琶演奏版
作曲、编曲:千年破晓
琵琶演奏:乍雨初晴
混音:Cuttlefish
海报:青海草原
以下摘自原作
千年破晓:2013年的第一首曲子,给《故梦》。比较满意这个旋律,于是决定做一版琵
琶的纯音乐,重新编曲了伴奏,请晴姐帮忙录了琵琶,墨鱼帮忙做了混音,给音乐整体
提升不少。
avatar
c*s
4
事情是这样的,我们学校要求提交一份journal model作为毕业论文的reference模版。
我想用'Cell' journal。
我查了elsvier的网站说'Cell'是用一个叫'model2-names.bst'的文件。我就在该网站
上下载了这个文件,把它贴在目标文件夹里。用下面的LaTex测试了一下,发现得到的
Reference格式跟'Cell'还不是完全一样。比如出版年是2001,不像杂志上有括号(
2001),而且页码后面还多了一长串doi number,还有reference的第一行都是向左突
出来的(在word里是叫负的缩进吧)。我整了一上午都没弄好,急疯了都。我是Mac系
统,用的是Texshop和Bibdesk。
\documentclass{report}
\usepackage{cite}
\usepackage{natbib}
\begin{document}
Here is a citation\citep{Moan:2013uq}. #这是一个引用的key
\bibliographystyle{model2-names}
\bibliography{我的bib文件名}
\end{document}
求帮忙!!!!!!
avatar
s*t
5
首先你是主申请人? 如果付的好办。
这个按皮匠说的,可以交。只要证明工作性质一样。你也可以去文学城那里再多看看。
avatar
o*9
6
更新的20来天, 我的朋友拿到.申请的可能2个月左右.
avatar
b*n
7
在elsvier的网站上说"We advise authors not to spend any time formatting their
manuscripts to match the printed journal style."
你下载的那个bst文件是一大类杂志的通用模板,很有可能和特定杂志的需求存在些许差
别。
搜索了一下,发现了这个
http://schneider.ncifcrf.gov/ftp/cell.bst
楼主不妨一试

【在 c*********s 的大作中提到】
: 事情是这样的,我们学校要求提交一份journal model作为毕业论文的reference模版。
: 我想用'Cell' journal。
: 我查了elsvier的网站说'Cell'是用一个叫'model2-names.bst'的文件。我就在该网站
: 上下载了这个文件,把它贴在目标文件夹里。用下面的LaTex测试了一下,发现得到的
: Reference格式跟'Cell'还不是完全一样。比如出版年是2001,不像杂志上有括号(
: 2001),而且页码后面还多了一长串doi number,还有reference的第一行都是向左突
: 出来的(在word里是叫负的缩进吧)。我整了一上午都没弄好,急疯了都。我是Mac系
: 统,用的是Texshop和Bibdesk。
: \documentclass{report}
: \usepackage{cite}

avatar
l*i
8
先答应 6月的时候再说拖一个月就得了
180天有保障 under ac21
180天有risk

【在 d*******n 的大作中提到】
: EB2,交了485之后180天内一定不能换工作吗? 一换工作就一定得从头来吗
: ,即使原来的雇主不Revoke 140? 还是说可以只要原雇主不Rovoke,就没有问
: 题?(换得工作title, 性质都一样)
: 我现在很难办,排期2月就到了,但6月底很可能要换工作(和LG异地多年,现在终
: 于有机会换过去,此机会过期作废),所以现在很纠结。到底交不交485。 交的话
: ,即使2月1号交,6月30号换工作,也只有5个月,不足180天,岂不全功尽弃
: ?
: 谢谢!

avatar
c*d
9
你什么时候申请的?现在拿到了么?
我给老婆(J2) renew 新卡,都快3个月了,还没消息

【在 a****e 的大作中提到】
: 老婆J2申请发出了两个多月,确认收据在发出两周内收到了,$340已经被charge,可是
: 卡一直没下来。我的DS表9月底到期,不知道会不会有问题。

avatar
c*s
10
太感谢了,这个模版在最后一个作者前少了一个逗号。不过我对你的感谢仍然犹如滔滔
江水连绵不绝。。。。。
经过一个上午的google,现在问题大部分解决了。
\documentclass[12pt]{report}
\usepackage{natbib}
\usepackage{fontspec}
\setlength{\bibhang}{0pt}
\begin{document}
\setmainfont[Mapping=tex-text]{Arial}
This is a citation\citep{Itzhaki:2013fk}.
Here is another citation which has a page number\citep{Vaysse:2013uq}.
Here is the citation listed in a "Cell" journal model\citep{Nakagawa:2010kx}.
\bibliographystyle{新作的一个模版名字}
\bibliography{bsf文件名}
\end{document}
现在字体和格式已经一模一样了,但是页码不太对,第三个引用的页码应该是117-121
,显示的是117-21。第二篇引用的页码倒是对。如果谁知道怎么修改,请一定要告诉我
,叩谢了!
到下面的连接可以制作一个自己的bst文件:
http://www.ctan.org/tex-archive/macros/latex/contrib/custom-bib
希望对后来人有用

their
许差

【在 b*****n 的大作中提到】
: 在elsvier的网站上说"We advise authors not to spend any time formatting their
: manuscripts to match the printed journal style."
: 你下载的那个bst文件是一大类杂志的通用模板,很有可能和特定杂志的需求存在些许差
: 别。
: 搜索了一下,发现了这个
: http://schneider.ncifcrf.gov/ftp/cell.bst
: 楼主不妨一试

avatar
d*n
11
我是主申请人。我在学校工作,AP, 所以工作性质肯定能证明一样。好的,我去文
学城看看,谢谢!

【在 s******t 的大作中提到】
: 首先你是主申请人? 如果付的好办。
: 这个按皮匠说的,可以交。只要证明工作性质一样。你也可以去文学城那里再多看看。

avatar
c*s
12
好了,现在问题完全解决了。
原来在bibdesk里面的页码就是117-21,改成117-121以后就对了。
另外编译的时候用:
1) XeLaTex
2) BibTex
3) XeLaTex
4) XeLaTex
本帖子结束。

【在 c*********s 的大作中提到】
: 太感谢了,这个模版在最后一个作者前少了一个逗号。不过我对你的感谢仍然犹如滔滔
: 江水连绵不绝。。。。。
: 经过一个上午的google,现在问题大部分解决了。
: \documentclass[12pt]{report}
: \usepackage{natbib}
: \usepackage{fontspec}
: \setlength{\bibhang}{0pt}
: \begin{document}
: \setmainfont[Mapping=tex-text]{Arial}
: This is a citation\citep{Itzhaki:2013fk}.

avatar
d*n
13
谢谢。 我在学校工作,我们的合同是2,3月份就要签掉的。这边的学校也要尽早告
诉, 系里才好找替换我教课的老师, 所以合同已签掉,肯定是没法脱一个月的。

【在 l****i 的大作中提到】
: 先答应 6月的时候再说拖一个月就得了
: 180天有保障 under ac21
: 180天有risk

avatar
c*s
14
又遇到新问题了,我自己做的那个bst文件,最多只能放6个作者+et al到reference里
,或者所有作者全写上。Cell的要求是10个作者+et al。我把作者删掉几个,但是最
后一个前面总有一个and,超过10个作者应该是et al,不能有and。如果谁知道怎么改
,请告诉我,谢谢!现在凑活了,超过10个作者的不引了,坑爹啊。
avatar
N*g
15
PIJIANG 说是2-3个月就可以了, 这里人都是说180天。这里说的180天, 应该是你交
485拿到RD的180天。
我也遇到这些问题, 所以, 也想有EAD就走人。

【在 d*******n 的大作中提到】
: EB2,交了485之后180天内一定不能换工作吗? 一换工作就一定得从头来吗
: ,即使原来的雇主不Revoke 140? 还是说可以只要原雇主不Rovoke,就没有问
: 题?(换得工作title, 性质都一样)
: 我现在很难办,排期2月就到了,但6月底很可能要换工作(和LG异地多年,现在终
: 于有机会换过去,此机会过期作废),所以现在很纠结。到底交不交485。 交的话
: ,即使2月1号交,6月30号换工作,也只有5个月,不足180天,岂不全功尽弃
: ?
: 谢谢!

avatar
c*s
16
终于弄好了。把下面的存成.bst文件,和Tex文件放在同一个文件夹就可以了。
%%
%% This is file `cellnew.bst',
%% generated with the docstrip utility, by HJ, 03/03/2013.
%%
%% The original source files were:
%%
%% merlin.mbs (with options: `ay,nat,nm-rvvc,nmlm,x10,x0,m10,m0,mcite,mct-1
,mct-x2,keyxyr,blkyear,dt-beg,yr-par,note-yr,atit-u,jttl-rm,thtit-a,vol-it,
vnum-x,volp-com,pp-last,num-xser,jnm-x,btit-rm,bt-rm,add-pub,pub-par,pre-pub
,edby,edbyy,blk-tit,ppx,ed,abr,ednx,xedn,jabr,url,url-blk,em-it,nfss,')
%% ----------------------------------------
%% *** Cell ***
%%
%% 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 an author-year citation style bibliography. As such, it is
% non-standard LaTeX, and requires a special package file to function
properly.
% Such a package is natbib.sty by Patrick W. Daly
% The form of the \bibitem entries is
% \bibitem[Jones et al.(1990)]{key}...
% \bibitem[Jones et al.(1990)Jones, Baker, and Smith]{key}...
% The essential feature is that the label (the part in brackets) consists
% of the author names, as they should appear in the citation, with the year
% in parentheses following. There must be no space before the opening
% parenthesis!
% With natbib v5.3, a full list of authors may also follow the year.
% In natbib.sty, it is possible to define the type of enclosures that is
% really wanted (brackets or parentheses), but in either case, there must
% be parentheses in the label.
% The \cite command functions as follows:
% \citet{key} ==>> Jones et al. (1990)
% \citet*{key} ==>> Jones, Baker, and Smith (1990)
% \citep{key} ==>> (Jones et al., 1990)
% \citep*{key} ==>> (Jones, Baker, and Smith, 1990)
% \citep[chap. 2]{key} ==>> (Jones et al., 1990, chap. 2)
% \citep[e.g.][]{key} ==>> (e.g. Jones et al., 1990)
% \citep[e.g.][p. 32]{key} ==>> (e.g. Jones et al., 1990, p. 32)
% \citeauthor{key} ==>> Jones et al.
% \citeauthor*{key} ==>> Jones, Baker, and Smith
% \citeyear{key} ==>> 1990
%---------------------------------------------------------------------
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 extra.label sort.label short.list }
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}
{
skip$
}
FUNCTION {not}
{ { #0 }
{ #1 }
if$
}
FUNCTION {and}
{ 'skip$
{ pop$ #0 }
if$
}
FUNCTION {or}
{ { pop$ #1 }
'skip$
if$
}
FUNCTION {new.block.checkb}
{ empty$
swap$ empty$
and
'skip$
'new.block
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}
{ "eds." }
FUNCTION {bbl.editor}
{ "ed." }
FUNCTION {bbl.edby}
{ "edited by" }
FUNCTION {bbl.edition}
{ "ed." }
FUNCTION {bbl.volume}
{ "vol." }
FUNCTION {bbl.of}
{ "of" }
FUNCTION {bbl.number}
{ "no." }
FUNCTION {bbl.nr}
{ "no." }
FUNCTION {bbl.in}
{ "in" }
FUNCTION {bbl.pages}
{ "" }
FUNCTION {bbl.page}
{ "" }
FUNCTION {bbl.chapter}
{ "chap." }
FUNCTION {bbl.techrep}
{ "Tech. Rep." }
FUNCTION {bbl.mthesis}
{ "Master's thesis" }
FUNCTION {bbl.phdthesis}
{ "Ph.D. thesis" }
MACRO {jan} {"Jan."}
MACRO {feb} {"Feb."}
MACRO {mar} {"Mar."}
MACRO {apr} {"Apr."}
MACRO {may} {"May"}
MACRO {jun} {"Jun."}
MACRO {jul} {"Jul."}
MACRO {aug} {"Aug."}
MACRO {sep} {"Sep."}
MACRO {oct} {"Oct."}
MACRO {nov} {"Nov."}
MACRO {dec} {"Dec."}
MACRO {acmcs} {"ACM Comput. Surv."}
MACRO {acta} {"Acta Inf."}
MACRO {cacm} {"Commun. ACM"}
MACRO {ibmjrd} {"IBM J. Res. Dev."}
MACRO {ibmsj} {"IBM Syst.~J."}
MACRO {ieeese} {"IEEE Trans. Software Eng."}
MACRO {ieeetc} {"IEEE Trans. Comput."}
MACRO {ieeetcad}
{"IEEE Trans. Comput. Aid. Des."}
MACRO {ipl} {"Inf. Process. Lett."}
MACRO {jacm} {"J.~ACM"}
MACRO {jcss} {"J.~Comput. Syst. Sci."}
MACRO {scp} {"Sci. Comput. Program."}
MACRO {sicomp} {"SIAM J. Comput."}
MACRO {tocs} {"ACM Trans. Comput. Syst."}
MACRO {tods} {"ACM Trans. Database Syst."}
MACRO {tog} {"ACM Trans. Graphic."}
MACRO {toms} {"ACM Trans. Math. Software"}
MACRO {toois} {"ACM Trans. Office Inf. Syst."}
MACRO {toplas} {"ACM Trans. Progr. Lang. Syst."}
MACRO {tcs} {"Theor. Comput. Sci."}
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
"{vv~}{ll}{, jj}{, f{.}.}"
format.name$
bibinfo bibinfo.check
't :=
nameptr #1 >
{
nameptr #0
#10 +
#1 + =
numnames #0
#10 +
> 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 *
}
{
bbl.and
space.word * t *
}
if$
}
if$
}
't
if$
nameptr #1 + 'nameptr :=
namesleft #1 - 'namesleft :=
}
while$
} if$
}
FUNCTION {format.names.ed}
{
'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 >
{
namesleft #1 >
{ ", " * t * }
{
s nameptr "{ll}" format.name$ duplicate$ "others" =
{ 't := }
{ pop$ }
if$
numnames #2 >
{ "," * }
'skip$
if$
t "others" =
{
" " * bbl.etal *
}
{
bbl.and
space.word * t *
}
if$
}
if$
}
't
if$
nameptr #1 + 'nameptr :=
namesleft #1 - 'namesleft :=
}
while$
} if$
}
FUNCTION {format.key}
{ empty$
{ key field.or.null }
{ "" }
if$
}
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
*
}
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
}
FUNCTION {format.full.names}
{'s :=
"" 't :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
{ s nameptr
"{vv~}{ll}" format.name$
't :=
nameptr #1 >
{
nameptr #0
#10 +
#1 + =
numnames #0
#10 +
> and
{ "others" 't :=
#1 'namesleft := }
'skip$
if$
namesleft #1 >
{ ", " * t * }
{
s nameptr "{ll}" format.name$ duplicate$ "others" =
{ 't := }
{ pop$ }
if$
t "others" =
{
" " * bbl.etal *
}
{
numnames #2 >
{ "," * }
'skip$
if$
bbl.and
space.word * t *
}
if$
}
if$
}
't
if$
nameptr #1 + 'nameptr :=
namesleft #1 - 'namesleft :=
}
while$
}
FUNCTION {author.editor.key.full}
{ author empty$
{ editor empty$
{ key empty$
{ cite$ #1 #3 substring$ }
'key
if$
}
{ editor format.full.names }
if$
}
{ author format.full.names }
if$
}
FUNCTION {author.key.full}
{ author empty$
{ key empty$
{ cite$ #1 #3 substring$ }
'key
if$
}
{ author format.full.names }
if$
}
FUNCTION {editor.key.full}
{ editor empty$
{ key empty$
{ cite$ #1 #3 substring$ }
'key
if$
}
{ editor format.full.names }
if$
}
FUNCTION {make.full.names}
{ type$ "book" =
type$ "inbook" =
or
'author.editor.key.full
{ type$ "proceedings" =
'editor.key.full
'author.key.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 {word.in}
{ bbl.in capitalize
" " * }
FUNCTION {format.date}
{ year "year" bibinfo.check duplicate$ empty$
{
}
'skip$
if$
extra.label *
before.all 'output.state :=
" (" swap$ * ")" *
}
FUNCTION {format.btitle}
{ title "title" bibinfo.check
duplicate$ empty$ 'skip$
{
}
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
{
n.dashify
}
{
}
if$
"pages" bibinfo.check
}
if$
}
FUNCTION {format.journal.pages}
{ pages duplicate$ empty$ 'pop$
{ swap$ duplicate$ empty$
{ pop$ pop$ format.pages }
{
", " *
swap$
n.dashify
"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$
{
"volume" bibinfo.check
}
if$
emphasize
}
FUNCTION {format.chapter.pages}
{ chapter empty$
{ "" }
{ type empty$
{ bbl.chapter }
{ type "l" change.case$
"type" bibinfo.check
}
if$
chapter tie.or.space.prefix
"chapter" bibinfo.check
* *
}
if$
}
FUNCTION {format.booktitle}
{
booktitle "booktitle" bibinfo.check
}
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 {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}
{
word.in
" \cite{" * crossref * "}" *
}
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$
" \cite{" * crossref * "}" *
}
FUNCTION {format.incoll.inproc.crossref}
{
word.in
" \cite{" * crossref * "}" *
}
FUNCTION {format.org.or.pub}
{ 't :=
""
address empty$ t empty$ and
'skip$
{
add.blank "(" *
address "address" bibinfo.check *
t empty$
'skip$
{ address empty$
'skip$
{ ": " * }
if$
t *
}
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
author format.key output
format.date "year" output.check
date.block
format.title "title" output.check
new.sentence
crossref missing$
{
journal
"journal" bibinfo.check
"journal" output.check
add.blank
format.vol.num.pages output
}
{ format.article.crossref output.nonnull
}
if$
eid empty$
{ format.journal.pages }
{ format.journal.eid }
if$
format.url output
format.note output
fin.entry
}
FUNCTION {book}
{ output.bibitem
author empty$
{ format.editors "author and editor" output.check
editor format.key output
}
{ format.authors output.nonnull
crossref missing$
{ "author and editor" editor either.or.check }
'skip$
if$
}
if$
format.date "year" output.check
date.block
format.btitle "title" output.check
crossref missing$
{ format.bvolume output
new.sentence
format.number.series output
format.publisher.address output
}
{
new.sentence
format.book.crossref output.nonnull
}
if$
format.edition output
format.url output
format.note output
fin.entry
}
FUNCTION {booklet}
{ output.bibitem
format.authors output
author format.key output
format.date "year" output.check
date.block
format.title "title" output.check
new.sentence
howpublished "howpublished" bibinfo.check output
address "address" bibinfo.check output
format.url output
format.note output
fin.entry
}
FUNCTION {inbook}
{ output.bibitem
author empty$
{ format.editors "author and editor" output.check
editor format.key output
}
{ format.authors output.nonnull
crossref missing$
{ "author and editor" editor either.or.check }
'skip$
if$
}
if$
format.date "year" output.check
date.block
format.btitle "title" output.check
crossref missing$
{
format.publisher.address output
format.bvolume output
format.chapter.pages "chapter and pages" output.check
new.sentence
format.number.series output
}
{
format.chapter.pages "chapter and pages" output.check
new.sentence
format.book.crossref output.nonnull
}
if$
format.edition output
format.pages "pages" output.check
format.url output
format.note output
fin.entry
}
FUNCTION {incollection}
{ output.bibitem
format.authors "author" output.check
author format.key output
format.date "year" output.check
date.block
format.title "title" output.check
new.sentence
crossref missing$
{ format.in.ed.booktitle "booktitle" output.check
format.publisher.address output
format.bvolume output
format.number.series output
format.chapter.pages output
format.edition output
}
{ format.incoll.inproc.crossref output.nonnull
format.chapter.pages output
}
if$
format.pages "pages" output.check
format.url output
format.note output
fin.entry
}
FUNCTION {inproceedings}
{ output.bibitem
format.authors "author" output.check
author format.key output
format.date "year" output.check
date.block
format.title "title" output.check
new.sentence
crossref missing$
{ format.in.ed.booktitle "booktitle" output.check
publisher empty$
{ format.organization.address output }
{ organization "organization" bibinfo.check output
format.publisher.address output
}
if$
format.bvolume output
format.number.series output
}
{ format.incoll.inproc.crossref output.nonnull
}
if$
format.pages "pages" output.check
format.url output
format.note output
fin.entry
}
FUNCTION {conference} { inproceedings }
FUNCTION {manual}
{ output.bibitem
format.authors output
author format.key output
format.date "year" output.check
date.block
format.btitle "title" output.check
new.sentence
organization "organization" bibinfo.check output
address "address" bibinfo.check output
format.edition output
format.url output
format.note output
fin.entry
}
FUNCTION {mastersthesis}
{ output.bibitem
format.authors "author" output.check
author format.key output
format.date "year" output.check
date.block
format.title
"title" output.check
new.sentence
bbl.mthesis format.thesis.type output.nonnull
school "school" bibinfo.warn output
address "address" bibinfo.check output
format.url output
format.note output
fin.entry
}
FUNCTION {misc}
{ output.bibitem
format.authors output
author format.key output
format.date "year" output.check
date.block
format.title output
new.sentence
howpublished "howpublished" bibinfo.check output
format.url output
format.note output
fin.entry
}
FUNCTION {phdthesis}
{ output.bibitem
format.authors "author" output.check
author format.key output
format.date "year" output.check
date.block
format.title
"title" output.check
new.sentence
bbl.phdthesis format.thesis.type output.nonnull
school "school" bibinfo.warn output
address "address" bibinfo.check output
format.url output
format.note output
fin.entry
}
FUNCTION {proceedings}
{ output.bibitem
format.editors output
editor format.key output
format.date "year" output.check
date.block
format.btitle "title" output.check
format.bvolume output
format.number.series output
publisher empty$
{ format.organization.address output }
{ organization "organization" bibinfo.check output
format.publisher.address output
}
if$
format.url output
format.note output
fin.entry
}
FUNCTION {techreport}
{ output.bibitem
format.authors "author" output.check
author format.key output
format.date "year" output.check
date.block
format.title
"title" output.check
new.sentence
format.tr.number output.nonnull
institution "institution" bibinfo.warn output
address "address" bibinfo.check output
format.url output
format.note output
fin.entry
}
FUNCTION {unpublished}
{ output.bibitem
format.authors "author" output.check
author format.key output
format.date "year" output.check
date.block
format.title "title" output.check
format.url output
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 {format.lab.names}
{'s :=
"" 't :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
{ s nameptr
"{vv~}{ll}" format.name$
't :=
nameptr #1 >
{
nameptr #2 =
numnames #2 > and
{ "others" 't :=
#1 'namesleft := }
'skip$
if$
namesleft #1 >
{ ", " * t * }
{
s nameptr "{ll}" format.name$ duplicate$ "others" =
{ 't := }
{ pop$ }
if$
t "others" =
{
" " * bbl.etal *
}
{
numnames #2 >
{ "," * }
'skip$
if$
bbl.and
space.word * t *
}
if$
}
if$
}
't
if$
nameptr #1 + 'nameptr :=
namesleft #1 - 'namesleft :=
}
while$
}
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 {editor.key.label}
{ editor empty$
{ key empty$
{ cite$ #1 #3 substring$ }
'key
if$
}
{ editor format.lab.names }
if$
}
FUNCTION {calc.short.authors}
{ type$ "book" =
type$ "inbook" =
or
'author.editor.key.label
{ type$ "proceedings" =
'editor.key.label
'author.key.label
if$
}
if$
'short.list :=
}
FUNCTION {calc.label}
{ calc.short.authors
short.list
"("
*
year duplicate$ empty$
short.list key field.or.null = or
{ pop$ "" }
'skip$
if$
*
'label :=
}
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 #0
#10 +
#1 + =
numnames #0
#10 +
> 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 {editor.sort}
{ editor empty$
{ key empty$
{ "to sort, need editor or key in " cite$ * warning$
""
}
{ key sortify }
if$
}
{ editor sort.format.names }
if$
}
FUNCTION {presort}
{ calc.label
label sortify
" "
*
type$ "book" =
type$ "inbook" =
or
'author.editor.sort
{ type$ "proceedings" =
'editor.sort
'author.sort
if$
}
if$
#1 entry.max$ substring$
'sort.label :=
sort.label
*
" "
*
title field.or.null
sort.format.title
*
#1 entry.max$ substring$
'sort.key$ :=
}
ITERATE {presort}
SORT
STRINGS { last.label next.extra }
INTEGERS { last.extra.num last.extra.num.extended last.extra.num.blank
number.label }
FUNCTION {initialize.extra.label.stuff}
{ #0 int.to.chr$ 'last.label :=
"" 'next.extra :=
#0 'last.extra.num :=
"a" chr.to.int$ #1 - 'last.extra.num.blank :=
last.extra.num.blank 'last.extra.num.extended :=
#0 'number.label :=
}
FUNCTION {forward.pass}
{ last.label label =
{ last.extra.num #1 + 'last.extra.num :=
last.extra.num "z" chr.to.int$ >
{ "a" chr.to.int$ 'last.extra.num :=
last.extra.num.extended #1 + 'last.extra.num.extended :=
}
'skip$
if$
last.extra.num.extended last.extra.num.blank >
{ last.extra.num.extended int.to.chr$
last.extra.num int.to.chr$
* 'extra.label := }
{ last.extra.num int.to.chr$ 'extra.label := }
if$
}
{ "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.extra.label.stuff}
ITERATE {forward.pass}
REVERSE {reverse.pass}
FUNCTION {bib.sort.order}
{ sort.label
" "
*
year field.or.null sortify
*
" "
*
title field.or.null
sort.format.title
*
#1 entry.max$ substring$
'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]{\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 `cellnew.bst'.
avatar
f*u
17
应该问题不大,都5个月了,要RFE也早该下来了。和原学校保持良好的关系,未雨绸缪
avatar
b*t
18
哪个package冲突知道吗?

【在 c*********s 的大作中提到】
: 终于弄好了。把下面的存成.bst文件,和Tex文件放在同一个文件夹就可以了。
: %%
: %% This is file `cellnew.bst',
: %% generated with the docstrip utility, by HJ, 03/03/2013.
: %%
: %% The original source files were:
: %%
: %% merlin.mbs (with options: `ay,nat,nm-rvvc,nmlm,x10,x0,m10,m0,mcite,mct-1
: ,mct-x2,keyxyr,blkyear,dt-beg,yr-par,note-yr,atit-u,jttl-rm,thtit-a,vol-it,
: vnum-x,volp-com,pp-last,num-xser,jnm-x,btit-rm,bt-rm,add-pub,pub-par,pre-pub

avatar
l*i
19
180天是根据ac21来的 是有依据的

【在 N*******g 的大作中提到】
: PIJIANG 说是2-3个月就可以了, 这里人都是说180天。这里说的180天, 应该是你交
: 485拿到RD的180天。
: 我也遇到这些问题, 所以, 也想有EAD就走人。

avatar
c*s
20
好奇怪,贴到一个新文件里,就不冲突了。
用原来那个文件,就错误。代码都copy的,都是一样的。
谢谢!

【在 b*******t 的大作中提到】
: 哪个package冲突知道吗?
avatar
c*s
21
事情是这样的,我们学校要求提交一份journal model作为毕业论文的reference模版。
我想用'Cell' journal。
我查了elsvier的网站说'Cell'是用一个叫'model2-names.bst'的文件。我就在该网站
上下载了这个文件,把它贴在目标文件夹里。用下面的LaTex测试了一下,发现得到的
Reference格式跟'Cell'还不是完全一样。比如出版年是2001,不像杂志上有括号(
2001),而且页码后面还多了一长串doi number,还有reference的第一行都是向左突
出来的(在word里是叫负的缩进吧)。我整了一上午都没弄好,急疯了都。我是Mac系
统,用的是Texshop和Bibdesk。
\documentclass{report}
\usepackage{cite}
\usepackage{natbib}
\begin{document}
Here is a citation\citep{Moan:2013uq}. #这是一个引用的key
\bibliographystyle{model2-names}
\bibliography{我的bib文件名}
\end{document}
求帮忙!!!!!!
avatar
b*n
22
在elsvier的网站上说"We advise authors not to spend any time formatting their
manuscripts to match the printed journal style."
你下载的那个bst文件是一大类杂志的通用模板,很有可能和特定杂志的需求存在些许差
别。
搜索了一下,发现了这个
http://schneider.ncifcrf.gov/ftp/cell.bst
楼主不妨一试

【在 c*********s 的大作中提到】
: 事情是这样的,我们学校要求提交一份journal model作为毕业论文的reference模版。
: 我想用'Cell' journal。
: 我查了elsvier的网站说'Cell'是用一个叫'model2-names.bst'的文件。我就在该网站
: 上下载了这个文件,把它贴在目标文件夹里。用下面的LaTex测试了一下,发现得到的
: Reference格式跟'Cell'还不是完全一样。比如出版年是2001,不像杂志上有括号(
: 2001),而且页码后面还多了一长串doi number,还有reference的第一行都是向左突
: 出来的(在word里是叫负的缩进吧)。我整了一上午都没弄好,急疯了都。我是Mac系
: 统,用的是Texshop和Bibdesk。
: \documentclass{report}
: \usepackage{cite}

avatar
c*s
23
太感谢了,这个模版在最后一个作者前少了一个逗号。不过我对你的感谢仍然犹如滔滔
江水连绵不绝。。。。。
经过一个上午的google,现在问题大部分解决了。
\documentclass[12pt]{report}
\usepackage{natbib}
\usepackage{fontspec}
\setlength{\bibhang}{0pt}
\begin{document}
\setmainfont[Mapping=tex-text]{Arial}
This is a citation\citep{Itzhaki:2013fk}.
Here is another citation which has a page number\citep{Vaysse:2013uq}.
Here is the citation listed in a "Cell" journal model\citep{Nakagawa:2010kx}.
\bibliographystyle{新作的一个模版名字}
\bibliography{bsf文件名}
\end{document}
现在字体和格式已经一模一样了,但是页码不太对,第三个引用的页码应该是117-121
,显示的是117-21。第二篇引用的页码倒是对。如果谁知道怎么修改,请一定要告诉我
,叩谢了!
到下面的连接可以制作一个自己的bst文件:
http://www.ctan.org/tex-archive/macros/latex/contrib/custom-bib
希望对后来人有用

their
许差

【在 b*****n 的大作中提到】
: 在elsvier的网站上说"We advise authors not to spend any time formatting their
: manuscripts to match the printed journal style."
: 你下载的那个bst文件是一大类杂志的通用模板,很有可能和特定杂志的需求存在些许差
: 别。
: 搜索了一下,发现了这个
: http://schneider.ncifcrf.gov/ftp/cell.bst
: 楼主不妨一试

avatar
c*s
24
好了,现在问题完全解决了。
原来在bibdesk里面的页码就是117-21,改成117-121以后就对了。
另外编译的时候用:
1) XeLaTex
2) BibTex
3) XeLaTex
4) XeLaTex
本帖子结束。

【在 c*********s 的大作中提到】
: 太感谢了,这个模版在最后一个作者前少了一个逗号。不过我对你的感谢仍然犹如滔滔
: 江水连绵不绝。。。。。
: 经过一个上午的google,现在问题大部分解决了。
: \documentclass[12pt]{report}
: \usepackage{natbib}
: \usepackage{fontspec}
: \setlength{\bibhang}{0pt}
: \begin{document}
: \setmainfont[Mapping=tex-text]{Arial}
: This is a citation\citep{Itzhaki:2013fk}.

avatar
c*s
25
又遇到新问题了,我自己做的那个bst文件,最多只能放6个作者+et al到reference里
,或者所有作者全写上。Cell的要求是10个作者+et al。我把作者删掉几个,但是最
后一个前面总有一个and,超过10个作者应该是et al,不能有and。如果谁知道怎么改
,请告诉我,谢谢!现在凑活了,超过10个作者的不引了,坑爹啊。
avatar
c*s
26
终于弄好了。把下面的存成.bst文件,和Tex文件放在同一个文件夹就可以了。
%%
%% This is file `cellnew.bst',
%% generated with the docstrip utility, by HJ, 03/03/2013.
%%
%% The original source files were:
%%
%% merlin.mbs (with options: `ay,nat,nm-rvvc,nmlm,x10,x0,m10,m0,mcite,mct-1
,mct-x2,keyxyr,blkyear,dt-beg,yr-par,note-yr,atit-u,jttl-rm,thtit-a,vol-it,
vnum-x,volp-com,pp-last,num-xser,jnm-x,btit-rm,bt-rm,add-pub,pub-par,pre-pub
,edby,edbyy,blk-tit,ppx,ed,abr,ednx,xedn,jabr,url,url-blk,em-it,nfss,')
%% ----------------------------------------
%% *** Cell ***
%%
%% 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 an author-year citation style bibliography. As such, it is
% non-standard LaTeX, and requires a special package file to function
properly.
% Such a package is natbib.sty by Patrick W. Daly
% The form of the \bibitem entries is
% \bibitem[Jones et al.(1990)]{key}...
% \bibitem[Jones et al.(1990)Jones, Baker, and Smith]{key}...
% The essential feature is that the label (the part in brackets) consists
% of the author names, as they should appear in the citation, with the year
% in parentheses following. There must be no space before the opening
% parenthesis!
% With natbib v5.3, a full list of authors may also follow the year.
% In natbib.sty, it is possible to define the type of enclosures that is
% really wanted (brackets or parentheses), but in either case, there must
% be parentheses in the label.
% The \cite command functions as follows:
% \citet{key} ==>> Jones et al. (1990)
% \citet*{key} ==>> Jones, Baker, and Smith (1990)
% \citep{key} ==>> (Jones et al., 1990)
% \citep*{key} ==>> (Jones, Baker, and Smith, 1990)
% \citep[chap. 2]{key} ==>> (Jones et al., 1990, chap. 2)
% \citep[e.g.][]{key} ==>> (e.g. Jones et al., 1990)
% \citep[e.g.][p. 32]{key} ==>> (e.g. Jones et al., 1990, p. 32)
% \citeauthor{key} ==>> Jones et al.
% \citeauthor*{key} ==>> Jones, Baker, and Smith
% \citeyear{key} ==>> 1990
%---------------------------------------------------------------------
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 extra.label sort.label short.list }
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}
{
skip$
}
FUNCTION {not}
{ { #0 }
{ #1 }
if$
}
FUNCTION {and}
{ 'skip$
{ pop$ #0 }
if$
}
FUNCTION {or}
{ { pop$ #1 }
'skip$
if$
}
FUNCTION {new.block.checkb}
{ empty$
swap$ empty$
and
'skip$
'new.block
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}
{ "eds." }
FUNCTION {bbl.editor}
{ "ed." }
FUNCTION {bbl.edby}
{ "edited by" }
FUNCTION {bbl.edition}
{ "ed." }
FUNCTION {bbl.volume}
{ "vol." }
FUNCTION {bbl.of}
{ "of" }
FUNCTION {bbl.number}
{ "no." }
FUNCTION {bbl.nr}
{ "no." }
FUNCTION {bbl.in}
{ "in" }
FUNCTION {bbl.pages}
{ "" }
FUNCTION {bbl.page}
{ "" }
FUNCTION {bbl.chapter}
{ "chap." }
FUNCTION {bbl.techrep}
{ "Tech. Rep." }
FUNCTION {bbl.mthesis}
{ "Master's thesis" }
FUNCTION {bbl.phdthesis}
{ "Ph.D. thesis" }
MACRO {jan} {"Jan."}
MACRO {feb} {"Feb."}
MACRO {mar} {"Mar."}
MACRO {apr} {"Apr."}
MACRO {may} {"May"}
MACRO {jun} {"Jun."}
MACRO {jul} {"Jul."}
MACRO {aug} {"Aug."}
MACRO {sep} {"Sep."}
MACRO {oct} {"Oct."}
MACRO {nov} {"Nov."}
MACRO {dec} {"Dec."}
MACRO {acmcs} {"ACM Comput. Surv."}
MACRO {acta} {"Acta Inf."}
MACRO {cacm} {"Commun. ACM"}
MACRO {ibmjrd} {"IBM J. Res. Dev."}
MACRO {ibmsj} {"IBM Syst.~J."}
MACRO {ieeese} {"IEEE Trans. Software Eng."}
MACRO {ieeetc} {"IEEE Trans. Comput."}
MACRO {ieeetcad}
{"IEEE Trans. Comput. Aid. Des."}
MACRO {ipl} {"Inf. Process. Lett."}
MACRO {jacm} {"J.~ACM"}
MACRO {jcss} {"J.~Comput. Syst. Sci."}
MACRO {scp} {"Sci. Comput. Program."}
MACRO {sicomp} {"SIAM J. Comput."}
MACRO {tocs} {"ACM Trans. Comput. Syst."}
MACRO {tods} {"ACM Trans. Database Syst."}
MACRO {tog} {"ACM Trans. Graphic."}
MACRO {toms} {"ACM Trans. Math. Software"}
MACRO {toois} {"ACM Trans. Office Inf. Syst."}
MACRO {toplas} {"ACM Trans. Progr. Lang. Syst."}
MACRO {tcs} {"Theor. Comput. Sci."}
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
"{vv~}{ll}{, jj}{, f{.}.}"
format.name$
bibinfo bibinfo.check
't :=
nameptr #1 >
{
nameptr #0
#10 +
#1 + =
numnames #0
#10 +
> 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 *
}
{
bbl.and
space.word * t *
}
if$
}
if$
}
't
if$
nameptr #1 + 'nameptr :=
namesleft #1 - 'namesleft :=
}
while$
} if$
}
FUNCTION {format.names.ed}
{
'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 >
{
namesleft #1 >
{ ", " * t * }
{
s nameptr "{ll}" format.name$ duplicate$ "others" =
{ 't := }
{ pop$ }
if$
numnames #2 >
{ "," * }
'skip$
if$
t "others" =
{
" " * bbl.etal *
}
{
bbl.and
space.word * t *
}
if$
}
if$
}
't
if$
nameptr #1 + 'nameptr :=
namesleft #1 - 'namesleft :=
}
while$
} if$
}
FUNCTION {format.key}
{ empty$
{ key field.or.null }
{ "" }
if$
}
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
*
}
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
}
FUNCTION {format.full.names}
{'s :=
"" 't :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
{ s nameptr
"{vv~}{ll}" format.name$
't :=
nameptr #1 >
{
nameptr #0
#10 +
#1 + =
numnames #0
#10 +
> and
{ "others" 't :=
#1 'namesleft := }
'skip$
if$
namesleft #1 >
{ ", " * t * }
{
s nameptr "{ll}" format.name$ duplicate$ "others" =
{ 't := }
{ pop$ }
if$
t "others" =
{
" " * bbl.etal *
}
{
numnames #2 >
{ "," * }
'skip$
if$
bbl.and
space.word * t *
}
if$
}
if$
}
't
if$
nameptr #1 + 'nameptr :=
namesleft #1 - 'namesleft :=
}
while$
}
FUNCTION {author.editor.key.full}
{ author empty$
{ editor empty$
{ key empty$
{ cite$ #1 #3 substring$ }
'key
if$
}
{ editor format.full.names }
if$
}
{ author format.full.names }
if$
}
FUNCTION {author.key.full}
{ author empty$
{ key empty$
{ cite$ #1 #3 substring$ }
'key
if$
}
{ author format.full.names }
if$
}
FUNCTION {editor.key.full}
{ editor empty$
{ key empty$
{ cite$ #1 #3 substring$ }
'key
if$
}
{ editor format.full.names }
if$
}
FUNCTION {make.full.names}
{ type$ "book" =
type$ "inbook" =
or
'author.editor.key.full
{ type$ "proceedings" =
'editor.key.full
'author.key.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 {word.in}
{ bbl.in capitalize
" " * }
FUNCTION {format.date}
{ year "year" bibinfo.check duplicate$ empty$
{
}
'skip$
if$
extra.label *
before.all 'output.state :=
" (" swap$ * ")" *
}
FUNCTION {format.btitle}
{ title "title" bibinfo.check
duplicate$ empty$ 'skip$
{
}
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
{
n.dashify
}
{
}
if$
"pages" bibinfo.check
}
if$
}
FUNCTION {format.journal.pages}
{ pages duplicate$ empty$ 'pop$
{ swap$ duplicate$ empty$
{ pop$ pop$ format.pages }
{
", " *
swap$
n.dashify
"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$
{
"volume" bibinfo.check
}
if$
emphasize
}
FUNCTION {format.chapter.pages}
{ chapter empty$
{ "" }
{ type empty$
{ bbl.chapter }
{ type "l" change.case$
"type" bibinfo.check
}
if$
chapter tie.or.space.prefix
"chapter" bibinfo.check
* *
}
if$
}
FUNCTION {format.booktitle}
{
booktitle "booktitle" bibinfo.check
}
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 {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}
{
word.in
" \cite{" * crossref * "}" *
}
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$
" \cite{" * crossref * "}" *
}
FUNCTION {format.incoll.inproc.crossref}
{
word.in
" \cite{" * crossref * "}" *
}
FUNCTION {format.org.or.pub}
{ 't :=
""
address empty$ t empty$ and
'skip$
{
add.blank "(" *
address "address" bibinfo.check *
t empty$
'skip$
{ address empty$
'skip$
{ ": " * }
if$
t *
}
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
author format.key output
format.date "year" output.check
date.block
format.title "title" output.check
new.sentence
crossref missing$
{
journal
"journal" bibinfo.check
"journal" output.check
add.blank
format.vol.num.pages output
}
{ format.article.crossref output.nonnull
}
if$
eid empty$
{ format.journal.pages }
{ format.journal.eid }
if$
format.url output
format.note output
fin.entry
}
FUNCTION {book}
{ output.bibitem
author empty$
{ format.editors "author and editor" output.check
editor format.key output
}
{ format.authors output.nonnull
crossref missing$
{ "author and editor" editor either.or.check }
'skip$
if$
}
if$
format.date "year" output.check
date.block
format.btitle "title" output.check
crossref missing$
{ format.bvolume output
new.sentence
format.number.series output
format.publisher.address output
}
{
new.sentence
format.book.crossref output.nonnull
}
if$
format.edition output
format.url output
format.note output
fin.entry
}
FUNCTION {booklet}
{ output.bibitem
format.authors output
author format.key output
format.date "year" output.check
date.block
format.title "title" output.check
new.sentence
howpublished "howpublished" bibinfo.check output
address "address" bibinfo.check output
format.url output
format.note output
fin.entry
}
FUNCTION {inbook}
{ output.bibitem
author empty$
{ format.editors "author and editor" output.check
editor format.key output
}
{ format.authors output.nonnull
crossref missing$
{ "author and editor" editor either.or.check }
'skip$
if$
}
if$
format.date "year" output.check
date.block
format.btitle "title" output.check
crossref missing$
{
format.publisher.address output
format.bvolume output
format.chapter.pages "chapter and pages" output.check
new.sentence
format.number.series output
}
{
format.chapter.pages "chapter and pages" output.check
new.sentence
format.book.crossref output.nonnull
}
if$
format.edition output
format.pages "pages" output.check
format.url output
format.note output
fin.entry
}
FUNCTION {incollection}
{ output.bibitem
format.authors "author" output.check
author format.key output
format.date "year" output.check
date.block
format.title "title" output.check
new.sentence
crossref missing$
{ format.in.ed.booktitle "booktitle" output.check
format.publisher.address output
format.bvolume output
format.number.series output
format.chapter.pages output
format.edition output
}
{ format.incoll.inproc.crossref output.nonnull
format.chapter.pages output
}
if$
format.pages "pages" output.check
format.url output
format.note output
fin.entry
}
FUNCTION {inproceedings}
{ output.bibitem
format.authors "author" output.check
author format.key output
format.date "year" output.check
date.block
format.title "title" output.check
new.sentence
crossref missing$
{ format.in.ed.booktitle "booktitle" output.check
publisher empty$
{ format.organization.address output }
{ organization "organization" bibinfo.check output
format.publisher.address output
}
if$
format.bvolume output
format.number.series output
}
{ format.incoll.inproc.crossref output.nonnull
}
if$
format.pages "pages" output.check
format.url output
format.note output
fin.entry
}
FUNCTION {conference} { inproceedings }
FUNCTION {manual}
{ output.bibitem
format.authors output
author format.key output
format.date "year" output.check
date.block
format.btitle "title" output.check
new.sentence
organization "organization" bibinfo.check output
address "address" bibinfo.check output
format.edition output
format.url output
format.note output
fin.entry
}
FUNCTION {mastersthesis}
{ output.bibitem
format.authors "author" output.check
author format.key output
format.date "year" output.check
date.block
format.title
"title" output.check
new.sentence
bbl.mthesis format.thesis.type output.nonnull
school "school" bibinfo.warn output
address "address" bibinfo.check output
format.url output
format.note output
fin.entry
}
FUNCTION {misc}
{ output.bibitem
format.authors output
author format.key output
format.date "year" output.check
date.block
format.title output
new.sentence
howpublished "howpublished" bibinfo.check output
format.url output
format.note output
fin.entry
}
FUNCTION {phdthesis}
{ output.bibitem
format.authors "author" output.check
author format.key output
format.date "year" output.check
date.block
format.title
"title" output.check
new.sentence
bbl.phdthesis format.thesis.type output.nonnull
school "school" bibinfo.warn output
address "address" bibinfo.check output
format.url output
format.note output
fin.entry
}
FUNCTION {proceedings}
{ output.bibitem
format.editors output
editor format.key output
format.date "year" output.check
date.block
format.btitle "title" output.check
format.bvolume output
format.number.series output
publisher empty$
{ format.organization.address output }
{ organization "organization" bibinfo.check output
format.publisher.address output
}
if$
format.url output
format.note output
fin.entry
}
FUNCTION {techreport}
{ output.bibitem
format.authors "author" output.check
author format.key output
format.date "year" output.check
date.block
format.title
"title" output.check
new.sentence
format.tr.number output.nonnull
institution "institution" bibinfo.warn output
address "address" bibinfo.check output
format.url output
format.note output
fin.entry
}
FUNCTION {unpublished}
{ output.bibitem
format.authors "author" output.check
author format.key output
format.date "year" output.check
date.block
format.title "title" output.check
format.url output
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 {format.lab.names}
{'s :=
"" 't :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
{ s nameptr
"{vv~}{ll}" format.name$
't :=
nameptr #1 >
{
nameptr #2 =
numnames #2 > and
{ "others" 't :=
#1 'namesleft := }
'skip$
if$
namesleft #1 >
{ ", " * t * }
{
s nameptr "{ll}" format.name$ duplicate$ "others" =
{ 't := }
{ pop$ }
if$
t "others" =
{
" " * bbl.etal *
}
{
numnames #2 >
{ "," * }
'skip$
if$
bbl.and
space.word * t *
}
if$
}
if$
}
't
if$
nameptr #1 + 'nameptr :=
namesleft #1 - 'namesleft :=
}
while$
}
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 {editor.key.label}
{ editor empty$
{ key empty$
{ cite$ #1 #3 substring$ }
'key
if$
}
{ editor format.lab.names }
if$
}
FUNCTION {calc.short.authors}
{ type$ "book" =
type$ "inbook" =
or
'author.editor.key.label
{ type$ "proceedings" =
'editor.key.label
'author.key.label
if$
}
if$
'short.list :=
}
FUNCTION {calc.label}
{ calc.short.authors
short.list
"("
*
year duplicate$ empty$
short.list key field.or.null = or
{ pop$ "" }
'skip$
if$
*
'label :=
}
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 #0
#10 +
#1 + =
numnames #0
#10 +
> 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 {editor.sort}
{ editor empty$
{ key empty$
{ "to sort, need editor or key in " cite$ * warning$
""
}
{ key sortify }
if$
}
{ editor sort.format.names }
if$
}
FUNCTION {presort}
{ calc.label
label sortify
" "
*
type$ "book" =
type$ "inbook" =
or
'author.editor.sort
{ type$ "proceedings" =
'editor.sort
'author.sort
if$
}
if$
#1 entry.max$ substring$
'sort.label :=
sort.label
*
" "
*
title field.or.null
sort.format.title
*
#1 entry.max$ substring$
'sort.key$ :=
}
ITERATE {presort}
SORT
STRINGS { last.label next.extra }
INTEGERS { last.extra.num last.extra.num.extended last.extra.num.blank
number.label }
FUNCTION {initialize.extra.label.stuff}
{ #0 int.to.chr$ 'last.label :=
"" 'next.extra :=
#0 'last.extra.num :=
"a" chr.to.int$ #1 - 'last.extra.num.blank :=
last.extra.num.blank 'last.extra.num.extended :=
#0 'number.label :=
}
FUNCTION {forward.pass}
{ last.label label =
{ last.extra.num #1 + 'last.extra.num :=
last.extra.num "z" chr.to.int$ >
{ "a" chr.to.int$ 'last.extra.num :=
last.extra.num.extended #1 + 'last.extra.num.extended :=
}
'skip$
if$
last.extra.num.extended last.extra.num.blank >
{ last.extra.num.extended int.to.chr$
last.extra.num int.to.chr$
* 'extra.label := }
{ last.extra.num int.to.chr$ 'extra.label := }
if$
}
{ "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.extra.label.stuff}
ITERATE {forward.pass}
REVERSE {reverse.pass}
FUNCTION {bib.sort.order}
{ sort.label
" "
*
year field.or.null sortify
*
" "
*
title field.or.null
sort.format.title
*
#1 entry.max$ substring$
'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]{\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 `cellnew.bst'.
avatar
b*t
27
哪个package冲突知道吗?

【在 c*********s 的大作中提到】
: 终于弄好了。把下面的存成.bst文件,和Tex文件放在同一个文件夹就可以了。
: %%
: %% This is file `cellnew.bst',
: %% generated with the docstrip utility, by HJ, 03/03/2013.
: %%
: %% The original source files were:
: %%
: %% merlin.mbs (with options: `ay,nat,nm-rvvc,nmlm,x10,x0,m10,m0,mcite,mct-1
: ,mct-x2,keyxyr,blkyear,dt-beg,yr-par,note-yr,atit-u,jttl-rm,thtit-a,vol-it,
: vnum-x,volp-com,pp-last,num-xser,jnm-x,btit-rm,bt-rm,add-pub,pub-par,pre-pub

avatar
c*s
28
好奇怪,贴到一个新文件里,就不冲突了。
用原来那个文件,就错误。代码都copy的,都是一样的。
谢谢!

【在 b*******t 的大作中提到】
: 哪个package冲突知道吗?
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。