19

できればマークダウン (より具体的には pandoc) 形式の bibtex ファイルから引用リストを自動的に作成するにはどうすればよいですか?

個人のアカデミック Web サイトを構築中です。ほとんどの個人的な学術 Web サイトと同様に、私の出版物をリストしたページを含めています。しかし、すべての引用を手作業で書きたいわけではないので、1 つまたは複数の bibtex ファイルから引用を自動的に作成する方法を見つけようとしています。

理想的には、自分の出版物を含む bibtex ファイルを渡すだけで、マークダウンを吐き出すツールがあるでしょう (サイトを作成するために pandoc + makefile を使用しています)。私は現在、そのようなツールを知りません。

私のニーズをさらに複雑にしているのは、出版物の単純なフラット リストでは不十分であるという事実です。さまざまなカテゴリ (最低でも査読済みと非査読済み) でさまざまな出版物をリストできるようにする必要があります。上記で私が望んでいたようなツールが存在する場合でも、複数の bibtex ファイルを簡単に維持し、bash-fu を使用してこれを実現できます。

4

5 に答える 5

14

これには、pandoc独自の引用サポートを使用できます。次の行に沿ってマークダウンファイルを作成します。

# Peer-reviewed papers

1. [@me2001]
2. [@me2002]

# Non-peer-reviewed papers

1. [@me1999]
2. [@me1998]

ここで、me1999etcはbibtexファイルのキーです。次に、引用を希望どおりにフォーマットするCSLファイルを検索または作成し、pandocで処理します。

pandoc --bibliography mybiblio.bib --csl mycsl.csl -o citations.html -s citations.txt

-t markdownまたは、必要に応じてマークダウンバージョンを追加して取得することもできます。

入力マークダウンファイルを手動で作成したくない場合は、査読済みの論文と査読なしの論文を区別するのに十分なメタデータが含まれていれば、bibtexファイルからそれを生成するスクリプトを作成できます。

于 2012-11-26T02:59:21.307 に答える
11

私は同じ理由 ( Hakyllを使用して Web サイトを作成する) で同じことを望んでいましたが、「問題」である CSL ファイルを見つけました。

実際、Pandocはこの仕事を完璧に行い、MacFarlane によって提供された解決策は正しいですが、CSL ファイルの規則に関する説明が欠けています。これは、中央のテキストに番号付きの参照をリストで表示するかどうかを定義するものです。最後に出版物のかどうか。

Julien Tanguyは、参照が引用されている場所に BibTeX からの単純化された情報を掲載する CSL スタイルを作成しました。これは、シカゴ スタイルから派生したものです。もちろん使用できますが (Creative Commons Attribution-Share Alike 3.0 でライセンスされています)、自分で作成することもできます。

それで、今(質問を投稿してから長い時間が経ちました)、完全な答えが得られることを願っています。

于 2014-01-05T15:10:46.313 に答える
2

もちろん、2012 年と 2014 年の最高評価の回答は有効です。ただし、pandoc バージョン 2.11 (2020-10-11) 以降、pandoc は入力形式として bibtex (および他のいくつかの参考文献データ形式) を受け入れるようになったことに注意してください。これにより、元の質問が求めていたものにはるかに近いソリューションが可能になります。「出版物を含むbibtexファイルを渡すだけでマークダウンを吐き出すツール」で、「複数のbibtexファイルを簡単に維持し、bash-ふ」。パブリケーションを個別の bibtex ファイルに保持し、それらを pandoc (たとえば、pandoc -f bibtex --citeproc --csl=chicago-annotated-bibliography.csl pubs.bib -o pubs.md) に再帰的にフィードし、連結するか、結果を他のテキストに含めます。

于 2021-04-10T22:12:49.600 に答える
1

他の人が指摘したように、これを実現する最も簡単な方法は、適切な CSL ファイルを使用することです。Kieran Healy は、GitHub でホストされている彼の pandoc-templates リポジトリでそのようなファイルを提供しています。

chicago-syllabus.csl ファイルは、標準の Chicago Notes CSL ファイルにわずかな変更を加えたもので、ドキュメントの本文に引用情報を出力するために使用できます。これは、履歴書やコースシラバスの参考文献リストに役立ちます。

ファイルをダウンロードして、オプション--csl==<link to CSL-file>を pandoc に渡すだけです (<link to CSL-file>は、ダウンロードしたファイルを保存した場所へのパスです。

于 2016-09-22T11:02:57.790 に答える
0

私は自分の個人サイトにbibtexbrowserを使用しています。これは、他の Web サイトに簡単に統合できる PHP スクリプトです (サーバーが PHP をサポートしている場合)。残念ながら、このソリューションはマークダウンを生成しませんが、かなり柔軟で、bibtex ファイルを直接読み取るという利点があります。

または、bibtex2html (または同様のツール) を使用して HTML を生成することもできます。Pandoc は複数の入力ファイルを連結し、Markdown 内で raw html を使用できるため、必要な場所に簡単に含めることができます。Markdown を最終出力にする必要がある場合は、Pandoc を使用して HTML を Markdown に変換することもできます。

于 2013-05-20T17:12:43.820 に答える