Spec-Zone.ru › LaTeX

\include & \includeonly

Синопсис:

\includeonly{  % in document preamble
  ...
  filename,
  ...
  }
  ...
\include{filename}  % in document body 

Вставьте материал из внешнего файла filename.tex в документ LaTeX.

Команда \include выполняет три действия: она выполняет \clearpage (см. \clearpage & \cleardoublepage), затем вставляет материал из filename.tex в документ, и после этого выполняет ещё \clearpage. Эта команда может использоваться только в теле документа.

Команда \includeonly управляет файлами, которые будут читаться LaTeX при последующих командах \include. Список имён файлов разделен запятыми. Она должна быть расположена в преамбуле или даже раньше, например, в командной строке; её нельзя использовать в теле документа.

В этом примере корневой документ constitution.tex включает три файла: preamble.tex, articles.tex и amendments.tex.

\documentclass{book}
\includeonly{
  preamble,
  articles,
  amendments
  }
\begin{document}
\include{preamble}
\include{articles}
\include{amendments}
\end{document}

Файл preamble.tex не содержит специального кода; вы просто скопировали главу из consitution.tex и поместили её в отдельный файл для удобства редактирования.

\chapter{Preamble}
We the People of the United States,
in Order to form a more perfect Union, ...

Выполнение LaTeX на constitution.tex вставляет материал из трёх файлов в документ, но также генерирует вспомогательные файлы preamble.aux, articles.aux и amendments.aux. Они содержат информацию, такую как номера страниц и перекрестные ссылки (см. Перекрестные ссылки). Если вы теперь закомментируете строки из \includeonly с помощью preamble и amendments и снова запустите LaTeX, то в результирующем документе будет отображаться только материал из articles.tex, а не из preamble.tex или amendments.tex. Тем не менее, вся вспомогательная информация из пропущенных файлов, включая номер начальной страницы главы, останется.

Если в преамбуле документа нет \includeonly, LaTeX включит все файлы, для которых вы используете команды \include.

Команда \include создаёт новую страницу. Чтобы этого избежать, см. \input (которая, однако, не сохраняет вспомогательную информацию).

См. Шаблон для более book книги, для другого примера использования \include и \includeonly. В этом примере также используется \input для некоторых материалов, которые не обязательно должны начинаться на новой странице.

Имена файлов могут содержать пути.

\documentclass{book}
\includeonly{
  chapters/chap1,
  }
\begin{document}
\include{chapters/chap1}
\end{document}

Чтобы сделать ваш документ переносимым между дистрибутивами и платформами, избегайте пробелов в именах файлов. Вместо этого традиционно используется дефис или подчёркивание. Тем не менее, для имени ‘amo amas amat’ это работает под TeX Live на GNU/Linux:

\documentclass{book}
\includeonly{
  "amo\space amas\space amat"
  }
\begin{document}
\include{"amo\space amas\space amat"}
\end{document}

и это работает под MiKTeX на Windows:

\documentclass{book}
\includeonly{
  {"amo amas amat"}
  }
\begin{document}
\include{{"amo amas amat"}}
\end{document}

Вы не можете использовать \include внутри файла, который включается, иначе получите ошибку ‘LaTeX Error: \include cannot be nested.’ Команда \include не может использоваться в преамбуле документа; вы получите ошибку ‘LaTeX Error: Missing \begin{document}’.

Если файл, который вы \include не существует, например, если вы \include{athiesm} , а имели в виду \include{atheism}, то LaTeX не выдаёт ошибки, но предупредит вас ‘No file athiesm.tex.’ (Он также создаст athiesm.aux.)

Если вы \include корневой файл сам по себе, то сначала получите ошибку ‘LaTeX Error: Can be used only in preamble.’ Повторные запуски приведут к сообщению ‘TeX capacity exceeded, sorry [text input levels=15]’. Для исправления этого нужно удалить включение \include{root}, а также удалить файл root.aux и запустить LaTeX ещё раз.

© 2007–2018 Karl Berry
Public Domain Software
http://latexref.xyz/_005cinclude-_0026-_005cincludeonly.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API