如何改善使用 natbib 制作的引用脚注的字距调整?

如何改善使用 natbib 制作的引用脚注的字距调整?

我正在写一篇文章,需要使用natbib包来引用,我正在使用supercompress选项。现在我“手动”将引用放在标点符号之外,例如

Hello world.\cite{Knuth}

我注意到标点符号和引用脚注之间有一个烦人的小水平空格,如红线所示:

在此处输入图片描述

有没有办法全局改变引用脚注的字距以摆脱这些空格(同时将它们保持在标点符号的右侧)?

在网上查看,似乎有两个很有前途的软件包,但它们的手册都很长而且令人生畏,我无法找到我想要的东西:

  1. microtype有很多不错的字距自定义设置。遗憾的是,默认选项无法解决问题,而且我不知道如何手动更改脚注字距。

  2. fnpct允许广泛的定制对于实际的\footnotes,但似乎不太适合使用该\cite命令创建的引用脚注。手册第 8 章讨论了如何将该包与 biblatex 的\autocites 一起使用,但正如讨论的那样这个问题,我无法让它与该natbib包一起工作。

有什么想法吗?我已经写了一篇文章,手动将\cites 放在标点符号之外,所以我更喜欢与此排序兼容的解决方案,但如果有必要,我可以手动将它们移动到标点符号内(正如 所要求的那样fnpct)。

答案1

您没有提供一份最简洁的文档来准确说明您正在做什么,但这里有一个简单的解决方案,有两个选项。第一个是折衷方案,它将调整所有引用命令的间距,无论它们是否遵循标点符号。如果这是不可接受的,那么您需要定义一个新版本,\cite仅用于遵循标点符号,并仅调整该版本。

版本 1

在这个版本中,我们只是为所有引用添加一个负的字距,而不管它们是否遵循标点符号。如果你为字距选择的值不是太大,这是最简单的解决方案。

\begin{filecontents*}{\jobname.bib}

@article{Massam2001,
    Author = {Diane Massam},
    Journal = {Natural Language \& Linguistic Theory},
    Pages = {153-197},
    Title = {Pseudo Noun Incorporation in {Niuean}},
    Volume = {19},
    Year = {2001}}

@article{Materna1987,
    Author = {P Materna and E Hajicova and P Sgall},
    Journal = {Linguistics and Philosophy},
    Pages = {101-113},
    Title = {Redundant Answers and Topic-Focus Articulation},
    Volume = {10},
    Year = {1987}}

@article{Matsumoto1995,
    Author = {Y Matsumoto},
    Journal = {Linguistics and Philosophy},
    Pages = {21-60},
    Title = {The Conversational Condition On {Horn} Scales},
    Volume = {18},
    Year = {1995}}

@article{Matsuo1999,
    Author = {A Matsuo},
    Journal = {Linguistic Inquiry},
    Pages = {310-317},
    Title = {Reciprocity and Binding in Early Child Grammar},
    Volume = {30},
    Year = {1999}}

@article{MatsuoDuffield2001,
    Author = {Matsuo, Ayumi and Duffield, Nigel},
    Journal = {Language Acquisition},
    Number = {4},
    Pages = {301--327},
    Title = {{VP}-ellipsis and anaphora in child language acquisition},
    Volume = {9},
    Year = {2001}}

@article{Matushansky2008,
    Author = {Matushansky, Ora},
    Journal = {Linguistics and philosophy},
    Number = {5},
    Pages = {573--627},
    Title = {On the linguistic complexity of proper names},
    Volume = {31},
    Year = {2008}}
\end{filecontents*}
\documentclass{article}
\usepackage[super,compress]{natbib}
\bibliographystyle{unsrtnat}
\makeatletter
\renewcommand\NAT@open{\kern-2pt}
\makeatother

\begin{document}
Some text.\cite{Materna1987,Matsumoto1995,Matsuo1999}

But without punctuation\cite{Massam2001,MatsuoDuffield2001,Matushansky2008}
\bibliography{\jobname}
\end{document}

版本 1 的输出

版本 2

在这个版本中,我们创建了一个新的\cite命令\pcite,它在标点符号后使用,然后仅针对这些情况调整字距。

\begin{filecontents*}{\jobname.bib}

@article{Massam2001,
    Author = {Diane Massam},
    Journal = {Natural Language \& Linguistic Theory},
    Pages = {153-197},
    Title = {Pseudo Noun Incorporation in {Niuean}},
    Volume = {19},
    Year = {2001}}

@article{Materna1987,
    Author = {P Materna and E Hajicova and P Sgall},
    Journal = {Linguistics and Philosophy},
    Pages = {101-113},
    Title = {Redundant Answers and Topic-Focus Articulation},
    Volume = {10},
    Year = {1987}}

@article{Matsumoto1995,
    Author = {Y Matsumoto},
    Journal = {Linguistics and Philosophy},
    Pages = {21-60},
    Title = {The Conversational Condition On Horn Scales},
    Volume = {18},
    Year = {1995}}

@article{Matsuo1999,
    Author = {A Matsuo},
    Journal = {Linguistic Inquiry},
    Pages = {310-317},
    Title = {Reciprocity and Binding in Early Child Grammar},
    Volume = {30},
    Year = {1999}}

@article{MatsuoDuffield2001,
    Author = {Matsuo, Ayumi and Duffield, Nigel},
    Journal = {Language Acquisition},
    Number = {4},
    Pages = {301--327},
    Title = {{VP}-ellipsis and anaphora in child language acquisition},
    Volume = {9},
    Year = {2001}}

@article{Matushansky2008,
    Author = {Matushansky, Ora},
    Journal = {Linguistics and philosophy},
    Number = {5},
    Pages = {573--627},
    Title = {On the linguistic complexity of proper names},
    Volume = {31},
    Year = {2008}}
\end{filecontents*}
\documentclass{article}
\usepackage[super,compress]{natbib}
\bibliographystyle{unsrtnat}
\makeatletter
\newif\ifpcite
\renewcommand\NAT@open{\ifpcite\kern-2pt\else\fi}
\renewcommand\NAT@close{\global\pcitefalse}
\newcommand\pcite{\pcitetrue\cite}
\makeatother

\begin{document}
Some text.\pcite{Materna1987,Matsumoto1995,Matsuo1999}

But without punctuation\cite{Massam2001,MatsuoDuffield2001,Matushansky2008}
\bibliography{\jobname}
\end{document}

版本 2 的输出

相关内容