赞
踩
如果所有的页面都编译的话花费时间较长,因此将文章的不同部分分成不同的文件,分别编译,提高效率,也便于书写,理清逻辑。
拿到Latex模板后,不同模板具有不同的格式要求。我们要做的是在【主文件开头】加上如下代码,来声明这是编译的主文件:
\def\allfiles{}
在各个【子文件】中,【开头】加上下述代码,表明如果主文件已经存在声明,那么直接开始document编写。
\ifx\allfiles\undefined
% 如果有这一部分另外的package,在这里加上
% 没有的话不需要
\begin{document}
\else
\fi
【子文件】中,【结尾】加上和开头同样的部分,表明这是子文件的结束。
\ifx\allfiles\undefined
% 如果有这一部分的参考文献的话,在这里加上
% 没有的话不需要
% 因此各个部分的参考文献可以分开放置
% 也可以统一放在主文件末尾。
% bibfile.bib是放置参考文献的文件,可以用zotero导出。
% \bibliography{bibfile}
end{document}
\else
\fi
再在主文件中,原来放置子文件内容的地方,加上:
\input{fileName}
# 或者
\include{fileName}
【博主使用的是\input
】
其中fileName
是子文件fileName.tex
的名字,也可以与内容中的fileName相同(便于区分,实际可以与内容的fileName不同)。
\begin{fileName}
% 内容
\end{fileName}
完成上述步骤后,可以实现主文件编译,也可以实现单独子文件进行编译啦。
注意,\input会在原位置直接插入内容;而\include会另外起一页插入内容;根据不同使用场景进行选择。
\inupt,相当于替换文本
,通常用于放置document前部(导言区)
的一些包导入,格式定义的内容。\include和\includeonly相当于链接库
,使用:\include{file}、\includeonly{filelist}
通常二者搭配使用,
\includeonly
规定编译范围,可以在导言区使用\include
把文件包含进去,只能在正文区使用。例如:
\includeonly{qianyan,end}
\begin{document}
\include{qianyan}
\include{end}
\end{document}
后续,可以开始分段编译。
有两种形式:
1、主文件(开头)和子文件(开头、结尾)都已经添加了\ifx\allfiles\undefined
这部分内容;只需要在主文件中直接\input{}各个部分的文件即可;【编译主文件,但是只显示子文件中的部分内容】
2、没有\ifx\allfiles\undefined
这部分内容,只用开头结尾的document;需要去掉主文件中的\include{},还需要去掉子文件开头和结尾的\document部分。【编译子文件,子文件自己本身成为一个文件】
比如,只想编译前言的时候,在主文件中将\include{qianyan}
注释掉,在子文件中,将\input{Config}和\begin{document}、\end{document}注释掉
,然后单独编译qianyan.tex子文件
。
因为进行单独编译的时候,应该让前言这个子文件,形成一个单独的document,并且插入导言区的内容,形成一个单独的文档,进行单独编译;并且保证主文件中没有这部分内容,避免重复编译。
当确保这部分没有问题的时候,应该在主文件中,恢复\include{qianyan},并且在子文件中去掉document的部分,让它重新成为一个\section,即可。
【二者展示形式略有不一致,可以都试一下。】
(博主为了方便,直接选择第一种,即每次编译的都是主文件,只修改某部分子文件的时候,就只保留主文件中的相应\input{fileNmae}
即可,全部写完之后全部显示。所有的操作都在主文件,非常方便。)
分段编译的时候:
当然,整体编译的时候,结果是一样的。
Note:
另外,abstract可以用\input,并且一定要在\maketitle
前面。
\input{abstract}
\maketitle
abstract单独作为子文件的格式应该是:
\begin{abstract}
% 内容
\end{abstract}
与正文区中使用\section
不同
\section{qianyan}
% 内容
主文件:
\def\allfiles{} \input{Config} % 选择第一种方法的(没有也可运行) \includeonly{introduction,related work,model,experiments,conclusion} \begin{document} \begin{sloppypar} \input{abstract} \maketitle % 这一句要在abstract之后 % 下述内容 \input{introduction} \input{related work} \input{model} \input{experiments} \input{conclusion} \bibliographystyle{ACM-Reference-Format} \bibliography{reference_base} \end{sloppypar} \end{document}
摘要:
\ifx\allfiles\undefined
\begin{document}
\else
\fi
\begin{abstract}
pass
\end{abstract}
\keywords{xx,xx,xx}
\ifx\allfiles\undefined
end{document}
\fi
各个子文件:
\ifx\allfiles\undefined
\begin{document}
\else
\fi
\section{Introduction}
pass
\ifx\allfiles\undefined
end{document}
\else
\fi
上述比较复杂,实际上,
\usepackage{style} # style.sty 格式文件
\begin{document}
\input{introduction}
\input{related work}
\input{model}
\input{experiment}
\input{conclusion}
\bibliographystyle{xxx} # xxx.bst 参考格式文件
\bibliography{reference} # reference.bib 参考文献
\end{document}
参考:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。