Jak wyszukiwać dokumenty LaTeX w Spotlight?


12

Problem odtworzyłem teraz także w El Capitan z nowymi komponentami (płyta główna, 3x SSD) na moim Macbooku Air 2013-mid. Podczas testów miałem czystą instalację OS X (El Capitan, Yosemite). Najnowszy OS X, w którym działa wyszukiwanie .tex, ma 10.8.5 w Spotlight. W chwili wyszukiwania Spotlight nie widzę żadnych dokumentów .tex. Testy

  • Brak aktualnej odpowiedzi rozwiązuje problem na stałe. W Yosemite problem wrócił po pewnym czasie z kilkoma odpowiedziami. Nie ma stabilnego rozwiązania i mało rozumie, co jest przyczyną problemu.

Wybór konfiguracji ustawień nie ma znaczenia w Spotlight, ponieważ możemy użyć bezpośrednio polecenia mdfindw terminalu, co jest równoważne Spotlight. Jednak wypróbowaliśmy ustawienia domyślne, minimalne i pełne w Spotlight. Do testów używamy domyślnych ustawień w OS X. System i aplikacje

  • Systemy OS X Yosemite, OS X El Capitan
  • TexShop.app jest zainstalowany. (MacTeX 2015, mactex-20150613.pkg).
  • Aplikacja Tex: TextMate2-beta8
  • Spotlight / Finder / żadna aplikacja wyszukująca nie działa z plikami TeX i MacTeX 2015
  • Spotlight działa zgodnie z oczekiwaniami z niektórymi różnymi ustawieniami, a także z MacTeX 2015.

Polecenie mdfind(wersja 10 czerwca 2004 r.) Jest odpowiednikiem wyszukiwania Spotlight, więc jest to prosty test, który nie zwraca niczego bez powodzenia w moim systemie

mdfind sulfas | grep tex

