Wie suche ich LaTeX-Dokumente in Spotlight?

Ich habe das Problem jetzt auch in El Capitan mit neuen Komponenten (Mainboard, 3x SSD) in meinem Macbook Air 2013-mid reproduziert. Ich hatte während des Tests eine Neuinstallation von OS X (El Capitan, Yosemite). Das neueste OS X, in dem die .tex-Suche funktioniert, ist 10.8.5 in Spotlight. Ich sehe derzeit keine .tex-Dokumente in meiner Spotlight-Suche. Prüfungen

  • Keine aktuelle Antwort löst das Problem dauerhaft. In Yosemite trat das Problem nach einer Weile mit einigen Antworten wieder auf. Es gibt keine stabile Lösung und wenig Verständnis, was die Ursache des Problems ist.

Die Auswahl der Einstellungskonfigurationen ist in Spotlight nicht relevant, da wir direkt den Befehl mdfindim Terminal verwenden können, der Spotlight entspricht. Wir haben jedoch die Standard-, Minimal- und Vollständigen Einstellungen in Spotlight ausprobiert. Für die Tests verwenden wir Standardeinstellungen in OS X. System und Anwendungen

  • Systeme OS X Yosemite, OS X El Capitan
  • TexShop.app ist installiert. (MacTeX 2015, mactex-20150613.pkg).
  • Tex-App: TextMate2-beta8
  • Spotlight/Finder/alle Such-Apps funktionieren nicht mit TeX-Dateien und MacTeX 2015
  • Spotlight funktioniert wie erwartet mit einigen anderen Einstellungen und auch mit MacTeX 2015.

Der Befehl mdfind(Version vom 10. Juni 2004) entspricht der Spotlight-Suche, also einem einfachen Test, der in meinem System nichts erfolglos zurückgibt

mdfind sulfas | grep tex

