Bagaimana cara mencari LaTeX -dokumen di Spotlight?


12

Saya telah mereproduksi masalah sekarang juga di El Capitan dengan komponen baru (motherboard, 3x SSD) di Macbook Air 2013-mid saya. Saya sudah menginstal bersih OS X (El Capitan, Yosemite) saat melakukan tes. OS X terbaru tempat pencarian .tex bekerja adalah 10.8.5 di Spotlight. Saya tidak melihat dokumen .tex dalam pencarian Spotlight saya saat ini. Tes

  • Tidak ada jawaban saat ini yang menyelesaikan masalah secara permanen. Di Yosemite, masalahnya menjadi kembali setelah beberapa saat dengan beberapa jawaban. Tidak ada solusi stabil dan sedikit pemahaman tentang apa yang menjadi penyebab masalah.

Pilihan konfigurasi Pengaturan tidak relevan di Spotlight karena kita dapat menggunakan langsung perintah mdfinddi terminal, yang setara dengan Spotlight. Namun, kami telah mencoba pengaturan Default, minimal, dan Full di Spotlight. Untuk pengujian, kami menggunakan Pengaturan default di OS X. Sistem dan Aplikasi

  • Sistem OS X Yosemite, OS X El Capitan
  • TexShop.app diinstal. (MacTeX 2015, mactex-20150613.pkg).
  • Aplikasi Tex: TextMate2-beta8
  • Spotlight / Finder / aplikasi pencarian apa pun tidak berfungsi dengan file TeX dan MacTeX 2015
  • Spotlight berfungsi seperti yang diharapkan dengan beberapa pengaturan berbeda dan juga dengan MacTeX 2015.

Perintah mdfind(versi 10 Juni 2004) setara dengan pencarian Spotlight sehingga tes sederhana yang mengembalikan apa pun tidak berhasil di sistem saya

mdfind sulfas | grep tex

