如何在Spotlight中搜索LaTeX文档?


12

我现在还在El Capitan中用Macbook Air 2013-mid的新组件(主板,3x SSD)重现了该问题。在进行测试时,我已经全新安装了OS X(El Capitan,优胜美地)。.tex搜索可用的最新OS X在Spotlight中是10.8.5。目前,我在Spotlight搜索中看不到任何.tex文档。测验

  • 当前没有答案永久解决问题。在优胜美地,问题很快恢复了,并给出了一些答案。没有稳定的解决方案,也很少了解导致问题的原因。

在Spotlight中,设置配置的选择无关紧要,因为我们可以直接mdfind在终端中使用命令,这等效于Spotlight。但是,我们在Spotlight中尝试了默认,最小和完全设置。对于测试,我们使用OS X中的默认设置。系统和应用程序

  • 系统OS X优胜美地,OS X El Capitan
  • TexShop.app已安装。(MacTeX 2015,mactex-20150613.pkg)。
  • Tex应用程式:TextMate2-beta8
  • Spotlight / Finder /任何搜索应用程序不适用于TeX文件和MacTeX 2015
  • Spotlight在某些不同的设置下以及MacTeX 2015都能按预期工作。

该命令mdfind(2004年6月10日版本)等效于Spotlight搜索,因此是一个简单的测试,在我的系统中未成功返回任何内容

mdfind sulfas | grep tex

