Как искать LaTeX-документы в Spotlight?


12

Я воспроизвел проблему теперь и в El Capitan с новыми компонентами (материнская плата, 3x SSD) в моем Macbook Air 2013-mid. У меня была чистая установка OS X (El Capitan, Yosemite) во время теста. Последняя версия OS X, в которой работает поиск .tex, - 10.8.5 в Spotlight. Я не вижу никаких документов .tex в моем поиске Spotlight в данный момент. тесты

  • Никакой текущий ответ не решает проблему навсегда. В Йосемити проблема вернулась через некоторое время с некоторыми ответами. Не существует стабильного решения и мало понимания, что является причиной проблемы.

Выбор конфигураций настроек не важен в Spotlight, потому что мы можем напрямую использовать команду mdfindв терминале, что эквивалентно Spotlight. Однако мы попробовали стандартные, минимальные и полные настройки в Spotlight. Для тестов мы используем настройки по умолчанию в OS X. Система и приложения

  • Системы OS X Йосемити, OS X Эль Капитан
  • TexShop.app установлен. (MacTeX 2015, mactex-20150613.pkg).
  • Tex App: TextMate2-beta8
  • Spotlight / Finder / любое поисковое приложение не работает с файлами TeX и MacTeX 2015
  • Прожектор работает, как и ожидалось, с некоторыми другими настройками, а также с MacTeX 2015.

Команда mdfind(версия от 10 июня 2004 г.) эквивалентна поиску Spotlight, поэтому простой тест, который ничего не дает, безуспешно в моей системе

mdfind sulfas | grep tex

