根据《芝加哥格式手册》(第 14.21 节),“注释编号通常应放在句末或小节末尾。编号通常位于引文之后(无论是插入文本还是设置为摘录)。相对于其他标点符号,编号位于任何标点符号之后,但其前面的破折号除外。”
我正在使用 natbib 包,使用上标值来引用参考书目中的特定条目。但我找不到在上标数字前放置逗号的方法(如果引用后有句号,也会出现同样的问题)。以下最小示例显示了该问题:
\documentclass{article}
\usepackage[super,comma,numbers]{natbib}
\begin{document}
\citet{latex,latex:guide}
\bibliography{harvard}
\bibliographystyle{apalike2}
\end{document}
生成文档的截图:
有没有办法将逗号放在上标值(示例中为 2)之前?
答案1
我联系了该软件包的维护者natbib
。为了完整起见,我发布了我得到的答复。
这是一个难以轻易解决的问题。
带有上标数字的整数
\citet
是一个复杂的编程问题,因为它与常规的数字引用截然不同。问题在于将作者添加到数字中,这是原始 LaTeX 所不具备的功能。这是 的额外奖励natbib
。然后将其扩展到上标则需要更大的努力。问题在于,对于多处引用,每处引用都是独立编造的,然后放在一起。这意味着作者加编号是一个单位,各个单位之间用任何适用的标点符号分隔。即使是单处引用,最后一个标点符号也位于该单位之外,因此最后一个句号也位于该单位之外。
解决方案将涉及大量重新编程。代码必须知道接下来的标点符号是什么,然后将其插入到作者和上标之间的引用单元中。对于最终的引用,这甚至更加棘手,因为代码必须提前查看接下来的内容,然后将其插入引用单元内,然后隐藏外部标点符号。令人难以置信!
无论如何,我发现多次引用
\citet
很奇怪。我确实提供了它以保证完整性,但不知道它是如何应用的。文本\citet
是句子的一部分,通常是指单个参考。如果您想引用更多内容,将句子扩展为:请参阅和中的详细信息\citet{ref1}
以\citet{ref2}
进行澄清。无论如何,这会使阅读效果更好。对于\citep
括号引用,确实需要多次引用,因为这是在一组括号内找到所有引用的唯一方法,而文本引用不存在这个问题。这也适用于上标引用。最好给出
\citet{latex}
和\citet{latex:guide}
。这样句子读起来会更好。(您的示例不包含完整的句子,因此这一点并不明显。尝试一个真实的例子。)
\citet
如果出现在句子末尾,这仍然不能解决你的问题。这里我只能提出以下建议:有关更多详细信息,请参阅\citeauthor{latex:guide}.\citep{latex:guide}
如果您非常需要这个,那么您可以定义
\newcommand{\citetdot}[1]{\citeauthor{#1}.\citep{#1}}
并使用它,但请记住在使用此命令后去掉句点,因为它包含在其中。没有办法将此技巧应用于多重引用,但无论如何都应该避免,而且很容易绕过它。