책을 편집하는 아라라싱텍스

책을 편집하는 아라라싱텍스

문제는 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

명령줄에서 무슨 일이 일어나는지 확인하세요. 몇 가지 시나리오를 생각해 볼 수 있습니다.

  1. 편집자는 결과 PDF를 생성한 컴파일 체인이 있다는 것을 인식하지 못하므로 아무것도 업데이트되지 않습니다.

  2. synctex.gz소스 코드에 디렉토리를 정리하기 위한 수단으로 파일을 제거하는 지시문(이 특정 예에는 표시되지 않음)이 있습니다.

  3. 이 문제를 일으키는 소스 코드에 잠재적인 충돌이 있습니다.

그러고 보니 로그 파일에 상호 참조에 대한 경고가 많이 포함되어 있는 것을 발견했습니다. SyncTeX가 직접적인 관련은 없지만 확인해 볼 가치가 있을 수도 있습니다. 제 입장에서는 몇 가지 문서를 시험해 보았는데 효과가 있어서 이 문제를 재현할 수 없습니다. 정말 죄송합니다.

pdflatex를 사용하는 대신 독립 실행형 호출로 실행하여 arara작동하는지 확인하시기 바랍니다. 또한 latexmk. 문제가 지속되면 문제를 재현하는 최소한의 실제 예제를 작성해야 할 수도 있습니다. 그렇지 않으면 가정할 수밖에 없습니다.

해당 문제에 대해 도움을 드리지 못해 죄송합니다. 계속해서 알려 주시기 바랍니다.

답변2

해결책을 찾았습니다. % !TEX root = main.texchp1.tex 파일과 같이 각 장의 파일 시작 부분에 추가합니다. 이 명령은 생성된 동기화 파일이 \include{chp1} 줄을 포함하는 기본 파일을 찾을 수 있도록 상대 경로를 할당합니다. 다른 해결책은 내 Mac의 main.tex 파일 위치 % !TEX root = /Users/main.tex와 같은 절대 경로를 추가하는 것입니다. /Users/main.tex문제는 아라라를 사용하는 것이 아니라 여러 파일로 책을 편집하는 것에 관한 것입니다.

관련 정보