¿Cómo buscar documentos LaTeX en Spotlight?

12

He reproducido el problema ahora también en El Capitan con nuevos componentes (placa base, 3x SSD) en mi Macbook Air 2013-mid. He tenido una instalación limpia de OS X (El Capitan, Yosemite) mientras hacía la prueba. El último OS X donde funciona la búsqueda .tex es 10.8.5 en Spotlight. No veo ningún documento .tex en mi búsqueda de Spotlight en este momento. Pruebas

  • Ninguna respuesta actual resuelve el problema de forma permanente. En Yosemite, el problema volvió después de un tiempo con algunas respuestas. No existe una solución estable y poca comprensión de cuál es la causa del problema.

La selección de configuraciones de Configuración no es relevante en Spotlight porque podemos usar directamente el comando mdfinden la terminal, que es equivalente a Spotlight. Sin embargo, hemos probado la configuración predeterminada, mínima y completa en Spotlight. Para las pruebas, utilizamos la configuración predeterminada en OS X. Sistema y aplicaciones

  • Sistemas OS X Yosemite, OS X El Capitan
  • TexShop.app está instalado. (MacTeX 2015, mactex-20150613.pkg).
  • Aplicación Tex: TextMate2-beta8
  • Spotlight / Finder / cualquier aplicación de búsqueda no funciona con archivos TeX y MacTeX 2015
  • Spotlight funciona como se esperaba con algunas configuraciones diferentes y también con MacTeX 2015.

El comando mdfind(versión 10 de junio de 2004) es equivalente a la búsqueda de Spotlight, por lo que una prueba simple que no devuelve nada sin éxito en mi sistema

mdfind sulfas | grep tex

