8

TabRefTeX で補完を機能させようとしています。参照のタイプを入力C-c [して選択すると、ミニバッファーにプロンプ​​トが表示されます。入力したいよだれかけのキーの始まりがわかっている場合、たとえば と入力して、Campbell2006Campbell2006 Camp Tab[唯一の補完] を取得します。

一部のドキュメントでは設定できましたが、なぜそれらのドキュメントでは機能し、他のドキュメントでは機能しないのか正確にはわかりません。Tab>適切に補完されたドキュメントの場合、サブフォルダーname_of_tex_file.elに作成されたファイルに次の行が追加されることに気付きました。auto

(TeX-add-style-hook "name_of_tex_file"
(lambda ()
(LaTeX-add-bibliographies
"absolute_path_to_bib")))

ファイルの最後に追加することでこの結果が得られたと思い%%% reftex-default-bibliography: absolute_path_to_bibますが、特に複数のコンピューターで同じファイルを編集する場合、これは一種の迷惑です。

RefTeX が機能していることに注意してください。これはC-c [ Camp Ret、 と入力すると、Campbell2006 エントリのリスト (少し奇妙な場合があります) が表示されるためです。

%BIBINPUTS% 環境変数を設定しようとしましたが、成功しませんでした。メソッドを機能させるには、追加(setq reftex-bibpath-environment-variables '("c:/path_to_bib_file/"))が必要なようでしたC-c [ Camp Ret。ファイルの最後にa を追加するのと同じ欠陥があり、補完%%% reftex-default-bibliography:が提供されませんでした。Tab

/ファイルを指定する際にファイルセパレーターとして、//\\のさまざまな組み合わせを試しましたが、\どれを使用すればよいか正確にはわかりません (Windows 環境で emacs を使用しています)。問題はそれと同じくらい単純かもしれませんが、試すべきパラメーターがたくさんあるため、どこに問題があるかを判断できません。

RefTeXを参考文献目録でスムーズに動作させるためのステップバイステップの方法は、Tab補完を含めて何ですか?

編集:コマンドに関するReftexマニュアルエントリに従って完了が可能ですreftex-citation:

正規表現は拡張構文を使用します&&' is interpreted as and. Thus,。aaaa&&bbb' は、両方aaaa' andの bbb' を含むエントリに一致します。regexp を入力している間、knows [sic] citation keys での補完が可能です。`=' は、すべてのファイルのすべてのエントリに一致する適切な正規表現です。

ただし、それを機能させる方法についての正確なガイダンスは提供しません。

Kindahero は、bib エントリのリストを設定し、completing-readコマンドを使用することを提案しています。これは理にかなっているように聞こえますが、このリストを自動的に生成したいのですが、一部のドキュメントで機能するため、実現可能と思われます。

4

1 に答える 1

5

のドキュメントreftex-citationは少しわかりにくいです。既知の引用キーで完了することを約束しますが、「既知」とは、適切な参考文献のすべてのキーではなく、このセッションで以前に使用されたキーを指すと思います。LaTeX-add-all-bibitems-from-bibtex以下に定義されているコマンドを使用して、参考文献のすべてのキーをロードできます。

(defun get-bibtex-keys (file)
  (with-current-buffer (find-file-noselect file)
    (mapcar 'car (bibtex-parse-keys))))

(defun LaTeX-add-all-bibitems-from-bibtex ()
  (interactive)
  (mapc 'LaTeX-add-bibitems
        (apply 'append
               (mapcar 'get-bibtex-keys (reftex-get-bibfile-list)))))

これを自動的に行うための適切なフックに関する提案を歓迎します。

于 2012-07-26T00:03:06.243 に答える