12 votes

Comment rechercher des documents LaTeX dans Spotlight ?

J'ai reproduit le problème maintenant aussi dans El Capitan avec de nouveaux composants (carte mère, 3x SSD) dans mon Macbook Air 2013-mid. J'ai fait une installation propre d'OS X (El Capitan, Yosemite) pendant que je faisais le test. Le dernier OS X où la recherche de .tex fonctionne est 10.8.5 dans Spotlight. Je ne vois pas de documents .tex dans ma recherche Spotlight pour le moment. Tests

  • Aucune réponse actuelle ne résout le problème de façon permanente. Dans Yosemite, le problème est revenu après un certain temps avec quelques réponses. Il n'existe pas de solution stable et on comprend mal la cause du problème.

La sélection de la configuration des paramètres n'est pas pertinente dans Spotlight car nous pouvons utiliser directement la commande mdfind dans le terminal, qui est équivalent à Spotlight. Cependant, nous avons essayé les paramètres Default, minimal et Full dans Spotlight. Pour les tests, nous utilisons les paramètres par défaut dans OS X. Système et applications

  • Systèmes OS X Yosemite, OS X El Capitan
  • TexShop.app est installé. (MacTeX 2015, mactex-20150613.pkg).
  • Tex App : TextMate2-beta8
  • Spotlight/Finder/toutes les applications de recherche ne fonctionnent pas avec les fichiers TeX et MacTeX 2015
  • Spotlight fonctionne comme prévu avec quelques paramètres différents et aussi avec MacTeX 2015.

La commande mdfind (version 10 juin 2004) est équivalent à la recherche Spotlight donc un test simple qui ne retourne rien sans succès dans mon système

mdfind sulfas | grep tex

