使用 beamer、biblatex 和 biber 强制在 URL 中换行

使用 beamer、biblatex 和 biber 强制在 URL 中换行

我的 MWE 中的 URL 没有中断,因为它可以放在一行中。这导致参考书目中有三行,尽管两行就足够了。

我怎样才能强制它分解 URL 以将其压缩为两行?我尝试了常用的方法,但没有效果,大概是因为 URL 不够长。

\documentclass[aspectratio=169]{beamer}

\usepackage{filecontents}
\begin{filecontents}{myurl.bib}
@online{longurl,
    author  = "Someone, Nice",
    title   = "This is my URL",
    year    = "2017",
    url     = "http://abc.efghij.kl.mn/~kausgdha/longsolong/anurlso/looong.html",
    urldate = {2017-11-27},
}

\end{filecontents}

\PassOptionsToPackage{hyphens, spaces, obeyspaces}{url}

\usepackage{hyperref}
\hypersetup{
  breaklinks=true
}

\usepackage[backend=biber]{biblatex}
\addbibresource{myurl.bib}

\begin{document}

\nocite{longurl}
\frame[allowframebreaks]{\printbibliography}

\end{document}

url 没有中断,条目有三行

答案1

这是 和 的一个怪癖\raggedright,其中断行发生在这个特定的 url 中。TeX 似乎无法找到一个好的换行符。您可以尝试使用ragged2e\RaggedRight之前的包\printbibliography

\documentclass[aspectratio=169]{beamer}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@online{longurl,
    author  = "Someone, Nice",
    title   = "This is my URL",
    year    = "2017",
    url     = "http://abc.efghij.kl.mn/~kausgdha/longsolong/anurlso/looong.html",
    urldate = {2017-11-27},
}
\end{filecontents}
\usepackage{biblatex}
\usepackage{ragged2e}
\addbibresource{\jobname.bib}
\setbeamertemplate{navigation symbols}{}
\begin{document}
\nocite{longurl}
\frame[allowframebreaks]{\RaggedRight\printbibliography}
\end{document}

在此处输入图片描述

相关内容