BibTeX 会在引文后添加空格,例如“et al.”如果该空格出现在行末,年份可以放在下一行。
我认为这在行尾可能会产生误导,因为它可能会被错误地读作是行尾,然后下一行开头的数字看起来很奇怪。
在我看来,这会打断阅读的流程,但我也对你的观点感兴趣。
为了抑制换行,我并没有偷懒,而是在网上搜索解决方案。
我找到了使用的建议\renewcommand*{\nameyeardelim}{\addnbspace}
,但不幸的是,这在我手中不起作用。
我认为这是因为该\nameyeardelim
宏仅由biblatex
,而我没有使用(也不能使用,因为我正在通过RStudio的预订包裹。
有人能告诉我另一种可能的方法来避免“et al.”引用后的换行吗?
答案1
你natbib
可以使用
\makeatletter
\renewcommand*{\NAT@spacechar}{~}
\makeatother
或者
\bibpunct[, ]{\unskip~(}{)}{;}{a}{,}{,}
其中,\unskip~(
删除括号前的空格,并将其替换为不间断空格。
还将的引用命令\NAT@spacechar
插入的其他空格转换为不可拆分的空格,这些空格可能是想要的,也可能是不需要的。如果将上述代码中的natbib
替换为 ,则可以看到这些空格的位置。~
XXX
解决\bibpunct
方案自然会覆盖加载时间选项,例如square
和,round
并设置其他标点符号。如果您使用特殊样式,则可能需要稍微调整该值。
natbib.sty
解释\bibpunct
如下
% Alternatively: % Use \bibpunct with 6 mandatory arguments: % 1. opening bracket for citation % 2. closing bracket % 3. citation separator (for multiple citations in one \cite) % 4. the letter n for numerical styles, s for superscripts % else anything for author-year % 5. punctuation between authors and date % 6. punctuation between years (or numbers) when common authors missing % One optional argument is the character coming before post-notes. It % appears in square braces before all other arguments. May be left off. % Example (and default) \bibpunct[, ]{(}{)}{;}{a}{,}{,}
pdf 文档也有一些相关内容http://mirrors.ctan.org/macros/latex/contrib/natbib/natbib.pdf在第 13 页。