
Gibt es eine Möglichkeit, erweiterte Suchanfragen innerhalb von Tex-Dateien durchzuführen? Mit „erweiterten Suchanfragen“ meine ich alle Anfragen, die nicht mit nur einem einzigen Suchbegriff durchgeführt werden können.
Beispielsweise ist es einfach, „alle \emph
Befehle anzuzeigen, die auf ein Komma folgen“, indem Sie einfach nach suchen. , \emph
Was ist jedoch mit komplexeren Aufgaben wie:
"zeigen Sie mir alle Fälle, in denen der Wert des
\emph
Befehlsenthältein Komma" oder"zeigen Sie mir alle Fälle, in denen der
\emph
Befehlwird gefolgt vonein Komma".
Dies ist nur ein Beispiel. Mir fallen noch viele weitere Abfragen ein, die bei der Arbeit mit Latex nützlich sein könnten.
Was diese Frage ausgelöst hat: Ich kenne mich ein bisschen mit der Arbeit mit xml
-Dateien in Oxygen und den XPath
Suchoptionen aus. Für Latex verwende ich, TexShop
wo ich zwischen drei verschiedenen Suchfeldern wählen kann: Apple-Suchleiste, Apple-Suchfeld und Ogrekit. Ogrekit ist fortgeschrittener, also dachte ich, dass man damit „erweiterte Suchanfragen“ durchführen könnte. Aber ich weiß nicht wie.
Allerdings würde ich Antworten zu TexShop
und bevorzugen Ogrekit
, freue mich aber generell über alle Hinweise zur Suche nach komplizierteren Mustern in meinen Dokumenten.
Antwort1
\emph
In TeXShop ist eine Suche mit regulären Ausdrücken integriert. Anhand des Beispieltexts in der Antwort von SeanAlred können wir also wie folgt nach Verwendungsfällen von suchen :
Wiederholtes Drücken von Next
(oder STRG-G):
Antwort2
Antwort3
Dies ist mit normalem nicht möglich grep
, kann aber mit durchgeführt werden pcregrep
, was bei modernen Linux-Distributionen ziemlich Standard ist.
$ 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
enthält
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}
Es ist unwahrscheinlich, dass Sie einen Editor ohne PCRE-Regex-Unterstützung finden, der dies kann.