指向同一来源但不同页面的每个书目条目都有单独的 URL;在 \printbibliography 中为来源添加 1 个 URL

指向同一来源但不同页面的每个书目条目都有单独的 URL;在 \printbibliography 中为来源添加 1 个 URL

123当人们希望在脚注中引用参考文献(更具体地说:来源的某一页)时,可以使用\footfullcite[p.~123]{Bestbook},例如,以防参考文献被标记为Bestbook

如果希望在文档的后面引用456同一本书的另一页(例如),则可以轻松使用\footfullcite[p.~456]{Bestbook}

当人们在文档的后面使用时\printbibliography,只会引用一个来源,但不会具体提及之前引用的任何页面。

我正在尝试为以下实例添加特定的(始终不同的)URL:

  • 每次提到不同的页面时,在footnfullcite(在平均能量损失,最多有 2 个不同的 URL,但这只是一个例子)。
  • 另一个是\printbibliography

平均能量损失

\documentclass{report}

\begin{filecontents}{testbibliography.bib}
@book{Bestbook,
  author =   {{The best author in the world}},
  title =   {The best title in the world},
  year =   {The best year in the world},
  publisher =   {The best publisher in the world}}
\end{filecontents}

\usepackage[backend=bibtex]{biblatex}
\addbibresource{testbibliography}

\begin{document} 

This is clearly a passage which refers to page 123, just look at the footnote to understand that.\footfullcite[p.~123]{Bestbook} How to add a url inside the cited reference's footnote, which specifically links to page 123?

This is clearly a passage which refers to page 456, just look at the footnote to understand that.\footfullcite[p.~456]{Bestbook} How to add a url inside the cited reference's footnote, which specifically links to page 456?

Now, how to add a separate URL for the complete book (as for the \textbf{Bibliograpy}, cf. next page)?
\printbibliography

\end{document}

附言:我并不是想寻找一种自动(如:“根据 base-url 自动生成”)生成每个随机页码的 URL 的方法;相反,我希望文档编写者手动将每个特定页面的 URL 复制粘贴到书目信息中(在 内@book{Bestbook,...)。如果可以合并以下内容就好了:url=MAIN-BOOK-URLurl-p123=PAGE-URL-FOR-PAGE-123等等?

\footfullcite[p.~123]{Bestbook}然后,如果可以自动恢复其 URL 的内容url-p123以显示在输出上等等,那就太好了。

答案1

除了在 中实现此功能外biblatex,您还可以简单地执行以下操作:

\newcommand{\urlcite}[3]{\footfullcite{#1}, p.~\href{#2}{#3}}

当然,这是一个相当“愚蠢”的命令,你会失去很多 的biblatex引用命令的巧妙功能。然而,在这种情况下,这不是一个很大的损失,因为:

  1. 我们知道引用需要页码,因为这是特定页码请求的全部意义所在;并且
  2. 将特定页面的 URL 放在实际引用中并不比将其放在文件中更费力.bib(除非重复引用同一页面)。

这种方法的主要优点是我们不需要构建一个非常复杂的系统,该系统可以URI fields根据扫描\cite命令中命名的页面来创建和吐出新内容。

鉴于这些 URL 可能是通过编程生成的,您可能需要在任何依赖它们的文档中注意,无法保证链接在有效期之外仍然有效<some such date>……

因此,作为一名 MWE:

\documentclass{article}
\usepackage[backend=biber, style=authortitle]{biblatex}
\addbibresource{biblatex-examples.bib}
\usepackage{hyperref}
\newcommand{\urlcite}[3]{\fullcite{#1}, p.~\href{#2}{#3}}
% Less flexible
\newcommand{\footurlcite}[3]{\footnote{\fullcite{#1}, p.~\href{#2}{#3}.}}% 

\begin{document}

An example.%
\footnote{\urlcite{westfahl:space}{http://www.notrealurl.fake}{55}.} %
An example.% 
\footurlcite{westfahl:space}{http://www.notrealurl.fake}{56} % 

\printbibliography

\end{document}

相关内容