包含多個檔案的專案
把導言區和 \begin{document} 留在 main.tex 中,再用 \input{chapters/intro} 或 \include{chapters/intro} 引入其他檔案;Scissor LaTeX 會在排版前把它們合併成一份文件。
為什麼要拆分文件
論文或長篇報告分成幾塊來處理會比較容易:每章一個檔案,導言區一個,附錄一個。LaTeX 有兩個指令可以做到這件事,在 Scissor LaTeX 中兩者都能使用。
| 指令 | 作用 | 在 Scissor LaTeX 中 |
|---|---|---|
\input{file} | 把檔案的文字直接放在這裡,就像你親手打進去一樣。 | 可用,在導言區和巢狀檔案中也可以。 |
\include{file} | 開始新的一頁,把檔案的文字放在這裡,再結束該頁。 | 可用。連續的分頁只算一次,所以不會出現空白頁。 |
\includeonly{a,b} | 略過所有不在清單中的 \include。 | 會被忽略:所有檔案都會被引入。 |
\subfile{file}(subfiles) | 和 \input 一樣,用於也能單獨編譯的檔案。 | 不支援:會被略過並顯示訊息。請改用 \input。 |
\import{dir/}{file}(import) | 相對於另一個資料夾的 \input。 | 不支援:會被略過並顯示訊息。 |
一個小專案
典型的專案包含一個主檔案和一個章節資料夾:
main.tex
preamble.tex
chapters/intro.tex
chapters/method.tex
refs.bib主檔案包含文件類別、導言區和文件內文,並引入其餘部分:
\documentclass{report}
\input{preamble}
\title{Rainfall at Two Sites}
\author{Erika Mustermann}
\begin{document}
\maketitle
\input{chapters/intro}
\input{chapters/method}
\bibliographystyle{plain}
\bibliography{refs}
\end{document}每個章節檔案只包含它那部分的文字,沒有導言區,也沒有 \begin{document}:
\chapter{Introduction}
\label{chap:intro}
Rain gauges were read every morning for 44 days.
The method is described in Chapter~\ref{chap:method}.Scissor LaTeX 會把每個 \input 和 \include 換成檔案的文字,再把結果當成一份文件排版。標籤、交互參照和引用都能跨檔案運作,因為對排版器來說,這全都是同一份文字。
合併後的文件是什麼樣子
當 main.tex 用 \input 引入兩個章節檔案時,編輯器排版的就是這個:兩個檔案的文字依序排列。(範例寫成一個檔案,以便在這裡顯示。)在 report 或 book 中,\chapter 本身就會讓每一章從新的一頁開始。
兩個章節檔案合併成一份文件
\documentclass{report}
\begin{document}
\chapter{Introduction}
\label{chap:intro}
Rain gauges were read every morning for 44 days.
The method is described in Chapter~\ref{chap:method}.
\chapter{Method}
\label{chap:method}
Each gauge was emptied after reading, as noted in
Chapter~\ref{chap:intro}.
\end{document}

檔案名稱如何尋找
- 路徑是相對於專案的最上層資料夾,就像在 LaTeX 中相對於主檔案所在的資料夾一樣,在巢狀檔案中也是如此。
- 可以省略
.tex副檔名:\input{chapters/intro}會找到chapters/intro.tex。 - 名稱周圍的引號,例如
\input{"my file"},會被移除。 - 找不到的檔案會在「問題」分頁中列為錯誤,並附上
\input所在的行號。文件的其餘部分仍會排版。 - 直接或透過其他檔案引入自己的檔案會被略過並顯示訊息,巢狀引入超過 24 層後就會停止。
subfiles 和 \includeonly
subfiles 套件讓每一章都能單獨編譯。Scissor LaTeX 不會追蹤 \subfile:這個指令會被略過,「問題」分頁會說明有檔案沒有被引入。
\subfile 不會被追蹤
\documentclass{article}
\usepackage{subfiles}
\begin{document}
The chapter below is not included:
\subfile{chapters/intro}
Replace it with an \verb|\input| line.
\end{document}「問題」分頁: 1 included file is not part of this conversion
如果一次只想處理一章,請用 % 把其他 \include 行註解掉。\includeonly 會被接受,但沒有效果:每個被引入的檔案都會排版。\lstinputlisting 和 \inputminted 也一樣,會被略過並顯示相同的訊息(請見程式碼清單)。
專案中的其他檔案
圖片、.bib 檔案和資料檔案可以放在任何資料夾中;請用從最上層資料夾起算的路徑來參照它們,例如 \includegraphics{figures/plot.png}。無論 \bibliography 寫的是什麼名稱,專案中所有的 .bib 檔案都會用於引用(請見參考文獻)。如果要從 TeX 安裝環境帶入整個專案,請見專案和檔案。
與 TeX 安裝環境的差異
相關套件的使用手冊位於 CTAN:subfiles 和 import。
常見問題
\input 和 \include 有什麼不同?
\input 會把檔案的文字原地貼上。\include 還會在前後開始和結束新的一頁,而且在 TeX 安裝環境中可以搭配 \includeonly 使用。在 Scissor LaTeX 中兩者都適用於章節;\includeonly 會被忽略,所以每個 \include 都會排版。
為什麼找不到我的 \input 檔案?
請檢查從專案最上層資料夾起算的路徑和拼寫,包括大小寫。「問題」分頁會顯示它尋找的名稱和 \input 所在的行號。
subfiles 在 Scissor LaTeX 中能用嗎?
不能。請把 \subfile{...} 換成 \input{...};這樣章節檔案就不需要自己的導言區。
本頁的每個範例都在建置網站時由 Scissor LaTeX 排版。 最後更新:2026-11-07