修改书目格式

修改书目格式

我的导师想要一种特殊的参考书目样式(我找不到任何使用这种样式的期刊...),我无法以正确的方式修改 .bst 文件。

它看起来应该是这样的:

Schramm F、Müller A、Hammes H 2011,环氧化物和硫杂丙环对纤毛虫的体外毒性。 环境科学技术45(期刊卷号-此号码应加下划线):5812-5819。

我用网上的一个 bst 生成器创建了一个 .bst 文件(http://www.podoblaz.net/cml/?id=39),效果还不错,但是没有为卷号加下划线的选项!我尝试手动修改 .bst 文件,但没有成功。如果有人能帮助我,那就太好了!

答案1

看起来你在帖子中提到的网站,BST 生成器,是该实用程序的一个方便的 GUI 前端makebst,它是定制围兜包裹。很好。

我知道您的主要问题是如何设置指令来为卷号加下划线(而不是斜体)。

  • 首先使用 Web 实用程序创建 bst 文件。当您进行到问题 58 时,选择“Volume italic”(第二个选项)。完成其余过程。

  • 假设你的新 bst 文件名为underline.bst。在编辑器中打开它;你用于 tex 文件的编辑器就可以了。

  • 找到名为 的函数emphasize。它可能看起来像这样:

    FUNCTION {emphasize}
    { duplicate$ empty$
        { pop$ "" }
        { "\emph{" swap$ * "}" * }
      if$
    }
    
  • 创建一个新的函数,调用uline如下

    FUNCTION {uline}
    { duplicate$ empty$
        { pop$ "" }
        { "\uline{" swap$ * "}" * }
      if$
    }
    

    并将其插入到函数正下方的 bst 文件中emphasize

  • 找到名为 的函数format.vol.num.pages,如果您选择“斜体”作为突出显示卷号的选项(并且还告诉实用程序省略问题编号),它可能看起来像这样:

    FUNCTION {format.vol.num.pages}
    { volume field.or.null
      duplicate$ empty$ 'skip$
        {
          "volume" bibinfo.check
        }
      if$
      emphasize
      eid empty$
        { format.journal.pages }
        { format.journal.eid }
      if$
    }
    

    在此函数中,将其替换emphasizeuline

  • 将文件保存underline.bst在主 tex 文件所在的目录中或 BibTeX 搜索的目录中。如果选择第二个选项,请务必更新 TeX 发行版的文件名数据库。

  • 您需要在 tex 文件中加载该ulem包——最好使用该选项 normalem,以便的普通含义\emph不会被破坏——以便\uline识别该指令:

    \usepackage[normalem]{ulem}
    

切换(或更新)参考书目样式后,请务必再重新运行 LaTeX、BibTeX 和 LaTeX 两次,以完全传播所有更改。

相关内容