Когда документ становится слишком большим, его можно разбить на несколько частей, сохранив их в отдельных файлах.
Допустим, у нас есть следующий файл:
\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