假设我想替换
x^{n_{1}}y^{n_{2}}z^{n_{3}}
和
x^{m_{1}}y^{m_{2}}z^{m_{3}}
有没有快速的方法可以做到这一点?我真的很怀念 gvim 和 kile 等 LaTeX 编辑器的这个功能。如果我使用Ctrl+F对话框查找并将“n”替换为“m”,它会对整个文档执行此操作,而且更改非常大,以至于我无法恢复(Ctrl+ z)!所以,我学会了在使用该对话框之前先保存。
答案1
当我提出这个问题时,LyX 1.6 中还没有这个功能,但 LyX 2.0.1 允许在数学模式下进行查找和替换。要执行此操作,请点击Ctrl+Shift+F
(高级查找和替换),然后Ctrl+M
点击(插入数学模式),然后像在主编辑器中一样输入公式。单击“设置”并取消选中“忽略格式”。这将使其仅在数学公式中搜索。
遗憾的是,似乎没有“仅在选定内容中”选项。当然,你可以将所需文本复制到新的编辑器窗口,进行替换,然后再复制回来,但这有点麻烦。
答案2
这通常不是编辑器的固有功能。但是,您可以更精确地定义搜索,以准确查找/替换您想要的内容。例如,搜索{n_{
并替换为{m_{
。这样它只适用于与数学相关的下标。可能还需要您仅将此搜索和替换应用于选择而不是整个文件。
对于更复杂的搜索和替换例程,你可以研究sed
。它是一个流编辑器,可以解析输入流并根据正则表达式修改其内容。
答案3
LyX 中的搜索和替换功能有其局限性,尽管情况已经变得很多使用 Lyx 2.0 效果会更好。我知道 OP 更喜欢仅使用 LyX 的解决方案。然而,每当一些复杂的 S&R 任务无法直接在 LyX 中完成时,通常一个很好的解决方法是使用.lyx
您最喜欢的文本编辑器(vim、emacs 等)打开文件并直接编辑 LyX 源代码。(当然,应该先备份!)
我的一般做法如下:
- 在 LyX 中“保存”文件
- 在 LyX 中将文件“另存为...”(创建工作副本)
- 在 vim 中打开最后保存的文件,同时在 LyX 中保持打开状态
- 在 vim 中执行 S&R 任务并保存
- 执行“恢复到已保存”来检查 LyX 中的结果