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 arara
realiza 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.
arara
es como un envoltorio para facilitar la convocatoria de programas reales como pdflatex
y amigos. De hecho, si tomo el código proporcionado y ejecuto la herramienta con --dry-run
habilitada, podemos ver lo arara
que 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 pdflatex
tendrán la --synctex=1
bandera, 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:
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
Tiene directivas en su código fuente (que no se muestran en este ejemplo en particular) que eliminan
synctex.gz
archivos como un medio para ordenar el directorio, oExisten 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 pdflatex
como una llamada independiente en lugar de usarlo arara
y 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.tex
al 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.tex
si /Users/main.tex
fuera 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.