PR

【LaTeX】ファイルを分割してそれを読み込む方法

LaTeX
記事内に広告が含まれています。

\LaTeX において,分割したファイルを読み込むには \input{<filename>} コマンドを用います。これについて詳しく紹介しましょう。

大きいTeXファイルを分割しよう

何千行にもなってしまったファイルや,使いまわすプリアンブル部分などは,別のファイルにまとめてしまった方が何かと便利です。

まずは,1つのファイルで作成し,それから,そのファイルの一部を切り取り,別のTeXファイルに移しましょう。移す際に,元のファイルとの重複は不要です。たとえば,\begin{document} というフレーズが登場するファイルは1つでOKです。

分割前のmain.texファイルのイメージ
main.texから,2つのchild.tex, child2.tex を分割するイメージ

分割したファイルを読み込む方法

さて,分割したファイルをマルっと読み込むには,どうすればいいでしょうか。結論,\input{<filename>} コマンドを用います。

あるファイルを別のファイルに移したとします。そのファイルを,元のファイルで読み込みたいときは,読み込みたい部分で,\input{<filename>} とかきます。このとき,<filename> は新しいファイルのファイル名を,元のファイルからの相対パスまたは絶対パスで記載します。拡張子である .tex はかいても,省略しても構いません。

分割した child1.tex, child2.tex を main.tex で読み込む方法

相対パスについて簡単に説明すると,上の場合,main.texchild.tex が同じフォルダ(ディレクトリ)にある場合,\input{child} で構いません。あるいは,\input{./child} としましょう。./ は,今いるフォルダ(カレントディレクトリ)を表します。以下のようなフォルダ構成の場合どうでしょうか。

 |__ main.tex 
 |__ folder_a/
     |__ child.tex     

この場合は,main.tex を出発して,まず folder_a に入って child.tex に到達するため,\input{./folder_a/child} とするのが正解です。(./ はなくても構いません)

同様に,階層が奥のフォルダにどんどん入っていきたい場合は,\input{./folder_a/folder_b/folder_c/child} のようにします。

逆に,main.tex より,上のフォルダに行きたい場合は,上のフォルダを表す ../ を用います。

 |__ child.tex 
 |__ folder_a/
     |__ main.tex    

上のような場合,main.tex から上のフォルダ行って,そこに child.tex があるため,\input{../child} とします。

あとはこれらの応用で,\input{../../folder_a/folder_b/child} なんかいうかき方もできますね。