Come cercare documenti LaTeX in Spotlight?


12

Ora ho riprodotto il problema anche a El Capitan con nuovi componenti (scheda madre, 3x SSD) nel mio Macbook Air 2013-metà. Durante l'esecuzione del test ho avuto un'installazione pulita di OS X (El Capitan, Yosemite). L'ultimo OS X in cui funziona la ricerca .tex è 10.8.5 in Spotlight. Al momento non vedo documenti .tex nella mia ricerca Spotlight. test

  • Nessuna risposta corrente risolve il problema in modo permanente. In Yosemite, il problema è tornato dopo un po 'con alcune risposte. Non esiste una soluzione stabile e poca comprensione di quale sia la causa del problema.

La selezione delle configurazioni Impostazioni non è rilevante in Spotlight perché possiamo usare direttamente il comando mdfindnel terminale, che è equivalente a Spotlight. Tuttavia, abbiamo provato le impostazioni predefinite, minime e complete in Spotlight. Per i test, utilizziamo le impostazioni predefinite in OS X. Sistema e applicazioni

  • Sistemi OS X Yosemite, OS X El Capitan
  • TexShop.app è installato. (MacTeX 2015, mactex-20150613.pkg).
  • App Tex: TextMate2-beta8
  • Spotlight / Finder / qualsiasi app di ricerca non funziona con i file TeX e MacTeX 2015
  • Spotlight funziona come previsto con alcune impostazioni diverse e anche con MacTeX 2015.

Il comando mdfind(versione 10 giugno 2004) equivale alla ricerca Spotlight, quindi un semplice test che non restituisce nulla senza successo nel mio sistema

mdfind sulfas | grep tex

