是否已经有人浪费时间研究以下内容:
哪一个数百个可用的 csl 文件最接近 bibtex 风格阿姆斯普兰(或者可能只是普通的)?
即,理想情况下应该使用与 amsplain 中完全相同的字段,并且应该按照相同的顺序和大致相同的样式打印这些字段。
请注意,许多 csl 文件似乎忽略了该note
条目,这对我来说很重要,但这可以手动修复;但可能还有其他我不知道的字段也可能缺失?顺便说一句,我无论如何都会忽略该条目;是否像 amsplain 中那样处理MRNUMBER
并不重要。URL
备注:我对此感兴趣的原因如下:我想将 bibtex 书目转换为 html(使用 katex),输出结果接近我使用 latex 和(例如)amsplain bibstyle 获得的结果。看来 pandoc 是一个很好的工具。(而且我可能会用超链接替换打印的 url 字段,所以无论如何这都必须单独处理。)
更新:
- 谢谢你的建议,但我不想使用bibtex2html。虽然这确实非常快速和强大,并且符合 bibtex 的规范,但我无法使用它,因为我需要与 katex 兼容的输出。例如,如果我
$a+b$
在标题中的某个地方有,那么pandoc --katex --bibliography test.bib test.tex
给出的结果...<span class="math inline">\(a+b\)</span>...
是可以有效地与 katex 一起使用以生成漂亮的 html。bibtex2html 生成类似的东西...<em>a</em>+<em>b</em>...
。 - 感谢 CSL 编辑器等的链接。确实,在那里生成一些合理的东西似乎相当容易。为了完整起见,我想提一下我遇到的另一个问题:pandoc-citeproc(在任何 CSL 文件发挥作用之前,它会读取 bib 文件并从中准备 pandoc 兼容格式)拒绝解析非日期
year
条目。由于滥用 bibtex 年份字段to appear
或类似信息似乎很常见,因此似乎需要另一种解决方法来保留此信息。(在我的情况下,我可能会自动将每个year
bibfield 复制到一个originalyear
字段或类似字段;然后orginalyear
在 CSL 中使用)
答案1
您可以使用bibtex2html产生与原始内容非常接近的 html 输出。
将此文件mweb.tex
作为输入:
\documentclass{article}
\begin{document}
\nocite{*}
\bibliographystyle{amsplain}
\bibliography{mweb}
\end{document}
以下是样本书目(mweb.bib
):
@article{einstein,
author = "Albert Einstein",
title = "{Zur Elektrodynamik bewegter K{\"o}rper}. ({German})
[{On} the electrodynamics of moving bodies]",
journal = "Annalen der Physik",
volume = "322",
number = "10",
pages = "891--921",
year = "1905",
DOI = "http://dx.doi.org/10.1002/andp.19053221004",
keywords = "physics"
}
@book{dirac,
title = {The Principles of Quantum Mechanics},
author = {Paul Adrien Maurice Dirac},
isbn = {9780198520115},
series = {International series of monographs on physics},
year = {1981},
publisher = {Clarendon Press},
keywords = {physics}
}
@online{knuthwebsite,
author = "Donald Knuth",
title = "Knuth: Computers and Typesetting",
url = "http://www-cs-faculty.stanford.edu/~uno/abcde.html",
addendum = "(accessed: 01.09.2016)",
keywords = "latex,knuth"
}
@inbook{knuth-fa,
author = "Donald E. Knuth",
title = "Fundamental Algorithms",
publisher = "Addison-Wesley",
year = "1973",
chapter = "1.2",
keywords = "knuth,programming"
}
你将得到以下输出:
现在执行bibtex2html
:
$ bibtex2html -s amsplain -nobibsource -nokeywords -nolinks -nodoi -a mweb.bib
输出与 pdf 非常接近:
通过该选项,-nobib
您可以输出仅包含引用条目的表格,如下所示:
<tr valign="top">
<td align="right" class="bibtexnumber">
[<a name="einstein">2</a>]
</td>
<td class="bibtexitem">
Albert Einstein, <em>Zur Elektrodynamik bewegter Körper. (German)
[On the electrodynamics of moving bodies]</em>, Annalen der Physik <b>322</b>
(1905), no. 10, 891--921.
</td>
</tr>