BibTeX:在标题周围放置 \href 会导致不必要的“标题样式”(而不是所需的“句子样式”)

BibTeX:在标题周围放置 \href 会导致不必要的“标题样式”(而不是所需的“句子样式”)

我试图通过在\href标题周围放置带有链接的 来将标题链接到参考书目条目中的文章。但是,当我这样做时,会导致标题中的单词无法正确地转换为小写。一个明显的解决方案是将标题放入 bib 文件中,并按照参考书目样式要求使用大写字母,但我想知道是否有一种简单的方法可以让 BibTeX 像平常一样格式化标题,而无需手动修复标题。

梅威瑟:

\documentclass{article}
\usepackage{natbib}
\usepackage{hyperref}

\begin{filecontents}{my.bib}
    @unpublished{Sample,
        Author = {Sample},
        Title = {\href{}{A Title in Title Case}},
        Year = {0000},
        Note = {Note}
    }
\end{filecontents}

\begin{document}
    \bibliographystyle{plain}
    \nocite{Sample}
    \bibliography{my}
\end{document}

这会产生不需要的大写字母:

[1] 示例。标题为首字母大写的标题。注:0000。

省略标题中的 \href 可产生所需的大写字母:

[1] 示例。标题采用大写字母。注意,0000。

答案1

您可以通过不直接写作来解决您的问题\href:您提供了该条目的链接,因此从语义上讲它属于该Url字段:

@unpublished{Sample,
    Author = {Sample},
    Title = {A Title in Title Case},
    Year = {0000},
    Url = {...},
    Note = {Note}
}

然后你只需要一个\bibliographystyle可以title链接到的url。你可以自己创建它:在你的 TeX 安装中,你可以找到带有样式的文件plainplain.bst (您也可以在 CTAN 上找到它). 将其复制到名为 的 TeX 文件的目录中link.bst。这将是我们的起点。

首先,你必须添加字段url:在文件顶部,link.bst你会发现一个以以下内容开头的列表:

ENTRY
  { address
    author

下面type添加一行

    url

现在 BibTeX 知道url,但忽略了该字段。要添加链接,请搜索块

FUNCTION {format.title}
{ title empty$
    { "" }
    { title "t" change.case$ }
  if$
}

此块负责显示标题。将其替换为

FUNCTION {format.title}
{ title empty$
    { "" }
    { title "t" change.case$
      url empty$
        { }
        { "\href{" url * "}{" * swap$ * "}" * }
      if$
    }
  if$
}

如果给出了,这将\href{<url>}{...}围绕标题Url

如果您保存更改,则可以\bibliographystyle{link}使用新样式。在 MWE 中,您还必须替换

\usepackage{natbib}

经过

\usepackage[numbers]{natbib}

因为link使用数字作为引用。这是从继承而来的plain。可以使用类似 的样式plainnat作为基础,而改用natbib类似 Author-Year 的引用。

例子:

\documentclass{article}
\usepackage[numbers]{natbib}
\usepackage{hyperref}

\begin{filecontents}{my.bib}
    @unpublished{Sample,
        Author = {Sample},
        Title = {A Title in Title Case},
        Url = {http://eyample.tld/},
        Year = {0000},
        Note = {Note}
    }
\end{filecontents}

\begin{document}
    \bibliographystyle{link}
    \nocite{Sample}
    \bibliography{my}
\end{document}

在此处输入图片描述

相关内容