我正在写一篇文章,需要使用natbib
包来引用,我正在使用super
和compress
选项。现在我“手动”将引用放在标点符号之外,例如
Hello world.\cite{Knuth}
我注意到标点符号和引用脚注之间有一个烦人的小水平空格,如红线所示:
有没有办法全局改变引用脚注的字距以摆脱这些空格(同时将它们保持在标点符号的右侧)?
在网上查看,似乎有两个很有前途的软件包,但它们的手册都很长而且令人生畏,我无法找到我想要的东西:
microtype
有很多不错的字距自定义设置。遗憾的是,默认选项无法解决问题,而且我不知道如何手动更改脚注字距。fnpct
允许广泛的定制对于实际的\footnote
s,但似乎不太适合使用该\cite
命令创建的引用脚注。手册第 8 章讨论了如何将该包与 biblatex 的\autocite
s 一起使用,但正如讨论的那样这个问题,我无法让它与该natbib
包一起工作。
有什么想法吗?我已经写了一篇文章,手动将\cite
s 放在标点符号之外,所以我更喜欢与此排序兼容的解决方案,但如果有必要,我可以手动将它们移动到标点符号内(正如 所要求的那样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}
版本 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}