我在用biblatex
使用 Biber 作为后端。我正在努力解决参考书目中过满的水平盒子问题。
在下图中,“Dispersion Forces”超出了页边距。我想在红色垂直线标记的位置放置一个换行符,尽管这样做很可能会导致水平盒子未充满。 我怎样才能做到这一点?
这里有一些代码,尽管它不可编译;我没有 MWE,因为我不确定如何在不包括 196 个 biblatex 条目的情况下重现“(196)”。
% .tex file:
\usepackage[semibold,tt=false]{libertine}
\usepackage{libertinust1math}
\usepackage[
expansion = false ,
tracking = smallcaps ,
letterspace = 40 ,
final
]{microtype}
\usepackage[style=chem-acs,articletitle=true,chaptertitle=true,refsection=chapter,maxbibnames=99,maxcitenames=99,doi=true,defernumbers=true]{biblatex}
\documentclass[oneside,11pt,draft]{book}
\begin{document}
\end{document}
% .bib file:
@ARTICLE{Trulsson2010,
author = {Trulsson, Martin and Algotsson, Jenny and Forsman, Jan and Woodward, Clifford E.},
title = {Differential Capacitance of Room Temperature Ionic Liquids: The Role of Dispersion Forces},
journal = {J. Phys. Chem. Lett.},
year = {2010},
volume = {1},
pages = {1191--1195}
}
答案1
在参考书目中手动插入字段内容换行符的最简单方法是写入\\
条目.bib
。当然,这不是一个非常可持续的解决方案,因为.bib
文件应该是可重复使用的,而且这是一个非常依赖于情况的修复。一般来说,我建议不要把这类特别指定修复.bib
文件,因为它们可能会在不同情况下再次出现并困扰您。
虽然我不推荐这样做,但下面的方法确实有效
\documentclass[oneside,11pt,draft]{book}
\usepackage[semibold,tt=false]{libertine}
\usepackage{libertinust1math}
\usepackage[
expansion=false,
tracking=smallcaps,
letterspace= 40,
final
]{microtype}
\usepackage[style=chem-acs,
maxbibnames=99, maxcitenames=99,
articletitle=true, chaptertitle=true,
doi=true,
defernumbers=true,
refsection=chapter,
]{biblatex}
\begin{filecontents}{\jobname.bib}
@ARTICLE{Trulsson2010,
author = {Trulsson, Martin and Algotsson, Jenny
and Forsman, Jan and Woodward, Clifford E.},
title = {Differential\\Capacitance of Room Temperature
Ionic Liquids: The Role of Dispersion Forces},
journal = {J. Phys. Chem. Lett.},
year = {2010},
volume = {1},
pages = {1191--1195}
}
\end{filecontents}
\addbibresource{\jobname.bib}
% to fake the labelnumber
\DeclareFieldFormat{labelnumberwidth}{\mkbibparens{196}}
\begin{document}
\cite{Trulsson2010}
\printbibliography
\end{document}
相反,我会尝试使用在如何调整参考书目的断行?。
在这个例子中,有一点\emergencystretch
帮助(这里.1em 就足够了)。
\documentclass[oneside,11pt,draft]{book}
\usepackage[semibold,tt=false]{libertine}
\usepackage{libertinust1math}
\usepackage[
expansion=false,
tracking=smallcaps,
letterspace= 40,
final
]{microtype}
\usepackage[style=chem-acs,
maxbibnames=99, maxcitenames=99,
articletitle=true, chaptertitle=true,
doi=true,
defernumbers=true,
refsection=chapter,
]{biblatex}
\appto\bibfont{\setlength{\emergencystretch}{.1em}}
\begin{filecontents}{\jobname.bib}
@ARTICLE{Trulsson2010,
author = {Trulsson, Martin and Algotsson, Jenny
and Forsman, Jan and Woodward, Clifford E.},
title = {Differential Capacitance of Room Temperature
Ionic Liquids: The Role of Dispersion Forces},
journal = {J. Phys. Chem. Lett.},
year = {2010},
volume = {1},
pages = {1191--1195}
}
\end{filecontents}
\addbibresource{\jobname.bib}
% to fake the labelnumber
\DeclareFieldFormat{labelnumberwidth}{\mkbibparens{196}}
\begin{document}
\cite{Trulsson2010}
\printbibliography
\end{document}
但是如果您有许多棘手的参考文献,将参考书目设置得参差不齐可能是更好的选择。