Spotlight'ta LaTeX belgelerini nasıl arayabilirim?


12

Sorunu şimdi El Capitan'da da Macbook Air 2013 ortalamamdaki yeni bileşenlerle (anakart, 3x SSD) yeniden ürettim. Testi yaparken OS X'in (El Capitan, Yosemite) temiz kurulumunu yaptım. .Tex aramasının çalıştığı en son OS X, Spotlight'ta 10.8.5'tir. Şu anda Spotlight aramamda .tex belgesi görmüyorum. Testler

  • Güncel bir cevap sorunu kalıcı olarak çözmez. Yosemite'de, sorun bir süre sonra bazı cevaplarla geri döndü. Kararlı bir çözüm yoktur ve sorunun nedeninin ne olduğunu çok az anlamak.

Ayarlar yapılandırmalarının seçimi Spotlight'ta geçerli değildir, çünkü mdfindterminaldeki Spotlight'a eşdeğer olan komutu doğrudan kullanabiliriz . Ancak Spotlight'ta Varsayılan, minimum ve Tam ayarları denedik. Testler için OS X'te varsayılan Ayarları kullanıyoruz. Sistem ve Uygulamalar

  • Sistemler OS X Yosemite, OS X El Capitan
  • TexShop.app yüklü. (MacTeX 2015, mactex-20150613.pkg).
  • Tex Uygulaması: TextMate2-beta8
  • Spotlight / Finder / herhangi bir arama uygulaması TeX dosyaları ve MacTeX 2015 ile çalışmaz
  • Spotlight, bazı farklı ayarlarla ve ayrıca MacTeX 2015 ile beklendiği gibi çalışır.

Komut mdfind(10 Haziran 2004 sürümü) Spotlight aramasına eşdeğerdir, bu yüzden sistemimde başarısız bir şey döndürmeyen basit bir test

mdfind sulfas | grep tex

