Elispを使用して、Emacsに動的テキスト置換(表示のみを置換し、実際に格納されたファイルは置換しない)を実装したいと考えています。
たとえば、LaTeX 文書では、 と入力\alpha
して、Emacs に と同じようα
に表示させたいので、読みやすくなります。しかし、結果.tex
ファイルでは、保存する\alpha
代わりに ,α
が必要です。(注記: XeTeX または LuaTeX を使用して、UTF-8 を直接サポートすることもできます。しかし、コラボレーションとジャーナルの要件のために、UTF-8 文字をファイルに直接保存したくありません.tex
。代わりに、プレビューを使用することもできます。 AUCTeXで.しかし、数式を編集しているときは役に立ちません)
既存の例は org-mode です。[[link][name]]
最後の を入力した直後に を入力する]
と、表示されたテキストがハイパーリンク付きの名前だけに置き換えられます。一方、このファイルを保存すると、保存された内容は[[link][name]]
表示されているものとは異なり、元の内容になります。
これをどのように実装できるかについてのアイデアはありますか?
PS: The Display Specs That Replace The Text section of Emacs manual. ただし、置換対象の文字列ではなく、開始点と終了点を指定する必要があります。これは、開始点と終了点を決定するために、すべてのユーザー入力の後に検索を行う必要があることを意味します。これは、パフォーマンスとアルゴリズムの複雑さのために非現実的に見えます。