Перейти к содержанию

Проекты из нескольких файлов

Держите преамбулу и \begin{document} в main.tex, а остальные файлы подключайте через \input{chapters/intro} или \include{chapters/intro}; перед вёрсткой Scissor LaTeX объединяет их в один документ.

Зачем разбивать документ

С диссертацией или длинным отчётом удобнее работать по частям: по файлу на главу, отдельный файл для преамбулы и ещё один для приложения. В LaTeX для этого есть две команды, и обе работают в Scissor LaTeX.

КомандаЧто делаетВ Scissor LaTeX
\input{file}Вставляет текст файла прямо сюда, как если бы вы набрали его сами.Работает, в том числе в преамбуле и во вложенных файлах.
\include{file}Начинает новую страницу, вставляет сюда текст файла и завершает страницу.Работает. Несколько разрывов страниц подряд дают один разрыв, поэтому пустых страниц нет.
\includeonly{a,b}Пропускает все \include, которых нет в списке.Игнорируется: подключаются все файлы.
\subfile{file} (subfiles)Как \input, для файлов, которые компилируются и отдельно.Не поддерживается: пропускается с сообщением. Используйте \input.
\import{dir/}{file} (import)\input относительно другой папки.Не поддерживается: пропускается с сообщением.

Небольшой проект

Типичный проект состоит из главного файла и папки с главами:

TEXT
main.tex
preamble.tex
chapters/intro.tex
chapters/method.tex
refs.bib

В главном файле находятся класс, преамбула и тело документа, а всё остальное подключается:

LaTeX
\documentclass{report}
\input{preamble}

\title{Rainfall at Two Sites}
\author{Erika Mustermann}

\begin{document}
\maketitle
\input{chapters/intro}
\input{chapters/method}
\bibliographystyle{plain}
\bibliography{refs}
\end{document}

В каждом файле главы только его часть текста, без преамбулы и без \begin{document}:

LaTeX
\chapter{Introduction}
\label{chap:intro}
Rain gauges were read every morning for 44 days.
The method is described in Chapter~\ref{chap:method}.

Scissor LaTeX заменяет каждый \input и \include текстом файла и верстает результат как один документ. Метки, ссылки и цитаты работают между файлами, потому что для верстальщика всё это один текст.

Как выглядит объединённый документ

Вот что верстает редактор, когда main.tex подключает два файла глав через \input: текст обоих файлов по порядку. (Пример записан одним файлом, чтобы его можно было показать здесь.) В report или book команда \chapter сама начинает каждую главу с новой страницы.

Два файла глав, объединённые в один документ

\documentclass{report}
\begin{document}
\chapter{Introduction}
\label{chap:intro}
Rain gauges were read every morning for 44 days.
The method is described in Chapter~\ref{chap:method}.
\chapter{Method}
\label{chap:method}
Each gauge was emptied after reading, as noted in
Chapter~\ref{chap:intro}.
\end{document}
Свёрстано в Scissor LaTeX: Два файла глав, объединённые в один документ
Страница 2

Как находятся имена файлов

  • Пути отсчитываются от верхней папки проекта, так же как в LaTeX они отсчитываются от папки главного файла, в том числе внутри вложенных файлов.
  • Расширение .tex можно не писать: \input{chapters/intro} находит chapters/intro.tex.
  • Кавычки вокруг имени, как в \input{"my file"}, убираются.
  • Отсутствующий файл указывается как ошибка во вкладке «Проблемы» вместе со строкой \input. Остальной документ всё равно верстается.
  • Файл, который подключает сам себя напрямую или через другие, пропускается с сообщением, а вложенность обрывается после 24 уровней.

subfiles и \includeonly

Пакет subfiles позволяет компилировать каждую главу отдельно. Scissor LaTeX не следует за \subfile: команда пропускается, а вкладка «Проблемы» сообщает, что файл не подключён.

\subfile не обрабатывается

\documentclass{article}
\usepackage{subfiles}
\begin{document}
The chapter below is not included:
\subfile{chapters/intro}
Replace it with an \verb|\input| line.
\end{document}

Вкладка «Проблемы»: 1 included file is not part of this conversion

Чтобы работать над одной главой, закомментируйте остальные строки \include символом %. \includeonly принимается, но ни на что не влияет: верстаются все подключённые файлы. То же касается \lstinputlisting и \inputminted, которые пропускаются с тем же сообщением (см. Листинги кода).

Другие файлы в проекте

Изображения, файлы .bib и файлы данных могут лежать в любой папке; ссылайтесь на них по пути от верхней папки, например \includegraphics{figures/plot.png}. Для цитат используются все файлы .bib в проекте, что бы ни было указано в \bibliography (см. Списки литературы). Как перенести целый проект из установки TeX, описано в разделе Проекты и файлы.

Чем это отличается от установки TeX

Руководства по связанным пакетам есть на CTAN: subfiles и import.

Вопросы и ответы

Чем \input отличается от \include?

\input вставляет текст файла на место команды. \include вдобавок начинает и завершает вокруг него новую страницу, а в установке TeX работает вместе с \includeonly. В Scissor LaTeX для глав подходят обе команды; \includeonly игнорируется, поэтому верстается каждый \include.

Почему файл из \input не находится?

Проверьте путь от верхней папки проекта и написание, включая заглавные буквы. Вкладка «Проблемы» показывает имя, которое искалось, и строку с \input.

Работает ли subfiles в Scissor LaTeX?

Нет. Замените \subfile{...} на \input{...}; тогда файлам глав не нужна собственная преамбула.

Каждый пример на этой странице верстается в Scissor LaTeX при сборке сайта. Обновлено 2026-11-07.