我在参考书目中遇到了在线来源的问题,找不到解决方案。虽然所有其他来源和 URL 都显示“完美”的连字符,但某个特定来源条目的第一行以“http:”结尾,新行以“//www.”开头。。
在我看来,“//”应该属于“http:”并保留在第一行。有没有办法避免“http://”表达式中的连字符?
mbox
没有用。我也试过了\renewcommand{\UrlBigBreaks}{\do\:\do\/}
,但什么也没改变。更改会对\UrlBreakPenalty
: 和 产生影响 - 从而改变整个 URL(和所有其他来源)的连字符 - 而且我一般不想避免连字符后的换行符。
你有什么想法?
以下是代码:
\documentclass[10pt, a4]{scrbook}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[babel,german=guillemets]{csquotes}
\usepackage[style=authoryear,backend=bibtex,urldate=comp,dateabbrev=false]{biblatex}
\urlstyle{rm}
\usepackage{url}
\begin{filecontents}{demo.bib}
@online{Demo.2015,
author = {Dostert, Elisabeth},
year = {2015},
title = {\enquote{Wir machen nie das, was der Kunde sagt.}},
url = {http://www.sueddeutsche.de/wirtschaft/was-macht-eigentlich-juergen-r-schmid-wir-machen-nie-das-was-der-kunden-sagt-1.2622207},
urldate = {2015-10-22}
}
\end{filecontents}
\bibliography{demo.bib}
\begin{document}
\cite{Demo.2015}
\printbibliography
\end{document}
答案1
众所周知,参考书目中的 URL 换行非常困难,您会在此网站上发现许多与此相关的问题。
在你的情况下,临时
\apptocmd{\biburlsetup}{\def\UrlBigBreaks{\do\:\do\-\do\/}}%
可以解决问题,标准是\def\UrlBigBreaks{\do\:\do\-}%
,我们只是添加了/
字符。
这url
包装文档说(第 4 页)
结果是,一系列连续的
BigBreak
字符将在末尾且仅在末尾断开;一系列字符将在第一个字符对之后和每个后续字符对之后断开;字符和后续字符Break
之间不会断开;当字符后跟有 或任何其他字符 时允许断开。Break
BigBreak
BigBreak
Break
因此,在和:
中,中的字符跟在char后面,因此允许在最后一个子句处中断。但是如果我们添加 ,则只能在第一个子句后中断。-
BigBreak
/
Break
http://
Break
/
BigBreak
:
/
BigBreak
://