我有一个很大的参考书目,其中有些项目由于 URL 过长而导致水平盒子未满。类似问题的答案提出了一些解决此问题的全局选项;例如
但是,我不想要一个全局解决方案(例如将\sloppy
或\raggedright
应用于整个书目),因为所有其他书目项目都按照我希望的方式运行。
在大多数情况下,我能够通过在 .bib 文件中 URL 条目的开头插入手动换行符来解决问题。但是,在一种情况下,这种方法不起作用。MWE:
\documentclass[natbib]{svmono}
\usepackage{url}
\begin{document}
\cite{koepke2009naturalness}
\bibliographystyle{harvard}
\bibliography{test}
\end{document}
测试文件
@article{koepke2009naturalness,
year={2009},
title={Naturalness in formal mathematics},
journal={\\\url{http://www.math.uni-bonn.de/people/koepke/Preprints/Naturalness_in_formal_mathematics.pdf}},
author={Koepke, Peter}
}
我尝试\\
在 URL 内的各个点插入;它打破了行,但仍然导致水平盒子未满。我怎样才能打破 URL 而不导致水平盒子未满?
编辑:http://www.springer.com/computer/lncs?SGWID=0-164-6-793341-0<-- svmono http://iccle.googlecode.com/svn-history/r2130/trunk/doc/harvard.bst<-- 哈佛.bst
答案1
更新:这个问题的 OP 本人已经在额外内容\\
和有效的超链接之间找到了一个很好的解决方案。
在hyperref
unpublished
可以编写的包(由于显然没有期刊,因此示例更改为出版物):
@unpublished{koepke2009naturalness,
year={2009},
title={Naturalness in formal mathematics},
note={\\
\href{http://www.math.uni-bonn.de/people/koepke/Preprints/Naturalness_in_formal_mathematics.pdf}
{\nolinkurl{http://www.math.uni-bonn.de/people/}}
\\
\href{http://www.math.uni-bonn.de/people/koepke/Preprints/Naturalness_in_formal_mathematics.pdf}
{\nolinkurl{koepke/Preprints/Naturalness_in_formal_mathematics.pdf}}
},
author={Koepke, Peter}
}
这使
如果只\href
使用一个,例如
note={\\
\href{http://www.math.uni-bonn.de/people/koepke/Preprints/Naturalness_in_formal_mathematics.pdf}
{\nolinkurl{http://www.math.uni-bonn.de/people/}
\\
\nolinkurl{koepke/Preprints/Naturalness_in_formal_mathematics.pdf}
}
},
链接活动区域跨越整个第一行:
原始答案
水平盒子未满并不一定意味着一定出了问题。它只是一个警告。
比较以下代码的参考书目条目。
带有额外内容的那个\\
不会发出警告(但会破坏超链接),另一个会发出警告,但看起来是一样的。
(无论如何,字段的斜体设置journal
都会弄乱间距。)
代码
\documentclass[natbib]{svmono}
\usepackage{url}
\usepackage[showframe,pass]{geometry}
\begin{filecontents}{test.bib}
@article{koepke2009naturalness,
year={2009},
title={Naturalness in formal mathematics},
journal={Same Journal Name},
note={\\\url{http://www.math.uni-bonn.de/people/koepke/Preprints/Naturalness_in_}\\\url{formal_mathematics.pdf}},
author={Koepke, Peter}
}
@article{koepke2009naturalnessa,
year={2009},
title={Naturalness in formal mathematics},
journal={Same Journal Name},
note={\\\url{http://www.math.uni-bonn.de/people/koepke/Preprints/Naturalness_in_formal_mathematics.pdf}},
author={Koepke, Peter}
}
\end{filecontents}
\begin{document}
\cite{*}
\bibliographystyle{harvard}
\bibliography{test}
\end{document}