添加 \url link 以在 .bst 文件中运行
adding \url link to function in .bst file
如何将 \url{} 命令添加到 .bst 函数。在这种情况下,如果 URL 字段为空,我希望它用 DOI 字段中的数据填充它,请参见下面的代码。我需要将它添加到第 4 行,但我尝试过的每一种方法都会导致它崩溃。
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$
}
如何将 \url{} 命令添加到 .bst 函数。在这种情况下,如果 URL 字段为空,我希望它用 DOI 字段中的数据填充它,请参见下面的代码。我需要将它添加到第 4 行,但我尝试过的每一种方法都会导致它崩溃。
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$
}