1. 程式人生 > >LaTeX分檔案編譯教程

LaTeX分檔案編譯教程

和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}

其餘檔案只需要註釋掉巨集命令即可。