使用重构的文本索引语法替换latex索引语法

时间:2013-02-03 17:08:40

标签: regex latex restructuredtext pandoc

我正在使用Pandoc将文档从LaTeX(XeTeX)转换为ReStructuredText。该文档具有大量索引条目,并且Pandoc不处理索引。当Pandoc转换时,索引条目被剥离,只留下条目的文本。所以,我需要的是一种方法,在Pandoc在转换时将它们剥离出来之前,将索引条目转换为LaTeX文件中的ReST语法。在我的测试中,这种工作:Pandoc保留了索引条目,但逃脱了反引号。我可以剥掉那些。以下是我手动执行时的外观:

\index{Some index item}    # The LaTex entry
:index:`Some index item`   # Modified for ReST format (still in the LaTeX file)
:index:\`Some index item\` # Result after Pandoc conversion to ReST

我可以在最终的ReST文件中用适当的反引号替换最终的转义反引号。我似乎无法弄清楚如何为LaTeX文件中的替换创建一个可行的方法(正则表达式?)。建议最受欢迎(包括有关更好地完成整个制作的建议)。

1 个答案:

答案 0 :(得分:1)

您似乎希望替换与以下正则表达式匹配的条目

^\\index\{([^}]*)\}

:index:`$1`

其中$1是对正则表达式捕获组([^}]*)的引用。

您可以使用shell脚本自动执行此过程,也可以在文本编辑器中手动执行此过程。

注意,上述正则表达式假设}内没有{}