※ 引述《vm3cl4bp6 (小光)》之銘言:
: 先說聲抱歉
: 不知道在標題上該怎麼描述我的問題,也不知道要用啥關鍵詞爬文
: 作業環境:MacTeX & TeXShop
: 我在 A 文件中 include B 文件,B 文件是很單純的內容,無法獨立編譯
: 不知道有沒有辦法直接在 B 文件上把編譯的對象指向 A 文件?
: 現在的做法是兩個文件同時開著,要看編譯結果時就點開 A 文件
: 但經常會忘記,順手編譯了 B 文件然後跑出錯誤訊息,次數一多就很焦慮...
你可以自定義一個 typesetting engine,裡面明確指定編譯 A 文件。
另外在 A 文件和 B 文件的檔頭中以
% !TEX TS-program = your_typesetting_engine
可以強迫 texshop 採用你指定的編譯 script。
你可以到 ~/Library/TexShop/Engines/ 裡面看到 texshop 目前已經有的 engine。
這些 .engine 檔都只是簡單的 shellscript。
你可以自己創一個,舉例來說叫 myengine.engine:
#!/bin/bash
/usr/texbin/xelatex ~/somewhere/A.tex
其中 ~/somewhere/A.tex 就是你的 A 文件的完整路徑。
存好後,重開 texshop 並在你的 A.tex 和 B.tex 檔頭都加上
% !TEX TS-program = myengine
這一列就好了。之後 texshop 就可以在 A 和 B 文件被編譯時只按 myengine.engine
的內容動作,也就是直接以 xelatex 編 A.tex。