Arara Syntex na edição de um livro

Arara Syntex na edição de um livro

O problema é que o syntex no Arara não funciona para mim.

Estou usando MacTeX com TeXShop 4.26. Uma documentclass especial é usada (espero que não afete). Durante meses, executo esse arquivo colocando todos os arquivos de suporte, como chp1.tex, na mesma pasta de arquivos e clicando em comando + T. A sincronização de pdf para tex e todo o resto está bem, exceto a sincronização de tex para pdf. A sincronização de tex para pdf funciona bem na edição de qualquer outro arquivo simples usando pdflatex diretamente (em vez de usar Arara). Há algo errado?

% !TEX TS-program = Arara
% arara: pdflatex
% arara: bibtex
% arara: makeindex
% arara: nomencl
% arara: pdflatex: {synctex: yes}
% arara: pdflatex: {synctex: on}
\documentclass[cmyk]{***}
\usepackage{amsrefs}
\usepackage{imakeidx}
\usepackage{graphicx,tikz,amscd}
\usepackage[hyperindex,colorlinks,pageanchor]{hyperref}
\usepackage[capitalize]{cleveref}
\makeindex
\usepackage[refpage]{nomencl}
\makenomenclature
\begin{document}
\frontmatter
\input{front}
\tableofcontents
\include{preface}
\mainmatter
\include{chp1}
\include{chp2}
\appendix
\include{appd}
\backmatter
\bibliographystyle{amsalpha}
\bibliography{biblio}
\printindex
\printnomenclature
\pagestyle{empty}
\end{document}

Responder1

Marquei deliberadamente esta resposta como wiki da comunidade porque na verdade não é uma resposta direta, mas sim um comentário elaborado que é muito longo para ser postado como tal. Eu realmente não estou com vontade de colher reputação.:)

Para começar, obrigado pelo log.:)

Fica claro, a partir da inspeção do log, que ele ararapassa com sucesso por todos os movimentos de execução dos comandos mapeados nas diretivas. No entanto, para mim, não há nenhuma indicação clara de que a culpa seja da ferramenta pelo problema relatado nesta pergunta. Vou expandir isso.

araraé como um invólucro para facilitar a chamada para programas reais, como pdflatexe amigos. Na verdade, se eu pegar o código fornecido e percorrer a ferramenta com --dry-runhabilitado, podemos ver o que arararealmente está sendo executado em um cenário normal (aqui, sem uma chamada, certamente, já que este sinalizador desabilita a execução real):

$ arara --dry-run 478314.tex 
  __ _ _ __ __ _ _ __ __ _ 
 / _` | '__/ _` | '__/ _` |
| (_| | | | (_| | | | (_| |
 \__,_|_|  \__,_|_|  \__,_|

Processing '478314.tex' (size: 231 bytes, last modified:
03/10/2019 17:53:47), please wait.

[DR] (PDFLaTeX) PDFLaTeX engine
-----------------------------------------------------------------
Authors: Marco Daniel, Paulo Cereda
About to run: [ pdflatex, 478314.tex ]

[DR] (BibTeX) The BibTeX reference management software
-----------------------------------------------------------------
Authors: Marco Daniel, Paulo Cereda
About to run: [ bibtex, 478314 ]

[DR] (MakeIndex) The MakeIndex software
-----------------------------------------------------------------
Authors: Marco Daniel, Paulo Cereda
About to run: [ makeindex, -t, 478314.ilg, 478314.idx, -o,
478314.ind ]

[DR] (Nomencl) The Nomenclature software
-----------------------------------------------------------------
Authors: Marco Daniel, Nicola Talbot, Paulo Cereda
About to run: [ makeindex, 478314.nlo, -s, nomencl.ist, -o,
478314.nls ]

[DR] (PDFLaTeX) PDFLaTeX engine
-----------------------------------------------------------------
Authors: Marco Daniel, Paulo Cereda
About to run: [ pdflatex, --synctex=1, 478314.tex ]

[DR] (PDFLaTeX) PDFLaTeX engine
-----------------------------------------------------------------
Authors: Marco Daniel, Paulo Cereda
About to run: [ pdflatex, --synctex=1, 478314.tex ]

Total: 0.42 seconds

As duas últimas chamadas pdflatexpossuem o --synctex=1sinalizador, que deve fornecer suporte adequado ao SyncTeX. É isso.

No entanto, pouco ou nada pode ser feito sem se aprofundar em seu ambiente e código reais para ver o que está acontecendo. Minha sugestão é executar de forma independente

pdflatex --synctex=1 myfile.tex

na linha de comando e veja o que acontece. Posso pensar em alguns cenários:

  1. O editor não sabe que houve uma cadeia de compilação que gerou o PDF resultante, portanto nada é atualizado, ou

  2. Você tem diretivas em seu código-fonte (não mostradas neste exemplo específico) que eliminam synctex.gzarquivos como um meio de organizar o diretório, ou

  3. Existem possíveis conflitos no código-fonte que estão causando esse problema.

Falando nisso, notei que o arquivo de log contém muitos avisos sobre referências cruzadas. Embora o SyncTeX não esteja diretamente relacionado a ele, talvez valha a pena conferir. Da minha parte, tentei alguns documentos meus e funcionaram, então realmente não consigo reproduzir esse problema, sinto muito.

Tente executar pdflatexcomo uma chamada independente em vez de usar ararae veja se funciona. Além disso, experimente outras ferramentas semelhantes, como latexmk. Se o problema persistir, talvez precisemos chegar a um exemplo mínimo de trabalho que reproduza o problema, caso contrário, só posso supor.

Desculpe por não poder ajudá-lo neste assunto. Por favor mantenha-me informado.

Responder2

Encontrei uma solução: adicionar % !TEX root = main.texno início do arquivo de cada capítulo, como o do arquivo chp1.tex. Este comando atribui um caminho relativo para que o arquivo de sincronização gerado encontre o arquivo principal que contém uma linha de \include{chp1}. Uma solução alternativa é adicionar um caminho absoluto como % !TEX root = /Users/main.texse /Users/main.texfosse o local do arquivo main.tex no meu Mac. O problema deveria ser editar um livro em vários arquivos, em vez de usar o Arara.

informação relacionada