LaTeX分檔案編譯教程
阿新 • • 發佈:2018-11-01
和C語言建立工程實現多檔案編譯的初衷類似,當編寫的LaTeX文件過長,我們希望能將其劃分為多個小文件分別進行修改除錯,使結構更加清晰,組織程式碼更加方便。
可用的命令有三條,分別是:
\input
\include
\includeonly
下面分別介紹這三條命令。
1、\input{xxx}
單純地將xxx.tex內容匯入進主檔案中,不分頁;
可放在導言區或正文區;
各分檔案加入巨集命令後可以分別編譯,但編碼自動從1開始,可能造成交叉引用混亂。
2、\include{xxx}
分頁顯示內容,適於book類分chapter編寫;
只能放置在正文區,往往與\includeonly合用;
總是顯示正確的編碼順序。
3、\includeonly{a,b,c,...}
放在導言區;
與\ include合用,指定部分或全部\include內容參與編譯。
舉例如下:
1、使用\input命令
%main.tex \documentclass[12pt,a4paper]{article} \def\allfiles{} \begin{document} % paper title \title{How to \textbf{compile} in files} \maketitle \input{abstract} \input{introduction} \input{implement} \input{reference} \end{document}
%abstract.tex
\ifx\allfiles\undefined
\documentclass[12pt,a4paper]{article}
\begin{document}
\fi
\section*{Abstract}
This is abstract.
\ifx\allfiles\undefined %如果位置放錯,可能出現意外中斷
\end{document}
\fi
%introduction.tex \ifx\allfiles\undefined \documentclass[12pt,a4paper]{article} \begin{document} \fi \section{Introduction} This is introduction. It's the first part. \ifx\allfiles\undefined \end{document} \fi
%implement.tex
\ifx\allfiles\undefined
\documentclass[12pt,a4paper]{article}
\begin{document}
\fi
\section{Inplement}
This is inplement.
If you compile it seperately, it's number is 1, else 2.
\ifx\allfiles\undefined
\end{document}
\fi
%reference.tex
\ifx\allfiles\undefined
\documentclass[12pt,a4paper]{article}
\begin{document}
\fi
\section{Reference}
This is reference.
If you compile it seperately, it's number is 1, else 3.
\ifx\allfiles\undefined
\end{document}
\fi
2、聯合使用\include和\includeonly
和1中類似,只需要將\input命令修改為\include命令,在導言區加入\includeonly。
%main.tex
\documentclass[12pt,a4paper]{article}
\includeonly{abstrct,introduction,implement,reference}%根據需要刪減
\begin{document}
% paper title
\title{How to \textbf{compile} in files}
\maketitle
\include{abstract}
\include{introduction}
\include{implement}
\include{reference}
\end{document}
其餘檔案只需要註釋掉巨集命令即可。