Bence sistem dosya formatı .tex`i tanımıyor. İlk şey, sistemin onu tanımasını sağlamaktır.

tjt263'un Finder / Spotlight'ta yalnızca .tex'i arama önerisi

Çıktısı Spotlight .texveya terminal komutu sistemimde tex-dosyalarını doğru bir şekilde verir. Bununla birlikte, artık diğer terimlerle birleştirildiğinde .tex diabetesartık tex dosyası verilmiyor. İthalatçı 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 testleri

Notes.tex dosyası Finder'da aranamaz. Bunu artık Finder'da arayabileceğim notes.txt olarak değiştiriyorum. Bu bana arama-program sorunu (Spotlight, md ..., ne kullanırsanız yapın, yorumlarda birçok kez açıkladığım gibi) olmadığını önerir. Yani sistemde tex problemi. Aynı dosyanın çıktıları iki farklı sonda. Txt -file çıktısı:

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

Tex -file çıktısı:

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

İstenen komutlar:

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"

Sohbette Kullanarak ve Tartışırken Güncel Tanılama Araçları

İyi gizli komut, rasgele dosya veya UTI türü açacak uygulamalar için başlatma hizmetleri veritabanını sorgulamak mümkün mü?

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

MacTeX 2015'in TeXShop'unda TeX.mdimporter bulunmadığını tespit ettik. Bunu yüklemek son satırda verir mdimport -L:

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

Patrix ile başarısız deneme

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

bundan sonra rm ~/Library/Spotlight/TeX.mdimporterve HardDisc'i Önleme paneline taşıyarak ve hızlı bir şekilde kaldırarak Spotlight dizinini sıfırladık, böylece sistemi dizine eklemek biraz zaman aldı.

klanomath'ın kötü duruma dönene kadar bir gün çalışan cevap sonuçları

Mdfind içinde bazı .tex dosyalarını kararsız alıyorum. Bu teklifin başlangıcından bir günlük kullanımdan sonra, durum kötü duruma geri döndü:

  • osteoporoz araması bir gün önce aynı dosyaları döndürür, ancak son zamanlarda arama eşleşmelerinde görünmeyen ve son düzenleme yapıldığında yeterince uzun bir süre bu dosyaların aramada görünmediğini fark ettim
  • yalnızca yakın zamanda düzenlenen dosyalar gösteriliyor ve hatta bazen 3.5 aylık dosyalar gösteriliyor

Koşu 18:25:06:~:masi$ /usr/bin/mdimport -d3 /Users/masi/Dropbox/Internal\ Diseases/24.9.2015.texve alma

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

Sorunun kaynağını tahmin edin: /Volumes/Disc/.Spotlight-V100 / ...

Farklı zaman noktalarında belleğin dinamiklerini araştırdım, fdupes -rd /Volumes/Disc2/aşağıdaki örnek indeksleme sırasında:

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

burada dosya içeriği iki boş satırdır. Dizini için Spotlight tarafından oluşturulan birçok yinelenen giriş görürsünüz. Spotlight'ın indeksi, işleyişinin birçok noktasında çok sayıda kopyaya sahiptir. Bu davranışı farklı ortamlarda da inceledim. İndeksleme sırasında ve indekslemenin yapıldığı sabit süre boyunca oluşturulan çok sayıda sahte / yinelenen dosya vardır. Apple'ın Spotlight'ın kullandığı endeksi tasarlamak için kötü çalışmalar yaptığını düşünüyorum.


Mdfind / Spotlight / Finder ile LaTeX belgelerinde nasıl arama yapabilirsiniz?


A) bu, spot ışığın, dosya türlerinin ve başlatma hizmetleri veritabanının kesişimi ile karmaşık olması nedeniyle iyi bir soru olduğundan b) ileri geri çok fazla ihtiyaç duyuyor, sorunu tartışmak için bir sohbet odası yaptım / sorun giderme konusunda yineleme yaptım böylece yayınlar gerekenden daha dağınık hale gelmez. chat.stackexchange.com/rooms/info/29405/…
bmike

1
Lütfen soru metnine cevaplar eklemeyin, bunun yerine aşağıda bir cevap olarak gönderin.
nohillside

Burada aynı sorunları yaşıyorum. Bunun üzerine, .tex belgelerinin simgeleri boş (genel) simgelerdir. Belki de iki konu birbiriyle ilişkilidir?
user11126

@ user11126 Lütfen kabul edilen cevaba bakınız. Apple, sorunu yıllarca çözmek için hiçbir motivasyon göstermedi. Kabul edilen yanıtı ve teklifini Spotlight olmadan görün. Terminal yaklaşımı çok daha iyi çalışır. - - İkinci şey hakkında - MacTex'i yüklememiş olabilirsiniz veya yapılandırmada bir hata var.
Léo Léopold Hertz 준영

Yanıtlar:


5

Bu, büyük metin dosyalarını işlemek için herhangi bir spot ithalatçıya ihtiyacınız olmadığından, kullandığınız TEX için editör / yazılımın bir sonucudur. (Böylece uygulamanızın özel ithalatçısını silebilir veya bir güncelleme / farklı ithalatçı seçebilirsiniz).

Durumda tahmin etmek yerine - sorunun nerede yattığı burada. Editör, ** kMDItemContentType ** ürününü dizine eklenmemiş bir URL ile değiştiriyor veya kilitlenmekte olan bir üçüncü taraf spot ışığı uzantınız var. Bunlardan hangisinin (veya daha beklenmedik bir şeyin) gerçekleştiğini nasıl bileceğim:

Y) Uzantıyı .txt'den .tex'e değiştirdiğinizde spotlight rastgele bir metin dosyasını dizine ekliyor mu?
B) Ne olduğunu bilmek için dosyaların meta verilerini karşılaştırınmdls


A'yı test etmek için Metin Düzenleme'yi açın ve bir kelimeyi belgeye yapıştırın: osteoporoz

Gerekirse, belgeyi düz metne dönüştürün (muhtemelen zengin metindir) - Shift + Command + T (veya biçim menüsünü kullanın - Düz Metin Yap) ve masaüstünüze file.txt olarak kaydedin. - Biçim menüsünde Zengin Ol diyorsa Metin daha sonra tuşlara basmayın ve sadece belgeyi kaydedin.

Bu noktada, spot ışığı dosyayı hemen görmelidir. Değilse, spot ışığı sorununuz var. .Tex dosya sorunları değil. Düz metin dosyalarını endekslememek için spot ışığınız kırılırsa bu çok temel bir sorundur. Bu işe yararsa, .txt uzantısını .tex olarak değiştirin ve spot ışığı tekrar kontrol edin.


B testi için - mdlsdosyanızla spot ışığı ile çalışan TextEdit dosyası arasındaki meta veri farklılıklarını incelemek için komutu kullanın. Aşağıdaki alanlara özellikle dikkat edin:

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

.Txt dosyasını .tex olarak değiştirmek, bu değişikliğe neden olur (çünkü .tex dosya uzantısını talep eden ve genel bir ve ad / hoc yerine bir başlatma hizmetleri / spot ışığı sınıflandırması ve uygun kMDItemContentType / kMDItemKind ile eşleştiren bir uygulamam olmadığı için yazın:

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

Terminal becerileriniz henüz geliştirilmediyse kesebileceğiniz / yapıştırabileceğiniz kısa bir test. Masaüstünüzdeki test_file dosya adlarının içeriğini silecektir, bu nedenle aşağıdaki komutları yapıştırmadan önce emin değilseniz yedekleyin:

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 

mdfindKomutlar Ölümcül arama o anda spot arama uyup uymadığını kontrol Spotlight olarak eşdeğerdir.

Bir dipnot olarak, bu araçların sadece kırılma derecesini teşhis etmek için gereklidir, sonunda spotlight aramasının yerini almaz. Sadece spot ışığıyla ilgili bir spot ışığı sorununu teşhis edememeniz. Ayrıca, ~/Desktopalt sistemde gezinirken kilitlenme raporları veya başka bir spot ışığı tanılaması olması durumunda adımları yaparken konsol günlüğünü izlemek isteyebilirsiniz .

Ayrıca, düz metin belgesini arayabilir, ancak metni arayamazsanız işler çabucak kötü olur. Güncellemenizde, .tex dosyalarının "org.tug.tex" türünde olduğunu belirttiniz - bu şeylerin ayrıştırılmasından ve kaldırılması (veya yalnızca bir eğitimli tahmin edin ve spot ışığı geçici olarak "düzeltip düzeltmediğini" görmek için TEX uygulamalarını geçici olarak silin).

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

lsregister/ System'de iyi gizlenmiş bir araç nerede - başlatma hizmetlerinde okumak için SuperUser'daki bu iş parçacığına bakın: /superuser/323599/ ve bu iş parçacığı: Finder'daki "Birlikte Aç" menüsündeki yinelenen girişler bazı tuhaf şeyler denemek için Launch Services yeniden inşa ettikten sonra bile . Yaklaşık 20 dakika boyunca sisteminizde neyin yanlış olduğunu söyleyebileceğimden oldukça eminim, ancak tüm olasılıkları sizin için erişilebilir bir şekilde yazmak ve cevapların bir kısmını tahmin etmek beklediğimden daha zor olduğunu kanıtlıyor.



Textmate'in geliştiricisiyle bağlantı kurdum ve bu iddiayı onaylamak istiyorum. Sorun şimdi El Capitan'da da yeniden ortaya çıkıyor.
Léo Léopold Hertz 준영

4

Spotlight sorunlarınızı Mac OS X 10.8 ile sanal bir makine kurulumunda yeniden oluşturmaya çalıştım.

MacTex-20150613'ü yükledikten ve TexShop ve LaTeXiT dahil tüm bileşenleri (> 300) güncelledikten sonra * .tex dosyalarında içerik ararken sorun yaşamadım.

Girdikten sonra:

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

* .Tex dosyalarında içerik arama yeteneğini kaybetmeyi "başardım".

Bunu yapma yeteneğini yeniden kazanmak için aşağıdakileri yaptım:

  • Oturumu açık olan yönetici olarak ben dosya kopyalanan /Applications/TeX/TeXShop.app/Contents/Library/Spotlight/TeX.mdimporter için / Library / Spotlight / ile

    sudo cp -R /Applications/TeX/TeXShop.app/Contents/Library/Spotlight/TeX.mdimporter  /Library/Spotlight/
    
  • Öncelikle /.Spotlight-V100 klasörüne (Finder menü çubuğunda -> Git -> Klasöre Git ... ve /.Spotlight-V100 gir) girin ve bu klasördeki tüm dosya ve klasörleri taşıyarak sistemimin yeniden dizin oluşturması hazırlandı. çöp kutusuna. Bunun için yönetici şifrenizi girmelisiniz. Klasör girişini root olarak giremezseniz (önce / System / Library / CoreServices / Directory Utility.app kullanarak root'u etkinleştirmeniz gerekebilir) ve klasörün içeriğini root olarak kaldırmanız gerekebilir.
  • Mac'i yeniden başlattı
  • Yönetici olarak oturum açtı ve çöp kutusunu boşalttı. Yeniden endeksleme otomatik olarak başlatılacaktır.

Mdls , xattr ve diğer araçları kullanarak, sistemin farklı durumlarındaki (birkaç VM anlık görüntüsüyle) dosya öznitelikleri veya başlatma hizmetleri gibi tüm ilgili bilgileri sürekli olarak kontrol etmek ilginç veya şüpheli bir şey ortaya çıkarmadı.


Yeni bir VM'de yukarıdaki tüm adımları daha ayrıntılı bir şekilde tekrarladım ve mdimport -d3Spotlight'ın davranışını kontrol etmek için kullandım .

Bir vanilya Mac OS X'te, bir .tex dosyası dyn.random ithalatçısı kullanılarak düzgün bir şekilde içe aktarılır:

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. 

İçerik (anahtar kelimeler) bulundu.

Aynı şey, yüklendikten sonra Tex.apps'den birini başlatmayan Mac OS X için de geçerlidir, ithalatçı RichText.mdimporter olarak değiştirilmiştir:

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 

Bir Tex.app (benim durumumda TeXShop) başlattıktan sonra, ithalatçı TeXShop paketinin derinliğinde bulunan varsayılan TeX.mdimporter'ı kullanır:

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 

TexShop ve LaTeXiT dahil MacTex-20150613'ü güncelledikten sonra indeksleme tamamen bozuldu:

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.

Eklenti TeX.mdimporter (TexShop içinde) için uygun yol kayboldu ve böylece yeni bir * .tex dosyasını indeksleme yeteneği kayboldu. Dyn.random veya RichText.mdimporter gibi diğer eklentiler muhtemelen 'public.tex' türündeki dosyaları dizine eklemediklerinden içeri girmezler. (En azından yeni) .tex dosyalarında içerik araması artık mümkün değil.

TeX.mdimporter / Library / Spotlight içerik dizinine kopyalandıktan sonra geri yüklenir:

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 

Tüm .tex dosyalarını düzgün bir şekilde yeniden dizine almak için (özellikle içerik anahtar kelimelerinin aranamayacağı durumlar) spotlight veritabanını yeniden oluşturmanız (cevabımın ilk bölümünü kontrol etmelisiniz) veya yeniden dizine eklemeyi başlatmak için tüm .tex dosyalarının değişiklik tarihlerini değiştirmeniz gerekir .


İlginç. İthalatçı tam metin araması yapmak için gerekli mi? Sadece ithalatçı silmek düz metin spot tüm dosyaları işlemesine izin vermelidir, değil mi? (ve büyük bir +1 yine de - büyük iş)
bmike

Özel bir ithalatçı olmadan tüm dosyalarımı arayabiliyorum, ancak artık 10.8 çalıştırmıyorum ... teşekkürler @klanomath
bmike

@Masi mdutil -s ~/Dropboxilk komut sudo mdutil -s ~/Dropboxekranını yürütürken bir hata alırsanız veya ne alırsanız ?
klanomath

@Masi Bu bir hata mesajı olmasına rağmen, eksik izinlerden (hata ile kastettiğim) kaynaklanan komutu yürüten bir "bash" hatası değildir. mdutilDropbox klasörünüzü endeksleyemediğini söyleyen bir hata mesajı . .Tex dosyalarınızı nasıl değiştirirsiniz (dl / ul) veya nerede saklıyorsunuz? Dropbox klasöründe?
klanomath

@Masi Disc2 ikinci bir birim mi, Dropbox gibi bir bulut uygulaması mı?
klanomath

4

İşte bu sorunu nasıl çözdüm.

Not. Bu, çözümü ilk yayınladığımdan beri hala çalışıyor. O zamanlar Mac OS 10.11.5 ve TeXShop 3.62 kullanıyordum; şimdi Mac OS 10.12.3 ve TeXShop 3.77. .Plist dosyalarını düzenlemek için (aşağıda açıklandığı gibi) Xcode kullanıyorum.

İlk olarak, mdlskomutu kullanarak, tüm .tex dosyalarımın raporlandığını buldum kMDItemContentType = “public.tex”(Sisteminiz farklı raporlarsa, aşağıdaki talimatları buna göre değiştirmeniz gerekir.)

Bu yüzden TeXShop> İçindekiler'i açtım (TeXShop'a sağ tıklayıp Paket İçeriğini Göster'i seçerek). Info.plist'i aşağıdaki gibi Document Content Type UTI olarak public.tex ekleyerek değiştirdim (mavi ile vurgulanan satıra bakın):

info.plist düzenleniyor

Sonra TeXShop> İçindekiler> Kütüphane> Spot Işığı> TeX.mdimporter> İçindekiler (TeX.mdimporter Paket İçeriğini Göster komutunu) altında Info.plist üzerinde değişiklik yapmaya devam ettim. Tıpkı yukarıdaki gibi, public.tex'i uygun yerlere ekledim. Sonraki resme bakın:

TeX.mdimporter'ın Info.plist dosyasını düzenleme

Bundan sonra, Spotlight .tex dosyalarının içeriğini arıyor.


Bunu daha iyi anlamak için bir satır almak harika olurdu. Nasıl çalıştığı hakkında henüz bir onay yok.
Léo Léopold Hertz 준영

Bize düz metin editörü ile göstermenizi dilerdim; Xcode'un tablosu bir çeşit kafa karıştırıcı.
Dellu

Sonunda tekrar Sierra üzerinde çalışıyor! Ne rahatlama!
Florian

2

Bu, Spotlight MetaData içe aktarma ile ilgili bir sorun gibi görünüyor. "TexLive" paketi tarafından yüklenen "Spotlight Plugin" in eksik, bozuk veya bozuk bir yolu.

Makinemdeki "mdimport -L" çıktısı satırı içerir:

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

Çıktınızda benzer bir çizgi görmüyorum. "TeX Live" dağıtımını, şu adresteki MacTeX-2015 Dağıtımından yeniden yüklemek için iyi bir çözüm olabilir: https://www.tug.org/mactex/ Bu, kırık mdimport yolunuzu düzeltmelidir.

MacTeX-20150613.pkg


3
Kısaltılmış bağlantılar kullanmayın; hedefi gizlerler.
grg

Yeniden endeksleme sorunu çözmedi.
Léo Léopold Hertz 준영

1

Eğer Spotlight olmadan olabilirsin

Bir dosya listesi almak ve her birine ayrı ayrı göz atmak istiyorsanız.

Tüm dosya adlarını ve eşleşmeleri aynı görünümde almak istiyorsanız, Time...yinelenen bir şekilde dolaşarak Dizin'deki tüm dosyaları aramak için kullanın

  • dosyalar / sembolik dosyalar [fd0]

    find -L . -type d -path './Time*' \ 
        -exec grep -d "recurse" series {} + | 
    cut -c -80
    
  • directoryNames ( source ) içinde boşluk içermeyen .tex dosyaları

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

Eğer Spot Işığı

Geçici düzeltme, kararlı bir çözüm olduğu için bazı klasörlerde .tex belgeleri yerine .txt belgelerini kullanmaktır

cat *.tex > summary_all.txt

Diğer girişimler

  • Ben .tex dosyaları aramak için bir terminal yaklaşım bulmaya çalışıyorum burada yaklaşık için Açık Bul Viewer Click PATH sonuçlandı ki?
  • mdfind Burada mdfind .tex için başka bir araçla değiştirme hakkında değiştirmeye çalışıyorum ?

1
Dosyada özyinelemeli arama nasıl yapılır? Sizi doğru anlıyorsam, her iki bulma find -L . -type d -path './Time*' -exec grep -d "recurse" series {} +
ifadenizi

0

Daha arzu edilen bir çözüm bulamazsanız, her zaman deneyebilirsiniz mdfind. Spotlight'ın CLI karşılığı
olduğunu anlıyorum . Sık kullanıyorum ve oldukça yararlı buluyorum. Kullanmak için, yerel Terminal.app dosyasını açın , ardından command & argümanını şöyle yazın:

username@hostname:~$ mdfind osteoporosis.tex

Alternatif olarak, başlığı bilmiyorsanız; tüm LaTeX dosyalarını aşağıdakilerle listeleyebilirsiniz:

username@hostname:~$ mdfind .tex

Bu sorguların benzer dizelerle eşleşme olasılığı vardır, yani '.text', bu durumda şunu kullanın:

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

Ve / veya daha basit: (Bu muhtemelen durumunuz için en iyi seçenektir :)

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

Ekleme | grep '\.tex$'komutuna temelde aracılığıyla sonuçlarını ishal , filtresiyle herhangi dosya adlarını kaldırma içermeyen LaTeX uzantısı; '.tex', dizelerinin sonunda .


Bilginize: Bazı dosya tipleri izin gibi gözükmüyor Spotlight &mdfindtanımlayabilir veya bunları bulmak için içerik . Çünkü Spotlight yalnızca bildiği dosya türlerini endeksleyebilir. Apple, en yaygın dosya türlerini dizine eklemek için bazı eklentiler sağlar, ancak bunların tümünü içermez. Görünüşe göre MacTex kopyanızla birliktebir LaTeX Spotlight ithalatçısı olmalı, ancak bozuk, eksik veya yetersizse, burada harika bir tane bulabilirsiniz:
http://wiesmann.codiferes.net/wordpress/?page_id=262


Ayrıca Mac OS X için LyX'ten :
http://wiki.lyx.org/Mac/Spotlight/
Ve burada TeXShop ile birlikte:
http://pages.uoregon.edu/koch/texshop/


Tartışma ve bu soru hakkında ileri geri bilgi için chat.stackexchange.com/rooms/29405/… adresine bakın .
bmike

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.