Saya pikir masalahnya adalah bahwa sistem tidak mengenali format file .tex`. Hal pertama adalah membuat sistem mengenalinya.

Saran tjt263 untuk mencari hanya tex di Finder / Spotlight

Output dari Spotlight .texatau perintah terminal memberikan tex-file dengan benar di sistem saya. Namun, menggabungkannya dengan istilah lain seperti, oleh .tex diabetes, tidak memberikan file-tex lagi. Importir diperoleh dengan 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"
)

tes bmikes

File notes.tex tidak dapat dicari di Finder. Saya mengubahnya ke notes.txt yang sekarang dapat saya cari di Finder. Ini mengusulkan saya yang tidak mencari -Program masalah (Spotlight, md ..., apa pun yang Anda gunakan, seperti yang saya jelaskan berkali-kali dalam komentar). Jadi tex -masalah dalam sistem. Output dari file yang sama tetapi dengan dua ujung yang berbeda. Output dari 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

Output dari tex -file:

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

Perintah yang diinginkan:

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"

Alat Diagnostik Saat Ini Menggunakan dan Membahas dalam Obrolan

Perintah yang disembunyikan dengan baik dari Apakah mungkin untuk meminta database layanan peluncuran untuk aplikasi yang akan membuka file sewenang-wenang atau jenis UTI?

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

Kami menemukan bahwa TeXShop MacTeX 2015 tidak memiliki TeX.mdimporter. Menginstal ini memberi pada baris terakhir dari mdimport -L:

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

Percobaan yang gagal dengan Patrix

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

setelah itu rm ~/Library/Spotlight/TeX.mdimporterdan kami mengatur ulang indeks Spotlight dengan memindahkan HardDisc ke Prevent -panel dan dengan cepat menghapusnya, jadi sekarang luangkan waktu untuk mengindeks sistem.

hasil jawaban klanomath yang bekerja satu hari sampai kembali ke keadaan buruk

Saya mendapatkan beberapa file .tex dalam mdfind. Setelah satu hari digunakan dari init proposal ini, kondisinya kembali ke keadaan buruk:

  • pencarian osteoporosis mengembalikan file yang sama seperti satu hari yang lalu, tetapi saya perhatikan bahwa file-file itu, yang belum terlihat dalam kecocokan pencarian baru-baru ini dan cukup lama ketika terakhir kali diedit, tidak terlihat dalam pencarian
  • hanya file yang baru diedit yang ditampilkan, dan sebenarnya kadang-kadang bahkan file berumur 3,5 bulan ditampilkan

Berlari 18:25:06:~:masi$ /usr/bin/mdimport -d3 /Users/masi/Dropbox/Internal\ Diseases/24.9.2015.texdan berlari

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

Tebak tentang asal mula masalah: /Volumes/Disc/.Spotlight-V100 / ...

Saya menyelidiki dinamika memori pada titik waktu yang berbeda dengan fdupes -rd /Volumes/Disc2/, sampel berikut adalah selama pengindeksan:

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

di mana konten file adalah dua baris kosong. Anda melihat banyak entri duplikat yang dibuat oleh Spotlight untuk indeksnya. Indeks Spotlight memiliki banyak duplikat di banyak titik fungsinya. Saya juga mempelajari perilaku ini di berbagai media. Ada banyak file tiruan / duplikat yang dibuat selama pengindeksan dan selama periode stabil saat pengindeksan dilakukan. Saya pikir Apple telah melakukan pekerjaan buruk dalam mendesain indeks yang digunakan Spotlight.


Bagaimana Anda bisa mencari dokumen LaTeX dengan mdfind / Spotlight / Finder?


Karena A) ini adalah pertanyaan yang bagus karena dipersulit oleh titik temu sorotan, tipe file, dan peluncuran basis data layanan b) ini membutuhkan banyak bolak-balik, saya telah membuat ruang obrolan untuk membahas masalah / beralih pada pemecahan masalah sehingga posting tidak menjadi lebih berantakan dari yang dibutuhkan. chat.stackexchange.com/rooms/info/29405/…
bmike

1
Tolong jangan menambahkan jawaban ke teks pertanyaan, sebagai gantinya posting sebagai jawaban di bawah ini.
nohillside

Memiliki masalah yang sama di sini. Di atasnya, ikon untuk dokumen .tex adalah yang kosong (generik). Mungkin kedua isu tersebut saling terkait?
user11126

@ user11126 Silakan, lihat jawaban yang diterima. Apple telah menunjukkan tidak ada motivasi untuk menyelesaikan masalah selama bertahun-tahun. Lihat jawaban yang diterima dan usulannya tanpa Spotlight. Pendekatan terminal bekerja jauh lebih baik. - - Tentang hal kedua - Anda mungkin belum menginstal MacTex atau Anda memiliki bug dalam konfigurasi.
Léo Léopold Hertz 준영

Jawaban:


5

Kemungkinan ini merupakan hasil dari editor / perangkat lunak untuk TEX yang Anda gunakan karena Anda tidak memerlukan importir sorotan untuk memproses file teks biasa. (Jadi Anda bisa menghapus importir khusus aplikasi Anda atau memilih pembaruan / importir berbeda).

Daripada menebak kasus ini - inilah cara untuk menentukan di mana masalahnya berada. Editor dapat mengubah ** kMDItemContentType ** menjadi yang tidak diindeks atau Anda memiliki ekstensi sorotan pihak ketiga yang mogok. Begini cara saya tahu yang mana (atau sesuatu yang lebih tidak terduga) terjadi:

A) Apakah sorotan mengindeks file teks sewenang-wenang ketika Anda mengubah ekstensi dari .txt ke .tex?
B) Bandingkan metadata untuk file untuk mengetahui apa yang terjadi menggunakanmdls


Untuk menguji A, buka Edit Teks dan rekatkan satu kata ke dalam dokumen: osteoporosis

Jika perlu, konversikan dokumen menjadi teks biasa (mungkin teks kaya) - Shift + Command + T (atau gunakan menu format - Make Plain Text) dan simpan ke desktop Anda sebagai file.txt - Jika menu format mengatakan Make Rich Teks maka jangan tekan tombol dan simpan dokumen.

Pada titik itu, sorotan harus segera melihat file. Jika tidak, Anda memiliki masalah sorotan dan bukan masalah file .tex. Ini adalah masalah yang sangat mendasar jika sorotan Anda rusak agar tidak mengindeks file teks biasa. Jika berhasil, maka ubah ekstensi .txt ke .tex dan periksa kembali sorotan.


Untuk pengujian B - gunakan mdlsperintah untuk memeriksa perbedaan metadata antara file Anda dan file TextEdit yang bekerja dengan sorotan. Perhatikan bidang-bidang berikut:

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

Mengubah .txt ke .tex menyebabkan perubahan pada ini (karena saya tidak punya aplikasi yang mengklaim ekstensi file .tex dan memetakannya ke layanan peluncuran / klasifikasi lampu sorot dan kMDItemContentType / kMDItemKind yang tepat sebagai lawan dari generik dan ad / hoc Tipe:

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

Berikut adalah tes singkat yang dapat Anda potong / rekatkan jika keterampilan terminal Anda belum dikembangkan. Itu akan menghapus konten nama file test_file di desktop Anda jadi buat cadangan jika Anda tidak yakin sebelum menempelkan perintah di bawah ini:

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 

The mdfindperintah adalah setara dengan menggunakan Spotlight, jadi bahwa pencarian terminal sesuai dengan pencarian sorotan pada saat itu.

Sebagai catatan kaki, alat-alat ini hanya diperlukan untuk mendiagnosis tingkat kerusakan dan bukan pengganti pencarian sorotan pada akhirnya. Hanya saja Anda tidak dapat mendiagnosis masalah sorotan dengan sorotan saja. Juga, Anda mungkin ingin menonton log konsol saat Anda melakukan langkah-langkah ~/Desktopjika ada laporan kerusakan atau diagnostik sorotan lainnya yang terjadi saat Anda melihat-lihat subsistem.

Selain itu, segala sesuatunya menjadi buruk dengan cepat jika Anda dapat mencari dokumen teks biasa tetapi bukan dokumen teks. Dalam pembaruan Anda, Anda menyebutkan bahwa file .tex bertipe "org.tug.tex" - Anda dapat menjelajahi basis data layanan peluncuran untuk mengetahui importir apa yang bertanggung jawab atas sistem dalam mem-parsing file ini dan menghapusnya (atau hanya membuat tebakan terpelajar dan hapus sementara aplikasi TEX untuk melihat apakah itu "memperbaiki" sorotan sementara).

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

Di mana lsregisterada alat yang tersembunyi di / System - lihat utas ini di SuperUser untuk membaca tentang layanan peluncuran: /superuser/323599/ dan utas ini di sini: Entri duplikat di menu "Buka Dengan" di Finder bahkan setelah membangun kembali Layanan Peluncuran untuk beberapa hal yang aneh untuk dicoba. Saya cukup percaya diri saya bisa membahas apa yang salah pada sistem Anda dalam sekitar 20 menit, tetapi menuliskan semua kemungkinan dengan cara yang dapat diakses oleh Anda dan menebak sedikit jawaban terbukti lebih sulit dari yang saya harapkan.



Saya menghubungi pengembang Textmate dan ingin mengkonfirmasi klaim ini. Masalahnya direproduksi sekarang juga di El Capitan.
Léo Léopold Hertz 준영

4

Saya mencoba mereproduksi masalah Spotlight Anda dalam pengaturan mesin virtual dengan Mac OS X 10.8.

Setelah menginstal MacTex-20150613 dan memperbarui semua komponen (> 300) termasuk TexShop dan LaTeXiT saya tidak punya masalah mencari konten dalam file * .tex.

Setelah masuk:

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

Saya "berhasil" kehilangan kemampuan untuk mencari konten dalam file * .tex.

Untuk mendapatkan kembali kemampuan untuk melakukannya saya melakukan yang berikut:

  • Masuk sebagai admin saya menyalin file / Aplikasi / Tech / TechShop.app/Contents/Library/Spotlight/TeX.mdimporter ke / Library / Spotlight / dengan

    sudo cp -R /Applications/TeX/TeXShop.app/Contents/Library/Spotlight/TeX.mdimporter  /Library/Spotlight/
    
  • Mempersiapkan pengindeksan ulang sistem saya dengan pertama-tama pergi ke folder /.Spotlight-V100 (di menu Finder -> Go -> Go to Folder ... dan masukkan /.Spotlight-V100) dan pindahkan semua file dan folder di folder ini. ke tempat sampah. Anda harus memasukkan kata sandi admin Anda untuk melakukannya. Jika Anda gagal memasukkan folder log in sebagai root (Anda mungkin harus mengaktifkan root terlebih dahulu menggunakan / System / Library / CoreServices / Directory Utility.app) dan menghapus konten folder sebagai root.
  • Reboot Mac
  • Masuk sebagai admin dan mengosongkan tempat sampah. Pengindeksan ulang akan dimulai secara otomatis.

Terus-menerus memeriksa semua informasi yang relevan seperti atribut file atau meluncurkan layanan di berbagai kondisi sistem (dengan beberapa snapshot VM) menggunakan mdl , xattr dan alat-alat lain tidak mengungkapkan sesuatu yang menarik atau mencurigakan.


Saya telah mengulangi semua langkah di atas dengan lebih menyeluruh dalam VM baru dan digunakan mdimport -d3untuk memeriksa perilaku Spotlight.

Dalam vanilla Mac OS X file .tex diimpor dengan benar menggunakan import 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. 

Konten (kata kunci) ditemukan.

Hal yang sama berlaku untuk Mac OS X setelah menginstal tetapi tidak memulai salah satu dari Tex.apps, importir berubah menjadi 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 

Setelah memulai Tex.app (dalam kasus saya TeXShop), importir menggunakan TeX.mdimporter default yang berada di kedalaman bundel 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 

Setelah memperbarui MacTex-20150613 termasuk TexShop dan LaTeXiT pengindeksan benar-benar rusak:

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.

Jalur yang tepat ke plugin TeX.mdimporter (di dalam TexShop) hilang dan kemampuan untuk mengindeks file * .tex baru menghilang. Plugin lain seperti dyn.random atau RichText.mdimporter tidak masuk mungkin karena mereka tidak mengindeks file bertipe 'public.tex'. Pencarian konten di (setidaknya baru) file .tex tidak mungkin lagi.

Setelah menyalin TeX.mdimporter ke / Perpustakaan / pengindeksan konten Spotlight dikembalikan:

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 

Untuk mengindeks ulang semua file .tex dengan benar (terutama yang kata kunci konten tidak dapat dicari), Anda harus membangun kembali database sorotan (periksa bagian pertama dari jawaban saya) atau mengubah tanggal modifikasi semua file .tex untuk memulai pengindeksan ulang file .tex .


Menarik. Apakah importir perlu melakukan pencarian teks lengkap? Hanya menghapus importir harus membiarkan sorotan teks biasa memproses semua file, bukan? (dan +1 besar - pekerjaan hebat)
bmike

Saya dapat mencari semua file saya tanpa importir khusus, tapi saya tidak menjalankan 10.8 lagi ... terima kasih @klanomath
bmike

@Masi apa yang dilakukan mdutil -s ~/Dropboxatau jika Anda mendapatkan kesalahan saat menjalankan sudo mdutil -s ~/Dropboxtampilan perintah pertama ?
klanomath

@Masi Meskipun itu adalah pesan kesalahan, itu bukan kesalahan "bash" mengeksekusi perintah yang disebabkan oleh izin yang hilang (yang saya maksud dengan kesalahan). Ini adalah pesan kesalahan yang mengatakan bahwa mdutiltidak dapat mengindeks folder dropbox Anda. Bagaimana Anda bertukar (dl / ul) atau di mana Anda menyimpan file .tex Anda? Di folder Dropbox?
klanomath

@Masi Disc2 adalah volume kedua atau aplikasi / layanan cloud seperti Dropbox?
klanomath

4

Inilah cara saya memecahkan masalah ini.

Catatan. Ini masih berfungsi sejak saya pertama kali memposting solusinya. Saat itu saya menggunakan Mac OS 10.11.5 dan TeXShop 3.62; sekarang Mac OS 10.12.3 dan TeXShop 3.77. Untuk mengedit file .plist (seperti yang dijelaskan di bawah) saya menggunakan Xcode.

Pertama, menggunakan mdlsperintah, saya menemukan bahwa semua file .tex saya dilaporkan kMDItemContentType = “public.tex”(Jika sistem Anda melaporkan berbeda, maka Anda harus memodifikasi instruksi berikut.)

Jadi saya membuka TeXShop> Contents (dengan mengklik kanan TeXShop dan memilih Show Package Contents). Saya mengubah Info.plist dengan menambahkan public.tex sebagai Konten Dokumen Tipe UTI sebagai berikut (lihat baris yang disorot dengan warna biru):

mengedit info.plist

Kemudian saya melanjutkan untuk mengubah Info.plist di TeXShop> Contents> Library> Spotlight> TeX.mdimporter> Contents (jalankan Show Package Contents of TeX.mdimporter). Sama seperti di atas, saya menambahkan public.tex di tempat yang tepat. Lihat gambar selanjutnya:

mengedit Info.plist dari TeX.mdimporter

Setelah ini, Spotlight mencari konten file .tex.


Akan sangat bagus untuk mendapatkan satu baris untuk ini untuk memahaminya dengan lebih baik. Belum ada konfirmasi tentang cara kerjanya.
Léo Léopold Hertz 준영

Saya harap Anda menunjukkan kepada kami dengan editor teks biasa; tabel Xcode agak membingungkan.
Dellu

Akhirnya bekerja lagi di Sierra! Apa yang lega!
Florian

2

Ini tampaknya menjadi masalah dengan impor Spotlight MetaData. Jalur yang hilang, rusak atau rusak ke "Spotlight Plugin" diinstal oleh paket "TexLive".

Output dari "mdimport -L" pada mesin saya termasuk baris:

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

Saya tidak melihat garis serupa di output Anda. Solusi yang bagus untuk Anda mungkin menginstal ulang distribusi "TeX Live", dari Distribusi MacTeX-2015 di: https://www.tug.org/mactex/ ini akan memperbaiki jalur mdimport Anda yang rusak.

mactex-20150613.pkg


3
Jangan gunakan tautan yang diperpendek — itu mengaburkan tujuan.
grg

Pengindeksan ulang tidak memecahkan masalah.
Léo Léopold Hertz 준영

1

Jika Anda bisa tanpa Spotlight

Jika Anda ingin mendapatkan daftar file dan jelajahi masing-masing file secara terpisah.

Jika Anda ingin mendapatkan semua nama file dan kecocokan dalam tampilan yang sama, gunakan untuk mencari semua file di Direktori Time...dengan melintasi secara rekursif

  • file / file yang disinkronkan [fd0]

    find -L . -type d -path './Time*' \ 
        -exec grep -d "recurse" series {} + | 
    cut -c -80
    
  • File .tex tanpa spasi di directoryNames ( sumber )

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

Jika Spotlight

Perbaikan sementara adalah dengan menggunakan dokumen .txt daripada dokumen .tex di beberapa folder karena ini merupakan solusi yang stabil

cat *.tex > summary_all.txt

Upaya lain

  • Saya mencoba menemukan pendekatan terminal untuk mencari file .tex di sini tentang Untuk Membuka Cari, dihasilkan PATH dengan Klik di Penampil?
  • Saya mencoba untuk mengganti di mdfind sini tentang Cara Mengganti mdfind dengan alat lain untuk .tex?

1
Bagaimana Anda melakukan pencarian rekursif pada file? Jika saya memahami Anda dengan benar, maka Anda dapat menggulung kedua pernyataan temuan Anda menjadi satufind -L . -type d -path './Time*' -exec grep -d "recurse" series {} +
fd0

0

Jika Anda tidak dapat menemukan solusi yang lebih diinginkan, Anda selalu dapat mencoba mdfind.
Saya mengerti itu adalah mitra CLI Spotlight . Saya sering menggunakannya dan merasa cukup membantu.
Untuk menggunakannya, cukup buka Terminal.app asli , lalu ketik perintah & argumen seperti:

username@hostname:~$ mdfind osteoporosis.tex

Atau, jika Anda tidak tahu judulnya; Anda cukup daftar semua file LaTeX dengan:

username@hostname:~$ mdfind .tex

Ada kemungkinan kueri ini cocok dengan string serupa, yaitu '.text', dalam hal ini gunakan:

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

Dan / atau lebih sederhana: (Ini mungkin pilihan terbaik untuk situasi Anda :)

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

Menambah | grep '\.tex$'perintah, pada dasarnya menjalankan hasil melalui filter lain, menghapus semua nama file yang tidak mengandung ekstensi LaTeX; '.tex', di akhir string mereka.


FYI: Beberapa tipe file sepertinya tidak mengizinkan Spotlight &mdfindmengidentifikasi atau menemukan mereka berdasarkan isinya . Itu karena Spotlight hanya bisa mengindeks tipe file yang diketahuinya. Apple menyediakan beberapa plugin untuk mengindeks tipe file yang paling umum, tetapi tidak semuanya. Tampaknya harus ada importir LaTeX Spotlight yang disertakan dengan salinan MacTex Anda, tetapi jika rusak, hilang atau tidak memadai, Anda dapat menemukan yang hebat di sini: http://wiesmann.codiferes.net/wordpress/?page_id=262


Juga di sini dari LyX untuk Mac OS X:
http://wiki.lyx.org/Mac/Spotlight/
Dan digabungkan dengan TeXShop di sini:
http://pages.uoregon.edu/koch/texshop/


Lihat chat.stackexchange.com/rooms/29405/… untuk diskusi dan bolak-balik tentang pertanyaan ini.
bmike

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.