
私は Dropbox をファイル保存メカニズムとして使用して、他の 2 人のユーザーと長いドキュメントを作成しています。各ユーザーが個別に作業できるようにしたいと考えています。そのため、メイン ドキュメントをコンパイルするだけでなく、各ドキュメントを個別にコンパイルできるようにしたいと考えています。サブファイル パッケージはこれに最適であるように思われます。
私は、モジュール式ドキュメントの例に従ってみました。ウィキブックスしかし、私の環境ではうまくいきません。最上位レベルのドキュメントはビルドされますが、下位レベルのドキュメントにはファイルが見つからないというエラーが表示されます。
私の設定は次のとおりです:
- 画像フォルダ
- texフォルダ
- メイン.tex
- スタイル.sty
main.tex 内:
\documentclass[11pt,letterpaper]{article}
\usepackage{styling} %includes \usepackage{subfiles}
\begin{document}
\maketitle
\tableofcontents
\subfile{./tex/subpiece1}
\end{document}
tex フォルダ内の subpiece1 内:
\documentclass[../main.tex]{subfiles}
\graphicspath{ {Images/subpiece1/} }
\begin{document}
\section{sectiontitle}
%Images and text
\end{document}
サブファイルを個別にビルドするときのエラー: ../main.tex:4: LaTeX エラー: ファイル `styling.sty' が見つかりません。[^^M]
答え1
サブファイル パッケージを使用して最初の複数ファイル ドキュメントをコンパイルしたときに、同じ問題が発生しました。
私は長年の LaTeX ユーザーではないので、問題の仕組みを完全には理解していませんが、問題は「スレーブ」ファイル (この場合は「subpiece1.tex」) をコンパイルするときに、コンパイラが「subpiece1.tex」および他のデフォルトの tex ディレクトリと同じディレクトリでカスタム パッケージを検索することであると思われます。
\usepackage{} コマンドを変更して、「マスター」.tex ファイルと「スレーブ」.tex ファイルの両方に共通する相対パスも含めることで、この問題を解決できました。
するべきこと:
- ホーム ディレクトリにマスター ドキュメント用のフォルダーを追加します。つまり、ホーム ディレクトリには、master フォルダー (main.tex を含む)、tex フォルダー、images フォルダーというフォルダーが必要です。
- main.tex フォルダを編集して、\usepackage{} コマンドに 'styling.sty' への相対パスが含まれるようにします (ファイル拡張子なしで \usepackage{../styling} と表示されるはずです)。
- ステップ 1 を正しく実行した場合、'styling.sty' は 'main.tex' および 'subpiece1.tex' から同じ相対パスを持ちます (両方の相対パスは 1 つ上のフォルダーです。これは、\usepackage{} コマンドの '../' によって実現されます)
- 他のすべての相対ファイル パスを更新して、必要に応じて読み取れるようにします。
main.texは次のように書かれています
\documentclass[11pt,letterpaper]{article}
\usepackage{../styling} %includes \usepackage{subfiles}
\begin{document}
%\maketitle (I just removed these because for the demonstartion i didnt actually need them)
%\tableofcontents
\subfile{../tex/subpiece1}
\end{document}
サブピース1は次のように表示されます
\documentclass[../master/main.tex]{subfiles}
% again I just removed the graphics path because I have no need for it
\begin{document}
\section{sectiontitle}
%Images and text
\end{document}
私は個人的に、preamble.sty を main.tex と同じフォルダーにグループ化することを好みますが、基本的な考え方は同じです。「main.tex」ファイルと「subpiece1.tex」ファイルの相対パスが同じであれば、どのパスでも問題ないと思います。
また、この問題を回避するには、もっと良い/エレガントな方法があると思いますが、これまでのところ、これがうまくいきました。