Arara synctex en la edición de un libro.

Arara synctex en la edición de un libro.

El problema es que synctex en Arara no me funciona.

Estoy usando MacTeX con TeXShop 4.26. Se utiliza una clase de documento especial (espero que no afecte). Durante meses, ejecuto este archivo colocando todos los archivos de soporte como chp1.tex en la misma carpeta de archivos y haciendo clic en comando+T. Sincronizar de pdf a tex y todo lo demás está bien excepto sincronizar de tex a pdf. La sincronización de tex a pdf funciona bien para editar cualquier otro archivo simple usando pdflatex directamente (en lugar de usar Arara). ¿Hay algo mal?

% !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}

Respuesta1

Marqué deliberadamente esta respuesta como wiki de la comunidad porque en realidad no es una respuesta directa, sino más bien un comentario elaborado que es demasiado largo para publicarlo como tal. Realmente no tengo ganas de cosechar reputación.:)

Para empezar, gracias por el registro.:)

Al inspeccionar el registro, queda claro que arararealiza con éxito todos los movimientos de ejecución de los comandos asignados a partir de las directivas. Sin embargo, para mí, no hay ninguna indicación clara de que la herramienta sea la culpable del problema informado en esta pregunta. Ampliaré eso.

araraes como un envoltorio para facilitar la convocatoria de programas reales como pdflatexy amigos. De hecho, si tomo el código proporcionado y ejecuto la herramienta con --dry-runhabilitada, podemos ver lo araraque realmente se está ejecutando en un escenario normal (aquí, sin una llamada, seguramente, ya que este indicador deshabilita la ejecución 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

Las dos últimas llamadas pdflatextendrán la --synctex=1bandera, que se espera que brinde soporte adecuado para SyncTeX. Eso es todo.

Sin embargo, poco o nada se puede hacer sin profundizar en las profundidades de su entorno y código reales para ver qué está sucediendo. Mi sugerencia es ejecutar de forma independiente.

pdflatex --synctex=1 myfile.tex

en la línea de comando y vea qué sucede. Puedo pensar en algunos escenarios:

  1. El editor no es consciente de que hubo una cadena de compilación que generó el PDF resultante, por lo que no se actualiza nada, o

  2. Tiene directivas en su código fuente (que no se muestran en este ejemplo en particular) que eliminan synctex.gzarchivos como un medio para ordenar el directorio, o

  3. Existen posibles conflictos en el código fuente que están causando este problema.

Hablando de eso, noté que el archivo de registro contiene muchas advertencias sobre referencias cruzadas. Aunque SyncTeX no está directamente relacionado con él, tal vez sea algo que valga la pena comprobar. Por mi parte, probé un par de documentos míos y funcionaron, así que realmente no puedo reproducir este problema, lo siento mucho.

Intente ejecutarlo pdflatexcomo una llamada independiente en lugar de usarlo araray vea si funciona. Además, pruebe otras herramientas similares como latexmk. Si el problema persiste, es posible que tengamos que recurrir a un ejemplo funcional mínimo que reproduzca el problema; de lo contrario, solo puedo suponer.

Perdón por no poder ayudarte con este tema. Por favor, mantenme informado.

Respuesta2

Encontré una solución: agregar % !TEX root = main.texal principio del archivo de cada capítulo, como el del archivo chp1.tex. Este comando asigna una ruta relativa para que el archivo de sincronización generado encuentre el archivo principal que contiene una línea de \include{chp1}. Una solución alternativa es agregar una ruta absoluta como % !TEX root = /Users/main.texsi /Users/main.texfuera la ubicación del archivo main.tex en mi Mac. El problema debería ser editar un libro en varios archivos, en lugar de usar Arara.

información relacionada