原始问题

原始问题

原始问题

假设我在参考书目文件中有以下内容:

@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 上测试过,可以正确打开链接。

相关内容