BibTeX 样式显示注释字段并采用数字样式的引用标注

BibTeX 样式显示注释字段并采用数字样式的引用标注

我对 LaTeX 还比较陌生,我曾经用它编写过一些文档,但现在我正在用它编写一份需要带注释的参考书目的正式学校报告。

我现在的问题是,如果我想显示我的注释,引用键现在不再是数字。如果我改变了我的风格,我的键是数字的,但我的注释不会显示。

这是我的bibfile.bib

@MISC{tJung11,
    author = {Jungblut, Thomas},
    title = {Ant Colony Optimization for TSP Problems},
    month = Aug,
    year = {2011},
    howpublished = {url: http://codingwiththomas.blogspot.co.uk/2011/08/ant-colony-optimization-for-tsp.html},
    note = {Accessed: 26-01-2015},
    annotate = {This Blog posted by Thomas Jungblut covers mutliple topics which are of high interest to the projects research.
            The information contained in the blog covers items like capitalising on multi-threading opportunities and how to efficiently do so.
            The underling calculations and evaluation procedures for each agent are also discussed. This is useful for modeling and 
            designing the algorithm itself.}
}

以下是我尝试过的造型:

\nocite{*}
\bibliographystyle{annotate}
\bibliography{bibfile}

生成结果:

在此处输入图片描述

并且只是一个简单的朴素风格:

   \nocite{*}
    \bibliographystyle{annotate}
    \bibliography{bibfile}

结果是:

在此处输入图片描述

我想要两者的结合,这样注释就会显示出来,而关键[1]不是[Jun11]

我曾尝试查找以下网站:http://www.cs.stir.ac.uk/~kjt/software/latex/showbst.html但我似乎找不到解决方案。

有人有什么建议吗?

答案1

如果plain您希望修改参考书目样式以使其能够打印字段的内容annotate,您可以按以下步骤操作:

  • 在你的 TeX 发行版中找到该文件plain.bst。复制此文件,并将副本命名为plainannotate.bst。(不要直接从 TeX 发行版编辑文件。)

  • 在文本编辑器中打开文件plainannotate.bst。你用来编辑 tex 文件的编辑器就可以了。

  • 首先,您必须告知plainannotate它应该识别名为的字段annotate。在文件的最顶部附近,找到名为的结构ENTRY。在“address”和“author”之间插入一个空白行,并在新行中插入单词“annotate”。

  • 其次,您必须告知书目样式(和 BibTeX)在被告知处理字段内容时该做什么annotate。找到函数的定义format.authors(在我的文件副本中大约第 215 行)。在此函数之后(函数之前format.editors),插入以下代码行:

    FUNCTION {format.annotate}
    { annotate empty$
        { "" }
        { " \begin{quotation}\noindent "
          annotate
          * " \end{quotation} " *
        }
          if$
    }
    

    如果您好奇此代码的作用:它首先检查annotate字段是否为空。如果是,则不打印任何内容("")。如果不为空,则启动环境,写出字段quotation的内容,然后关闭环境。annotatequotation

  • 第三,我们必须修改处理articlebook等类型条目的函数@article、等@book,并告诉它们应该format.annotate在每个条目末尾调用新创建的函数。

    • 找到函数article。(如果你一直按照说明操作,它应该从第 550 行左右开始。)在 行之后fin.entry插入两行新行:

        format.annotate write$
        newline$
      
    • 接下来,找到函数book。(它应该是紧跟 之后的函数article。)猜猜看:在其最后一行(也是 )之后,再fin.entry插入两行新行,内容与函数 相同article

        format.annotate write$
        newline$
      
    • 该功能也是如此booklet

    • 对于大多数剩余的条目格式化函数,即,,,,,,,,,inbook和,只需在之后添加一行,即,incollectioninproceedingsmanualmastersthesisphdthesisproceedingstechreportunpublishedfin.entry

        format.annotate write$
      
    • 唯一有点特殊的条目类型是 类型@misc,因为它是 BibTeX 的“万能”条目类型。(无法识别的条目类型,例如由于意外拼写错误,将自动被视为 类型@misc。)查找函数misc;它应​​该位于函数mastersthesis和之间phdthesis。请注意,此函数的最后两行是

        fin.entry
        empty.misc.check
      

      (因为@misc是包罗万象的条目类型,所以如果其内容完全为空,则必须小心。)在这种情况下,在format.annotate write$这两行之间的新空白行上插入指令,如下所示:

        fin.entry
        format.annotate write$
        empty.misc.check
      
  • 将文件保存plainannotate.bst在主 tex 文件所在的目录中,或保存在 BibTeX 搜索的目录中。如果选择后者,请务必更新 TeX 发行版的文件名数据库。

  • 通过提供说明开始使用“新”参考书目样式\bibliographystyle{plainannotate}。确保再运行 LaTeX、BibTeX 和 LaTeX 两次以传播所有更改。

下面是将所有内容放在一起的 MWE:

在此处输入图片描述

\documentclass{article}
\usepackage{filecontents}
\begin{filecontents}{abcdef.bib}
@MISC{tJung11,
    author = {Jungblut, Thomas},
    title = {Ant Colony Optimization for {TSP} Problems},
    month = Aug,
    year = {2011},
    howpublished = {\url{http://codingwiththomas.blogspot.co.uk/2011/08/ant-colony-optimization-for-tsp.html}},
    note = {Accessed: 26-01-2015},
    annotate = {This Blog posted by Thomas Jungblut covers mutliple topics which are of high interest to the projects research. The information contained in the blog covers items like capitalising on multi-threading opportunities and how to efficiently do so. The underling calculations and evaluation procedures for each agent are also discussed. This is useful for modeling and designing the algorithm itself.}
}
\end{filecontents}
\usepackage[numbers]{natbib}
\bibliographystyle{plainannotate}
\usepackage[hyphens]{url}
\begin{document}
\cite{tJung11}
\bibliography{abcdef}
\end{document}

答案2

我知道这个问题和答案四年前就已经完成了,但我认为这一点额外的信息可能会为其他人节省几个小时的烦恼。

我刚刚尝试了 Mico 的 plain.bst 修改并收到“您无法弹出一个空的文字堆栈进行输入”错误。

在解决了这个问题一段时间后,我发现我必须在修改后的 .bst 文件开头的 ENTRY 标签列表中添加“注释”才能使其正常工作......我希望这会有所帮助:)

    ENTRY
    { address
      annotate
      author
      booktitle
      chapter
      edition
      editor
      howpublished
      institution
      journal
      key
      month
      note
      number
      organization
      pages
      publisher
      school
      series
      title
      type
      volume
      year
     }
     {}
     { label }

相关内容