![LaTeX:编辑 .bst 文件](https://linux22.com/image/251685/LaTeX%EF%BC%9A%E7%BC%96%E8%BE%91%20.bst%20%E6%96%87%E4%BB%B6.png)
我正在使用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
文件只是在参考的基础上查看它,并且没有知识(原样)来插入您想要的每年的更改。
您拥有的是不同的函数(即article
,book
...),它们为每种引用类型创建格式字符串。他们知道年份。他们创建的字符串由输出output.bibitem
。但是,它不知道年份。
您可以做的是编辑每个引用类型函数以存储/比较该引用与前一个引用的年份。如果年份发生变化,则进行输出(ala output.bibitem
)(类似于
"\begin{thebibliography}{9}" write$ newline
(我在修改过的bst
文件中使用过)。这符合您的格式(因为您似乎已经知道它应该是什么)。
你到处都得这么做,真烦人。
很抱歉我无法提供更多帮助。