使用html / css,我想在我的网站底部自动生成一个类似于latex的\ bibliography命令的参考书目

时间:2011-02-05 22:55:11

标签: html css latex bibtex bibliography

我先问我的问题,然后给那些感兴趣的人提供一些背景知识:

我想知道html中是否有一个命令可以自动生成.bib文件的参考书目?这意味着在整个文本中,我会添加类似<cite name="Jones2010">的内容,然后在html(或css)文件的底部,我会编写类似<makebib file="biblist.bib", format="APA">的内容,并使用生成的参考书目我的.bib文件,根据APA风格格式化。该功能与脚注非常相似,不同之处在于每个脚注都是根据某些脚本填充的,该脚本从(基本上)xml文件中提取信息并以所需格式输出内容。不难想象有人会创建一个工具来做到这一点,但是,我的谷歌搜索技能并没有让我找到这样的工具。很容易找到将bib文件转换为html或xml的工具,但这还不足以满足我的需求。我不希望在线发布我的整个bib文件。相反,对于我生成的每个文档,我希望将bib文件中的几个条目作为脚注包含在内。任何指针都将非常感激。

现在,问题背后的原因是:

我最近开始从使用乳胶编写所有手稿到使用html / css编写它们。这种方法的优点很快:只有1个文件用于版本控制(而不是.dvi,.ps,.aux,.blg等),共享要小得多,其他人可以编辑html文件并编译很多更容易,它更符合我的口味,更容易在屏幕上阅读等。然而,我的缺点是,虽然我一直在用乳胶书写多年,但我只是开始使用html和css科学文献创造。这个开关的主要推动力是MathJaX,这使我能够在我的html文件中嵌入乳胶方程式,因此,我可以将乳胶的优点与css的优点结合起来。我想,几乎所有的同事都会从乳胶切换到这种简单的格式,假设一些剩余的问题得到解决,比如易于创建参考书目。

非常感谢。

4 个答案:

答案 0 :(得分:1)

你要问的是不可能的,除非你指定html / css你真的是指html / css / php或html / css / python或其他一些包含实际编程语言的组合,而不仅仅是一个标记语言。

我理解你的动机,我很乐意改用html而不是乳胶!但是,我怀疑一个基于html的解决方案会在顶部添加如此多的额外处理来整理书目等,当你完成所有工作时,复杂性将开始接近LaTeX。

我很高兴在这方面被证明是错误的!

答案 1 :(得分:1)

过去,我使用XSLT和BibTeX完成了这项工作。概括地说,步骤是

  1. 使用某些约定标记您的文档:我使用了<span class='citation'>Smith99</span>
  2. 编写一个XSLT脚本,将该文件转换为.aux文件,其中包含\citation个命令
  3. 使用BibTeX和.bst文件,该文件吐出HTML而不是LaTeX
  4. 使用另一个XSLT脚本(或在不同模式下使用相同的脚本)来提取参考书目
  5. 它并不像听起来那么繁琐,但您可以在Google代码上查看how I did it。请特别注意structure.xsltplainhtml.bst

    如果有更直接的方式,我会很有兴趣听到它。

答案 2 :(得分:0)

到目前为止,这两个答案都有些正确,尽管不是你要求的。问题的一部分是问题,因为它的措辞并不一定有意义。

HTML只是标记;你需要一些东西来处理标记,无论是python,php,ruby等。

你可能想用XML(或XHTML)编写,而不是HTML。

XSLT可能适合您(一旦使用XML),但请记住,XSLT文档定义了一组规则。您将获得一个XSLT引擎来对XML文档应用XSLT规则。

答案 3 :(得分:0)

您可以使用bibtex2htmlhtml文件创建.bib参考书目。此包采用一系列命令行参数,并从BibTeX源中提取信息并输出带有html标记的文件。

据我所知,你无法像LaTeX html命令一样阅读和解析\cite文档,但有几种方法可以指出你想要的引用。我发现最简单的方法是维护我在我的手稿中使用的BibTeX密钥的文本文件,然后使用--citefile选项调用它。还有一个名为bib2bib的工具,它将采用搜索命令。

这是一个非常灵活的包,有很多选项,所以它适用于很多情况。例如,您可以让它省略输出文件中的<html>标题,以便您可以直接粘贴到现有的html文档中。

文档很有用,但请务必查看pdf文档文档和手册页。