Ich denke, das Problem ist, dass das System das Dateiformat .tex` nicht erkennt. Die erste Sache ist, das System dazu zu bringen, es zu erkennen.

tjt263s Vorschlag, nur .tex in Finder/Spotlight zu suchen

Die Ausgabe von Spotlight .texoder des Terminalbefehls gibt tex -Dateien in meinem System korrekt aus. Die Kombination mit anderen Begriffen wie by .tex diabetesergibt jedoch keine tex -Dateien mehr. Importeure erhalten von 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"
)

bmikes-Tests

Datei notes.tex im Finder nicht durchsuchbar. Ich ändere es in notes.txt, die ich jetzt im Finder suchen kann. Das schlägt mir das Such-Programm nicht vor (Spotlight, md..., was auch immer Du verwendest, wie ich schon oft in Kommentaren beschrieben habe). Also tex -Problem im System. Ausgaben derselben Datei, aber mit zwei unterschiedlichen Endungen. Ausgabe der txt-Datei:

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

Ausgabe der tex -Datei:

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

Gesuchte Befehle:

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"

Aktuelle Diagnosetools verwenden und im Chat diskutieren

Gut versteckter Befehl von Ist es möglich, die Launch Services-Datenbank nach Anwendungen abzufragen, die eine beliebige Datei oder einen beliebigen UTI-Typ öffnen?

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

Wir haben festgestellt, dass der TeXShop von MacTeX 2015 keinen TeX.mdimporter hat. Wenn Sie dies installieren, erhalten Sie in der letzten Zeile von mdimport -L:

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

Erfolgloser Versuch mit Patrix

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

Danach rm ~/Library/Spotlight/TeX.mdimporterhaben wir den Index von Spotlight zurückgesetzt, indem wir HardDisc in das Prevent -Panel verschoben und schnell entfernt haben, sodass wir jetzt einige Zeit brauchen, um das System zu indizieren.

klanomaths Antwortergebnisse, die eines Tages funktionierten, bis sie wieder in den schlechten Zustand zurückkehrten

Ich bekomme einige .tex-Dateien in mdfind instabil. Nach einem Tag Gebrauch von der Initialisierung dieses Vorschlags ging der Zustand zurück in den schlechten Zustand:

  • Die Osteoporose -Suche gibt die gleichen Dateien zurück wie vor einem Tag, aber ich habe festgestellt, dass diejenigen Dateien, die in letzter Zeit und lange Zeit nicht in Suchtreffern sichtbar waren, als sie das letzte Mal bearbeitet wurden, in der Suche nicht sichtbar sind
  • Es werden nur kürzlich bearbeitete Dateien angezeigt, und tatsächlich werden manchmal sogar 3,5 Monate alte Dateien angezeigt

Laufen 18:25:06:~:masi$ /usr/bin/mdimport -d3 /Users/masi/Dropbox/Internal\ Diseases/24.9.2015.texund bekommen

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

Erraten Sie den Ursprung des Problems: /Volumes/Disc/.Spotlight-V100/...

Ich habe die Dynamik des Gedächtnisses zu verschiedenen Zeitpunkten von untersucht fdupes -rd /Volumes/Disc2/, das folgende Beispiel ist während der Indizierung:

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

wobei der Dateiinhalt aus zwei leeren Zeilen besteht. Sie sehen viele doppelte Einträge, die von Spotlight für seinen Index erstellt wurden. Der Index von Spotlight weist viele Duplikate in vielen Punkten seiner Funktionsweise auf. Ich habe dieses Verhalten auch über verschiedene Medien hinweg untersucht. Während der Indizierung und während der stabilen Periode, in der die Indizierung abgeschlossen ist, werden viele Dummy-/Duplikatdateien erstellt. Ich denke, Apple hat bei der Gestaltung des Indexes, den Spotlight verwendet, schlechte Arbeit geleistet.


Wie können Sie LaTeX-Dokumente mit mdfind/Spotlight/Finder durchsuchen?

Da A) dies eine gute Frage ist, da sie durch die Überschneidung von Spotlight, Dateitypen und Launch-Services-Datenbank erschwert wird und b) viel Hin und Her benötigt, habe ich einen Chatroom eingerichtet, um das Problem zu diskutieren / die Fehlerbehebung zu wiederholen damit die Beiträge nicht unordentlicher werden als nötig. chat.stackexchange.com/rooms/info/29405/…
Bitte fügen Sie dem Fragetext keine Antworten hinzu, sondern posten Sie ihn stattdessen als Antwort unten.
Habe hier die gleichen Probleme. Darüber hinaus sind die Symbole für .tex-Dokumente leere (generische) Symbole. Vielleicht hängen die beiden Probleme zusammen?
@ user11126 Bitte sehen Sie sich die akzeptierte Antwort an. Apple hat seit vielen Jahren keine Motivation gezeigt, das Problem zu lösen. Sehen Sie sich die akzeptierte Antwort und ihren Vorschlag ohne Spotlight an. Der Terminal-Ansatz funktioniert viel besser. - - Zum zweiten - vielleicht haben Sie MacTex nicht installiert oder Sie haben einen Fehler in der Konfiguration.

Antworten (7)

Dies liegt wahrscheinlich an dem von Ihnen verwendeten Editor/Software für TEX, da Sie keinen Spotlight-Importer benötigen, um reine Textdateien zu verarbeiten. (Sie könnten also einfach den benutzerdefinierten Importer Ihrer App löschen oder ein Update/einen anderen Importer auswählen).

Anstatt den Fall zu erraten – hier erfahren Sie, wo das Problem liegt. Der Editor könnte den ** kMDItemContentType** in einen nicht indizierten ändern oder Sie haben eine Spotlight-Erweiterung eines Drittanbieters, die abstürzt. So würde ich wissen, was davon (oder etwas Unerwarteteres) passiert:

A) Indiziert Spotlight eine beliebige Textdatei, wenn Sie die Erweiterung von .txt in .tex ändern?
B) Metadaten für die Dateien vergleichen, um zu wissen, was mit passiertmdls


Um A zu testen, öffnen Sie die Textbearbeitung und fügen Sie ein Wort in das Dokument ein: Osteoporose

Konvertieren Sie das Dokument bei Bedarf in einfachen Text (es ist wahrscheinlich Rich-Text) - Umschalt + Befehl + T (oder verwenden Sie das Formatmenü - Make Plain Text) und speichern Sie es auf Ihrem Desktop als file.txt - Wenn im Formatmenü Make Rich steht Text drücken Sie dann nicht die Tasten und speichern Sie einfach das Dokument.

An diesem Punkt sollte Spotlight die Datei sofort sehen. Wenn nicht, haben Sie ein Spotlight-Problem und keine Probleme mit .tex-Dateien. Dies ist ein sehr grundlegendes Problem, wenn Ihr Scheinwerfer defekt ist, um keine einfachen Textdateien zu indizieren. Wenn dies funktioniert, ändern Sie die Erweiterung .txt in .tex und überprüfen Sie Spotlight erneut.


Verwenden Sie für Test B den mdlsBefehl, um die Metadatenunterschiede zwischen Ihrer Datei und der TextEdit-Datei zu untersuchen, die mit Spotlight funktionieren. Achten Sie besonders auf die folgenden Felder:

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

Das Ändern von .txt in .tex bewirkt eine Änderung hieran (da ich keine Anwendung habe, die die Dateierweiterung .tex beansprucht und sie einer Launch-Services/Spotlight-Klassifizierung und dem richtigen kMDItemContentType/kMDItemKind im Gegensatz zu einer generischen und Ad/hoc-Datei zuordnet Art:

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

Hier ist ein kurzer Test, den Sie ausschneiden/einfügen können, wenn Ihre Terminalkenntnisse noch nicht entwickelt sind. Es würde den Inhalt aller Dateinamen test_file auf Ihrem Desktop löschen, also erstellen Sie eine Sicherungskopie, wenn Sie sich nicht sicher sind, bevor Sie die folgenden Befehle einfügen:

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 

Die mdfindBefehle entsprechen der Verwendung von Spotlight, überprüfen Sie also, ob die Terminalsuche in diesem Moment mit der Spotlight-Suche übereinstimmt.

Als Fußnote, diese Tools werden nur benötigt, um das Ausmaß des Bruchs zu diagnostizieren und ersetzen am Ende nicht die Scheinwerfersuche. Nur dass Sie ein Spotlight-Problem nicht mit Spotlight allein diagnostizieren können. Außerdem sollten Sie sich das Konsolenprotokoll ansehen, während Sie die Schritte ausführen ~/Desktop, falls Absturzberichte oder andere Spotlight-Diagnosen auftreten, während Sie am Subsystem herumstöbern.

Außerdem wird es schnell unangenehm, wenn Sie das reine Textdokument durchsuchen können, aber nicht das Textdokument. In Ihrem Update haben Sie erwähnt, dass .tex-Dateien vom Typ „org.tug.tex“ sind – Sie könnten die Launch Services-Datenbank durchsuchen, um herauszufinden, welche Importer die Systemdinge für das Parsen dieser Datei verantwortlich sind, und sie entfernen (oder einfach eine fundierte Vermutung und lösche vorübergehend die TEX-Apps, um zu sehen, ob es Spotlight vorübergehend "repariert").

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

Wo lsregisterist ein gut verstecktes Tool in /System – siehe diesen Thread auf SuperUser, um mehr über Startdienste zu erfahren: https://superuser.com/questions/323599/ und diesen Thread hier: Doppelte Einträge im Menü „Öffnen mit“ im Finder auch nach dem Wiederaufbau von Launch Services , um einige seltsame Dinge auszuprobieren. Ich bin ziemlich zuversichtlich, dass ich in etwa 20 Minuten Herumstöbern herausfinden könnte, was auf Ihrem System nicht stimmt, aber alle Möglichkeiten auf eine für Sie zugängliche Weise aufzuschreiben und einen Teil der Antworten zu erraten, erweist sich als schwieriger als ich erwartet hatte.

Ich habe den Entwickler von Textmate kontaktiert und möchte diese Behauptung bestätigen. Das Problem wird jetzt auch in El Capitan reproduziert.

Ich habe versucht, Ihre Spotlight-Probleme in einer virtuellen Maschine mit Mac OS X 10.8 zu reproduzieren.

Nach der Installation von MacTex-20150613 und der Aktualisierung aller Komponenten (>300) einschließlich TexShop und LaTeXiT hatte ich keine Probleme bei der Suche nach Inhalten in *.tex-Dateien.

Nach Eingabe:

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

Ich habe "erfolgreich" die Fähigkeit verloren, nach Inhalten in *.tex-Dateien zu suchen.

Um die Fähigkeit dazu wiederzuerlangen, habe ich Folgendes getan:

  • Als Admin eingeloggt habe ich die Datei /Applications/TeX/TeXShop.app/Contents/Library/Spotlight/TeX.mdimporter nach / Library/Spotlight/ kopiert

    sudo cp -R /Applications/TeX/TeXShop.app/Contents/Library/Spotlight/TeX.mdimporter  /Library/Spotlight/
    
  • Bereitete die Neuindizierung meines Systems vor, indem ich zuerst in den Ordner /.Spotlight-V100 gehe (in der Finder-Menüleiste -> Gehe zu -> Gehe zu Ordner... und gib /.Spotlight-V100 ein) und alle Dateien und Ordner in diesen Ordner verschieben zum Mülleimer. Dazu müssen Sie Ihr Admin-Passwort eingeben. Wenn Sie den Ordner nicht aufrufen können, melden Sie sich als Root an (Möglicherweise müssen Sie zuerst Root mit /System/Library/CoreServices/Directory Utility.app aktivieren) und den Inhalt des Ordners als Root entfernen.
  • Mac neu gestartet
  • Als Admin eingeloggt und den Papierkorb geleert. Die Neuindizierung wird automatisch gestartet.

Die kontinuierliche Überprüfung aller relevanten Informationen wie Dateiattribute oder Startdienste in verschiedenen Zuständen des Systems (mit mehreren VM-Snapshots) mithilfe von mdls , xattr und anderen Tools ergab nichts Interessantes oder Verdächtiges.


Ich habe alle obigen Schritte gründlicher in einer neuen VM wiederholt und verwendet mdimport -d3, um das Verhalten von Spotlight zu überprüfen.

In einem Vanilla Mac OS X wird eine .tex-Datei mit einem dyn.random-Importer ordnungsgemäß importiert:

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. 

Der Inhalt (Keywords) wurde gefunden.

Gleiches gilt für Mac OS X, nachdem eine der Tex.apps installiert, aber nicht gestartet wurde, der Importer änderte sich jedoch zu 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 

Nach dem Starten einer Tex.app (in meinem Fall TeXShop) verwendet der Importer den Standard-TeX.mdimporter, der sich in der Tiefe des TeXShop-Pakets befindet:

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 

Nach dem Update des MacTex-20150613 inklusive TexShop und LaTeXiT ist die Indexierung komplett kaputt:

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.

Der richtige Pfad zum Plugin TeX.mdimporter (innerhalb von TexShop) ging verloren und damit verschwand die Fähigkeit, eine neue *.tex-Datei zu indizieren. Andere Plugins wie dyn.random oder RichText.mdimporter springen wahrscheinlich nicht ein, weil sie keine Dateien vom Typ 'public.tex' indizieren. Die Inhaltssuche in (zumindest neuen) .tex-Dateien ist nicht mehr möglich.

Nach dem Kopieren von TeX.mdimporter nach /Library/Spotlight wird die Inhaltsindizierung wiederhergestellt:

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 

Um alle .tex-Dateien ordnungsgemäß neu zu indizieren (insbesondere diejenigen, bei denen Inhaltsschlüsselwörter nicht durchsuchbar sind), müssen Sie die Spotlight-Datenbank neu erstellen (überprüfen Sie den ersten Teil meiner Antwort) oder die Änderungsdaten aller .tex-Dateien ändern, um die Neuindizierung zu initiieren von ihnen .

Interessant. Muss der Importeur eine Volltextsuche durchführen? Wenn Sie einfach den Importer löschen, sollte das Klartext-Spotlight alle Dateien verarbeiten können, oder? (und trotzdem ein riesiges +1 - großartige Arbeit)
Ich kann alle meine Dateien ohne speziellen Importer durchsuchen, aber ich verwende 10.8 nicht mehr ... danke @klanomath
@Masi was bedeutet mdutil -s ~/Dropboxoder wenn Sie einen Fehler beim Ausführen der ersten Befehlsanzeige erhalten sudo mdutil -s ~/Dropbox?
@Masi Obwohl dies eine Fehlermeldung ist, ist es kein "Bash" -Fehler beim Ausführen des Befehls, der durch fehlende Berechtigungen verursacht wird (was ich mit Fehler meinte). Es ist eine Fehlermeldung, die besagt, dass mdutilIhr Dropbox-Ordner nicht indiziert werden kann. Wie tauschen Sie (dl/ul) oder wo speichern Sie Ihre .tex-Dateien? Im Dropbox-Ordner?
@Masi Disc2 ist ein zweiter Band oder eine Cloud-App/Dienst wie Dropbox?

Hier ist, wie ich dieses Problem gelöst habe.

Notiz. Dies funktioniert immer noch, seit ich die Lösung zum ersten Mal gepostet habe. Damals benutzte ich Mac OS 10.11.5 und TeXShop 3.62; jetzt sind es Mac OS 10.12.3 und TeXShop 3.77. Um die .plist-Dateien (wie unten erklärt) zu bearbeiten, verwende ich Xcode.

Zuerst mdlshabe ich mit dem Befehl festgestellt, dass alle meine .tex-Dateien gemeldet wurden kMDItemContentType = “public.tex”(Wenn Ihr System anders meldet, müssten Sie die folgenden Anweisungen entsprechend ändern.)

Also öffnete ich TeXShop>Contents (indem ich mit der rechten Maustaste auf TeXShop klicke und Paketinhalt anzeigen auswähle). Ich habe Info.plist geändert, indem ich public.tex als Document Content Type UTI wie folgt hinzugefügt habe (siehe die blau hervorgehobene Zeile):

Bearbeiten von info.plist

Dann habe ich die Info.plist in TeXShop>Contents>Library>Spotlight>TeX.mdimporter>Contents geändert (Show Package Contents of TeX.mdimporter ausführen). Genau wie oben habe ich public.tex an geeigneten Stellen hinzugefügt. Siehe nächstes Bild:

Bearbeiten von Info.plist von TeX.mdimporter

Danach durchsucht Spotlight den Inhalt von .tex-Dateien.

Es wäre großartig, eine Zeile dafür zu bekommen, um es besser zu verstehen. Noch keine Bestätigung, wie es funktioniert.
Ich wünschte, Sie hätten es uns mit einem einfachen Texteditor gezeigt; Die Xcode-Tabelle ist etwas verwirrend.
Arbeite endlich wieder an Sierra! Was für eine Erleichterung!

Dies scheint ein Problem mit dem Import von Spotlight-Metadaten zu sein. Ein fehlender, beschädigter oder defekter Pfad zum "Spotlight Plugin", das vom "TexLive"-Paket installiert wird.

Die Ausgabe von "mdimport -L" auf meinem Rechner enthält die Zeile:

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

Ich sehe keine ähnliche Zeile in Ihrer Ausgabe. Eine gute Lösung für Sie könnte die Neuinstallation der "TeX Live"-Distribution von The MacTeX-2015 Distribution unter: https://www.tug.org/mactex/ sein, dies sollte Ihren fehlerhaften mdimport-Pfad korrigieren.

mactex-20150613.pkg

Verwenden Sie keine verkürzten Links – sie verschleiern das Ziel.
Die Neuindizierung hat das Problem nicht gelöst.

Wenn Sie ohne Spotlight sein können

Wenn Sie eine Liste von Dateien erhalten und dann jede von ihnen einzeln durchsuchen möchten.

Wenn Sie alle Dateinamen und Übereinstimmungen in derselben Ansicht erhalten möchten, verwenden Sie zum Durchsuchen aller Dateien im Verzeichnis Time...durch rekursives Durchlaufen

  • Dateien/symlinked Dateien [fd0]

    find -L . -type d -path './Time*' \ 
        -exec grep -d "recurse" series {} + | 
    cut -c -80
    
  • .tex-Dateien ohne Leerzeichen in Verzeichnisnamen ( Quelle )

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

Wenn Spotlight

Die vorübergehende Lösung besteht darin, in einigen Ordnern .txt-Dokumente anstelle von .tex-Dokumenten zu verwenden, da dies eine stabile Lösung ist

cat *.tex > summary_all.txt

Andere Versuche

  • Ich versuche, hier einen Terminalansatz für die Suche nach .tex-Dateien zu finden , um den Ergebnispfad von To Open Find durch Klicken im Viewer zu öffnen.
  • Ich versuche mdfind hier zu ersetzen, wie man mdfind durch ein anderes Tool für .tex ersetzt?
Wie führen Sie eine rekursive Suche in einer Datei durch? Wenn ich Sie richtig verstehe, können Sie Ihre beiden find-Anweisungen zu einer zusammenfassen.find -L . -type d -path './Time*' -exec grep -d "recurse" series {} +

Wenn Sie keine wünschenswertere Lösung finden, können Sie es immer versuchen mdfind.
Ich verstehe, dass es das CLI-Gegenstück von Spotlight ist . Ich benutze es oft und finde es sehr hilfreich.
Um es zu verwenden, öffnen Sie einfach die native Terminal.app und geben Sie dann den Befehl und das Argument wie folgt ein:

username@hostname:~$ mdfind osteoporosis.tex

Alternativ, wenn Sie den Titel nicht kennen; Sie können einfach alle LaTeX-Dateien auflisten mit:

username@hostname:~$ mdfind .tex

Es besteht die Möglichkeit, dass diese Abfragen mit ähnlichen Zeichenfolgen übereinstimmen, z. B. „.text“. Verwenden Sie in diesem Fall Folgendes:

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

Und/oder einfacher: (Dies ist wahrscheinlich die beste Option für Ihre Situation:)

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

Das Anhängen | grep '\.tex$'an den Befehl führt die Ergebnisse im Grunde durch einen anderen Filter und entfernt alle Dateinamen, die die LaTeX-Erweiterung nicht enthalten ; '.tex' am Ende ihrer Zeichenfolge.


FYI: Einige Dateitypen scheinen es Spotlight nicht zu ermöglichen, sie anhand ihres Inhalts zumdfind identifizieren oder zu lokalisieren. Das liegt daran, dass Spotlight nur Dateitypen indizieren kann, die es kennt. Apple stellt einige Plugins bereit, um die gängigsten Dateitypen zu indizieren, aber nicht alle. Anscheinend sollte ein LaTeX - Spotlight - Importer in Ihrer Kopie von MacTex enthalten sein , aber wenn er kaputt ist, fehlt oder unzureichend ist, finden Sie hier einen großartigen: http://wiesmann.codiferes.net/wordpress/?page_id=262


Auch hier von LyX für Mac OS X:
http://wiki.lyx.org/Mac/Spotlight/
Und gebündelt mit TeXShop hier:
http://pages.uoregon.edu/koch/texshop/

Siehe chat.stackexchange.com/rooms/29405/… für die Diskussion und das Hin und Her zu dieser Frage.

Probieren Sie Texnicle aus , es hat den richtigen Eintrag in mdimport -L

Danke für den Vorschlag! Wir sind jedoch daran interessiert, die Systemsuche wieder zum Laufen zu bringen (Spotlight/Finder).