
Texmaker possui um visualizador de PDF integrado que suporta pesquisa sincronizada direta/inversa pronta para uso. Este visualizador integrado pode ser exibido incorporado ou em uma janela separada; os visualizadores externos sempre têm uma janela separada. Como tenho duas telas, estou usando o layout de duas janelas.
Agora eu gostaria de mudar paraSumatraPDFcomo visualizador externo, mas não consegue descobrir como configurar o Texmaker para que a pesquisa direta funcione.
Eu registrei umsolicitação de recursopara adicionar essas informações aoDocumentação do Texasmakerjá. Alguém aqui sabe como fazer isso? Provavelmente usando algumComando DDE...
Responder1
Parece que o Texmaker não permite comandos DDE, masdesde a versão 1.9 SumatraPDFsuporta pesquisa direta não apenas por meio de comandos DDE, mas também por meio de opções de linha de comando. Desde a versão 3.2.1 Texmakerpossui todas as variáveis necessárias para usar a pesquisa direta. Estes são
%
para o nome base do arquivo mestre (sem caminho e sem extensão),!
para obter o caminho completo para o diretório onde reside o documento mestre,#
para o nome base do arquivo atualmente ativo (sem caminho e sem extensão) e@
para o número da linha.
Geralmente o seguinte deve funcionar:
""C:/Program Files (x86)/SumatraPDF/SumatraPDF.exe" -reuse-instance "!/%.pdf" -forward-search "!/#.tex" @
Isso falhará ao incluir de um subdiretório. Uma solução alternativa é adicionar o subDirName ao caminho manualmente:
""C:/Program Files (x86)/SumatraPDF/SumatraPDF.exe" -reuse-instance "!/%.pdf" -forward-search "!/subDirName/#.tex" @
Mas então o subDirName deve ser idêntico em todos os projetos, então isso é mais uma solução alternativa do que uma solução real.
Aqui está uma captura de tela da minha configuração do Texmaker:
Responder2
Acabei de fazer um documento descrevendo como configurar o Texmaker e o SumatraPDF com pesquisa direta e inversa, mas totalmente portátil, o que é um pouco complicado. Link para o tutorialhttp://goo.gl/hxDeu(sem redirecionamento:http://goo.gl/hxDeu+) ou veja abaixo:
1. Configurando o Texmaker para usar o SumatraPDF como visualizador de PDF externo com pesquisa direta Abra seu Texmaker portátil e defina o caminho para o visualizador externo da seguinte forma:
./SumatraPDF/SumatraPDF.exe %.pdf -reuse-instance -forward-search %.tex @
Observe que o caminho para SumatraPDF.exe é relativo ao executável do Texmaker e pode ser necessário editar esse caminho para corresponder à sua estrutura de pastas.
2. Configurando pesquisa inversa no SumatraPDF
Por padrão, o SumatraPDF não permite configurar a pesquisa inversa via GUI. Execute uma vez o seguinte comando:
SumatraPDF.exe -inverse-search "texmaker.exe %f -line %l"
Você não deve alterar o caminho para o arquivo texmaker.exe, mesmo se tiver uma estrutura de pastas diferente da minha.
3. Crie um arquivo em lote de inicialização
Devido a algumas limitações no SumatraPDF, temos que iniciar o Texmaker com o seguinte arquivo em lote sempre que quisermos usar o SumatraPDF como visualizador externo. Coloque os seguintes comandos em texmaker-portable.bat e salve este arquivo na mesma pasta que Texmaker.exe. Observe também que você pode passar qualquer parâmetro para texmaker-portable.bat que você poderia passar para o próprio texmaker.exe.
@echo off
set PATH=%~dp0;%PATH%
start /D "%~dp0" texmaker.exe %*
4. Execute texmaker-portable.bat e teste as configurações
Solução de problemas
- certifique-se de usar o parâmetro
-synctex=1
ou-synctex=-1
ao formatar um arquivo tex - o arquivo tex não deve conter espaço em seu nome (Texmaker e SumatraPDF lidam bem com espaços, mas o arquivo SyncTeX pode não ser criado mesmo com
-synctex=1
parâmetro) - certifique-se de iniciar o Texmaker com o arquivo em lote e o SumatraPDF via Texmaker (esta cadeia é obrigatória)
Responder3
Isto pretende ser uma resposta à resposta de Vlastimil acima. Descobri que a pesquisa inversa funciona bem sem o arquivo em lote. Acabei de usar a seguinte linha em Sumatra PDF Options (ela surgiu automaticamente como uma opção). Estou usando Sumatra 2.1.1 e Texmaker 3.5.
"C:\Program Files (x86)\Texmaker\texmaker.exe" "%f" -line %l
Como outros afirmaram, a pesquisa direta também funciona com a linha de comando nas opções do Texmaker:
"C:/Program Files (x86)/SumatraPDF/SumatraPDF.exe" -reuse-instance %.pdf -forward-search "#.tex" @
Responder4
Esta resposta visa compreender as etapas do TeXmaker v4.5 e do TeXstudio v2.12.22 com SumatraPDF v3.2
TeX Maker
- No Texmaker, vá para
Options > Configure Texmaker > Commands
No
External Viewer
campo (caso você esteja usando SumatraPDF), digite"C:\Program Files\SumatraPDF\SumatraPDF.exe" -1 -s @%.tex %.pdf
No SumatraPDF, vá para
Settings > Options
e digiteSet inverse search command-line
"C:\Program Files (x86)\Texmaker\texmaker.exe" "%f" -line %l
TeXstudio
Caso você esteja usando TeXstudio
- No TeXstudio, vá para
Options > Configure TeXstudio > Commands
No
External PDF Viewer
campo digite"C:\Program Files\SumatraPDF\SumatraPDF.exe" -reuse-instance -inverse-search "\"C:/Program Files (x86)/texstudio/texstudio.exe\" \"%%f\" -line %%l" -forward-search "?c:am.tex" @ "?am.pdf"
No SumatraPDF, vá para
Settings > Options
, então, emSet inverse search command-line
, digite"C:/Program Files (x86)/texstudio/texstudio.exe" "%f" -line %l