我正在使用 biblatex 和 biber 在我的文档中引用。它工作得很好,但最近我发现了一个问题。我的大部分参考资料都是从 google scholar 引用选项中复制而来,所以我猜参考资料本身就是正确的格式。
正如您所见,一些引用已经超出了页面范围。
这是屏幕上显示的引文之一:
@inproceedings{wirth2000crisp,
title={CRISP-DM: Towards a standard process model for data mining},
author={Wirth, R{\"u}diger and Hipp, Jochen},
booktitle={Proceedings of the 4th international conference on the practical applications of knowledge discovery and data mining},
year={2000},
organization={Citeseer}
}
@article{liu2012isolation,
title={Isolation-based anomaly detection},
author={Liu, Fei Tony and Ting, Kai Ming and Zhou, Zhi-Hua},
journal={ACM Transactions on Knowledge Discovery from Data (TKDD)},
volume={6},
number={1},
year={2012},
publisher={ACM}
}
有人知道如何解决这个问题。我不敢相信像 journal 或 booktitle 这样的字段不能太长。
答案1
你会发现那些没有正确换行的行是那些带下划线的行。事实上,在 LaTeX 中下划线是相当困难的:在标准 LaTeX 中\underline
不允许换行(https://texfaq.org/FAQ-underline)。还有像soul
和这样的替代软件包ulem
,它们允许更复杂的下划线机制,但它们的实现也有局限性,通常只适用于非常简单的输入,这些输入没有太多的宏。幸运的是,下划线在排版中通常不受欢迎,被认为是打字机时代的遗物,因此 LaTeX 可以不像其他文字处理器那样支持它。
如果您知道输出的biblatex
标准样式,您会发现屏幕截图中带下划线的文本通常以斜体打印。
把它们放在一起表明您正在加载包ulem
,其默认行为是重新定义\em
并\emph
生成带下划线的文本而不是正常的斜体。
以下 MWE 重现了您在屏幕截图中看到的效果
\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage{ulem}
\usepackage[style=authoryear, backend=biber]{biblatex}
\addbibresource{biblatex-examples.bib}
\begin{document}
\cite{sigfridsson}
\printbibliography
\end{document}
正如解释的那样加载 ulem 后让 \emph 恢复正常你可以使用避免被重新定义的ulem
选项来加载包。事实上normalem
\emph
\usepackage[normalem]{ulem}
而不是\usepackage{ulem}
代码产生
当然,ulem
如果您不需要在文档中添加下划线,您也可以完全停止加载。