使用 natbib 删除年份后的点

使用 natbib 删除年份后的点

我想要一个如下列出的引文:

Meier,Max ~~~ 2009 ~~~ 我的第一篇论文。

其中 ~~~ 代表 TAB。

我正在使用 natbib,我找到了一种方法来更改 Max 和 2009 之间的空格,但我没有找到一种方法来删除 2009 之后通常会插入的点。这可以用 natbib 来完成吗?还是我必须在 bst 文件中执行此操作?

添加的 MWE:

\documentclass{article}

\usepackage{filecontents}

\usepackage{natbib}

\begin{filecontents}{SM.bib}
  @misc{a, author={Max Meier}, title={My first paper}, year=2009}
\end{filecontents}


\begin{document}
\nocite{*}


\setcitestyle{
notesep={: }, % 2002: 125
aysep={~}     % Gazdar 2002
}


\bibliographystyle{degruyter-hsk} 

\bibliography{SM}
\end{document}

De Gruyter .bst 在这里:degruyter-hsk.bst

答案1

这需要在样式文件中完成,您可以在其中重复函数上的“丑陋黑客” date.block。替换

FUNCTION {date.block}
{
  new.block
}

FUNCTION {date.block}
{
  before.all 'output.state := 
  "\hspace{1em}" output add.blank
}

示例输出

但是,天哪,这看起来所以错误的。

答案2

正如 mafp 已经回答的那样,您必须在样式文件 (*.bst) 中更改这一点。

搜索:

FUNCTION {date.block}
{
  new.block
}

但不要按照 mafp 的建议进行更改。这样会留下难看的空白。请将其更改为:

FUNCTION {date.block}
    {
      skip$
    }

这将为您提供相同的风格,但是每一年都没有点。

相关内容