我想要一个如下列出的引文:
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$
}
这将为您提供相同的风格,但是每一年都没有点。