Когда документ становится слишком большим, его можно разбить на несколько частей, сохранив их в отдельных файлах.
Допустим, у нас есть следующий файл:
\documentclass[a4paper]{article}
\usepackage[T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[russian,english]{babel}
\begin{document}
\section{Первая}
Текст секции.
\section{Вторая}
Текст секции.
\section{Третья}
Текст секции.
\end{document}
Сохраним каждую секцию в отдельном файле вида
\section{Первая}
Текст секции.
и включим эти файлы в документ:
\documentclass[a4paper]{article}
\usepackage[T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[russian,english]{babel}
\begin{document}
\input{file1}
\input{file2}
\input{file3}
\end{document}
В нашем случае файлы называются file1.tex, file2.tex, file3.tex, хотя ни имя файла, ни расширение особого значения не имеют. Расширение .tex можно опустить.
Теперь мы можем, закомментировав ненужные input'ы, работать с оставшейся частью документа.
Кроме \input, для вставки в документ текстовых файлов используется команда \include. Она эквивалентна
\clearpage
\input{file}
\clearpage
т. е. помещенный в файл фрагмент документа будет начинаться с новой страницы. Поэтому с помощью \include удобно вставлять файлы с отдельными главами документа. При этом расширение .tex нужно опустить. Кроме того, \include, в отличие от \input, нельзя использовать рекурсивно, т. е. нельзя помещать include'ы в уже вложенные файлы.
Выделять интересующий фрагмент документа при помощи комментариев не слишком удобно, так как при этом сбивается нумерация страниц, переделывается оглавление документа, нарушаются ссылки на литературу и т. п. Чтобы этого не происходило, в преамбуле документа используется команда \includeonly с указанием имен файлов, которые необходимо включить в документ. \includeonly используется только совместно с командами \include, на \input она не действует.
Допустим, что на определенном этапе подготовки документа нас интересует только материал, содержащийся в файлах file2.tex, file3.tex
\documentclass[a4paper]{article}
\usepackage[T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[russian,english]{babel}
\includeonly{file2,file3} % пробела после запятой быть не должно
\begin{document}
\include{file1}
\include{file2}
\include{file3}
\end{document}
В этом случае в документ будут вставлено только содержимое файлов file2.tex и file3.tex (каждого -- с новой страницы), но нумерация страниц, секций, оглавление документа и т. п. не изменятся -- для не вошедших в \includeonly файлов они останутся теми же, что и после последней компиляции всего документа. Для достижения этого результата потребуется дважды транслировать документ.
Комментарии
comments powered by Disqus