LaTeX:编辑 .bst 文件

LaTeX:编辑 .bst 文件

我正在使用plainyr-rev.bst用于报告(标准书目,但按出版年份倒序排列)。这个方法很好,但我想稍微修改一下:

代替:

Author A ..., 1999
Author B ..., 1999
Author C ..., 1995
Author D ..., 1995
Author E ..., 1990

我想要类似这样的内容:

1999  Author A ..., 1999
      Author B ..., 1999

1995  Author C ..., 1995
      Author D ..., 1995

1990  Author E ..., 1990

这样做的目的是为了让眼睛更容易看:我有大约 200 个条目,如果有年份指示器,阅读参考书目就会容易得多。

我找到了一个手动解决方法:我首先生成 .bbl 文件,然后在不同年份的 bibitem 条目之间复制并粘贴这几行 LaTeX(这特定于我的页面布局):

\item[]
\hskip-\leftmargin
\begin{minipage}{\hintscolumnwidth}
\raggedleft\hintfont{1999} %add right year
\vspace{-1.2cm}
\end{minipage}

我查看了 .bst 文件中的不同函数,但我不知道在哪里添加这些行以使其自动运行(即无需我在 bbl 中复制和粘贴)。有什么建议吗?

答案1

我认为它比简单的修改要复杂一些,原因是该bst文件只是在参考的基础上查看它,并且没有知识(原样)来插入您想要的每年的更改。

您拥有的是不同的函数(即articlebook...),它们为每种引用类型创建格式字符串。他们知道年份。他们创建的字符串由输出output.bibitem。但是,它不知道年份。

您可以做的是编辑每个引用类型函数以存储/比较该引用与前一个引用的年份。如果年份发生变化,则进行输出(ala output.bibitem)(类似于

"\begin{thebibliography}{9}" write$ newline

(我在修改过的bst文件中使用过)。这符合您的格式(因为您似乎已经知道它应该是什么)。

你到处都得这么做,真烦人。

很抱歉我无法提供更多帮助。

相关内容