由于单词名称导致 \hbox 未满(不良 1158)

由于单词名称导致 \hbox 未满(不良 1158)

我通过 Mendeley 在我的 .bib 文件中写了以下参考文献:

\begin{thebibliography}{2}
\providecommand{\natexlab}[1]{#1}
\providecommand{\url}[1]{\texttt{#1}}
\expandafter\ifx\csname urlstyle\endcsname\relax
  \providecommand{\doi}[1]{doi: #1}\else
  \providecommand{\doi}{doi: \begingroup \urlstyle{rm}\Url}\fi

\bibitem[Reichstein et~al.(2019)Reichstein, Camps-Valls, Stevens, Jung,
  Denzler, Carvalhais, and Prabhat]{Reichstein2019}
Markus Reichstein, Gustau Camps-Valls, Bjorn Stevens, Martin Jung, Joachim
  Denzler, Nuno Carvalhais, and Prabhat.
\newblock {Deep learning and process understanding for data-driven Earth system
  science}.
\newblock \emph{Nature}, 566:\penalty0 195--204, 2019.
\newblock ISSN 0028-0836.
\newblock \doi{10.1038/s41586-019-0912-1}.
\newblock URL \url{www.nature.com/nature}.

\end{thebibliography}

由于这个引用,LaTeX 给了我一个警告:

underful \hbox (不良 1158)

我认为导致此错误的原因是最后一位作者的名字。他的名字只有一个单词。如果我将某个单词作为他的姓氏,latex 不会给我任何错误。

我怎样才能解决这个错误,而不修改他的名字以维护他的荣誉?

答案1

bib-label 不能跨越多行。我会从 bib-label 中删除所有名称,然后将其放在后面:

\documentclass{article}

\begin{document}

\cite{Reichstein2019}


\begin{thebibliography}{2}
\providecommand{\natexlab}[1]{#1}
\providecommand{\url}[1]{\texttt{#1}}
\expandafter\ifx\csname urlstyle\endcsname\relax
  \providecommand{\doi}[1]{doi: #1}\else
  \providecommand{\doi}{doi: \begingroup \urlstyle{rm}\Url}\fi

\bibitem[Reichstein et~al.(2019)]{Reichstein2019}
Markus Reichstein, Gustau Camps-Valls, Bjorn Stevens, Martin Jung, Joachim
  Denzler, Nuno Carvalhais, and Prabhat.
\newblock {Deep learning and process understanding for data-driven Earth system
  science}.
\newblock \emph{Nature}, 566:\penalty0 195--204, 2019.
\newblock ISSN 0028-0836.
\newblock \doi{10.1038/s41586-019-0912-1}.
\newblock URL \url{www.nature.com/nature}.

\end{thebibliography}

\end{document}

在此处输入图片描述

答案2

这不是一个错误:只是警告你 tex 在该行上将单词间距拉得太长了。你可以直接忽略它。1158 还不算太糟:通常 latex 不会在 badness 低于 1000 时发出警告,因此你可以设置

\hbadness=1200

在您的参考书目之前,它也不会对此发出警告。

相关内容