長い文章を効率的に書くコツ
- ファイルが大きくなる → 章ごとにファイルを分割
- コンパイル時間が長い → 一部分だけコンパイル
LaTeXを使って数十ページを超える長いドキュメントを作成しようとすると、
- ファイルが長くなってしまう
- コンパイル時間が長くなる
などの問題が発生します。
これらの問題を解決するためにいろいろ工夫する羽目になったので参考までに。
lualatex
を使っていることを仮定しているので処理系によっては読み替える必要があります
ファイルを分割する
プロジェクト構造は
.
├─ preamble
| ├─ page.tex
| ├─ figures.tex
| └─ ...
├─ main.tex
├─ part1
| ├─ figures
| | ├─ figure1.png
| | └─ ...
| ├─ chapter1.tex
| ├─ chapter2.tex
| ├─ chapter3.tex
| └─ ...
├─ part2
└─ ...
のようにchapter
ごとに分けることが望ましです。
section
が長くなるようであればsection
ごとに分けるもの良いです。
実際にpart1
やchapter1.tex
などのファイル名をつけてしまうと、章の順番の入れ替えが煩雑になる。内容に即したファイル名にするべし
import
パッケージを使うと、どのファイルでエラーが発生したかがわかりやすいのでこれを使います。(ただし、どのファイルで発生したかはわからないエラーもある模様)
main.tex
\documentclass{ltjsbook}
\usepackage{import}
\import{preamble}{preamble}
\begin{document}
\tableofcontents
\part{part1}
\subincludefrom{part1}{chapter1}
\subincludefrom{part1}{chapter2}
\subincludefrom{part1}{chapter3}
...
import
パッケージを使うと、各tex
ファイルからの相対パスで画像などの外部ファイルを指定できるようになります。
chapter1.tex
\begin{figure}[H]
\centering
\includegraphics[width=0.8\textwidth]{figures/figure1.png}
\caption{figure1}\label{fig:fig1}
\end{figure}
一部のファイルのみをコンパイルする
main.tex
のプリアンブル部分に
main.tex
\includeonly{part1/chapter4}
のように書くと、そのファイルのみがコンパイルされます。
参照の番号は全体をコンパイルする場合と変わりません。
この場合、chapter4.tex
のみを編集しながらコンパイルをし、書き終わったらこの行を削除して全体をコンパイルすれば良いわけです(ただし最後のコンパイルする際には時間がかかる)。