在引用相关的上标数字前放置逗号

在引用相关的上标数字前放置逗号

根据《芝加哥格式手册》(第 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}} 并使用它,但请记住在使用此命令后去掉句点,因为它包含在其中。

没有办法将此技巧应用于多重引用,但无论如何都应该避免,而且很容易绕过它。

相关内容