Myślę, że problem polega na tym, że system nie rozpoznaje formatu pliku .tex`. Pierwszą rzeczą jest, aby system to rozpoznał.

Sugestia tjt263, aby wyszukiwać tylko .tex w Finderze / Spotlight

Wyjście Spotlight .texkomendy terminal lub poprawnie podaje pliki tekstowe w moim systemie. Jednak połączenie go z innymi terminami, takimi jak, by .tex diabetes, nie daje już plików tekstowych. Importerzy pozyskani przez 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"
)

testy bmikes

Plik notes.tex nie można przeszukiwać w Finderze. Zmieniam go na notes.txt, który mogę teraz wyszukiwać w Finderze. To sugeruje mi, że nie problem z programem wyszukiwania (Spotlight, md ..., cokolwiek używasz, jak opisałem wiele razy w komentarzach). Tak więc tex-problem w systemie. Wyjścia tego samego pliku, ale z dwoma różnymi zakończeniami. Dane wyjściowe pliku 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

Dane wyjściowe pliku 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

Poszukiwane polecenia:

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"

Aktualne narzędzia diagnostyczne za pomocą czatu i dyskusji

Dobrze ukryte polecenie od Czy można zapytać bazę danych usług uruchamiania o aplikacje, które otworzą dowolny plik lub typ UTI?

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

Odkryliśmy, że TeXShop w MacTeX 2015 nie ma TeX.mdimporter. Zainstalowanie tego daje w ostatnim wierszu mdimport -L:

„/Applications/TeX/TeXShop.app/Contents/Library/Spotlight/TeX.mdimporter”)

Nieudana próba z Patrix

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

po czym rm ~/Library/Spotlight/TeX.mdimporterzresetowaliśmy indeks Spotlight, przenosząc dysk twardy na panel Zapobieganie i szybko go usuwając, więc zaindeksowanie systemu zajmuje teraz trochę czasu.

wyniki odpowiedzi klanomatha, które działały jeden dzień, aż do powrotu do złego stanu

Otrzymuję niestabilnie niektóre pliki .tex w mdfind. Po upływie jednego dnia od rozpoczęcia tej propozycji warunek powrócił do złego stanu:

  • wyszukiwanie osteoporozy zwraca te same pliki, co dzień temu, ale zauważyłem, że te pliki, które nie były ostatnio widoczne w wynikach wyszukiwania i wystarczająco długo, kiedy były ostatnio edytowane, nie są widoczne w wyszukiwaniu
  • pokazano tylko ostatnio edytowane pliki, a czasami nawet pliki 3,5-miesięczne

Bieganie 18:25:06:~:masi$ /usr/bin/mdimport -d3 /Users/masi/Dropbox/Internal\ Diseases/24.9.2015.texi coraz

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

Zgadnij o źródle problemu: /Volumes/Disc/.Spotlight-V100 / ...

Badałem dynamikę pamięci w różnych punktach czasowych fdupes -rd /Volumes/Disc2/, podczas indeksowania następująca próbka:

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

gdzie zawartość pliku to dwie puste linie. Widzisz wiele zduplikowanych wpisów utworzonych przez Spotlight dla jego indeksu. Indeks Spotlight ma wiele duplikatów w wielu punktach jego funkcjonowania. Badałem również to zachowanie w różnych mediach. Istnieje wiele plików zastępczych / duplikatów tworzonych podczas indeksowania i podczas stabilnego okresu, gdy indeksowanie jest zakończone. Myślę, że Apple źle wykonało projektowanie indeksu, którego używa Spotlight.


Jak wyszukiwać dokumenty LaTeX za pomocą mdfind / Spotlight / Finder?


Ponieważ A) jest to dobre pytanie, ponieważ jest skomplikowane przez skrzyżowanie wyróżnionego, typów plików i bazy danych usług uruchamiania b) wymaga wielu tam iz powrotem, utworzyłem pokój czatu, aby omówić problem / iterację na temat rozwiązywania problemów aby posty nie stały się bardziej niechlujne niż to konieczne. chat.stackexchange.com/rooms/info/29405/…
bmike

1
Nie dodawaj odpowiedzi do tekstu pytania, zamiast tego opublikuj je jako odpowiedź poniżej.
nohillside

Mam te same problemy tutaj. Ponadto ikony dokumentów .tex są puste (ogólne). Być może te dwie kwestie są powiązane?
user11126

@ user11126 Proszę zobaczyć zaakceptowaną odpowiedź. Apple od wielu lat nie wykazuje motywacji do rozwiązania problemu. Zobacz zaakceptowaną odpowiedź i jej propozycję bez Spotlight. Podejście terminalowe działa znacznie lepiej. - - O drugiej rzeczy - być może nie zainstalowałeś MacTexa lub masz błąd w konfiguracji.
Léo Léopold Hertz

Odpowiedzi:


5

Jest to prawdopodobnie wynik korzystania z edytora / oprogramowania dla TEX-a, ponieważ nie potrzebujesz żadnego importera wyróżniającego do przetwarzania plików tekstowych. (Więc możesz po prostu usunąć niestandardowego importera aplikacji lub wybrać aktualizację / innego importera).

Zamiast zgadywać w sprawie - oto jak ustalić, gdzie leży problem. Edytor może zmieniać ** kMDItemContentType ** na taki, który nie jest indeksowany lub masz zawieszone rozszerzenie reflektora innej firmy. Oto skąd mam wiedzieć, co się dzieje (lub coś bardziej nieoczekiwanego):

A) Czy Spotlight indeksuje dowolny plik tekstowy po zmianie rozszerzenia z .txt na .tex?
B) Porównaj metadane plików, aby wiedzieć, co się dziejemdls


Aby przetestować A, otwórz Edycję tekstu i wklej jedno słowo do dokumentu: osteoporoza

W razie potrzeby przekonwertuj dokument na zwykły tekst (prawdopodobnie jest to tekst sformatowany) - Shift + Command + T (lub użyj menu formatowania - Utwórz zwykły tekst) i zapisz go na pulpicie jako plik.txt - Jeśli w menu formatowania jest napisane Bogate sformatowanie Tekst nie naciskaj klawiszy i po prostu zapisz dokument.

W tym momencie reflektor powinien natychmiast zobaczyć plik. Jeśli nie, masz problem z centrum uwagi, a nie problemy z plikiem .tex. Jest to bardzo podstawowy problem, jeśli reflektor jest zepsuty, aby nie indeksować plików tekstowych. Jeśli to zadziała, zmień rozszerzenie .txt na .tex i ponownie sprawdź reflektor.


W przypadku testu B - użyj mdlspolecenia, aby sprawdzić różnice w metadanych między plikiem a plikiem TextEdit, które działają w centrum uwagi. Zwróć szczególną uwagę na następujące pola:

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

Zmiana .txt na .tex powoduje zmianę tego (ponieważ nie mam aplikacji, która twierdzi, że rozszerzenie pliku .tex i mapuje je na klasyfikację usług uruchamiania / klasyfikacji reflektorów i właściwego kMDItemContentType / kMDItemKind w przeciwieństwie do ogólnego i ad / hoc rodzaj:

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

Oto krótki test, który możesz wyciąć / wkleić, jeśli Twoje umiejętności terminalowe nie są jeszcze rozwinięte. Skasowałoby to zawartość dowolnych nazw plików plik_testowy na pulpicie, więc wykonaj kopię zapasową, jeśli nie masz pewności przed wklejeniem poniższych poleceń:

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 

Te mdfindpolecenia są równoważne użyciu Spotlight, więc sprawdź, że poszukiwanie zacisk pasuje do wyszukiwania Spotlight w tym momencie.

Jako przypis, narzędzia te są potrzebne tylko do zdiagnozowania stopnia uszkodzenia, a nie zastępują w końcu wyszukiwania reflektorów. Tylko, że nie można zdiagnozować problemu z reflektorem tylko z użyciem reflektora. Możesz także chcieć oglądać dziennik konsoli podczas wykonywania czynności, ~/Desktopna wypadek, gdy pojawią się raporty o awariach lub inna diagnostyka punktowa podczas zaczepiania podsystemu.

Ponadto sprawy stają się nieprzyjemne, jeśli możesz przeszukać zwykły dokument tekstowy, ale nie tekstowy. W aktualizacji wspomniałeś, że pliki .tex są typu „org.tug.tex” - możesz przejrzeć bazę danych usług uruchamiania, aby dowiedzieć się, którzy importerzy rzeczy systemowych są odpowiedzialni za parsowanie tego pliku i usunięcie go (lub po prostu zrobić wykształcone zgadnij i tymczasowo usuń aplikacje TEX-a, aby zobaczyć, czy to „tymczasowo” naprawia reflektor).

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

Gdzie lsregisterjest dobrze ukryte narzędzie w / System - zobacz ten wątek na SuperUser, aby przeczytać o usługach uruchamiania: /superuser/323599/ i ten wątek tutaj: Zduplikowane wpisy w menu „Otwórz za pomocą” w Finderze nawet po przebudowaniu usług uruchamiania dla niektórych dziwnych rzeczy do wypróbowania. Jestem całkiem pewien, że uda mi się sprawdzić, co jest nie tak w twoim systemie w ciągu około 20 minut pokikowania, ale spisanie wszystkich możliwości w sposób dostępny dla ciebie i odgadnięcie części odpowiedzi okazuje się trudniejsze niż się spodziewałem.



Skontaktowałem się z programistą Textmate i chcę potwierdzić to roszczenie. Problem został odtworzony teraz także w El Capitan.
Léo Léopold Hertz 준영

4

Próbowałem odtworzyć problemy z programem Spotlight w konfiguracji maszyny wirtualnej w systemie Mac OS X 10.8.

Po zainstalowaniu MacTex-20150613 i zaktualizowaniu wszystkich komponentów (> 300), w tym TexShop i LaTeXiT, nie miałem problemów z wyszukiwaniem treści w plikach * .tex.

Po wejściu:

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

„Udało mi się” utracić możliwość wyszukiwania treści w plikach * .tex.

Aby odzyskać taką możliwość, wykonałem następujące czynności:

  • Zalogowałem się jako administrator Skopiowałem plik /Applications/TeX/TeXShop.app/Contents/Library/Spotlight/TeX.mdimporter do / Library / Spotlight / with

    sudo cp -R /Applications/TeX/TeXShop.app/Contents/Library/Spotlight/TeX.mdimporter  /Library/Spotlight/
    
  • Przygotowałem reindeksowanie mojego systemu, najpierw przechodząc do folderu /.Spotlight-V100 (w pasku narzędzi Findera -> Idź -> Idź do folderu ... i wpisz /.Spotlight-V100) i przenosząc wszystkie pliki i foldery w tym folderze do kosza. Aby to zrobić, musisz wprowadzić hasło administratora. Jeśli nie uda się wprowadzić folderu, zaloguj się jako root (może być konieczne włączenie roota za pomocą / System / Library / CoreServices / Directory Utility.app) i usunięcie zawartości folderu jako root.
  • Uruchom ponownie komputer Mac
  • Zalogowany jako administrator i opróżnił kosz. Ponowne indeksowanie rozpocznie się automatycznie.

Ciągłe sprawdzanie wszystkich istotnych informacji, takich jak atrybuty plików lub usługi uruchamiania w różnych stanach systemu (z kilkoma migawkami VM) za pomocą mdls , xattr i innych narzędzi, nie ujawniło niczego interesującego ani podejrzanego.


Powtórzyłem wszystkie powyższe kroki dokładniej na nowej maszynie wirtualnej i użyłem mdimport -d3do sprawdzenia zachowania Spotlight.

W waniliowym Mac OS X plik .tex jest poprawnie importowany za pomocą importera 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. 

Znaleziono treść (słowa kluczowe).

To samo dotyczy Mac OS X po zainstalowaniu, ale nie uruchomieniu jednego z aplikacji Tex.apps, importer zmienił jednak na 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 

Po uruchomieniu Tex.app (w moim przypadku TeXShop) importer używa domyślnego TeX.mdimportera znajdującego się w głębi pakietu 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 

Po zaktualizowaniu MacTex-20150613, w tym TexShop i LaTeXiT, indeksowanie jest całkowicie zepsute:

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.

Utracono prawidłową ścieżkę do wtyczki TeX.mdimporter (wewnątrz TexShop) i zniknęła możliwość indeksowania nowego pliku * .tex. Inne wtyczki, takie jak dyn.random lub RichText.mdimporter, prawdopodobnie nie wkraczają, ponieważ nie indeksują plików typu „public.tex”. Wyszukiwanie treści w (przynajmniej nowych) plikach .tex nie jest już możliwe.

Po skopiowaniu TeX.mdimporter do / Library / Spotlight indeksowanie zawartości jest przywracane:

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 

Aby poprawnie reindeksować wszystkie pliki .tex (szczególnie te, w których nie można przeszukiwać słów kluczowych w treści), musisz odbudować bazę danych reflektorów (sprawdź pierwszą część mojej odpowiedzi) lub zmienić daty modyfikacji wszystkich plików .tex, aby zainicjować ich ponowne indeksowanie .


Ciekawy. Czy importer musi przeprowadzić wyszukiwanie pełnotekstowe? Samo usunięcie importera powinno pozwolić spotlightowi zwykłego tekstu przetworzyć wszystkie pliki, prawda? (i mimo to ogromna +1 - świetna robota)
bmike

Jestem w stanie przeszukać wszystkie moje pliki bez specjalnego importera, ale nie uruchamiam już 10,8 ... dzięki @klanomath
bmike

@Masi co robi mdutil -s ~/Dropboxlub jeśli pojawia się błąd podczas wykonywania pierwszego polecenia sudo mdutil -s ~/Dropbox?
klanomath

@Masi Chociaż jest to komunikat o błędzie, nie jest to błąd „bash” podczas wykonywania polecenia spowodowany brakiem uprawnień (co miałem na myśli z błędem). To komunikat o błędzie informujący, że mdutilnie można zindeksować folderu Dropbox. Jak wymieniasz (dl / ul) lub gdzie przechowujesz swoje pliki .tex? W folderze Dropbox?
klanomath

@Masi Disc2 to drugi tom lub aplikacja / usługa w chmurze, taka jak Dropbox?
klanomath

4

Oto jak rozwiązałem ten problem.

Uwaga. To wciąż działa, odkąd po raz pierwszy opublikowałem rozwiązanie. W tym czasie korzystałem z Mac OS 10.11.5 i TeXShop 3.62; teraz jest to Mac OS 10.12.3 i TeXShop 3.77. Do edycji plików .plist (jak wyjaśniono poniżej) używam Xcode.

Po pierwsze, używając mdlspolecenia, stwierdziłem, że wszystkie moje pliki .tex zgłosiły się kMDItemContentType = “public.tex”(jeśli Twój system raportuje inaczej, musisz odpowiednio zmodyfikować poniższe instrukcje).

Więc otworzyłem TeXShop> Zawartość (klikając TeXShop prawym przyciskiem myszy i wybierając Pokaż zawartość pakietu). Zmieniłem Info.plist, dodając public.tex jako typ zawartości dokumentu UTI w następujący sposób (patrz wiersz zaznaczony na niebiesko):

edycja info.plist

Następnie przystąpiłem do zmiany Info.plist w TeXShop> Contents> Library> Spotlight> TeX.mdimporter> Contents (wykonaj Pokaż zawartość pakietu TeX.mdimporter). Tak jak powyżej, dodałem public.tex w odpowiednich miejscach. Zobacz następne zdjęcie:

edycja Info.plist w TeX.mdimporter

Następnie Spotlight przeszukuje zawartość plików .tex.


Byłoby wspaniale uzyskać jedną linię, aby to lepiej zrozumieć. Nie potwierdzono jeszcze, jak to działa.
Léo Léopold Hertz -

Chciałbym, abyś pokazał nam zwykły edytor tekstu; tabela Xcode jest trochę myląca.
Dellu,

W końcu znów pracujemy nad Sierra! Co za ulga!
Florian

2

Wydaje się, że jest to problem z importem Spotlight MetaData. Brakująca, uszkodzona lub uszkodzona ścieżka do wtyczki „Spotlight” zainstalowanej przez pakiet „TexLive”.

Dane wyjściowe „mdimport -L” na mojej maszynie zawierają wiersz:

„/ Aplikacje / TeX / TeX Live Utility.app/Contents/Library/Spotlight/DVIImporter.mdimporter”

Nie widzę podobnego wiersza w twoich wynikach. Dobrym rozwiązaniem może być ponowna instalacja dystrybucji „TeX Live” z The MacTeX-2015 Distribution pod adresem : https://www.tug.org/mactex/, co powinno poprawić uszkodzoną ścieżkę mdimport.

mactex-20150613.pkg


3
Nie używaj skróconych linków - zaciemniają one cel podróży.
grg

Ponowne indeksowanie nie rozwiązało problemu.
Léo Léopold Hertz -

1

Jeśli możesz być bez Spotlight

Jeśli chcesz uzyskać listę plików, a następnie przejrzyj każdy z nich osobno.

Jeśli chcesz uzyskać wszystkie nazwy plików i dopasowania w tym samym widoku, użyj do wyszukiwania wszystkich plików w katalogu Time..., przechodząc rekurencyjnie

  • pliki / pliki dowiązane symbolicznie [fd0]

    find -L . -type d -path './Time*' \ 
        -exec grep -d "recurse" series {} + | 
    cut -c -80
    
  • Pliki .tex bez spacji w kataloguNazwy ( źródło )

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

Jeśli w centrum uwagi

Tymczasową poprawką jest używanie dokumentów .txt zamiast dokumentów .tex w niektórych folderach, ponieważ jest to stabilne rozwiązanie

cat *.tex > summary_all.txt

Inne próby

  • Próbuję znaleźć terminala podejście do wyszukiwania plików .tex tutaj o , aby otworzyć Znajdowanie zaowocowała ścieżkę, kliknij w przeglądarce?
  • Próbuję zastąpić mdfind tutaj o tym, jak zastąpić mdfind jakimkolwiek innym narzędziem .tex?

1
Jak przeszukiwać rekursywnie plik? Jeśli dobrze cię rozumiem, możesz przerzucić obie swoje instrukcje find do jednegofind -L . -type d -path './Time*' -exec grep -d "recurse" series {} +
fd0

0

Jeśli nie możesz znaleźć bardziej pożądanego rozwiązania, zawsze możesz spróbować mdfind.
Rozumiem, że to odpowiednik CLI Spotlight . Używam go często i uważam, że jest bardzo pomocny.
Aby z niego skorzystać, wystarczy otworzyć natywną aplikację Terminal.app , a następnie wpisać polecenie i argument w następujący sposób:

username@hostname:~$ mdfind osteoporosis.tex

Alternatywnie, jeśli nie znasz tytułu; możesz po prostu wyświetlić listę wszystkich plików LaTeX za pomocą:

username@hostname:~$ mdfind .tex

Istnieje prawdopodobieństwo, że te zapytania pasują do podobnych ciągów, np. „.Text”, w takim przypadku użyj:

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

I / lub prościej: (To prawdopodobnie najlepsza opcja w twojej sytuacji :)

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

Dołączając | grep '\.tex$'do polecenia, zasadniczo uruchamia wyniki przez inny filtr, usuwając nazwy plików, które nie zawierają rozszerzenia LaTeX; „.tex” na końcu łańcucha.


FYI: Niektóre typy plików nie pozwalają Spotlight imdfindidentyfikować lub lokalizować ich na podstawie ich zawartości . To dlatego, że Spotlight może indeksować tylko te typy plików, o których wie. Apple udostępnia niektóre wtyczki do indeksowania najpopularniejszych typów plików, ale nie wszystkie. Najwyraźniej dokopii MacTexa powinien byćdołączony importer LaTeX Spotlight, ale jeśli jest uszkodzony, brakuje go lub jest nieodpowiedni, możesz go znaleźć tutaj: http://wiesmann.codiferes.net/wordpress/?page_id=262


Również tutaj z LyX dla Mac OS X:
http://wiki.lyx.org/Mac/Spotlight/
I w pakiecie z TeXShop tutaj:
http://pages.uoregon.edu/koch/texshop/


Dyskusję można znaleźć na chat.stackexchange.com/rooms/29405 /... i tam iz powrotem na to pytanie.
bmike

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.