Latex 正在向.bst文件中的函数添加\url链接
如何将\url{}命令添加到.bst函数中。在本例中,如果URL字段为空,我希望它用DOI字段中的数据填充,请参见下面的代码。我需要把它添加到第四行,但我尝试的每一种方法都会导致它崩溃Latex 正在向.bst文件中的函数添加\url链接,latex,tex,bibtex,biblatex,Latex,Tex,Bibtex,Biblatex,如何将\url{}命令添加到.bst函数中。在本例中,如果URL字段为空,我希望它用DOI字段中的数据填充,请参见下面的代码。我需要把它添加到第四行,但我尝试的每一种方法都会导致它崩溃 FUNCTION {format.url} { is.use.url { url empty$ {"[Online]. Available: https://doi.org/" doi * } { this.to.prev.status this
FUNCTION {format.url}
{ is.use.url
{ url empty$
{"[Online]. Available: https://doi.org/" doi * }
{ this.to.prev.status
this.status.std
cap.yes 'status.cap :=
name.url.prefix " " *
"\url{" * url * "}" *
punct.no 'this.status.punct :=
punct.period 'prev.status.punct :=
space.normal 'this.status.space :=
space.normal 'prev.status.space :=
quote.no 'this.status.quote :=
}
if$
}
{ "" }
if$
}
这来自IEEE.bst文件,可以在第1920行附近找到这是我开发的代码,用于从DOI或arXiv编号自动填充URL字段。所有URL都是超链接的 你必须使用 \usepackage[hidelinks]{hyperref} 让超链接发挥作用。下面是我为.bst文件编写的代码
FUNCTION {format.url}
{ is.use.url
{ url empty$
{ doi empty$
{ eprint empty$
{ ""
}
{ this.to.prev.status
this.status.std
cap.yes 'status.cap :=
"\href{https://arxiv.org/pdf/" eprint * "}{ [Online]. Available: https://arxiv.org/pdf/" * eprint * "}" * output
punct.no 'this.status.punct :=
punct.period 'prev.status.punct :=
space.normal 'this.status.space :=
space.normal 'prev.status.space :=
quote.no 'prev.status.quote :=
}
if$
}
{ this.to.prev.status
this.status.std
cap.yes 'status.cap :=
"\href{http://dx.doi.org/" doi * "}{[Online]. Available: http://dx.doi.org/" * doi * "}" * output
punct.no 'this.status.punct :=
punct.period 'prev.status.punct :=
space.normal 'this.status.space :=
space.normal 'prev.status.space :=
quote.no 'this.status.quote :=
}
if$
}
{ this.to.prev.status
this.status.std
cap.yes 'status.cap :=
name.url.prefix " " *
"\url{" * url * "}" *
punct.no 'this.status.punct :=
punct.period 'prev.status.punct :=
space.normal 'this.status.space :=
space.normal 'prev.status.space :=
quote.no 'this.status.quote :=
}
if$
}
{ "" }
if$
}