Penso che il problema sia che il sistema non riconosce il fileformat .tex`. La prima cosa è far riconoscere il sistema.

Il suggerimento di tjt263 di cercare solo .tex in Finder / Spotlight

L'output del Spotlight .texcomando terminal fornisce tex -files correttamente nel mio sistema. Tuttavia, combinandolo con altri termini come, by .tex diabetes, non viene più fornito alcun file tex. Importatori ottenuti da 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"
)

i test di bmikes

File notes.tex non ricercabile nel Finder. Lo cambio in notes.txt che ora posso cercare in Finder. Questo mi propone di non risolvere il problema del programma di ricerca (Spotlight, md ..., qualunque cosa tu usi, come ho descritto molte volte nei commenti). Quindi tex-problema nel sistema. Output dello stesso file ma con due finali diversi. Output del file txt:

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

Output del file 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

Comandi desiderati:

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"

Strumenti diagnostici attuali che utilizzano e discutono nella chat

Comando ben nascosto da È possibile eseguire una query nel database dei servizi di avvio per le applicazioni che apriranno un file arbitrario o un tipo UTI?

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

Abbiamo scoperto che il TeXShop di MacTeX 2015 non ha TeX.mdimporter. L'installazione di questo dà sull'ultima riga di mdimport -L:

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

Prova fallita con Patrix

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

dopodiché rm ~/Library/Spotlight/TeX.mdimporterabbiamo reimpostato l'indice di Spotlight spostando HardDisc sul pannello Prevent e rimuovendolo rapidamente, quindi impieghiamo del tempo per indicizzare il sistema.

risultati della risposta di klanomath che ha funzionato un giorno fino a tornare al cattivo stato

Ottengo instabilmente alcuni file .tex in mdfind. Dopo un giorno di utilizzo dall'iniziale di questa proposta, la condizione è tornata al cattivo stato:

  • la ricerca sull'osteoporosi restituisce gli stessi file di un giorno fa, ma ho notato che quei file, che non sono stati visibili nelle corrispondenze di ricerca di recente e abbastanza a lungo nell'ultima modifica, non sono visibili nella ricerca
  • mostrati solo file modificati di recente, e in realtà a volte anche file di 3,5 mesi mostrati

Correre 18:25:06:~:masi$ /usr/bin/mdimport -d3 /Users/masi/Dropbox/Internal\ Diseases/24.9.2015.texe ottenere

(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 = "\...";
}

Indovina l'origine del problema: /Volumes/Disc/.Spotlight-V100 / ...

Ho studiato la dinamica della memoria in diversi punti temporali fdupes -rd /Volumes/Disc2/, il seguente esempio è durante l'indicizzazione:

[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
---

dove il contenuto del file è di due righe vuote. Vedete molte voci duplicate create da Spotlight per il suo indice. L'indice di Spotlight ha molti duplicati in molti punti del suo funzionamento. Ho anche studiato questo comportamento attraverso diversi media. Esistono molti file fittizi / duplicati creati durante l'indicizzazione e durante il periodo stabile al termine dell'indicizzazione. Penso che Apple abbia fatto un brutto lavoro nel progettare l'indice che Spotlight sta usando.


Come puoi cercare documenti LaTeX con mdfind / Spotlight / Finder?


Poiché A) questa è una buona domanda in quanto è complicata dall'intersezione di riflettori, tipi di file e database dei servizi di avvio b) ha bisogno di molto avanti e indietro, ho creato una chat room per discutere del problema / iterare sulla risoluzione dei problemi in modo che i post non diventino più disordinati del necessario. chat.stackexchange.com/rooms/info/29405/…
bmike

1
Si prega di non aggiungere risposte al testo della domanda, pubblicarlo come risposta di seguito.
Nohillside

Avere gli stessi problemi qui. Inoltre, le icone per i documenti .tex sono vuote (generiche). Forse i due problemi sono correlati?
user11126

@ user11126 Per favore, vedi la risposta accettata. Apple non ha mostrato alcuna motivazione per risolvere il problema per molti anni. Vedi la risposta accettata e la sua proposta senza Spotlight. L'approccio terminale funziona molto meglio. - - A proposito della seconda cosa, potresti non aver installato MacTex o hai un bug nella configurazione.
Léo Léopold Hertz

Risposte:


5

Questo probabilmente è il risultato dell'editor / software per TEX che usi poiché non hai bisogno di alcun importatore spotlight per elaborare file di testo semplice. (Quindi potresti semplicemente eliminare l'importatore personalizzato della tua app o scegliere un aggiornamento / importatore diverso).

Invece di indovinare il caso, ecco come individuare il problema. L'editor potrebbe cambiare ** kMDItemContentType ** in uno non indicizzato o hai un'estensione spotlight di terze parti che si arresta in modo anomalo. Ecco come saprei quale di questi (o qualcosa di più inaspettato) sta accadendo:

A) Spotlight indicizza un file di testo arbitrario quando si modifica l'estensione da .txt a .tex?
B) Confronta i metadati per i file per sapere cosa sta succedendo usandomdls


Per verificare A, apri Modifica testo e incolla una parola nel documento: osteoporosi

Se necessario, converti il ​​documento in testo semplice (probabilmente è rich text) - Maiusc + Comando + T (o usa il menu del formato - Crea testo semplice) e salvalo sul desktop come file.txt - Se il menu del formato dice Rich Rich Testo quindi non premere i tasti e salva semplicemente il documento.

A quel punto, Spotlight dovrebbe vedere immediatamente il file. Altrimenti, hai problemi di riflettori e non problemi di file .tex. Questo è un problema di base se il tuo riflettore è rotto per non indicizzare i file di testo semplice. Se funziona, cambia l'estensione .txt in .tex e ricontrolla i riflettori.


Per il test B: utilizzare il mdlscomando per esaminare le differenze di metadati tra il file e il file TextEdit che funzionano con Spotlight. Prestare particolare attenzione ai seguenti campi:

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

La modifica di .txt in .tex provoca una modifica a questo (poiché non ho un'applicazione che rivendica l'estensione del file di .tex e la associ a una classificazione di servizi di lancio / spotlight e kMDItemContentType / kMDItemKind corretti al contrario di un generico e ad / hoc genere:

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

Ecco un breve test che puoi tagliare / incollare se le tue abilità terminali non sono ancora state sviluppate. Eliminerebbe il contenuto di tutti i nomi di file test_file sul desktop, quindi esegui un backup se non sei sicuro prima di incollare i comandi seguenti:

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 

I mdfindcomandi equivalgono all'utilizzo di Spotlight, quindi verifica che la ricerca del terminale corrisponda alla ricerca Spotlight in quel momento.

Come nota a piè di pagina, questi strumenti sono necessari solo per diagnosticare l'entità della rottura e non un sostituto per la ricerca dei riflettori alla fine. Solo che non puoi diagnosticare un problema di riflettori solo con i riflettori. Inoltre, potresti voler guardare il registro della console mentre esegui i passaggi ~/Desktopnel caso in cui ci siano segnalazioni sugli arresti anomali o altre diagnosi Spotlight mentre stai frugando nel sottosistema.

Inoltre, le cose diventano brutte rapidamente se puoi cercare il documento di testo semplice ma non quello di testo. Nel tuo aggiornamento hai menzionato che i file .tex sono di tipo "org.tug.tex": potresti esplorare il database dei servizi di avvio per scoprire quali importatori sono responsabili del sistema per l'analisi di questo file e rimuoverli (o semplicemente creare un indovinare ed eliminare temporaneamente le app TEX per vedere se "risolve" temporaneamente i riflettori).

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

Dove si lsregistertrova uno strumento ben nascosto in / Sistema - vedi questa discussione su SuperUser per leggere sui servizi di lancio: /superuser/323599/ e questa discussione qui: voci duplicate nel menu "Apri con" nel Finder anche dopo aver ricostruito i Servizi di lancio per alcune cose strane da provare. Sono abbastanza fiducioso di poter capire cosa c'è che non va nel tuo sistema in circa 20 minuti di ricerca, ma scrivere tutte le possibilità in un modo accessibile a te e indovinare un po 'delle risposte si sta dimostrando più difficile di quanto mi aspettassi.



Ho contattato lo sviluppatore di Textmate e desidero confermare questo reclamo. Il problema è ora riprodotto anche in El Capitan.
Léo Léopold Hertz

4

Ho provato a riprodurre i tuoi problemi Spotlight in una configurazione di macchina virtuale con Mac OS X 10.8.

Dopo aver installato MacTex-20150613 e aver aggiornato tutti i componenti (> 300) inclusi TexShop e LaTeXiT non ho avuto problemi a cercare contenuti nei file * .tex.

Dopo aver inserito:

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

"Sono riuscito" a perdere la possibilità di cercare contenuti nei file * .tex.

Per riottenere la capacità di farlo, ho fatto quanto segue:

  • Effettuato l'accesso come amministratore ho copiato il file /Applications/TeX/TeXShop.app/Contents/Library/Spotlight/TeX.mdimporter in / Library / Spotlight / con

    sudo cp -R /Applications/TeX/TeXShop.app/Contents/Library/Spotlight/TeX.mdimporter  /Library/Spotlight/
    
  • Preparato la reindicizzazione del mio sistema andando prima nella cartella /.Spotlight-V100 (nella barra del menu Finder -> Vai -> Vai alla cartella ... e inserisci /.Spotlight-V100) e spostando tutti i file e le cartelle in questa cartella nel cestino. Devi inserire la tua password amministratore per farlo. Se non riesci a inserire la cartella accedi come root (potresti dover prima abilitare root usando / System / Library / CoreServices / Directory Utility.app) e rimuovere il contenuto della cartella come root.
  • Riavvia il Mac
  • Accesso eseguito come amministratore e svuotato il cestino. La reindicizzazione verrà avviata automaticamente.

Il controllo continuo di tutte le informazioni rilevanti come gli attributi di file o i servizi di avvio in diversi stati del sistema (con diverse istantanee di VM) utilizzando mdls , xattr e altri strumenti non ha rivelato nulla di interessante o sospetto.


Ho ripetuto tutti i passaggi sopra in modo più approfondito in una nuova macchina virtuale e usato mdimport -d3per verificare il comportamento di Spotlight.

In un Mac OS X vaniglia un file .tex viene correttamente importato utilizzando un importatore 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. 

Il contenuto (parole chiave) è stato trovato.

Lo stesso vale per Mac OS X dopo l'installazione ma non l'avvio di uno dei Tex.apps, l'importatore è passato 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 

Dopo aver avviato Tex.app (nel mio caso TeXShop), l'importatore utilizza il TeX.mdimporter predefinito che risiede nella profondità del pacchetto 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 

Dopo aver aggiornato MacTex-20150613 inclusi TexShop e LaTeXiT l'indicizzazione è completamente interrotta:

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.

Il percorso corretto del plug-in TeX.mdimporter (all'interno di TexShop) si è perso e quindi la capacità di indicizzare un nuovo file * .tex è svanita. Altri plugin come dyn.random o RichText.mdimporter non intervengono probabilmente perché non indicizzano i file di tipo "public.tex". La ricerca di contenuti in (almeno nuovi) file .tex non è più possibile.

Dopo aver copiato TeX.mdimporter in / Library / Spotlight, viene ripristinata l'indicizzazione del contenuto:

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 

Per reindicizzare correttamente tutti i file .tex (in particolare quelli in cui le parole chiave del contenuto non sono ricercabili) è necessario ricostruire il database Spotlight (controllare la prima parte della mia risposta) o cambiare le date di modifica di tutti i file .tex per iniziare la reindicizzazione di essi .


Interessante. L'importatore è necessario per effettuare ricerche di testo completo? La sola eliminazione dell'importatore dovrebbe consentire a Spotlight di testo semplice di elaborare tutti i file, no? (e un enorme +1 comunque - ottimo lavoro)
bmike

Sono in grado di cercare tutti i miei file senza importatore speciale, ma non eseguo più 10.8 ... grazie @klanomath
bmike

@Masi cosa fa mdutil -s ~/Dropboxo se viene visualizzato un errore durante l'esecuzione del primo comando sudo mdutil -s ~/Dropboxvisualizzato?
klanomath,

@Masi Sebbene sia un messaggio di errore, non è un errore "bash" nell'esecuzione del comando causato da autorizzazioni mancanti (che intendevo con errore). È un messaggio di errore che dice che mdutilnon è possibile indicizzare la cartella di Dropbox. Come si scambia (dl / ul) o dove si archiviano i file .tex? Nella cartella Dropbox?
klanomath,

@Masi Disc2 è un secondo volume o un'app / servizio cloud come Dropbox?
klanomath,

4

Ecco come ho risolto questo problema.

Nota. Funziona ancora da quando ho pubblicato la soluzione per la prima volta. A quel tempo stavo usando Mac OS 10.11.5 e TeXShop 3.62; ora è Mac OS 10.12.3 e TeXShop 3.77. Per modificare i file .plist (come spiegato di seguito) uso Xcode.

Innanzitutto, usando il mdlscomando, ho scoperto che tutti i miei file .tex sono stati segnalati kMDItemContentType = “public.tex”(se il tuo sistema riporta in modo diverso, dovresti modificare le seguenti istruzioni di conseguenza).

Così ho aperto TeXShop> Contenuti (facendo clic con il tasto destro su TeXShop e selezionando Mostra contenuto pacchetto). Ho modificato Info.plist aggiungendo public.tex come UTI del tipo di contenuto del documento come segue (vedere la riga evidenziata in blu):

modifica info.plist

Quindi ho continuato a modificare il Info.plist in TeXShop> Contenuti> Libreria> Spotlight> TeX.mdimporter> Contenuto (esegui Mostra contenuto pacchetto di TeX.mdimporter). Proprio come sopra, ho aggiunto public.tex in luoghi appropriati. Vedi l'immagine successiva:

modifica Info.plist di TeX.mdimporter

Successivamente, Spotlight sta cercando il contenuto dei file .tex.


Sarebbe bello avere una linea per questo per capirlo meglio. Nessuna conferma ancora su come funziona.
Léo Léopold Hertz

Vorrei che tu ci mostrassi con un semplice editor di testo; la tabella di Xcode è una specie di confusione.
Dellu,

Finalmente lavorando di nuovo su Sierra! Che sollievo!
Florian,

2

Questo sembra essere un problema con l'importazione Spotlight MetaData. Un percorso mancante, danneggiato o interrotto al "Plugin Spotlight" installato dal pacchetto "TexLive".

L'output di "mdimport -L" sul mio computer include la riga:

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

Non vedo una linea simile nel tuo output. Una buona soluzione per te potrebbe essere quella di reinstallare la distribuzione "TeX Live", da The MacTeX-2015 Distribution all'indirizzo: https://www.tug.org/mactex/, questo dovrebbe correggere il tuo percorso mdimport interrotto.

MacTEX-20150613.pkg


3
Non utilizzare collegamenti abbreviati: offuscano la destinazione.
grg

La reindicizzazione non ha risolto il problema.
Léo Léopold Hertz 준영

1

Se puoi essere senza Spotlight

Se si desidera ottenere un elenco di file e quindi sfogliare ciascuno di essi separatamente.

Se si desidera ottenere tutti i nomi di file e le corrispondenze nella stessa vista, utilizzare per cercare tutti i file nella directory Time...attraversando ricorsivamente

  • file / file symlinked [fd0]

    find -L . -type d -path './Time*' \ 
        -exec grep -d "recurse" series {} + | 
    cut -c -80
    
  • File .tex senza spazi in directoryNames ( origine )

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

Se Spotlight

La correzione temporanea consiste nell'utilizzare documenti .txt anziché documenti .tex in alcune cartelle perché è una soluzione stabile

cat *.tex > summary_all.txt

Altri tentativi

  • Sto cercando di trovare un approccio terminale per la ricerca di file .tex qui su Per aprire il risultato PATH ottenuto da Click in Viewer?
  • Sto cercando di sostituire mdfind qui su Come sostituire mdfind con qualsiasi altro strumento per .tex?

1
Come si esegue una ricerca ricorsiva su un file? Se ti capisco correttamente, puoi raggruppare entrambe le tue dichiarazioni di ricerca in unofind -L . -type d -path './Time*' -exec grep -d "recurse" series {} +
fd0

0

Se non riesci a trovare una soluzione più desiderabile, puoi sempre provare mdfind.
Capisco che è la controparte della CLI di Spotlight . Lo uso spesso e lo trovo abbastanza utile.
Per usarlo, basta aprire Terminal.app nativo , quindi digitare il comando e l'argomento in questo modo:

username@hostname:~$ mdfind osteoporosis.tex

In alternativa, se non conosci il titolo; puoi semplicemente elencare tutti i file LaTeX con:

username@hostname:~$ mdfind .tex

È possibile che queste query corrispondano a stringhe simili, ad esempio '.text', nel qual caso utilizzare:

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

E / o più semplicemente: (Questa è probabilmente l'opzione migliore per la tua situazione :)

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

Accodando | grep '\.tex$'al comando, fondamentalmente esegue i risultati attraverso un altro filtro, rimuovendo tutti i nomi di file che non contengono l'estensione LaTeX; '.tex', alla fine della loro stringa.


Cordiali saluti: Alcuni tipi di file non sembrano consentire a Spotlight emdfindidentificarli o individuarli in base al loro contenuto . Questo perché Spotlight può solo indicizzare i tipi di file di cui è a conoscenza. Apple fornisce alcuni plugin per indicizzare i tipi di file più comuni, ma non tutti. Apparentemente dovrebbe esserci un importatore LaTeX Spotlight incluso nella tua copia di MacTex ma se è rotto, mancante o inadeguato, puoi trovarne uno fantastico qui: http://wiesmann.codiferes.net/wordpress/?page_id=262


Anche qui da LyX per Mac OS X:
http://wiki.lyx.org/Mac/Spotlight/
E in bundle con TeXShop qui:
http://pages.uoregon.edu/koch/texshop/


Vedi chat.stackexchange.com/rooms/29405/… per la discussione e avanti / indietro su questa domanda.
bmike

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.