문제는 Arara의 synctex가 작동하지 않는다는 것입니다.
저는 TeXShop 4.26과 함께 MacTeX를 사용하고 있습니다. 특별한 문서 클래스가 사용됩니다(영향을 주지 않기를 바랍니다). 몇 달 동안 나는 chp1.tex와 같은 모든 지원 파일을 동일한 파일 폴더에 넣고 command+T를 클릭하여 이 파일을 실행했습니다. pdf에서 tex로 동기화하는 것과 tex에서 pdf로 동기화하는 것을 제외하고 다른 모든 것은 괜찮습니다. tex에서 pdf로 동기화하는 것은 (Arara를 사용하는 대신) pdflatex를 직접 사용하여 다른 간단한 파일을 편집할 때 잘 작동합니다. 무슨 문제라도 있는 걸까요?
% !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}
답변1
나는 이 답변을 의도적으로 커뮤니티 위키로 표시했습니다. 실제로 직접적인 답변은 아니지만 게시하기에는 너무 긴 정교한 댓글의 라인을 따르기 때문입니다. 나는 정말로 명성을 얻고 싶지 않습니다.:)
우선, 로그를 보내주셔서 감사합니다.:)
arara
로그를 조사해 보면 지시문에서 매핑된 명령을 실행하는 모든 동작이 성공적으로 진행된 것이 분명합니다 . 그러나 이 질문에 보고된 문제가 도구에 있다는 명확한 징후는 없습니다. 나는 그것에 대해 확장할 것이다.
arara
친구와 같은 실제 프로그램에 대한 호출을 쉽게 하기 위한 래퍼와 같습니다 pdflatex
. 실제로 제공된 코드를 사용하여 --dry-run
활성화된 도구를 실행하면 일반 시나리오에서 실제로 실행 중인 항목을 확인할 수 있습니다 arara
(여기에서는 호출 없이 이 플래그가 실제 실행을 비활성화하므로 확실히).
$ 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
pdflatex
플래그를 갖는 마지막 두 호출은 --synctex=1
적절한 SyncTeX 지원을 제공할 것으로 예상됩니다. 그게 다야.
그러나 무슨 일이 일어나고 있는지 확인하기 위해 실제 환경과 코드를 깊이 조사하지 않으면 할 수 있는 일이 거의 없습니다. 내 제안은 독립적으로 실행하는 것입니다
pdflatex --synctex=1 myfile.tex
명령줄에서 무슨 일이 일어나는지 확인하세요. 몇 가지 시나리오를 생각해 볼 수 있습니다.
편집자는 결과 PDF를 생성한 컴파일 체인이 있다는 것을 인식하지 못하므로 아무것도 업데이트되지 않습니다.
synctex.gz
소스 코드에 디렉토리를 정리하기 위한 수단으로 파일을 제거하는 지시문(이 특정 예에는 표시되지 않음)이 있습니다.이 문제를 일으키는 소스 코드에 잠재적인 충돌이 있습니다.
그러고 보니 로그 파일에 상호 참조에 대한 경고가 많이 포함되어 있는 것을 발견했습니다. SyncTeX가 직접적인 관련은 없지만 확인해 볼 가치가 있을 수도 있습니다. 제 입장에서는 몇 가지 문서를 시험해 보았는데 효과가 있어서 이 문제를 재현할 수 없습니다. 정말 죄송합니다.
pdflatex
를 사용하는 대신 독립 실행형 호출로 실행하여 arara
작동하는지 확인하시기 바랍니다. 또한 latexmk
. 문제가 지속되면 문제를 재현하는 최소한의 실제 예제를 작성해야 할 수도 있습니다. 그렇지 않으면 가정할 수밖에 없습니다.
해당 문제에 대해 도움을 드리지 못해 죄송합니다. 계속해서 알려 주시기 바랍니다.
답변2
해결책을 찾았습니다. % !TEX root = main.tex
chp1.tex 파일과 같이 각 장의 파일 시작 부분에 추가합니다. 이 명령은 생성된 동기화 파일이 \include{chp1} 줄을 포함하는 기본 파일을 찾을 수 있도록 상대 경로를 할당합니다. 다른 해결책은 내 Mac의 main.tex 파일 위치 % !TEX root = /Users/main.tex
와 같은 절대 경로를 추가하는 것입니다. /Users/main.tex
문제는 아라라를 사용하는 것이 아니라 여러 파일로 책을 편집하는 것에 관한 것입니다.