Arara syntex 編輯書籍

Arara syntex 編輯書籍

問題是 Arara 中的synctex 對我不起作用。

我正在使用 MacTeX 和 TeXShop 4.26。使用了特殊的文檔類別(希望不會影響)。幾個月來,我透過將所有支援文件(如 chp1.tex)放入同一資料夾並點擊 command+T 來運行該文件。從pdf同步到tex,除了從tex同步到pdf之外,其他一切都很好。從 tex 同步到 pdf 可以很好地直接使用 pdflatex(而不是使用 Arara)編輯任何其他簡單文件。有什麼不對的嗎?

% !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.tex在每一章的文件開頭添加,例如文件chp1.tex。此指令指派一個相對路徑,以便產生的同步檔案找到包含一行 \include{chp1} 的主檔案。另一個解決方案是新增絕對路徑,就像 % !TEX root = /Users/main.tex/Users/main.tex的 Mac 上檔案 main.tex 的位置一樣。問題應該是在多文件中編輯一本書,而不是使用 Arara。

相關內容