加速 LaTeX 的編譯

如果注意 LaTeX 編譯時出現的訊息,會發現一開始總會花時間載入各種不同的套件,依照套件的複雜度不同像是 TikZ 或是 xypic 等會花稍微久一點的時間讀取。有一個小技巧,可以讓 LaTeX 預先「編譯」部分檔案不會每次更新的時候從頭編譯。先將檔案分成兩區,靜態區域包括套件使用以及基本定義,跟動態區域經常會更動的部分,像是以下的檔案:

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage{bm,amsmath,amsthm,amssymb,mathrsfs}
\usepackage[colorlinks,citecolor=blue]{hyperref}
\usepackage[all,2cell]{xy}
\UseAllTwocells
\usepackage{cleveref}
% -------- 以上是靜態區,以下是動態區 ---------------
\title{Title}
\author{Author}
\begin{document}
...
\end{document}

我們在分隔線插入指令 \dump 後,執行以下指令將直到 \dump 以前的部分先編譯起來:

pdftex -ini "&pdflatex" 檔案名稱

成功後會產生 .fmt 這就是預先編好的檔案。接下來只要將原本的檔案在 \dump 以前的部分註解或移除掉後,在檔案的第一行加入 %&檔案名稱


%&檔案名稱
\title{Title}
\author{Author}
\begin{document}
...
\end{document}

再照正常的編譯方式,就會省下原本靜態區的編譯時間了

Leave a comment