4

新しいドキュメントを作成し、リストをすばやく循環させたいとしましょう。1つの「単語」だけの場合は、これを行う一般的な方法があるはずです。

例えば:

"blue orange red yellow black white"

作成時にこれらのアイテムを循環する方法を知っている人はいますか:

\begin{orange}

...そして、キーを押してこのリストを循環させ、オレンジ色をリストの次の項目に置き換えます (この手順を反対方向に実行するのは難しくありません)。

私はマクロを使ってさまざまなアイデアを試しました (リストをドキュメントの先頭に配置し、i-search を大量に実行しました) が、それではうまくいきません。

リストをelispファイルに入れたいと思っていますが、elispからその変数をLaTeXドキュメント(.tex)などで使用する方法がわかりません。

4

2 に答える 2

2

まあ、これは可能かもしれませんが、それを機能させるために eLisp コードを書くことにどれだけの労力を費やすかによって異なります。いくつかの構成オプションだけでは不可能です。次のような新しいソースを追加して、オートコンプリートを拡張することを検討しています。

(defvar tex-tag-ac-sources
  '((init . tex-tag-ac-init)
    (requires . 0)
    (candidates . tex-tag-ac-candidates)
    (document . tex-tag-ac-documentation)
    (match . tex-tag-completion-filter)
    (prefix . tex-tag-ac-prefix-matcher)
    (symbol . "s"))
  "The source generator for autocompletion needed for interaction 
with auto-complete")

tex-tag-ac-candidatestex-tag-ac-documentationtex-tag-completion-filterおよびは、オートコンプリートtex-tag-ac-prefix-matcherを行う関数です。つまり、指定されたプレフィックスのオートコンプリート プロセスが開始されると、init 関数が 1 回呼び出されます。引数なしと呼ばれます。候補は、候補のフィルター処理されたリストを表示する役割を担う関数です。これは引数なしで呼び出されます。フィルター関数で候補をフィルター処理します。これまでに収集されたプレフィックスと候補のリストを使用して呼び出されます。最後に、ファイルのテキストに対してマッチャー関数が呼び出され、その時点で補完が必要かどうかが確認されます。そのため、 が返された場合t、init が呼び出され、入力時にフィルター候補をループします。

これは少し複雑ですが...あなたが望むものは間違いなく完成しています。明らかに、ソース内のこれらの関数があなたによって定義されている場合、必要に応じて、補完引数を動的に読み取るか、何らかの方法で動的に生成することができます。

ああ、次のような方法でソースをオートコンプリートに追加します。

(auto-complete (list tex-tag-ac-sources))

呼び出しごとに行う場合、または

(setq ac-sources (list tex-tag-ac-sources <other sources>))

ここで詳細情報を見つけることができます: http://cx4a.org/software/auto-complete/manual.html#Using_Source

于 2012-08-04T07:54:41.897 に答える
1

編集:マクロを関数に変換しました。

これが私がやった方法です。「リスト」が保存される「list.list」というファイルを作成しました。Beamer の LaTeX テンプレートをそこに保存しました。私は次のように挿入しました:

Antibes Bergen Berkeley Berlin ..... Antibes

ループできるように、常に最初のエントリを 2 回挿入する必要があることに注意してください。

コードは次のとおりです。

(defun cycle-list-word ()
  (interactive)
   (right-word)
   (backward-kill-word 1)
   (find-file "/emacs-24.1/list.list")
   (search-forward (substring-no-properties (car kill-ring)) nil t)
   (right-word)
   (backward-kill-word 1)
   (bury-buffer)
   (yank)
)
于 2012-08-31T14:31:41.537 に答える