比较emacs中一个双语文本的两面

时间:2013-07-17 00:23:01

标签: emacs

您如何处理双语/平行文本的双方?

我知道如何在文本上运行diff和ediff以发现差异很小,但是双语文本将有两个完全不同的边(期望段落,章节数和其他结构元素,如注释)。行尾和段落结尾对于标记双方的单位肯定是有用的。

是否可以并排打开两个缓冲区,并告诉它们匹配什么?

1 个答案:

答案 0 :(得分:2)

这是一个很难的问题,但我挖了一篇我之前读过的旧博客文章是相关的(甚至提到emacs进行预处理):

https://languagefixation.wordpress.com/2011/02/09/how-to-create-parallel-texts-for-language-learning-part-1/

特别检查part2

除此之外,我的建议有两个:

1)一次操作小部件(一章或更少)而不是整本书

2)利用可用的对齐工具生成元数据,emacs用它来“美化”缓冲区

由于没有现有的解决方案(我知道或可以找到),您将不得不使用elisp,并创建一个主要或次要模式来着色匹配的段和/或导航段。

快速黑客

然而,我一起攻击了一些带有预处理文本的elisp并使用emacs概念'paragraph'和'sentence'来着色缓冲区;它有点冗长所以我把它放在一个要点:

https://gist.github.com/terranpro/3175bb9f3ed00b3a145c

simple example 这很难看,但应该给你一个开始;只需在每个文本缓冲区中运行一次。但请注意,您需要根据emacs的段落和句子(一段时间后的两个空格!!)准备好文本。希望它能给你一个不错的起点。