我有一个包含多个部分的大型文档:
main.tex
:
\documentclass{article}
\begin{document}
\include{part1}
\end{document}
part1.tex
:
% !TEX root = main.tex
Hello World!
这样,我就可以用part1.tex
open 来编译 PDF,而且我可以只编译其中的一部分(\includeonly{part1}
)。
有没有办法只编译当前文档,即\includeonly{currently opened file}
在编译前插入?
我的第一个想法是使用 LuaTeX 插入一个includeonly
依赖于命令行参数(使用 Lua 变量arg
),但我仍然没有找到附加命令行参数的方法。
答案1
这不是我想要的,但对我来说效果很好。它使用 Lua 确定最后更改的文件(通常是我当前正在编辑的文件)并写入\includeonly{file}
前言。
includeonlylastmodified.lua
require "lfs"
function mtimesort(a,b)
return lfs.attributes(a..'.tex',"modification")
main.tex
:
\documentclass{article}
\directlua{
files = {'part1','part2'}
dofile('includeonlylastmodified.lua')
}
\begin{document}
\include{part1}
\include{part2}
\end{document}