![编写图书课中的一个问题](https://linux22.com/image/317036/%E7%BC%96%E5%86%99%E5%9B%BE%E4%B9%A6%E8%AF%BE%E4%B8%AD%E7%9A%84%E4%B8%80%E4%B8%AA%E9%97%AE%E9%A2%98.png)
我正在使用类编写论文book
。我使用include
函数以便每个章节都有单独的文件。这样做的一个问题是我必须单击run
主文件中的按钮。如果我单击run
章节文件中的按钮,则会出现错误。我了解到,只要打开所有文件,这在 TeX Studio 中就不是问题。但我正在使用 TeXWork 和 TeXMaker。所以我总是要找到要单击的正确按钮,这很烦人。请问有解决这个问题的简单方法吗?谢谢。
答案1
我正在使用 TeXMaker 撰写论文,在尝试使用include
和之后input
,出现了您提到的问题,最后我使用了该subfiles
包,如下所示:
主要文件
\documentclass{report}
\usepackage{subfiles}
\begin{document}
\subfile{./Chapter} % Chapter file's name (and position)
\end{document}
章节文件
\documentclass[./MainDocument.tex]{subfiles} % Main document file's name (and position)
\begin{document}
...
\end{document}
这样,我就可以编译单个章节。我发现主文档的属性(例如行距或页眉/页脚)并未传递到子文件;但是,我编译子文件只是为了检查内容当我运行主文档时,我会检查章节的风格等等。
答案2
Texmaker 和 TeXworks 都能够做到这一点。
纺织机械商:打开主文件后,选择选项-->将当前文档定义为主文档(如何最好地使用和编译多个 .tex 文件作为同一篇最终文档的一部分?)
特克斯沃克斯:在章节文件的顶部,写入
%!TeX root = /path/to/main/file
例如,如果
main.tex
和 位于同一文件夹中chapter1.tex
,则写入%!TeX root = main.tex
。如果main.tex
位于上方文件夹中,则可以写入%!TeX root = ../main.tex
。