
有沒有辦法在 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 正規表示式支援的編輯器可以做到這一點。