原始问题
假设我在参考书目文件中有以下内容:
@misc{
proofwiki,
title={{Definition:Collation - ProofWiki}},
author={{ProofWiki}},
journal={{ProofWiki}},
year={2021},
howpublished={
\goto
{link}
[
url(
"http://wiki.contextgarden.net"
)
]
}
}
我正在使用 ConTeXt 来编译此文件,命令中的 URL\goto
允许我确保参考书目条目在 pdf 中有一个实时链接。
现在,假设我想强制执行干净的代码,并在 bib 文件中使用最大列 31。我尝试按如下方式拆分链接:
@misc{
proofwiki,
title={{Definition:Collation - ProofWiki}},
author={{ProofWiki}},
journal={{ProofWiki}},
year={2021},
howpublished={
\goto
{link}
[
url(
"http://wiki.context"
"garden.net"
)
]
}
}
不幸的是,ConTeXt 将文件中的换行符视为.bib
实际 URL 中的空格。所以我在 PDF 中得到的是无效的链接。我想 LaTeX 与 结合使用时也会发生同样的情况\href
。
如何在不破坏链接的情况下实现行延续?
编辑
根据要求,请参阅以下 MWE:
test.tex
\usebtxdefinitions[aps]
\usebtxdataset[bibliography.bib]
\setupinteraction[state=start]
\starttext
\startbodymatter
See \cite[proofwiki]
\stopbodymatter
\startbackmatter
\startsection[title=Bibliography]
\placelistofpublications
\stopsection
\stopbackmatter
\stoptext
bibliography.bib
@misc{
proofwiki,
title={{Definition:Collation - ProofWiki}},
author={{ProofWiki}},
journal={{ProofWiki}},
year={2021},
howpublished={
\goto
{link}
[
url(
"https://proofwiki.org/wiki/Definition:Language_of_Propositional_Logic"
)
]
}
}
答案1
首先,请注意,您不仅仅是在进行换行,而是将一个字符串转换为两个字符串!
howpublished={
\goto
{link}
[
url(
"http://wiki.contextgarden.net"
)
]
}
对比
howpublished={
\goto
{link}
[
url(
"http://wiki.context"
"garden.net"
)
]
}
这绝对行不通!
如果你插入一个文字换行符,那么它就可以起作用[^1]
howpublished={
\goto
{link}
[
url(
"http://wiki.context
garden.net"
)
]
}
[^1]: 这也与 pdf 查看器有关。我在 zathura + firefox 上测试过,可以正确打开链接。