
¿Existe alguna forma de realizar consultas de búsqueda avanzada dentro de archivos tex? Lo que quiero decir con "consulta de búsqueda avanzada" es todas las consultas que no se pueden realizar con un solo término de búsqueda.
Por ejemplo, es fácil "mostrar todos \emph
los comandos que siguen a una coma" simplemente buscando , \emph
, pero ¿qué pasa con tareas más avanzadas como:
"muéstrame todas las instancias donde el valor del
\emph
comandocontieneuna coma" o"muéstrame todos los casos en los que el
\emph
comandoes seguido poruna coma".
Este es sólo un ejemplo. Se me ocurren muchas otras consultas que podrían resultar útiles al trabajar con Latex.
Qué desencadenó esta pregunta: sé un poco sobre cómo trabajar con xml
archivos en Oxygen y sobre las XPath
opciones de búsqueda. Para Latex, uso TexShop
donde puedo elegir entre tres paneles de búsqueda diferentes: barra de búsqueda de Apple, panel de búsqueda de Apple y Ogrekit. Ogrekit es más avanzado, así que pensé que se podrían realizar "consultas de búsqueda avanzada" con eso. Pero no sé cómo.
Dicho esto, preferiría respuestas sobre TexShop
y, Ogrekit
pero en general estaría feliz de recibir sugerencias sobre cómo buscar patrones más complicados dentro de mis documentos.
Respuesta1
Hay una búsqueda de expresiones regulares integrada en TeXShop. Entonces, usando el texto de ejemplo en la respuesta de SeanAlred, podemos buscar ejemplos del uso de \emph
lo siguiente:
Presionando Next
(o CONTROL-G) repetidamente:
Respuesta2
Respuesta3
Esto no es posible con grep
, pero se puede hacer con pcregrep
, que es bastante estándar en las distribuciones modernas de 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
contiene
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 poco probable que encuentre un editor sin soporte de expresiones regulares PCRE que pueda hacer esto.