有没有办法在 tex 文件中执行高级搜索查询?我所说的“高级搜索查询”是指所有无法仅使用单个搜索词执行的查询。
例如,\emph
只需搜索 就可以轻松“显示所有跟在逗号后面的命令” , \emph
,但对于更高级的任务,例如:
\emph
“显示所有执行该命令的值的实例包含逗号”或“显示所有使用
\emph
命令的实例接下来是逗号”。
这只是一个例子。我能想到许多其他查询,在使用 Latex 时可能会有用。
xml
是什么引发了这个问题:我对在 Oxygen 中使用 -files 和搜索选项有所了解XPath
。对于 Latex,我使用TexShop
可以在三个不同的查找面板之间进行选择的地方:Apple 搜索栏、Apple 搜索面板和 Ogrekit。Ogrekit 更高级,所以我认为可以用它来执行“高级搜索查询”。但我不知道怎么做。
话虽如此,我更喜欢关于的答案TexShop
,Ogrekit
但总的来说,我很乐意得到任何关于如何在我的文档中搜索更复杂模式的提示。
答案1
TeXShop 内置了正则表达式搜索功能。因此,使用 SeanAlred 的回答中的示例文本,我们可以搜索使用实例,\emph
如下所示:
反复点击Next
(或 CONTROL-G):
答案2
答案3
使用普通方式无法实现这一点grep
,但使用 可以实现pcregrep
,这在现代 Linux 发行版中相当标准。
$ pcregrep -M '\\emph{[^}]*,' file.tex
multiple lines. See a \emph{really, really
good tutorial} on \emph{unix, commandline}.
Here is an \emph{that spans a couple lines but
unfortunately, the comma is on another line}
file.tex
包含
This is a basic text file.
It contains many lines, some of which span
multiple lines. See a \emph{really, really
good tutorial} on \emph{unix, commandline}.
Here is an \emph{that spans a couple lines but
unfortunately, the comma is on another line}
您不太可能找到一个不支持 PCRE 正则表达式的编辑器来做到这一点。