
私は数式/図/グラフ/コードなどを含む技術文書を書いています。それらを 1 つの文書にコンパイルし、それぞれを独立して実行できるようにする必要があります。各トピックに属するこれらの技術文書は、それぞれのフォルダーにあります。これをより適切に管理し、ポータブルにする方法を教えていただけますか? Mac OSX/MS Windows で同じ文書を扱っているのと同じです。
答え1
質問を正しく理解していれば、解決策としてはパッケージ を使用するのがよいでしょうsubfiles
。
main.tex
がメイン ファイルで、、、file1.tex
がfile2.tex
含めfile3.tex
たいファイルだとします。メイン ドキュメントは次のようになります。
メイン.txt:
\documentclass[a4paper]{article}
<your preamble>
\usepackage{subfiles}
\begin{document}
\subfile{file1}
\subfile{file2}
\subfile{file3}
\end{document}
ここでは、の代わりに\include
または を使用する場合と同様に、好きな場所にテキストを配置できます。 の内容は次のようになります。\input
\subfile
file1.tex
ファイル1.tex
\documentclass[main.tex]{subfiles}
\begin{document}
<your document goes here>
\end{document}
同じ構造がファイルとに適用される必要がありfile2.tex
ますfile3.tex
。
さて、コンパイルするとmain.tex
、ファイルの内容、つまり私が<で示したものがここにあなたの文書が入ります> がドキュメントにインクルードされ、たとえば をコンパイルするとfile1.tex
、 のコンテンツは のfile2.tex
ドキュメントクラス仕様とプリアンブルがあるかのようにコンパイルされますmain.tex
。
これで、プロジェクト内のすべてのファイルを個別にコンパイルできるようになりましたが、サブファイルの 1 つをコンパイルするには、main.tex
同じディレクトリに配置する必要があります。
パッケージのドキュメントとインストール
標準パッケージとして付属しているかどうかはわかりませんsubfiles
。私の場合は付属していなかったので、パッケージのインストール経験に応じて、パッケージは次の場所にあるとお伝えしたいと思います。
http://www.ctan.org/tex-archive/macros/latex/contrib/subfiles/
そこにはパッケージのドキュメント、つまりPDFドキュメントもあります。ファイルのsubfiles.pdf
扱い方がわからない場合は、小さなガイドがあります。.ins
.dtx
http://en.wikibooks.org/wiki/LaTeX/Packages/Extra_Packages のインストール
また、必要に応じて、パッケージの構築中に生成されるファイルsubfiles.cls
とをと同じディレクトリに置くことができます。こうすることで、ファイルをコンパイルする必要がある次のシステムにパッケージがインストールされているかどうかに依存する必要がなくなります。subfiles.sty
main.tex
subfiels
編集
答える
ディレクトリには 3 つのレベルがあります。1 は rootfile.tex があるトップレベル、2 は各章のメイン ファイルがある章レベル、3 は章の実際の内容があるセクション レベルです。\include{./Sections/part1} を使用して 3 in 2 をインスタンス化しています。サブファイルを使用してこのようなシステムを管理するにはどうすればよいでしょうか? – avlsi
ファイルがあると仮定します
./rootfile.tex
./chapter/chap1.tex
./chapter/chap1/section1.1.tex
./chapter/chap1/section1.2.tex
./chapter/chap2.tex
./chapter/chap2/section2.1.tex
./chapter/chap2/section2.2.tex
./chapter/chap3.tex
./chapter/chap3/section3.1.tex
./chapter/chap3/section3.2.tex
そして、X=1,2 のファイルにファイルsectionX.1.tex
とを含め、セクション ファイル、チャプター ファイル、ルート ファイルの両方をコンパイルできるようにしたいとします。これは、ファイルを次のようにすることで実現できます。sectionX.2.tex
chapX.tex
ルートファイル.tex:
\documentclass[a4paper]{article}
<your preamble>
\usepackage{subfiles}
\def\dirlevel{../}
\begin{document}
\def\dirlevel{}
\subfile{./chapter/chap1}
\subfile{./chapter/chap2}
\subfile{./chapter/chap3}
\end{document}
chapX.tex:
\documentclass[./../rootfile.tex]{subfiles}
\begin{document}
\subfile{./\dirlevel chap/chapX/sectionX.1}
\subfile{./\dirlevel chap/chapX/sectionX.2}
\end{document}
セクションX.Y.tex:
\documentclass[./../../rootfile.tex]{subfiles}
\begin{document}
<your section goes here>
\end{document}
秘訣は、 は\def\dirlevel{}
コンパイルした場合にのみ読み取られるrootfile.tex
のに対し、 は\def\dirlevel{../}
どのファイルをコンパイルしても読み取られるため、どのファイルをコンパイルしても LaTeX はファイルを見つけることができます。