Я думаю, проблема в том, что система не распознает формат файла .tex`. Прежде всего, чтобы система распознала это.

Предложение tjt263 искать только .tex в Finder / Spotlight

Вывод команды Spotlight .texили терминала дает правильные tex-файлы в моей системе. Однако объединение его с другими терминами, такими как, by .tex diabetes, больше не дает tex-файлов. Импортеры получены от 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

Файл notes.tex не доступен для поиска в Finder. Я изменяю его на notes.txt, который теперь можно искать в Finder. Это наводит меня на мысль, что проблема не в поисковой программе (Spotlight, md ..., что бы вы ни использовали, как я много раз описывал в комментариях). Так что текс-проблема в системе. Выходы одного и того же файла, но с двумя разными окончаниями. Вывод 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

Вывод 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

Требуются команды:

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"

Современные диагностические инструменты, использующие и обсуждающие в чате

Хорошо скрытая команда от Можно ли запросить базу данных служб запуска для приложений, которые откроют произвольный файл или тип UTI?

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

Мы обнаружили, что TeXShop MacTeX 2015 не имеет TeX.mdimporter. Установка этого дает в последней строке mdimport -L:

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

Неудачная попытка с Patrix

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

после чего rm ~/Library/Spotlight/TeX.mdimporterмы сбросили индекс Spotlight, переместив HardDisc в панель Prevent и быстро удалили его, так что теперь потребуется некоторое время для индексации системы.

Результаты ответа Klanomath, который работал один день, пока не вернулся в плохое состояние

Я получаю нестабильно некоторые файлы .tex в mdfind. После однодневного использования из инициализации этого предложения условие вернулось в плохое состояние:

  • При поиске остеопороза возвращаются те же файлы, что и один день назад, но я заметил, что те файлы, которые не были видны в результатах поиска в последнее время и достаточно долгое время редактировались в последний раз, не отображаются в поиске.
  • показываются только недавно отредактированные файлы, а на самом деле иногда даже файлы за 3,5 месяца

Бег 18:25:06:~:masi$ /usr/bin/mdimport -d3 /Users/masi/Dropbox/Internal\ Diseases/24.9.2015.texи получение

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

Угадайте о происхождении проблемы: /Volumes/Disc/.Spotlight-V100 / ...

Я исследовал динамику памяти в разные моменты времени fdupes -rd /Volumes/Disc2/, следующий образец во время индексации:

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

где содержимое файла - две пустые строки. Вы видите много повторяющихся записей, созданных Spotlight для своего индекса. Индекс Spotlight имеет много дубликатов во многих точках своего функционирования. Я также изучал это поведение в разных СМИ. Существует много фиктивных / дублирующих файлов, созданных во время индексации и в течение стабильного периода, когда индексация завершена. Я думаю, что Apple проделала плохую работу по разработке индекса, который использует Spotlight.


Как вы можете искать документы LaTeX с помощью mdfind / Spotlight / Finder?


Поскольку А) это хороший вопрос, поскольку он усложняется пересечением внимания, типов файлов и базы данных служб запуска. Б) для этого требуется много информации, я создал чат для обсуждения проблемы / повторения проблемы так что посты не станут более грязными, чем нужно. chat.stackexchange.com/rooms/info/29405/...
bmike

1
Пожалуйста, не добавляйте ответы на текст вопроса, разместите его как ответ ниже.
nohillside

Имея такие же проблемы здесь. Кроме того, значки для документов .tex являются пустыми (общими). Возможно, эти две проблемы связаны?
user11126

@ user11126 Пожалуйста, смотрите принятый ответ. Apple не проявляет мотивации для решения этой проблемы на протяжении многих лет. Смотрите принятый ответ и его предложение без Spotlight. Терминальный подход работает намного лучше. - - Во-вторых, возможно, вы не установили MacTex или у вас есть ошибка в конфигурации.
Лео Леопольд Герц 준영

Ответы:


5

Скорее всего, это результат использования редактора / программного обеспечения для TEX, поскольку вам не нужен какой-либо импортер для обработки простых текстовых файлов. (Таким образом, вы можете просто удалить пользовательский импортер вашего приложения или выбрать обновление / другой импортер).

Вместо того, чтобы догадываться о случае - вот, как определить, в чем проблема. Редактор может изменить ** kMDItemContentType ** на тот, который не проиндексирован, или у вас есть стороннее расширение прожектора, которое выходит из строя. Вот как я узнаю, что из этого (или что-то более неожиданное) происходит:

A) Индексирует ли прожектор произвольный текстовый файл, когда вы изменяете расширение с .txt на .tex?
Б) Сравните метаданные для файлов, чтобы узнать, что происходит с помощьюmdls


Чтобы проверить A, откройте Редактирование текста и вставьте в документ одно слово: остеопороз

Если необходимо, преобразуйте документ в обычный текст (это, вероятно, форматированный текст) - Shift + Command + T (или используйте меню форматирования - Make Plain Text) и сохраните его на рабочем столе в виде file.txt - если в меню формата указано Make Rich Текст, затем не нажимайте клавиши и просто сохраните документ.

В этот момент прожектор должен сразу увидеть файл. Если нет, то у вас есть проблема в центре внимания, а не проблема .tex файла. Это очень простая проблема, если ваш прожектор не работает, чтобы не индексировать простые текстовые файлы. Если это работает, то измените расширение .txt на .tex и перепроверьте прожектор.


Для теста B - используйте mdlsкоманду для проверки различий в метаданных между вашим файлом и файлом TextEdit, которые работают в центре внимания. Обратите особое внимание на следующие поля:

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

Изменение .txt на .tex приводит к изменению этого (так как у меня нет приложения, которое запрашивает расширение файла .tex и сопоставляет его с классификацией служб запуска / прожектора и надлежащим kMDItemContentType / kMDItemKind в отличие от универсального и ad / hoc тип:

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

Вот небольшой тест, который вы можете вырезать / вставить, если ваши терминальные навыки еще не развиты. Он удалит содержимое любых имен файлов test_file на вашем рабочем столе, поэтому сделайте резервную копию, если вы не уверены, прежде чем вставлять команды ниже:

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 

Эти mdfindкоманды эквивалентно использования Прожектора, так что проверить , что терминал поиск соответствует поиску прожектора на тот момент.

В качестве сноски, эти инструменты нужны только для диагностики степени поломки, а не заменяют точечный поиск в конце. Только то, что вы не можете диагностировать проблему с помощью только прожектора. Кроме того, вы можете захотеть посмотреть журнал консоли, пока выполняете шаги, на ~/Desktopслучай, если во время поиска в подсистеме появляются отчеты о сбоях или другая точечная диагностика.

Кроме того, все быстро становится неприятным, если вы можете искать в текстовом документе, но не в текстовом. В своем обновлении вы упомянули, что файлы .tex имеют тип "org.tug.tex" - вы можете изучить базу данных служб запуска, чтобы выяснить, какие импортеры системные компоненты отвечают за синтаксический анализ этого файла, и удалить их (или просто сделать обоснованное предположение и временно удалите приложения TEX, чтобы увидеть, если он "исправляет" центр внимания временно).

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

Где lsregisterхорошо скрытый инструмент в / System - посмотрите эту ветку на SuperUser, чтобы узнать о службах запуска: /superuser/323599/ и эту ветку здесь: дублирующиеся записи в меню «Открыть с помощью» в Finder даже после восстановления Launch Services для некоторых странных вещей, чтобы попробовать. Я вполне уверен, что смогу выяснить, что не так в вашей системе примерно через 20 минут, но записать все возможности доступным для вас способом и угадать немного ответов оказалось сложнее, чем я ожидал.



Я связался с разработчиком Textmate и хочу подтвердить это утверждение. Проблема воспроизводится сейчас и в Эль-Капитане.
Лео Леопольд Герц 준영

4

Я попытался воспроизвести ваши проблемы Spotlight в настройке виртуальной машины с Mac OS X 10.8.

После установки MacTex-20150613 и обновления всех компонентов (> 300), включая TexShop и LaTeXiT, у меня не возникло проблем с поиском содержимого в файлах * .tex.

После ввода:

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

Я "преуспел", потеряв возможность поиска контента в файлах * .tex.

Чтобы восстановить способность сделать это, я сделал следующее:

  • Зайдя в систему как администратор, я скопировал файл /Applications/TeX/TeXShop.app/Contents/Library/Spotlight/TeX.mdimporter в / Library / Spotlight / с

    sudo cp -R /Applications/TeX/TeXShop.app/Contents/Library/Spotlight/TeX.mdimporter  /Library/Spotlight/
    
  • Подготовил переиндексацию моей системы, сначала перейдя в папку /.Spotlight-V100 (в меню Finder -> Перейти -> Перейти к папке ... и введите /.Spotlight-V100) и переместив все файлы и папки в этой папке. в мусорное ведро. Вы должны ввести свой пароль администратора, чтобы сделать это. Если вам не удалось войти в папку, войдите в систему как пользователь root (может потребоваться сначала включить root с помощью / System / Library / CoreServices / Directory Utility.app) и удалить содержимое папки как root.
  • Перезагрузил Mac
  • Вы вошли в систему как администратор и очистили корзину. Переиндексация начнется автоматически.

Постоянно проверяя всю релевантную информации , такие как атрибуты файлов или пусковых услуги в различных состояниях системы (с несколькими снимками VM) с использованием mdls , некоторый атрибута и другие инструментов , не выявило ничего интересного или подозрительные.


Я повторил все шаги выше в новой виртуальной машине и использовал ее mdimport -d3для проверки поведения Spotlight.

В ванильной Mac OS X файл .tex правильно импортируется с помощью средства импорта 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. 

Содержание (ключевые слова) было найдено.

То же самое относится к Mac OS X после установки, но без запуска одного из Tex.apps, импортер изменился на 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 

После запуска Tex.app (в моем случае TeXShop) импортер использует TeX.mdimporter по умолчанию, находящийся в глубине пакета 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 

После обновления MacTex-20150613, включая TexShop и LaTeXiT, индексация полностью нарушена:

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.

Правильный путь к плагину TeX.mdimporter (внутри TexShop) потерян, и поэтому возможность индексировать новый файл * .tex исчезла. Другие плагины, такие как dyn.random или RichText.mdimporter, вероятно, не вмешиваются, потому что они не индексируют файлы типа 'public.tex'. Поиск контента в (по крайней мере новых) .tex файлах больше невозможен.

После копирования TeX.mdimporter в / Library / Spotlight индексация содержимого восстанавливается:

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 

Чтобы правильно переиндексировать все файлы .tex (особенно те, в которых ключевые слова контента недоступны для поиска), вам необходимо перестроить базу данных прожектора (см. Первую часть моего ответа) или изменить даты изменения всех файлов .tex, чтобы инициировать их переиндексацию. ,


Интересный. Нужен ли импортер для полнотекстового поиска? Простое удаление импортера должно позволить текстовому центру обработать все файлы, не так ли? (и огромное +1, тем не менее - отличная работа)
bmike

Я могу искать все свои файлы без специального импортера, но я больше не работаю с 10.8 ... спасибо @klanomath
bmike

@ Маси, что делает mdutil -s ~/Dropboxили если вы получаете ошибку при выполнении первой команды sudo mdutil -s ~/Dropboxотображения?
Кланомат

@Masi Несмотря на то, что это сообщение об ошибке, это не ошибка bash при выполнении команды, вызванная отсутствием разрешений (что я имел в виду с ошибкой). Это сообщение об ошибке, в котором говорится, что mdutilне удается проиндексировать вашу папку Dropbox. Как вы обмениваетесь (dl / ul) или где храните ваши файлы .tex? В папке Dropbox?
Кланомат

@Masi Disc2 - это второй том или облачное приложение / сервис, такой как Dropbox?
klanomath

4

Вот как я решил эту проблему.

Заметка. Это все еще работает, так как я впервые опубликовал решение. В то время я использовал Mac OS 10.11.5 и TeXShop 3.62; теперь это Mac OS 10.12.3 и TeXShop 3.77. Для редактирования файлов .plist (как описано ниже) я использую Xcode.

Во-первых, используя mdlsкоманду, я обнаружил, что все мои файлы .tex сообщили kMDItemContentType = “public.tex”(если ваша система сообщает по-другому, вам придется соответствующим образом изменить следующие инструкции.)

Поэтому я открыл TeXShop> Содержание (щелкнув правой кнопкой мыши TeXShop и выбрав Показать содержимое пакета). Я изменил Info.plist, добавив public.tex в качестве UTI типа содержимого документа следующим образом (см. Строку, выделенную синим цветом):

редактирование info.plist

Затем я продолжил вносить изменения в Info.plist в TeXShop> Contents> Library> Spotlight> TeX.mdimporter> Contents (выполнить Показать содержимое пакета TeX.mdimporter). Как и выше, я добавил public.tex в соответствующих местах. Смотрите следующую картинку:

редактирование Info.plist TeX.mdimporter

После этого Spotlight выполняет поиск содержимого файлов .tex.


Было бы здорово получить одну строчку, чтобы понять это лучше. Пока нет подтверждения о том, как это работает.
Лео Леопольд Герц 준영

Я хотел бы, чтобы вы показали нам текстовый редактор; таблица Xcode - это своего рода путаница.
Dellu

Наконец-то снова работаем над Сьеррой! Какое облегчение!
Флориан

2

Похоже, это проблема импорта метаданных Spotlight. Отсутствует, поврежден или поврежден путь к «Плагину Spotlight», установленному пакетом «TexLive».

Вывод «mdimport -L» на моей машине включает строку:

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

Я не вижу аналогичной строки в вашем выводе. Хорошим решением для вас может быть переустановка дистрибутива "TeX Live" из дистрибутива MacTeX-2015 по адресу: https://www.tug.org/mactex/, это должно исправить ваш неверный путь mdimport.

MacTEX-20150613.pkg


3
Не используйте сокращенные ссылки - они запутывают цель.
grg

Переиндексация не решила проблему.
Лео Леопольд Герц 준영

1

Если вы можете быть без Spotlight

Если вы хотите получить список файлов, а затем просмотреть каждый из них в отдельности.

  • Используйте скрипт, haetexкак описано в теме Как искать .tex файлы? который работает также в BSD, потому что POSIX.

Если вы хотите получить все имена файлов и совпадения в одном представлении, используйте для поиска всех файлов в каталоге Time...путем рекурсивного обхода

  • файлы / символические файлы [fd0]

    find -L . -type d -path './Time*' \ 
        -exec grep -d "recurse" series {} + | 
    cut -c -80
    
  • .tex файлы без пробелов в directoryNames ( источник )

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

Если Прожектор

Временное исправление заключается в использовании документов .txt вместо документов .tex в некоторых папках, поскольку это стабильное решение.

cat *.tex > summary_all.txt

Другие попытки

  • Я пытаюсь найти терминальный подход для поиска .tex файлов здесь о Чтобы открыть ФАЙНД результате континуального Нажмите в окне просмотра?
  • Я пытаюсь заменить mdfind здесь о том, как заменить mdfind любым другим инструментом для .tex?

1
Как вы делаете рекурсивный поиск по файлу? Если я вас правильно понимаю, вы можете свернуть оба ваших утверждения о поиске в одноfind -L . -type d -path './Time*' -exec grep -d "recurse" series {} +
fd0

0

Если вы не можете найти более желательное решение, вы всегда можете попробовать mdfind.
Я понимаю, что это аналог CLI Spotlight . Я использую это часто и нахожу это весьма полезным.
Чтобы использовать его, просто откройте собственный Terminal.app , затем введите команду и аргумент так:

username@hostname:~$ mdfind osteoporosis.tex

В качестве альтернативы, если вы не знаете название; Вы можете просто перечислить все файлы LaTeX с:

username@hostname:~$ mdfind .tex

Существует вероятность того, что эти запросы совпадают с похожими строками, то есть '.text', и в этом случае используйте:

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

И / или более просто: (Это, вероятно, лучший вариант для вашей ситуации :)

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

Присоединение | grep '\.tex$'к команде, в основном, запускает результаты через другой фильтр, удаляя любые имена файлов, которые не содержат расширение LaTeX; '.tex', в конце их строки.


К вашему сведению: некоторые типы файлов, по-видимому, не позволяют Spotlight &mdfindопределять или находить их по их содержимому . Это потому, что Spotlight может индексировать только те типы файлов, о которых он знает. Apple предоставляет несколько плагинов для индексирования наиболее распространенных типов файлов, но не всех. Очевидно, что ввашу копию MacTex должен бытьвключен импортер LaTeX Spotlight, но если он сломан, отсутствует или неадекватен, вы можете найти отличный прямо здесь: http://wiesmann.codiferes.net/wordpress/?page_id=262


Также здесь, из LyX для Mac OS X:
http://wiki.lyx.org/Mac/Spotlight/
И в комплекте с TeXShop здесь:
http://pages.uoregon.edu/koch/texshop/


См. Chat.stackexchange.com/rooms/29405/… для обсуждения и для обсуждения этого вопроса.
bmike

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.