我认为问题在于系统无法识别文件格式.tex`。首先是让系统识别它。

tjt263建议仅在Finder / Spotlight中搜索.tex

Spotlight .tex或terminal命令的输出在我的系统中正确提供了tex -files。但是,将其与其他术语(如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的测试

无法在Finder中搜索文件notes.tex。我将其更改为notes.txt,现在可以在Finder中搜索。这建议我不是搜索程序问题(Spotlight,md ...,无论您使用什么,正如我在评论中多次描述的那样)。因此,系统中的tex问题。同一文件的输出,但具有两个不同的结尾。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

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

所需命令:

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

我们发现MacTeX 2015的TeXShop没有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我们通过将HardDisc移至Prevent -panel并快速将其重置来重置Spotlight的索引,因此现在需要一些时间来对系统进行索引。

克拉诺玛斯的答案结果持续了一天直到回到糟糕的状态

我在mdfind中不稳定地获得了一些.tex文件。从该提案的初始使用开始,经过一天的使用,情况又回到了不良状态:

  • 骨质疏松症搜索返回的文件与一天前相同,但是我注意到这些文件在搜索中不可见,这些文件最近在搜索匹配中不可见,并且在上次编辑时足够长的时间
  • 仅显示最近编辑的文件,有时甚至显示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使用的索引方面做得不好。


如何使用mdfind / Spotlight / Finder搜索LaTeX文档?


由于A)这是一个好问题,因为它会受到聚光灯,文件类型和启动服务数据库的影响而变得复杂b)需要大量来回操作,所以我在聊天室中讨论了该问题/进行了故障排除迭代这样帖子就不会变得比需要的更加混乱。chat.stackexchange.com/rooms/info/29405/...
bmike

1
请不要在问题文本中添加答案,而是在下面将其发布为答案。
nohillside

在这里有同样的问题。在其顶部,.tex文档的图标为空白(通用)图标。也许这两个问题是相关的?
user11126

@ user11126请参阅接受的答案。苹果多年来没有表现出解决问题的动力。请在没有Spotlight的情况下查看已接受的答案及其建议。终端方法效果更好。--关于第二件事-您可能尚未安装MacTex或配置中存在错误。
莱奥波德·赫兹(LéoLéopoldHertz)2016年

Answers:


5

这可能是您使用TEX的编辑器/软件的结果,因为您不需要任何Spotlight导入程序即可处理纯文本文件。(因此,您可以删除应用程序的自定义导入程序,也可以选择更新/不同的导入程序)。

而不是猜测情况-这是确定问题所在的方法。编辑器可能会将** kMDItemContentType **更改为未编制索引,或者您的第三方Spotlight扩展崩溃了。这是我知道发生了哪些(或更意外的事情)的方法:

A)当您将扩展名从.txt更改为.tex时,聚光灯是否会索引任意文本文件?
B)比较文件的元数据,以了解使用了什么情况mdls


要测试A,请打开“文本编辑”,然后在文档中粘贴一个单词:骨质疏松症

如有必要,将文档转换为纯文本(可能是富文本)-Shift + Command + T(或使用格式菜单-生成纯文本),并将其另存为文件file.txt-如果格式菜单显示“富文本”文本然后不按键,而只是保存文档。

此时,聚光灯应立即看到该文件。如果没有,则说明存在聚光灯问题,而不是.tex文件问题。如果您的聚光灯坏了,以至于无法索引纯文本文件,这是一个非常基本的问题。如果可行,则将.txt扩展名更改为.tex并重新检查Spotlight。


对于测试B-使用mdls命令来检查文件和适用于Spotlight的TextEdit文件之间的元数据差异。请特别注意以下领域:

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

将.txt更改为.tex会导致此更改(因为我没有应用程序声明.tex的文件扩展名,并将其映射到启动服务/ spotlight分类和正确的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命令等效于使用Spotlight,因此请确保终端搜索此时与Spotlight搜索匹配。

作为注脚,这些工具仅需要用于诊断破损程度,而不能最终替代聚光灯搜索。只是您不能仅凭聚光灯来诊断聚光灯问题。另外,在操作步骤时,您可能希望查看控制台日志~/Desktop,以防在子系统上进行崩溃报告或其他聚光灯诊断时发生。

另外,如果您可以搜索纯文本文档而不是文本文档,那么事情很快就会变得很麻烦。在您的更新中,您提到.tex文件的类型为“ org.tug.tex”-您可以浏览启动服务数据库,以查找系统事物负责解析该文件的导入程序并将其删除(或仅创建一个有根据的猜测并暂时删除TEX应用程序,以查看它是否“固定”了聚光灯。

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

lsregister在/ System中哪里有一个隐藏的工具-请在SuperUser上查看此线程以了解启动服务:https : //superuser.com/questions/323599/,在这里此线程:Finder中“打开方式”菜单中的重复条目即使在重建启动服务以尝试一些奇怪的事情之后。我相当有信心,在大约20分钟的戳戳之后,您可以解决系统上的问题,但是以一种您可以访问的方式写下所有可能性,并猜测出一些答案比我预期的要难。



我联系了Textmate的开发人员,并希望确认这一说法。现在在El Capitan中也再现了该问题。
莱奥列奥波尔德赫兹준 영

4

我试图在Mac OS X 10.8的虚拟机设置中重现您的Spotlight问题。

安装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/库/聚光灯/

    sudo cp -R /Applications/TeX/TeXShop.app/Contents/Library/Spotlight/TeX.mdimporter  /Library/Spotlight/
    
  • 首先转到文件夹/.Spotlight-V100(在Finder菜单栏中->转到->转到文件夹...,然后输入/.Spotlight-V100)并移动此文件夹中的所有文件和文件夹,为系统重新编制索引到垃圾桶。您必须输入管理员密码才能这样做。如果您无法以root用户身份登录文件夹(您可能必须先使用/ System / Library / CoreServices / Directory Utility.app启用root用户),然后以root用户身份删除文件夹的内容。
  • 重新启动Mac
  • 以管理员身份登录并清空垃圾桶。重新索引将自动开始。

使用mdlsxattr和其他工具连续检查所有相关信息,例如文件属性或系统不同状态下的启动服务(带有多个VM快照),并没有发现任何有趣或可疑的信息。


我已经在新的VM中更彻底地重复了上述所有步骤,并用于mdimport -d3检查Spotlight的行为。

在原始Mac OS X中,可以使用dyn.random导入程序正确导入.tex文件:

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. 

找到了内容(关键字)。

在安装但未启动其中一个Tex.apps之后,Mac OS X情况也是如此,但是导入器更改为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)之后,导入程序将使用位于TeXShop捆绑包深度内的默认TeX.mdimporter:

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文件重新编制索引(尤其是那些无法搜索内容关键字的文件),您必须重建Spotlight数据库(检查答案的第一部分)或更改所有.tex文件的修改日期以启动它们的重新编制索引。


有趣。进口商需要进行全文搜索吗?只需删除导入程序,就应该让纯文本聚焦所有文件,不是吗?(尽管如此,但+1仍然很大-很棒的工作)
bmike

我可以在没有特殊导入程序的情况下搜索我的所有文件,但我现在不再运行10.8 ...感谢@klanomath
bmike

@Masi怎么办?mdutil -s ~/Dropbox或者在执行第一个命令sudo mdutil -s ~/Dropbox显示时遇到错误?
klanomath

@Masi尽管那是一条错误消息,但这不是由于缺少权限(我的意思是错误)导致的执行命令的“ bash”错误。这是一条错误消息,提示mdutil无法索引您的保管箱文件夹。如何交换(dl / ul)或将.tex文件存储在哪里?在Dropbox文件夹中?
klanomath

@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> Contents(通过右键单击TeXShop并选择Show Package Contents)。我通过如下方式将public.tex添加为文档内容类型UTI来修改了Info.plist(请参见蓝色突出显示的行):

编辑info.plist

然后,我继续在TeXShop>内容>库> Spotlight> TeX.mdimporter>内容中修改Info.plist(执行TeX.mdimporter的Show Package Contents)。就像上面一样,我在适当的位置添加了public.tex。看下图:

编辑TeX.mdimporter的Info.plist

此后,Spotlight将搜索.tex文件的内容。


最好为此获得一行,以更好地理解它。尚无关于其工作原理的确认。
莱奥波德·赫兹(LéoLéopoldHertz)2016年

希望您向我们展示了纯文本编辑器;Xcode的表是一种混乱的情况。
Dellu

终于再次在Sierra上工作!终于解脱了!
Florian

2

这似乎是Spotlight MetaData导入的问题。“ TexLive”软件包安装的“ Spotlight插件”的路径丢失,损坏或损坏。

我的机器上“ mdimport -L”的输出包括以下行:

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

在您的输出中没有看到类似的行。一个不错的解决方案是从MacTeX-2015发行版中的以下位置重新安装“ TeX Live”发行版:https : //www.tug.org/mactex/这应该可以纠正损坏的mdimport路径。

mactex-20150613.pkg


3
不要使用缩短的链接,它们会混淆目的地。
grg

重新索引并不能解决问题。
莱奥波德·赫兹(LéoLéopoldHertz)2015年

1

如果可以没有Spotlight

如果要获取文件列表,然后分别浏览每个文件。

如果要在同一视图中获取所有文件名和匹配项,请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语句合并为一个find -L . -type d -path './Time*' -exec grep -d "recurse" series {} +
-fd0

0

如果找不到更理想的解决方案,则可以随时尝试mdfind
我了解它是Spotlight的 CLI对应物。我经常使用它,发现它很有帮助。
要使用它,只需打开本机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',在其字符串的末尾


仅供参考:某些文件类型似乎不允许 Spotlightmdfind通过其内容来识别或定位它们。这是因为 Spotlight只能索引它知道的文件类型。Apple提供了一些插件来索引最常见的文件类型,但不是全部。显然,您的 MacTex副本中应该包含一个 LaTeX Spotlight 导入器,但是如果它损坏,丢失或不足,您可以在这里找到一个不错的版本: http : //wiesmann.codiferes.net/wordpress/?page_id=262


也可从适用于Mac OS X的LyX下载:
http
://wiki.lyx.org/Mac/Spotlight/并与TeXShop捆绑在此处:http :
//pages.uoregon.edu/koch/texshop/


请参阅chat.stackexchange.com/rooms/29405/…进行讨论,并在此问题的后继文章
bmike

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.