Como pesquisar documentos do LaTeX no Spotlight?


12

Agora reproduzi o problema também no El Capitan com novos componentes (placa-mãe, SSD 3x) no meu Macbook Air 2013-meados de. Eu tive uma instalação limpa do OS X (El Capitan, Yosemite) enquanto fazia o teste. O OS X mais recente em que a pesquisa .tex funciona é 10.8.5 no Spotlight. Não vejo documentos .tex na minha pesquisa Spotlight no momento. Testes

  • Nenhuma resposta atual resolve o problema permanentemente. Em Yosemite, o problema voltou depois de um tempo com algumas respostas. Não existe uma solução estável e pouco entendimento da causa do problema.

A seleção das configurações não é relevante no Spotlight porque podemos usar diretamente o comando mdfindno terminal, que é equivalente ao Spotlight. No entanto, tentamos as configurações Padrão, mínima e Completa no Spotlight. Para os testes, usamos as configurações padrão no OS X. Sistema e aplicativos

  • Sistemas OS X Yosemite, OS X El Capitan
  • O TexShop.app está instalado. (MacTeX 2015, mactex-20150613.pkg).
  • Aplicativo Tex: TextMate2-beta8
  • O Spotlight / Finder / qualquer aplicativo de pesquisa não funciona com arquivos TeX e MacTeX 2015
  • O Spotlight funciona conforme o esperado com algumas configurações diferentes e também com o MacTeX 2015.

O comando mdfind(versão 10 de junho de 2004) é equivalente à pesquisa Spotlight, portanto, um teste simples que não retorna nada sem êxito no meu sistema

mdfind sulfas | grep tex