Creo que el problema es que el sistema no reconoce el formato de archivo .tex`. Lo primero es hacer que el sistema lo reconozca.

Sugerencia de tjt263 para buscar solo .tex en Finder / Spotlight

La salida de Spotlight .texo el comando de terminal proporciona archivos tex correctamente en mi sistema. Sin embargo, combinarlo con otros términos como, por .tex diabetes, ya no da archivos tex. Importadores obtenidos por mdimport -L:

2015-09-22 15:31:42.352 mdimport[8163:707] Paths: id(502) (
    "/Library/Spotlight/iBooksAuthor.mdimporter",
    "/Library/Spotlight/iWork.mdimporter",
    "/Library/Spotlight/Microsoft Office.mdimporter",
    "/System/Library/Spotlight/Application.mdimporter",
    "/System/Library/Spotlight/Archives.mdimporter",
    "/System/Library/Spotlight/Audio.mdimporter",
    "/System/Library/Spotlight/Automator.mdimporter",
    "/System/Library/Spotlight/Bookmarks.mdimporter",
    "/System/Library/Spotlight/Chat.mdimporter",
    "/System/Library/Spotlight/CoreMedia.mdimporter",
    "/System/Library/Spotlight/Font.mdimporter",
    "/System/Library/Spotlight/iCal.mdimporter",
    "/System/Library/Spotlight/Image.mdimporter",
    "/System/Library/Spotlight/iPhoto.mdimporter",
    "/System/Library/Spotlight/iPhoto8.mdimporter",
    "/System/Library/Spotlight/Mail.mdimporter",
    "/System/Library/Spotlight/MIDI.mdimporter",
    "/System/Library/Spotlight/Notes.mdimporter",
    "/System/Library/Spotlight/PDF.mdimporter",
    "/System/Library/Spotlight/PS.mdimporter",
    "/System/Library/Spotlight/QuartzComposer.mdimporter",
    "/System/Library/Spotlight/RichText.mdimporter",
    "/System/Library/Spotlight/SystemPrefs.mdimporter",
    "/System/Library/Spotlight/vCard.mdimporter",
    "/Applications/Microsoft Office 2011/Microsoft Outlook.app/Contents/Library/Spotlight/Microsoft Outlook.mdimporter",
    "/Applications/Xcode.app/Contents/Library/Spotlight/uuid.mdimporter",
    "/Applications/DjView.app/Contents/Library/Spotlight/DjVu.mdimporter"
)

pruebas de bmikes

El archivo notes.tex no se puede buscar en Finder. Lo cambio a notes.txt que ahora puedo buscar en Finder. Esto me propone que no sea un problema del programa de búsqueda (Spotlight, md ..., lo que sea que uses, como describí muchas veces en los comentarios). Entonces tex -problem en el sistema. Salidas del mismo archivo pero con dos finales diferentes. Salida de txt -file:

15:42:23:Desktop:masi$ mdls 8.9.2015.txt 
kMDItemContentCreationDate     = 2015-09-22 13:38:31 +0000
kMDItemContentModificationDate = 2015-09-22 13:38:31 +0000
kMDItemContentType             = "public.plain-text"
kMDItemContentTypeTree         = (
    "public.plain-text",
    "public.text",
    "public.data",
    "public.item",
    "public.content"
)
kMDItemDateAdded               = 2015-09-22 13:39:22 +0000
kMDItemDisplayName             = "8.9.2015.txt"
kMDItemFSContentChangeDate     = 2015-09-22 13:38:31 +0000
kMDItemFSCreationDate          = 2015-09-22 13:38:31 +0000
kMDItemFSCreatorCode           = ""
kMDItemFSFinderFlags           = 0
kMDItemFSHasCustomIcon         = 0
kMDItemFSInvisible             = 0
kMDItemFSIsExtensionHidden     = 0
kMDItemFSIsStationery          = 0
kMDItemFSLabel                 = 0
kMDItemFSName                  = "8.9.2015.txt"
kMDItemFSNodeCount             = 62503
kMDItemFSOwnerGroupID          = 20
kMDItemFSOwnerUserID           = 502
kMDItemFSSize                  = 62503
kMDItemFSTypeCode              = ""
kMDItemKind                    = "Plain Text Document"
kMDItemLogicalSize             = 62503
kMDItemPhysicalSize            = 65536

Salida del archivo tex:

15:42:27:Desktop:masi$ mdls 8.9.2015.tex 
kMDItemContentCreationDate     = 2015-09-22 13:38:31 +0000
kMDItemContentModificationDate = 2015-09-22 13:38:31 +0000
kMDItemContentType             = "org.tug.tex"
kMDItemContentTypeTree         = (
    "org.tug.tex",
    "public.text",
    "public.data",
    "public.item",
    "public.content"
)
kMDItemDateAdded               = 2015-09-22 13:42:37 +0000
kMDItemDisplayName             = "8.9.2015.tex"
kMDItemFSContentChangeDate     = 2015-09-22 13:38:31 +0000
kMDItemFSCreationDate          = 2015-09-22 13:38:31 +0000
kMDItemFSCreatorCode           = ""
kMDItemFSFinderFlags           = 0
kMDItemFSHasCustomIcon         = 0
kMDItemFSInvisible             = 0
kMDItemFSIsExtensionHidden     = 0
kMDItemFSIsStationery          = 0
kMDItemFSLabel                 = 0
kMDItemFSName                  = "8.9.2015.tex"
kMDItemFSNodeCount             = 62503
kMDItemFSOwnerGroupID          = 20
kMDItemFSOwnerUserID           = 502
kMDItemFSSize                  = 62503
kMDItemFSTypeCode              = ""
kMDItemKind                    = "TeX document"
kMDItemLogicalSize             = 62503
kMDItemPhysicalSize            = 65536

Comandos buscados:

mkdir /Users/masi/Desktop/masi
18:07:56:~:masii$ cp /tmp/8.9.2015.tex /Users/masi/Desktop/masi/
18:08:09:~:masi$ cd /Users/masi/Desktop/masi/
18:08:16:masi:masi$ echo osteoporosis > test_file.txt
18:08:24:masi:masi$ mdfind osteoporosis |grep /Users/masi/Desktop/masi/
/Users/masi/Desktop/masi/test_file.txt
18:08:47:masi:masi$ mdls -name kMDItemContentType test_file.txt 
kdItemContentType = (public.plain-text)
18:09:49:masi:masi$ mv test_file.txt test_file.tex
18:10:14:masi:masi$ mdfind osteoporosis | grep /Users/masi/Desktop/masi/
18:10:20:masi:masi$ mdls -name kMDItemContentType test_file.tex 
kMDItemContentType = "org.tug.tex"

Herramientas de diagnóstico actuales Uso y discusión en el chat

Comando bien oculto de ¿Es posible consultar la base de datos de servicios de inicio para aplicaciones que abrirán un archivo arbitrario o tipo UTI?

/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -dump | grep -n7 org.tug.tex

Descubrimos que TeXShop de MacTeX 2015 no tiene TeX.mdimporter. Instalar esto da en la última línea de mdimport -L:

"/Applications/TeX/TeXShop.app/Contents/Library/Spotlight/TeX.mdimporter")

Intento fallido con Patrix

mkdir -p ~/Library/Spotlight; ln -s /Applications/TeX/TeXShop.app/Contents/Library/Spotlight/TeX.mdimporter ~/Library/Spotlight/

después de lo cual rm ~/Library/Spotlight/TeX.mdimportery restablecimos el índice de Spotlight moviendo HardDisc al panel Prevent y lo eliminamos rápidamente, por lo que nos tomamos un tiempo para indexar el sistema.

Resultados de la respuesta de klanomath que funcionaron un día hasta volver al mal estado

Obtengo inestablemente algunos archivos .tex en mdfind. Después de un día de uso desde el inicio de esta propuesta, la condición volvió al mal estado:

  • la búsqueda de osteoporosis devuelve los mismos archivos que hace un día, pero noté que esos archivos, que no han sido visibles recientemente en las coincidencias de búsqueda y no han sido visibles durante la última vez, no son visibles en la búsqueda
  • solo se muestran los archivos editados recientemente y, a veces, incluso se muestran archivos de hace 3,5 meses

Correr 18:25:06:~:masi$ /usr/bin/mdimport -d3 /Users/masi/Dropbox/Internal\ Diseases/24.9.2015.texy conseguir

(Debug) Import: file:/Users/masi/Dropbox/Internal Diseases/24.9.2015.tex plugin:file://localhost/Library/Spotlight/TeX.mdimporter/ /Library/Spotlight/TeX.mdimporter
(Info) Import: edu.uo.texshop.tex 
(Debug) Import: Attributes for file /Users/masi/Dropbox/Internal Diseases/24.9.2015.tex: {
    ":MD:kMDExtendedImportDictionary" =     {
    };
    "_kMDItemFinderLabel" = 0;
    "com_apple_metadata_modtime" = 464803819;
    kMDItemContentCreationDate = "2015-09-23 19:57:11 +0000";
    kMDItemContentModificationDate = "2015-09-24 16:10:19 +0000";
    kMDItemContentType = "edu.uo.texshop.tex";
    kMDItemContentTypeTree =     (
        "edu.uo.texshop.tex",
        "public.text",
        "public.data",
        "public.item",
        "public.content",
        "public.plain-text",
        "org.tug.tex"
    );
    kMDItemDateAdded = "2015-09-23 19:57:11 +0000";
    kMDItemDisplayName =     {
        "" = "24.9.2015.tex";
    };
    kMDItemKind =     {
        "" = "TeX File";
        en = "TeX File";
        pt = "Documento TeX";
    };
    kMDItemLogicalSize = 18220;
    kMDItemPhysicalSize = 20480;
    kMDItemTextContent = "\...";
}
2015-09-24 18:25:50.335 mdimport[6875:707] Imported '/Users/masi/Dropbox/Internal Diseases/24.9.2015.tex' of type 'edu.uo.texshop.tex' with plugIn /Library/Spotlight/TeX.mdimporter.
2015-09-24 18:25:50.336 mdimport[6875:707] Attributes: {
    ":MD:kMDExtendedImportDictionary" =     {
    };
    "_kMDItemFinderLabel" = 0;
    "_kMDItemStaticInterestScore" = "0.5";
    "com_apple_metadata_modtime" = 464803819;
    kMDItemContentCreationDate = "2015-09-23 19:57:11 +0000";
    kMDItemContentModificationDate = "2015-09-24 16:10:19 +0000";
    kMDItemContentType = "edu.uo.texshop.tex";
    kMDItemContentTypeTree =     (
        "edu.uo.texshop.tex",
        "public.text",
        "public.data",
        "public.item",
        "public.content",
        "public.plain-text",
        "org.tug.tex"
    );
    kMDItemDateAdded = "2015-09-23 19:57:11 +0000";
    kMDItemDisplayName =     {
        "" = "24.9.2015.tex";
    };
    kMDItemKind =     {
        "" = "TeX File";
        en = "TeX File";
        pt = "Documento TeX";
    };
    kMDItemLogicalSize = 18220;
    kMDItemPhysicalSize = 20480;
    kMDItemTextContent = "\...";
}

Adivina el origen del problema: /Volumes/Disc/.Spotlight-V100 / ...

Investigué la dinámica de la memoria en diferentes puntos de tiempo fdupes -rd /Volumes/Disc2/, la siguiente muestra es durante la indexación:

[1] /Users/masi/Dropbox/det2/plan.tex
[2] /Volumes/Disc2/.Spotlight-V100/Store-V2/440B4DE1-129F-46AB-9D58-14F473B0282A/Cache/0000/0000/0003/213630.txt
[3] /Volumes/Disc2/.Spotlight-V100/Store-V2/440B4DE1-129F-46AB-9D58-14F473B0282A/Cache/0000/0000/0003/213631.txt
[4] /Volumes/Disc2/.Spotlight-V100/Store-V2/440B4DE1-129F-46AB-9D58-14F473B0282A/Cache/0000/0000/0003/213633.txt
... [10] sometimes much more
---

donde el contenido del archivo es dos líneas vacías. Verá muchas entradas duplicadas creadas por Spotlight para su índice. El índice de Spotlight tiene muchos duplicados en muchos puntos de su funcionamiento. También estudié este comportamiento en diferentes medios. Hay muchos archivos ficticios / duplicados creados durante la indexación y durante el período estable cuando se realiza la indexación. Creo que Apple ha hecho un mal trabajo al diseñar el índice que Spotlight está utilizando.


¿Cómo puede buscar documentos LaTeX con mdfind / Spotlight / Finder?

Léo Léopold Hertz 준영
fuente
Dado que A) esta es una buena pregunta, ya que se complica por la intersección de los reflectores, los tipos de archivos y la base de datos de servicios de lanzamiento b) se necesita mucha ida y vuelta, he creado una sala de chat para discutir el problema / iterar sobre la solución de problemas para que las publicaciones no se vuelvan más desordenadas de lo necesario. chat.stackexchange.com/rooms/info/29405/…
bmike
1
No agregue respuestas al texto de la pregunta, publíquelo como respuesta a continuación.
nohillside
Tener los mismos problemas aquí. Además, los íconos para documentos .tex están en blanco (genéricos). Quizás los dos temas están relacionados?
user11126
@ user11126 Por favor, vea la respuesta aceptada. Apple no ha mostrado motivación para resolver el problema durante muchos años. Vea la respuesta aceptada y su propuesta sin Spotlight. El enfoque terminal funciona mucho mejor. - - Sobre lo segundo: es posible que no haya instalado MacTex o que tenga un error en la configuración.
Léo Léopold Hertz 준영

Respuestas:

5

Es probable que esto sea el resultado del editor / software para TEX que usa, ya que no necesita ningún importador destacado para procesar archivos de texto sin formato. (Por lo tanto, puede eliminar el importador personalizado de su aplicación o elegir una actualización / importador diferente).

En lugar de adivinar el caso, aquí se explica cómo ubicar el problema. El editor podría estar cambiando ** kMDItemContentType ** a uno que no esté indexado o que tenga una extensión de centro de atención de terceros que se está bloqueando. Así es como sabría cuál de estos (o algo más inesperado) está sucediendo:

A) ¿Spotlight indexa un archivo de texto arbitrario cuando cambia la extensión de .txt a .tex?
B) Compare los metadatos de los archivos para saber qué sucede usandomdls


Para probar A, abra Text Edit y pegue una palabra en el documento: osteoporosis

Si es necesario, convierta el documento a texto sin formato (probablemente sea texto enriquecido) - Shift + Command + T (o use el menú de formato - Hacer texto sin formato) y guárdelo en su escritorio como archivo.txt - Si el menú de formato dice Make Rich Texto, luego no presione las teclas y simplemente guarde el documento.

En ese punto, Spotlight debería ver el archivo de inmediato. Si no, tiene un problema de foco y no problemas con el archivo .tex. Este es un problema muy básico si su foco está roto para no indexar archivos de texto sin formato. Si esto funciona, cambie la extensión .txt a .tex y vuelva a verificar el foco.


Para la prueba B: use el mdlscomando para examinar las diferencias de metadatos entre su archivo y el archivo TextEdit que funcionan con Spotlight. Presta especial atención a los siguientes campos:

kMDItemContentType             = "public.plain-text"
kMDItemContentTypeTree         = (
    "public.plain-text",
    "public.text",
    "public.data",
    "public.item",
    "public.content"
)
kMDItemKind                    = "Plain Text Document"

Cambiar el .txt a .tex provoca un cambio en esto (ya que no tengo una aplicación que reclame la extensión de archivo de .tex y la asigne a una clasificación de servicios de lanzamiento / spotlight y kMDItemContentType / kMDItemKind adecuados en lugar de un genérico y ad / hoc tipo:

kMDItemContentType             = "dyn.ah62d4rv4ge81k3p2"
kMDItemContentTypeTree         = (
    "dyn.ah62d4rv4ge81k3p2",
    "public.data",
    "public.item"
)
kMDItemKind                    = "Document"

Aquí hay una breve prueba que puede cortar / pegar si sus habilidades terminales aún no están desarrolladas. Eliminaría el contenido de cualquier nombre de archivo test_file en su escritorio, así que haga una copia de seguridad si no está seguro antes de pegar los siguientes comandos:

cd ~/Desktop/
echo osteoporosis > test_file.txt
mdfind osteoporosis | grep Desktop
mdls  -name kMDItemContentType test_file.txt 
mv test_file.txt test_file.tex
mdfind osteoporosis | grep Desktop
mdls  -name kMDItemContentType test_file.tex 

Los mdfindcomandos son equivalentes a usar Spotlight, por lo tanto, compruebe que la búsqueda de terminal coincida con la búsqueda de Spotlight en ese momento.

Como nota al pie, estas herramientas solo son necesarias para diagnosticar el alcance de la rotura y no son un sustituto de la búsqueda destacada al final. Solo que no puede diagnosticar un problema de foco con solo foco. Además, es posible que desee ver el registro de la consola mientras realiza los pasos, ~/Desktopen caso de que haya informes de fallas u otros diagnósticos destacados mientras está hurgando en el subsistema.

Además, las cosas se ponen feas rápidamente si puede buscar en el documento de texto sin formato pero no en el de texto. En su actualización, mencionó que los archivos .tex son del tipo "org.tug.tex": puede explorar la base de datos de los servicios de lanzamiento para averiguar qué importadores son responsables del análisis de este archivo y eliminarlos (o simplemente hacer un adivinar y eliminar temporalmente las aplicaciones TEX para ver si "soluciona" el foco temporalmente).

lsregister -dump| grep -n7 org.tug.tex

¿Dónde lsregisterhay una herramienta bien oculta en / Sistema? Vea este hilo en SuperUser para leer sobre los servicios de lanzamiento: /superuser/323599/ y este hilo aquí: Duplicar entradas en el menú "Abrir con" en Finder incluso después de reconstruir Launch Services para probar algunas cosas raras. Estoy bastante seguro de que podría descubrir lo que está mal en su sistema en aproximadamente 20 minutos de hurgar, pero escribir todas las posibilidades de una manera accesible para usted y adivinar un poco de las respuestas está resultando más difícil de lo que esperaba.

bmike
fuente
Continuemos esta discusión en el chat .
bmike
Me puse en contacto con el desarrollador de Textmate y quiero confirmar este reclamo. El problema se reproduce ahora también en El Capitán.
Léo Léopold Hertz 준영
4

Traté de reproducir sus problemas de Spotlight en una máquina virtual configurada con Mac OS X 10.8.

Después de instalar MacTex-20150613 y actualizar todos los componentes (> 300), incluidos TexShop y LaTeXiT, no tuve problemas para buscar contenido en archivos * .tex.

Después de ingresar:

/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user

"Tuve éxito" al perder la capacidad de buscar contenido en archivos * .tex.

Para recuperar la capacidad de hacerlo, hice lo siguiente:

  • Inicié sesión como administrador. Copié el archivo /Applications/TeX/TeXShop.app/Contents/Library/Spotlight/TeX.mdimporter a / Library / Spotlight / with

    sudo cp -R /Applications/TeX/TeXShop.app/Contents/Library/Spotlight/TeX.mdimporter  /Library/Spotlight/
    
  • Preparé la reindexación de mi sistema yendo primero a la carpeta /.Spotlight-V100 (en la barra del menú del Finder -> Ir -> Ir a la carpeta ... e ingrese /.Spotlight-V100) y moviendo todos los archivos y carpetas en esta carpeta a la papelera. Tienes que ingresar tu contraseña de administrador para hacerlo. Si no puede ingresar a la carpeta, inicie sesión como root (es posible que primero deba habilitar la raíz con / System / Library / CoreServices / Directory Utility.app) y elimine el contenido de la carpeta como root.
  • Reinició la Mac
  • Ingresé como administrador y vacié la papelera. La reindexación se iniciará automáticamente.

La comprobación continua de toda la información relevante, como los atributos de archivo o los servicios de lanzamiento en diferentes estados del sistema (con varias instantáneas de VM) utilizando mdls , xattr y otras herramientas, no reveló nada interesante o sospechoso.


He repetido todos los pasos anteriores más a fondo en una nueva máquina virtual y solía mdimport -d3verificar el comportamiento de Spotlight.

En un Mac OS X estándar, un archivo .tex se importa correctamente utilizando un importador dyn.random:

host:~user$ /usr/bin/mdimport -d3 /Users/user/Desktop/sample.tex
(Debug) Import: file:/Users/user/Desktop/sample.tex plugin:(null) (null)
2015-09-23 20:20:42.359 mdimport[313:707] Imported '/Users/user/Desktop/sample.tex' of type 'dyn.ah62d4rv4ge81k3p2' with no plugIn. 

Se encontró el contenido (palabras clave).

Lo mismo se aplica a Mac OS X después de instalar pero no iniciar una de las Tex.apps, aunque el importador cambió a RichText.mdimporter:

host:~ user$ /usr/bin/mdimport -d3 /Users/user/Desktop/sample.tex
(Debug) Import: file:/Users/user/Desktop/sample.tex plugin:file://localhost/System/Library/Spotlight/RichText.mdimporter/ /System/Library/Spotlight/RichText.mdimporter
(Info) Import: public.tex 

Después de iniciar un Tex.app (en mi caso, TeXShop), el importador utiliza el TeX.mdimporter predeterminado que reside en la profundidad del paquete TeXShop:

host:~ user$ /usr/bin/mdimport -d3 /Users/user/Desktop/sample.tex
(Debug) Import: file:/Users/user/Desktop/sample.tex plugin:file://localhost/Applications/TeX/TeXShop.app/Contents/Library/Spotlight/TeX.mdimporter/ /Applications/TeX/TeXShop.app/Contents/Library/Spotlight/TeX.mdimporter
(Info) Import: edu.uo.texshop.tex 

Después de actualizar MacTex-20150613, incluidos TexShop y LaTeXiT, la indexación está completamente rota:

host:~ user$ /usr/bin/mdimport -d3 /Users/user/Desktop/sample-2.tex
(Debug) Import: file:/Users/user/Desktop/sample-2.tex plugin:(null) (null)
2015-09-23 21:29:49.278 mdimport[5541:707] Imported '/Users/user/Desktop/sample-2.tex' of type 'public.tex' with no plugIn.

La ruta adecuada al complemento TeX.mdimporter (dentro de TexShop) se perdió y, por lo tanto, la capacidad de indexar un nuevo archivo * .tex desapareció. Otros complementos como dyn.random o RichText.mdimporter no intervienen probablemente porque no indexan archivos del tipo 'public.tex'. La búsqueda de contenido en archivos (al menos nuevos) .tex ya no es posible.

Después de copiar TeX.mdimporter a / Library / Spotlight content indexing se restaura:

host:~ user$ /usr/bin/mdimport -d3 /Users/user/Desktop/sample-3.tex
(Debug) Import: file:/Users/user/Desktop/sample-3.tex plugin:file://localhost/Library/Spotlight/TeX.mdimporter/ /Library/Spotlight/TeX.mdimporter
(Info) Import: public.tex 

Para reindexar todos los archivos .tex correctamente (especialmente aquellos en los que no se pueden buscar palabras clave de contenido), debe reconstruir la base de datos de Spotlight (verifique la primera parte de mi respuesta) o cambiar las fechas de modificación de todos los archivos .tex para iniciar la reindexación de ellos. .

klanomath
fuente
Interesante. ¿Es necesario el importador hacer una búsqueda de texto completo? Simplemente eliminar al importador debería permitir que el reflector de texto simple procese todos los archivos, ¿no? (y un enorme +1, sin embargo, gran trabajo)
bmike
Puedo buscar todos mis archivos sin un importador especial, pero ya no estoy ejecutando 10.8 ... gracias @klanomath
bmike
@ Masi, ¿qué ocurre mdutil -s ~/Dropboxo si aparece un error al ejecutar la primera sudo mdutil -s ~/Dropboxpantalla de comando ?
klanomath
@ Masi Aunque es un mensaje de error, no es un error "bash" al ejecutar el comando causado por la falta de permisos (lo que quise decir con error). Es un mensaje de error que dice que mdutilno puede indexar su carpeta de Dropbox. ¿Cómo intercambia (dl / ul) o dónde almacena sus archivos .tex? En la carpeta de Dropbox?
klanomath
@Masi Disc2 es un segundo volumen o una aplicación / servicio en la nube como Dropbox?
klanomath
4

Así es como resolví este problema.

Nota. Esto todavía funciona desde que publiqué la solución por primera vez. En ese momento estaba usando Mac OS 10.11.5 y TeXShop 3.62; ahora es Mac OS 10.12.3 y TeXShop 3.77. Para editar los archivos .plist (como se explica a continuación), uso Xcode.

Primero, usando el mdlscomando, descubrí que todos mis archivos .tex informaron kMDItemContentType = “public.tex”(si su sistema informa de manera diferente, entonces tendría que modificar las siguientes instrucciones en consecuencia).

Entonces abrí TeXShop> Contenido (haciendo clic derecho en TeXShop y seleccionando Mostrar contenido del paquete). Modifiqué Info.plist agregando public.tex como UTI de tipo de contenido de documento de la siguiente manera (vea la línea resaltada en azul):

edición de info.plist

Luego pasé a modificar el Info.plist en TeXShop> Contenido> Biblioteca> Spotlight> TeX.mdimporter> Contenido (ejecute Mostrar contenido del paquete de TeX.mdimporter). Al igual que arriba, agregué public.tex en los lugares apropiados. Ver la siguiente imagen:

Edición de Info.plist de TeX.mdimporter

Después de esto, Spotlight está buscando el contenido de los archivos .tex.

usuario11126
fuente
Sería genial obtener una línea para que esto lo entienda mejor. Aún no hay confirmación sobre cómo funciona.
Léo Léopold Hertz 준영
Desearía que nos mostraras con un editor de texto plano; La tabla de Xcode es un poco confusa.
Dellu
¡Trabajando finalmente de nuevo en Sierra! ¡Qué alivio!
Florian
2

Esto parece ser un problema con la importación de Spotlight MetaData. Una ruta faltante, corrupta o rota al "Plugin de Spotlight" instalado por el paquete "TexLive".

La salida de "mdimport -L" en mi máquina incluye la línea:

"/ Aplicaciones / TeX / TeX Live Utility.app/Contents/Library/Spotlight/DVIImporter.mdimporter"

No veo una línea similar en su salida. Una buena solución para usted podría ser reinstalar la distribución "TeX Live", desde The MacTeX-2015 Distribution en: https://www.tug.org/mactex/, esto debería corregir su ruta mdimport rota.

mactex-20150613.pkg

Thompson Dawes
fuente
3
No utilice enlaces abreviados, ofuscan el destino.
grg
La reindexación no resolvió el problema.
Léo Léopold Hertz 준영
1

Si puedes estar sin Spotlight

Si desea obtener una lista de archivos y luego explorar cada uno de ellos por separado.

Si desea obtener todos los nombres de archivos y coincidencias en la misma vista, utilícelos para buscar todos los archivos en el Directorio Time...recorriendo recursivamente

  • archivos / archivos enlazados [fd0]

    find -L . -type d -path './Time*' \ 
        -exec grep -d "recurse" series {} + | 
    cut -c -80
    
  • Archivos .tex sin espacios en directorioNombres ( fuente )

    find -L $(find . -type l -name 'Math*') -name '*.tex' \
        -exec fgrep word /dev/null {} + |
    cut -c -80
    

Si Spotlight

La solución temporal es usar documentos .txt en lugar de documentos .tex en algunas carpetas porque es una solución estable

cat *.tex > summary_all.txt

Otros intentos

  • Estoy tratando de encontrar un enfoque de terminal para buscar archivos .tex aquí sobre ¿ Para abrir la ruta resultante de Click by View in Viewer?
  • Estoy tratando de reemplazar mdfind aquí sobre Cómo reemplazar mdfind con cualquier otra herramienta para .tex?
Léo Léopold Hertz 준영
fuente
1
¿Cómo se hace una búsqueda recursiva en un archivo? Si te entiendo correctamente, entonces puedes pasar tus dos declaraciones de búsqueda en uno ...find -L . -type d -path './Time*' -exec grep -d "recurse" series {} +
fd0
0

Si no puede encontrar una solución más deseable, siempre puede intentarlo mdfind.
Entiendo que es la contraparte de CLI de Spotlight . Lo uso a menudo y lo encuentro bastante útil.
Para usarlo, simplemente abra el Terminal.app nativo , luego escriba el comando y argumento de la siguiente manera:

username@hostname:~$ mdfind osteoporosis.tex

Alternativamente, si no sabes el título; simplemente puede enumerar todos los archivos LaTeX con:

username@hostname:~$ mdfind .tex

Existe la posibilidad de que estas consultas coincidan con cadenas similares, es decir, '.text', en cuyo caso use:

username@hostname:~$ mdfind osteoporosis.tex | grep '\.tex$'

Y / o más simplemente: (Esta es probablemente la mejor opción para su situación :)

username@hostname:~$ mdfind .tex | grep '\.tex$'

Anexando | grep '\.tex$'al comando, básicamente ejecuta los resultados a través de otro filtro, eliminando cualquier nombre de archivo que no contenga la extensión LaTeX; '.tex', al final de su cadena.


FYI: no parecerán Algunos tipos de archivos para permitir Spotlight ymdfindpara identificar o localizar a ellos por su contenido . Esto se debe a que Spotlight solo puede indexar los tipos de archivos que conoce. Apple proporciona algunos complementos para indexar los tipos de archivos más comunes, pero no todos. Aparentemente debería haber un importador de LaTeX Spotlight incluido con su copia de MacTex, pero si está roto, falta o es inadecuado, puede encontrar uno excelente aquí: http://wiesmann.codiferes.net/wordpress/?page_id=262


También aquí desde LyX para Mac OS X:
http://wiki.lyx.org/Mac/Spotlight/
Y incluido con TeXShop aquí:
http://pages.uoregon.edu/koch/texshop/

voces
fuente
Vea chat.stackexchange.com/rooms/29405/… para la discusión y viceversa sobre esta pregunta.
bmike
-1

Pruebe Texnicle , tiene la entrada correcta en mdimport -L

usuario148058
fuente
1
Gracias por la propuesta! Sin embargo, estamos interesados ​​en que la búsqueda del sistema vuelva a funcionar (Spotlight / Finder).
Léo Léopold Hertz 준영