Je pense que le problème est que le système ne reconnaît pas le format de fichier .tex`. La première chose à faire est de le faire reconnaître par le système.

La suggestion de tjt263 de rechercher uniquement .tex dans Finder/Spotlight

Sortie de Spotlight .tex ou la commande terminal donne tex -files correctement dans mon système. Cependant, en le combinant à d'autres termes comme, par ex. .tex diabetes ne donne plus aucun fichier texte. Importateurs obtenus par 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"
)

Les tests de bmikes

Le fichier notes.tex ne peut pas être recherché dans le Finder. Je le change en notes.txt que je peux maintenant rechercher dans le Finder. Cela me propose que pas Search -programme problème (Spotlight, md ..., quel que soit vous utilisez, comme je l'ai décrit à plusieurs reprises dans les commentaires). Donc tex -problème dans le système. Sorties du même fichier mais avec deux terminaisons différentes. Sortie du fichier 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

Sortie de 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

Commandes recherchées :

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"

Outils de diagnostic actuels Utilisation et discussion en ligne

Commande bien cachée de Est-il possible d'interroger la base de données des services de lancement pour connaître les applications qui ouvriront un fichier arbitraire ou un type d'UTI ?

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

Nous avons constaté que la boutique TeXShop de MacTeX 2015 ne dispose pas de TeX.mdimporter. Installation de este donne sur la dernière ligne de mdimport -L :

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

Essai infructueux avec Patrix

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

après quoi rm ~/Library/Spotlight/TeX.mdimporter et nous avons réinitialisé l'index de Spotlight en déplaçant HardDisc vers le Prevent -panel et le retirer rapidement, donc prendre maintenant un certain temps pour indexer le système.

résultats de la réponse de klanomath qui a fonctionné un jour jusqu'à revenir au mauvais état

Je reçois de manière instable certains fichiers .tex dans mdfind. Après un jour d'utilisation à partir de l'initialisation de cette proposition, l'état est revenu au mauvais état :

  • ostéoporose La recherche renvoie les mêmes fichiers qu'il y a un jour, mais j'ai remarqué que les fichiers qui n'ont pas été visibles dans les résultats de la recherche récemment et assez longtemps lors de la dernière modification, ne sont pas visibles dans la recherche.
  • seuls les fichiers récemment modifiés sont affichés, et parfois même des fichiers vieux de 3,5 mois.

Running 18:25:06:~:masi$ /usr/bin/mdimport -d3 /Users/masi/Dropbox/Internal\ Diseases/24.9.2015.tex et obtenir

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

Devinez l'origine du problème : /Volumes/Disc/.Spotlight-V100/...

J'ai étudié la dynamique de la mémoire à différents moments en fdupes -rd /Volumes/Disc2/ L'échantillon suivant est en cours d'indexation :

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

où le contenu du fichier est constitué de deux lignes vides. Vous voyez de nombreuses entrées dupliquées créées par Spotlight pour son index. L'index de Spotlight comporte beaucoup de doublons en de nombreux points de son fonctionnement. J'ai également étudié ce comportement sur différents supports. Il y a beaucoup de fichiers factices/dupliqués créés pendant l'indexation et pendant la période stable où l'indexation est faite. Je pense qu'Apple a fait un mauvais travail en concevant l'index que Spotlight utilise.


Comment rechercher des documents LaTeX avec mdfind/Spotlight/Finder ?

0 votes

Puisque A) c'est une bonne question dans la mesure où elle est compliquée par l'intersection des projecteurs, des types de fichiers et de la base de données des services de lancement b) elle nécessite beaucoup d'échanges, j'ai créé un salon de discussion pour discuter du problème / itérer sur le dépannage afin que les messages ne deviennent pas plus désordonnés que nécessaire. chat.stackexchange.com/rooms/info/29405/

1 votes

N'ajoutez pas de réponse au texte de la question, mais postez-la plutôt comme réponse ci-dessous.

0 votes

J'ai les mêmes problèmes ici. De plus, les icônes des documents .tex sont des icônes vides (génériques). Peut-être les deux problèmes sont-ils liés ?

5voto

Oskar Points 1242

C'est probablement le résultat de l'éditeur/logiciel pour TEX que vous utilisez puisque vous n'avez pas besoin d'un importateur de projecteurs pour traiter les fichiers de texte brut. (Vous pouvez donc simplement supprimer l'importateur personnalisé de votre application ou choisir une mise à jour/un importateur différent).

Plutôt que d'essayer de deviner ce qui se passe, voici comment déterminer où se situe le problème. L'éditeur peut changer le ** kMDItemContentType** pour un type qui n'est pas indexé ou vous avez une extension Spotlight tierce qui se bloque. Voici comment je saurais lequel de ces cas (ou quelque chose de plus inattendu) se produit :

A) Est-ce que Spotlight indexe un fichier texte arbitraire lorsque vous changez l'extension de .txt à .tex ?
B) Comparer les métadonnées des fichiers pour savoir ce qui se passe en utilisant mdls


Pour tester A, ouvrez Text Edit et collez un mot dans le document : ostéoporose

Si nécessaire, convertissez le document en texte brut (il s'agit probablement d'un texte riche) - Shift + Commande + T (ou utilisez le menu de formatage - Make Plain Text) et enregistrez-le sur votre bureau sous le nom de fichier.txt - Si le menu de formatage indique Faire du texte enrichi alors n'appuyez pas sur les touches et enregistrez simplement le document.

À ce moment-là, le projecteur devrait voir le fichier immédiatement. Si ce n'est pas le cas, vous avez un problème avec Spotlight et non avec le fichier .tex. Il s'agit d'un problème très basique si votre spotlight est cassé de manière à ne pas indexer les fichiers de texte brut. Si cela fonctionne, changez l'extension .txt en .tex et revérifiez Spotlight.


Pour le test B - utilisez le mdls pour examiner les différences de métadonnées entre votre fichier et le fichier TextEdit qui fonctionne avec Spotlight. Portez une attention particulière aux champs suivants :

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

Changer le .txt en .tex entraîne une modification de ce dernier (puisque je n'ai pas d'application qui revendique l'extension de fichier .tex et l'associe à une classification de services de lancement/spotlight et à un type kMDItemContentType/kMDItemKind approprié, par opposition à un type générique et ad/hoc :

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

Voici un petit test que vous pouvez couper/coller si vos compétences en matière de terminaux ne sont pas encore développées. Il supprimera le contenu de tout fichier nommé test_file sur votre bureau, alors faites une sauvegarde si vous n'êtes pas sûr avant de coller les commandes ci-dessous :

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 

Le site mdfind sont l'équivalent de l'utilisation de Spotlight, donc vérifiez que la recherche dans le terminal correspond à la recherche dans Spotlight à ce moment-là.

En guise de note de bas de page, ces outils ne sont nécessaires que pour diagnostiquer l'étendue de la casse et ne remplacent pas la recherche ponctuelle en fin de compte. Juste que vous ne pouvez pas diagnostiquer un problème de projecteur avec le projecteur seul. De plus, vous pouvez observer le journal de la console pendant que vous effectuez les étapes de la procédure suivante ~/Desktop au cas où il y aurait des rapports de crash ou d'autres diagnostics ponctuels pendant que vous vous occupez du sous-système.

En outre, les choses se gâtent rapidement si vous pouvez effectuer une recherche dans le document en texte brut mais pas dans le document en texte. Dans votre mise à jour, vous avez mentionné que les fichiers .tex sont de type "org.tug.tex" - vous pourriez explorer la base de données des services de lancement pour trouver quels importateurs le système considère comme responsables de l'analyse de ce fichier et les supprimer (ou simplement faire une supposition éclairée et supprimer temporairement les applications TEX pour voir si cela "répare" temporairement le projecteur).

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

lsregister est un outil bien caché dans /System - voir ce fil de discussion sur SuperUser pour en savoir plus sur les services de lancement : https://superuser.com/questions/323599/ et ce fil ici : Entrées en double dans le menu "Ouvrir avec" du Finder, même après la reconstruction des services de lancement pour des choses bizarres à essayer. Je suis assez sûr que je pourrais trouver ce qui ne va pas sur votre système en 20 minutes environ, mais écrire toutes les possibilités d'une manière accessible pour vous et deviner un peu les réponses s'avère plus difficile que prévu.

0 votes

0 votes

J'ai contacté le développeur de Textmate et je souhaite confirmer cette affirmation. Le problème se reproduit maintenant aussi dans El Capitan.

5voto

klanomath Points 63400

J'ai essayé de reproduire vos problèmes de Spotlight dans une machine virtuelle configurée avec Mac OS X 10.8.

Après avoir installé MacTex-20150613 et mis à jour tous les composants (>300), y compris TexShop et LaTeXiT, je n'ai eu aucun problème pour rechercher du contenu dans les fichiers *.tex.

Après être entré :

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

J'ai "réussi" à perdre la possibilité de rechercher du contenu dans les fichiers *.tex.

Pour retrouver la capacité de le faire, j'ai fait ce qui suit :

  • En me connectant comme administrateur, j'ai copié le fichier /Applications/TeX/TeXShop.app/Contents/Library/Spotlight/TeX.mdimporter à /Bibliothèque/Spotlight/ avec

    sudo cp -R /Applications/TeX/TeXShop.app/Contents/Library/Spotlight/TeX.mdimporter  /Library/Spotlight/
  • J'ai préparé la réindexation de mon système en allant d'abord dans le dossier /.Spotlight-V100 (dans la menubar du Finder -> Go -> Go to Folder... et entrer /.Spotlight-V100) et en déplaçant tous les fichiers et dossiers de ce dossier vers la poubelle. Pour ce faire, vous devez entrer votre mot de passe d'administrateur. Si vous ne parvenez pas à entrer dans le dossier, connectez-vous en tant que Root (vous devrez peut-être d'abord activer Root en utilisant /System/Library/CoreServices/Directory Utility.app) et supprimez le contenu du dossier en tant que Root.

  • Redémarrer le Mac

  • Je me suis connecté en tant qu'administrateur et j'ai vidé la poubelle. La réindexation sera lancée automatiquement.

Vérification continue de toutes les informations pertinentes, comme les attributs de fichiers ou les services de lancement, dans différents états du système (avec plusieurs instantanés de la VM) en utilisant mdls , xattr et d'autres outils n'ont rien révélé d'intéressant ou de suspect.


J'ai répété toutes les étapes ci-dessus de manière plus approfondie dans une nouvelle VM et j'ai utilisé mdimport -d3 pour vérifier le comportement de Spotlight.

Dans un Mac OS X classique, un fichier .tex est correctement importé à l'aide d'un importateur 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. 

Le contenu (mots-clés) a été trouvé.

La même chose s'applique à Mac OS X après avoir installé mais pas démarré une des applications Tex.apps, l'importateur a changé pour RichText.mdimporter cependant :

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 

Après avoir démarré un Tex.app (dans mon cas TeXShop) l'importateur utilise le TeX.mdimporter par défaut résidant dans la profondeur du bundle 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 

Après mise à jour de le MacTex-20150613 incluant TexShop et LaTeXiT l'indexation est complètement cassée :

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.

Le chemin d'accès au plugin TeX.mdimporter (dans TexShop) a été perdu et la possibilité d'indexer un nouveau fichier *.tex a disparu. D'autres plugins comme dyn.random ou RichText.mdimporter n'interviennent pas, probablement parce qu'ils n'indexent pas les fichiers de type 'public.tex'. La recherche de contenu dans les (au moins nouveaux) fichiers .tex n'est plus possible.

Après avoir copié TeX.mdimporter dans /Library/Spotlight, l'indexation du contenu est restaurée :

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 

Pour réindexer correctement tous les fichiers .tex (en particulier ceux dont les mots-clés ne sont pas recherchables), vous devez reconstruire la base de données Spotlight (voir la première partie de ma réponse) ou modifier les dates de modification de tous les fichiers .tex pour lancer leur réindexation.

0 votes

Intéressant. L'importateur est-il nécessaire pour effectuer une recherche plein texte ? La suppression de l'importateur devrait permettre à la recherche en texte brut de traiter tous les fichiers, non ? (et un énorme +1 quand même - excellent travail)

0 votes

Je suis capable de rechercher tous mes fichiers sans importateur spécial, mais je n'utilise plus 10.8... merci @klanomath

0 votes

@Masi ce qui fait mdutil -s ~/Dropbox ou si vous obtenez une erreur en exécutant la première commande sudo mdutil -s ~/Dropbox afficher ?

5voto

user11126 Points 141

Voici comment j'ai résolu ce problème.

Note. Cela fonctionne toujours depuis que j'ai posté la solution pour la première fois. À cette époque, j'utilisais Mac OS 10.11.5 et TeXShop 3.62 ; maintenant, c'est Mac OS 10.12.3 et TeXShop 3.77. Pour modifier les fichiers .plist (comme expliqué ci-dessous), j'utilise Xcode.

Tout d'abord, en utilisant le mdls j'ai découvert que tous mes fichiers .tex rapportaient kMDItemContentType = “public.tex” (Si votre système présente un rapport différent, vous devrez modifier les instructions suivantes en conséquence).

J'ai donc ouvert TeXShop>Contenu (en faisant un clic droit sur TeXShop et en sélectionnant Show Package Contents). J'ai modifié Info.plist en ajoutant public.tex comme UTI de type de contenu de document comme suit (voir la ligne surlignée en bleu) :

editing info.plist

J'ai ensuite modifié le fichier Info.plist dans TeXShop>Contents>Library>Spotlight>TeX.mdimporter>Contents (exécuter Show Package Contents of TeX.mdimporter). Comme ci-dessus, j'ai ajouté public.tex aux endroits appropriés. Voir l'image suivante :

editing Info.plist of TeX.mdimporter

Ensuite, Spotlight recherche le contenu des fichiers .tex.

0 votes

Ce serait bien d'avoir une ligne pour cela afin de mieux le comprendre. Pas encore de confirmation sur son fonctionnement.

0 votes

J'aurais aimé que vous nous montriez avec un éditeur de texte simple ; le tableau de Xcode est un peu confus.

0 votes

Fonctionne enfin à nouveau sur Sierra ! Quel soulagement !

2voto

Thompson Dawes Points 131

Il semble que ce soit un problème avec l'importation des MetaData de Spotlight. Un chemin manquant, corrompu ou brisé vers le "Spotlight Plugin" installé par le paquet "TexLive".

La sortie de "mdimport -L" sur ma machine comprend la ligne :

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

Je ne vois pas de ligne similaire dans votre sortie. Une bonne solution pour vous pourrait être de réinstaller la distribution "TeX Live", de la distribution MacTeX-2015 à l'adresse suivante : https://www.tug.org/mactex/ cela devrait corriger votre chemin mdimport cassé.

mactex-20150613.pkg

3 votes

N'utilisez pas de liens raccourcis - ils obscurcissent la destination.

0 votes

La réindexation n'a pas résolu le problème.

1voto

Si vous pouvez vous passer de Spotlight

Si vous voulez obtenir une liste de fichiers et ensuite parcourir chacun d'entre eux séparément.

Si vous voulez obtenir tous les noms de fichiers et toutes les correspondances dans la même vue, utilisez pour la recherche de tous les fichiers dans le répertoire Time... en parcourant récursivement

  • fichiers/symlinked files [fd0]

    find -L . -type d -path './Time*' \ 
        -exec grep -d "recurse" series {} + | 
    cut -c -80
  • Les fichiers .tex sans espaces dans les noms de répertoire ( source )

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

Si Spotlight

La solution temporaire consiste à utiliser des documents .txt au lieu de documents .tex dans certains dossiers, car c'est une solution stable.

cat *.tex > summary_all.txt

Autres tentatives

  • J'essaie de trouver une approche terminale pour la recherche de fichiers .tex. aquí à propos de Pour ouvrir le PATH résultant de Find par un clic dans la visionneuse ?
  • J'essaie de remplacer mdfind aquí à propos de Comment remplacer mdfind par tout autre outil pour les .tex ?

1 votes

Comment faire une recherche récursive sur un fichier ? Si je comprends bien, vous pouvez regrouper vos deux instructions de recherche en une seule find -L . -type d -path './Time*' -exec grep -d "recurse" series {} +

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X