我latex makebst
为期刊创建了一个自定义书目样式,它基本正确。遗憾的是,DOI 和网页 URL 的字体与书目条目的其余部分不同,并且 URL 会超出页面范围,而不是换行到下一行。
我的 bst 的相关部分:
FUNCTION {format.url}
{
doi empty$
{ url }
{ "http://dx.doi.org/" doi * }
if$
duplicate$ empty$
{ pop$ "" }
{ "\urlprefix\url{" swap$ * "}" * }
if$
}
我需要进行哪些更改才能使输出与我的其余参考资料具有相同的字体?
答案1
\url
排版或指令的参数时使用的字体\doi
通常不依赖于 bst 文件。假设网址加载包后,字体由\urlstyle
宏的参数决定,宏的参数(连同\url
宏本身)由包提供url
。(xurl
包也会加载url
包。)
让我们回顾一下网址包——是的,整个部分由一个六行的段落组成(添加了突出显示):
许多文档类和引文管理包要么采用系统默认字体,即tt
,要么执行类似 的操作\urlstyle{same}
。如果您不喜欢等宽字体默认设置,请随意运行\urlstyle{same}
或\urlstyle{rm}
。
如果 url 包是不是加载后,bst 文件必须提供一个虚拟的或占位符的定义\url
,正如您所观察到的,这不是很智能,因为它不允许在排版的 URL 字符串中换行。
您还写道:
URL 将会超出页面范围,而不是换行到下一行
这仅当您不加载网址(或者网址, 或者超链接) 包。我建议您\usepackage{xurl}
在文档中运行。
最后,你问,
我需要进行哪些更改才能使输出与我的其余参考资料具有相同的字体?
除了加载xurl
包之外,我还建议您运行\urlstyle{same}
。