Eu acho que o problema é que o sistema não reconhece o formato de arquivo .tex`. A primeira coisa é fazer com que o sistema o reconheça.

A sugestão de tjt263 de pesquisar apenas .tex no Finder / Spotlight

A saída Spotlight .texou o comando terminal fornece tex-files corretamente no meu sistema. No entanto, combiná-lo com outros termos como, por .tex diabetes, não fornece mais arquivos tex. Importadores obtidos por 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"
)

testes de bmikes

O arquivo notes.tex não pode ser pesquisado no Finder. Altero-o para notes.txt, que agora posso procurar no Finder. Isso me propõe que não o problema do programa de pesquisa (Spotlight, md ..., o que você usar, como descrevi várias vezes nos comentários). Então, tex-problema no sistema. Saídas do mesmo arquivo, mas com duas terminações diferentes. Saída do arquivo 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

Saída do arquivo 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

Comandos desejados:

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"

Ferramentas de diagnóstico atuais usando e discutindo no bate-papo

Comando bem oculto de É possível consultar o banco de dados dos serviços de inicialização para aplicativos que abrirão um arquivo arbitrário ou tipo de UTI?

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

Descobrimos que o TeXShop do MacTeX 2015 não possui TeX.mdimporter. A instalação disso fornece a última linha de mdimport -L:

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

Tentativa malsucedida com o Patrix

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

depois disso rm ~/Library/Spotlight/TeX.mdimporter, redefinimos o índice do Spotlight movendo o HardDisc para o painel Prevent e removemos-o rapidamente, levando um tempo para indexar o sistema.

resultados da resposta de klanomath que funcionaram um dia até voltar ao estado ruim

Recebo instáveis ​​alguns arquivos .tex no mdfind. Após um dia de uso a partir do init desta proposta, a condição voltou ao estado ruim:

  • a pesquisa de osteoporose retorna os mesmos arquivos de um dia atrás, mas notei que esses arquivos, que não foram visíveis na pesquisa correspondem recentemente e há tempo suficiente na última edição, não são visíveis na pesquisa
  • apenas arquivos editados recentemente mostrados e, na verdade, às vezes até arquivos com 3,5 meses mostrados

Correndo 18:25:06:~:masi$ /usr/bin/mdimport -d3 /Users/masi/Dropbox/Internal\ Diseases/24.9.2015.texe ficando

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

Adivinha sobre a origem do problema: /Volumes/Disc/.Spotlight-V100 / ...

Eu investiguei a dinâmica da memória em diferentes pontos no tempo fdupes -rd /Volumes/Disc2/, o seguinte exemplo é durante a indexação:

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

onde o conteúdo do arquivo é duas linhas vazias. Você vê muitas entradas duplicadas criadas pelo Spotlight para seu índice. O índice do Spotlight tem muitas duplicatas em muitos pontos de seu funcionamento. Também estudei esse comportamento em diferentes mídias. Existem muitos arquivos fictícios / duplicados criados durante a indexação e durante o período estável em que a indexação é concluída. Acho que a Apple fez um mau trabalho ao projetar o índice que o Spotlight está usando.


Como você pode pesquisar documentos LaTeX com mdfind / Spotlight / Finder?


Como A) essa é uma boa pergunta, pois é complicada pela interseção de holofotes, tipos de arquivos e banco de dados de serviços de inicialização b) está precisando de muito e para trás, criei uma sala de bate-papo para discutir o problema / iterar na solução de problemas para que as postagens não fiquem mais confusas do que o necessário. chat.stackexchange.com/rooms/info/29405/…
bmike

1
Não adicione respostas ao texto da pergunta, publique-o como resposta abaixo.
Nohillside

Tendo os mesmos problemas aqui. Além disso, os ícones para documentos .tex são em branco (genéricos). Talvez as duas questões estejam relacionadas?
user11126

@ user11126 Por favor, veja a resposta aceita. A Apple não demonstrou motivação para resolver o problema por muitos anos. Veja a resposta aceita e sua proposta sem o Spotlight. A abordagem terminal funciona muito melhor. - - Sobre a segunda coisa - você pode não ter instalado o MacTex ou há um erro na configuração.
Léo Léopold Hertz,

Respostas:


5

Provavelmente, isso é resultado do editor / software para TEX usado, pois você não precisa de nenhum importador de destaque para processar arquivos de texto sem formatação. (Você pode excluir o importador personalizado do seu aplicativo ou escolher uma atualização / importador diferente).

Em vez de adivinhar o caso - veja como descobrir onde está o problema. O editor pode estar alterando o ** kMDItemContentType ** para um que não esteja indexado ou se houver uma extensão de destaque de terceiros que esteja travando. Aqui está como eu saberia qual deles (ou algo mais inesperado) está acontecendo:

A) O Spotlight indexa um arquivo de texto arbitrário quando você altera a extensão de .txt para .tex?
B) Compare os metadados dos arquivos para saber o que está acontecendo usandomdls


Para testar A, abra o Text Edit e cole uma palavra no documento: osteoporose

Se necessário, converta o documento em texto sem formatação (provavelmente é rich text) - Shift + Command + T (ou use o menu Formatar - Tornar texto sem formatação) e salve-o na área de trabalho como arquivo.txt - Se o menu Formatar for Rich Rich O texto não pressiona as teclas e salva o documento.

Nesse ponto, o destaque deve ver o arquivo imediatamente. Caso contrário, você tem um problema de destaque e não problemas de arquivo .tex. Esse é um problema muito básico se o seu holofote estiver quebrado, para não indexar arquivos de texto sem formatação. Se isso funcionar, altere a extensão .txt para .tex e verifique novamente o foco.


Para o teste B - use o mdlscomando para examinar as diferenças de metadados entre seu arquivo e o arquivo TextEdit que funcionam com o spotlight. Preste atenção especial aos seguintes campos:

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

Alterar o .txt para .tex causa uma alteração nisso (já que eu não tenho um aplicativo que reivindique a extensão do arquivo .tex e mapeie-o para uma classificação de serviços / spotlight de lançamento e kMDItemContentType / kMDItemKind adequado, em oposição a um genérico e ad / hoc tipo:

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

Aqui está um pequeno teste que você pode cortar / colar se suas habilidades no terminal ainda não foram desenvolvidas. Ele excluiria o conteúdo de qualquer nome de arquivo test_file na área de trabalho; portanto, faça um backup se você não tiver certeza antes de colar os comandos abaixo:

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 

Os mdfindcomandos são equivalentes ao uso do Spotlight, portanto, verifique se a pesquisa do terminal corresponde à pesquisa do Spotlight naquele momento.

Como nota de rodapé, essas ferramentas são necessárias apenas para diagnosticar a extensão da quebra e não um substituto para a pesquisa de destaque no final. Só que você não pode diagnosticar um problema de destaque apenas com o destaque. Além disso, você pode assistir ao log do console enquanto executa as etapas ~/Desktop, caso haja relatórios de falha ou outros diagnósticos de destaque acontecendo enquanto cutucava o subsistema.

Além disso, as coisas ficam desagradáveis ​​rapidamente se você pode pesquisar o documento de texto sem formatação, mas não o texto. Na atualização, você mencionou que os arquivos .tex são do tipo "org.tug.tex" - você pode explorar o banco de dados dos serviços de inicialização para descobrir quais importadores os itens do sistema são responsáveis ​​por analisar esse arquivo e removê-los (ou apenas fazer um palpite instruído e exclua temporariamente os aplicativos TEX para ver se "corrige" os holofotes temporariamente).

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

Onde lsregisterestá uma ferramenta bem oculta em / System - veja este tópico no SuperUser para ler sobre os serviços de inicialização: /superuser/323599/ e este tópico aqui: Duplicar entradas no menu "Abrir com" no Finder mesmo após a reconstrução dos Serviços de Inicialização, para algumas coisas esquisitas. Estou bastante confiante de que poderia entender o que está faltando em seu sistema em cerca de 20 minutos, mas anotar todas as possibilidades de uma maneira acessível a você e adivinhar que algumas respostas estão se mostrando mais difíceis do que eu esperava.



Entrei em contato com o desenvolvedor do Textmate e quero confirmar esta reivindicação. O problema é reproduzido agora também em El Capitan.
Léo Léopold Hertz,

4

Tentei reproduzir seus problemas do Spotlight em uma configuração de máquina virtual com o Mac OS X 10.8.

Depois de instalar o MacTex-20150613 e atualizar todos os componentes (> 300), incluindo o TexShop e o LaTeXiT, não tive problemas para procurar conteúdo nos arquivos * .tex.

Depois de entrar:

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

"Consegui" perder a capacidade de procurar conteúdo em arquivos * .tex.

Para recuperar a capacidade de fazer isso, fiz o seguinte:

  • Conectado como administrador, copiei o arquivo /Applications/TeX/TeXShop.app/Contents/Library/Spotlight/TeX.mdimporter em / Library / Spotlight / with

    sudo cp -R /Applications/TeX/TeXShop.app/Contents/Library/Spotlight/TeX.mdimporter  /Library/Spotlight/
    
  • Preparei a reindexação do meu sistema, indo primeiro para a pasta /.Spotlight-V100 (na barra de menus do Finder -> Ir -> Ir para a pasta ... e digite /.Spotlight-V100) e movendo todos os arquivos e pastas nesta pasta para a lata de lixo. Você precisa digitar sua senha de administrador para fazer isso. Se você não conseguir entrar na pasta, faça o login como root (talvez seja necessário habilitar o root primeiro usando / System / Library / CoreServices / Directory Utility.app) e remova o conteúdo da pasta como root.
  • Reiniciou o Mac
  • Conectou-se como administrador e esvaziou a lixeira. A reindexação será iniciada automaticamente.

A verificação contínua de todas as informações relevantes, como atributos de arquivo ou serviços de inicialização em diferentes estados do sistema (com várias capturas de tela da VM) usando mdls , xattr e outras ferramentas, não revelou nada de interessante ou suspeito.


Repeti todas as etapas acima com mais detalhes em uma nova VM e usei mdimport -d3para verificar o comportamento do Spotlight.

Em um Mac OS X de baunilha, um arquivo .tex é importado corretamente usando um importador 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. 

O conteúdo (palavras-chave) foi encontrado.

O mesmo se aplica ao Mac OS X depois de instalar, mas não iniciar um dos Tex.apps, mas o importador mudou para 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 

Depois de iniciar um Tex.app (no meu caso, o TeXShop), o importador usa o TeX.mdimporter padrão que reside nas profundezas do pacote 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 

Após atualizar o MacTex-20150613, incluindo o TexShop e o LaTeXiT, a indexação é completamente interrompida:

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.

O caminho adequado para o plugin TeX.mdimporter (dentro do TexShop) se perdeu e, portanto, a capacidade de indexar um novo arquivo * .tex desapareceu. Outros plugins, como o dyn.random ou RichText.mdimporter, não entram provavelmente porque não indexam arquivos do tipo 'public.tex'. A pesquisa de conteúdo em (pelo menos novos) arquivos .tex não é mais possível.

Após copiar o TeX.mdimporter para / Library / Spotlight, a indexação do conteúdo é restaurada:

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 

Para reindexar todos os arquivos .tex corretamente (especialmente aqueles onde as palavras-chave de conteúdo não são pesquisáveis), você deve reconstruir o banco de dados de destaque (verifique a primeira parte da minha resposta) ou alterar as datas de modificação de todos os arquivos .tex para iniciar a reindexação deles. .


Interessante. O importador é necessário para fazer a pesquisa de texto completo? Apenas excluir o importador deve permitir que os holofotes de texto simples processem todos os arquivos, não? (e uma enorme +1 no entanto - grande trabalho)
bmike

Eu sou capaz de pesquisar todos os meus arquivos sem importador de especial, mas eu não estou correndo 10.8 mais ... graças @klanomath
bmike

@Masi, o que ocorre mdutil -s ~/Dropboxou se você receber um erro ao executar o primeiro comando de sudo mdutil -s ~/Dropboxexibição?
precisa saber é o seguinte

@Masi Embora seja uma mensagem de erro, não é um erro "bash" executando o comando causado por falta de permissões (o que eu quis dizer com erro). É uma mensagem de erro informando que mdutilnão é possível indexar sua pasta da caixa de depósito. Como você troca (dl / ul) ou onde você armazena seus arquivos .tex? Na pasta Dropbox?
14

O @Masi Disc2 é um segundo volume ou aplicativo / serviço em nuvem como o Dropbox?
precisa saber é o seguinte

4

Aqui está como eu resolvi esse problema.

Nota. Isso ainda funciona desde que publiquei a solução pela primeira vez. Naquela época, eu estava usando o Mac OS 10.11.5 e o TeXShop 3.62; agora é o Mac OS 10.12.3 e o TeXShop 3.77. Para editar os arquivos .plist (como explicado abaixo), uso o Xcode.

Primeiro, usando o mdlscomando, descobri que todos os meus arquivos .tex eram reportados kMDItemContentType = “public.tex”(se o seu sistema reportar de maneira diferente, você precisaria modificar as instruções a seguir.)

Então eu abri o TeXShop> Conteúdo (clicando com o botão direito do mouse em TeXShop e selecionando Mostrar Conteúdo do Pacote). Alterei o Info.plist adicionando public.tex como um UTI do tipo de conteúdo do documento da seguinte forma (veja a linha destacada em azul):

edição info.plist

Em seguida, alterei o Info.plist em TeXShop> Conteúdo> Biblioteca> Spotlight> TeX.mdimporter> Conteúdo (execute Mostrar o conteúdo do pacote do TeX.mdimporter). Assim como acima, adicionei public.tex nos locais apropriados. Veja a próxima imagem:

editando Info.plist do TeX.mdimporter

Depois disso, o Spotlight está pesquisando o conteúdo dos arquivos .tex.


Seria ótimo obter uma linha para isso entender melhor. Ainda não há confirmação sobre como funciona.
Léo Léopold Hertz

Eu gostaria que você nos mostrasse um editor de texto simples; a tabela do Xcode é um tipo de confusão.
Dellu

Finalmente trabalhando novamente na Sierra! Que alivio!
Florian

2

Isso parece ser um problema com a importação do Spotlight MetaData. Um caminho ausente, corrompido ou quebrado para o "Spotlight Plugin" instalado pelo pacote "TexLive".

A saída de "mdimport -L" na minha máquina inclui a linha:

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

Não vejo uma linha semelhante na sua saída. Uma boa solução para você pode ser reinstalar a distribuição "TeX Live", na The MacTeX-2015 Distribution em: https://www.tug.org/mactex/, isso deve corrigir o caminho quebrado do mdimport.

mactex-20150613.pkg


3
Não use links encurtados - eles ofuscam o destino.
grg

A reindexação não resolveu o problema.
Léo Léopold Hertz

1

Se você pode ficar sem o Spotlight

Se você deseja obter uma lista de arquivos e, em seguida, procure cada um deles separadamente.

Se você deseja obter todos os nomes de arquivos e correspondências na mesma exibição, use para pesquisar todos os arquivos no Directory Time...percorrendo recursivamente

  • arquivos / arquivos com link simbólico [fd0]

    find -L . -type d -path './Time*' \ 
        -exec grep -d "recurse" series {} + | 
    cut -c -80
    
  • arquivos .tex sem espaços no directoryNames ( origem )

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

Se o Spotlight

A correção temporária é usar documentos .txt em vez de documentos .tex em algumas pastas porque é uma solução estável

cat *.tex > summary_all.txt

Outras tentativas

  • Estou tentando encontrar uma abordagem de terminal para pesquisar arquivos .tex aqui sobre o PATH resultante do To Open Find por clique no visualizador?
  • Estou tentando substituir mdfind aqui sobre como substituir mdfind por qualquer outra ferramenta para .tex?

1
Como você faz uma pesquisa recursiva em um arquivo? Se eu entendi corretamente, então você pode rolar ambas as declarações achado em um-find -L . -type d -path './Time*' -exec grep -d "recurse" series {} +
fd0

0

Se você não conseguir encontrar uma solução mais desejável, tente sempre mdfind.
Entendo que é a contraparte da CLI do Spotlight . Eu o uso frequentemente e acho bastante útil.
Para usá-lo, basta abrir o Terminal.app nativo e digite o comando e argumento da seguinte maneira:

username@hostname:~$ mdfind osteoporosis.tex

Como alternativa, se você não conhece o título; você pode simplesmente listar todos os arquivos LaTeX com:

username@hostname:~$ mdfind .tex

É possível que essas consultas correspondam a cadeias semelhantes, ou seja, '.text', nesse caso, use:

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

E / ou mais simplesmente: (Esta é provavelmente a melhor opção para sua situação :)

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

Anexando | grep '\.tex$'ao comando, basicamente executa os resultados através de outro filtro, removendo os nomes de arquivos que não contêm a extensão LaTeX; '.tex', no final de sua string.


FYI: Alguns tipos de arquivos não parecem permitir Spotlight emdfindpara identificar ou localizar-los pelo seu conteúdo . Isso ocorre porque o Spotlight pode indexar apenas os tipos de arquivos conhecidos. A Apple fornece alguns plug-ins para indexar os tipos de arquivos mais comuns, mas não todos. Aparentemente, deve haver um importador LaTeX Spotlight incluído na sua cópia do MacTex, mas se estiver quebrado, ausente ou inadequado, você pode encontrar um ótimo aqui: http://wiesmann.codiferes.net/wordpress/?page_id=262


Também aqui no LyX para Mac OS X:
http://wiki.lyx.org/Mac/Spotlight/
E incluído no TeXShop aqui:
http://pages.uoregon.edu/koch/texshop/


Consulte chat.stackexchange.com/rooms/29405/… para a discussão e para trás / para trás sobre esta questão.
bmike

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.