※ 引述《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。