是否可以使用 biblatex 将 URL 条目更改为普通文本模式?(希望这不需要 MWE,如果需要,将提供)
答案1
biblatex
将其 URL 排版委托给url
包。因此,您可以使用
\urlstyle{same}
使用url
文档字体排版所有 URL。
请注意,这也会改变“类似 URL”的内容,例如 DOI 和许多eprint
格式。
\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[style=authoryear, backend=biber]{biblatex}
\addbibresource{biblatex-examples.bib}
\urlstyle{same}
\begin{document}
\cite{sigfridsson,ctan}
\printbibliography
\end{document}
这里有一个将 URL 视为普通文本的解决方案。这很复杂,原因有二
Biber 将百分比/URL 编码应用于
url
,请参阅如何禁用 URL 中的百分比编码?和Biblatex URL 中的斯堪的纳维亚字母。这意味着如果您希望反斜杠保留,则必须打印特殊字段urlraw
而不是url
。URL 是逐字解释的,这意味着所有特殊字符都没有其通常的特殊含义。
~
只是~
而不是空格,同样_
只是下划线而不是让您进入数学模式的下标标记。但然后\
只是一个反斜杠而不是启动控制序列名称的特殊字符。所以我们需要“重新激活”\
,在 MWE 中我用 做到了这一点\scantokens
,但这意味着所有其他特殊字符也会恢复其特殊含义。实际上,这意味着您的 URL 中不能再有#
、_
和~
了。
所有这些都表明,虽然理论上可行,但这种方法实际上并不应该使用。
\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[style=authoryear, backend=biber]{biblatex}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{appleby,
author = {Humphrey Appleby},
title = {On the Importance of the Civil Service},
date = {1980},
url = {http://example.com/\break sir-humphrey/imp.html},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}
\DeclareFieldFormat{url}{%
\mkbibacro{URL}\addcolon\space
\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter
\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter
\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter
\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter
\expandafter\expandafter\expandafter
\scantokens
\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter
\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter
\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter
\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter
\expandafter\expandafter\expandafter
{\thefield{urlraw}}}
\begin{document}
\cite{sigfridsson,appleby}
\printbibliography
\end{document}
如果你对参考书目中的 URL 损坏方式感到困惑,请查看biblatex 书目中的长 URL 的换行符?和强制在 \url 中换行了解 TeX 中 URL 中断的规范解决方案。您可能还对以下内容感兴趣如何调整参考书目的断行?。