Опубликован: 07.02.2007 | Уровень: для всех | Доступ: платный
Лекция 1:

Элементарное введение

Разбиение исходного файла на части

Команды, рассматриваемые в этом разделе, помогают разумно организовать исходный текст.

Часто бывает удобно разбить большой текст на несколько частей, хранящихся в разных файлах. Чтобы можно было объединить их в одно целое, в LaTeX'е предусмотрена команда \input. Если в тексте написать

\input{имя\_файла}

то TeX будет работать так, как если бы вместо строки с командой \input стоял текст файла, имя которого вы указали.

Обычно, готовя текст большого объема, создают небольшой " головной файл", в котором между \begin{document} и \end{document} размещены строки с командами \input, задающими включение файлов, в которых и записана основная часть текста. Например, книгу из четырех глав, записанных в файлах "ch1.tex",..., "ch4.tex", можно организовать в виде файла из девяти строчек (именно его, а не файлы с отдельными главами, надо будет передать для обработки LaTeX'у):

\documentclass[11pt]{report}
\frenchspacing
\pagestyle{plain}
\begin{document}
\input{ch1}
\input{ch2}
\input{ch3}
\input{ch4}
\end{document}

(Если расширение файла, являющегося аргументом команды \input, не указано, то LaTeX по умолчанию добавляет расширение tex.)

Ради реализма мы в этом примере включили в преамбулу парочку команд, которые могли бы там появиться и на практике. Первая из них означает, что после знаков препинания пробелы не увеличиваются, как это и принято в России и континентальной Европе (по умолчанию эти пробелы увеличиваются в соответствии с англо-саксонской традицией), а вторая — что номера страниц будут печататься снизу и при этом колонтитулов не будет. Позже мы рассмотрим эти вещи подробнее.

Если в вашем тексте присутствуют команды \input, то в процессе трансляции при начале чтения соответствующего файла на экран выдается его имя, чтобы вы понимали, к какому из ваших файлов будут относиться дальнейшие сообщения TeX'а (если таковые будут).

Если вы хотите, чтобы TeX прочитал только часть вашего файла, можно воспользоваться командой без параметров \endinput. Если она присутствует в файле, то файл будет прочитан только до строчки, в которой написано \endinput, после чего его чтение прекратится.

Если фрагменты текста, включаемые с помощью команд \input, должны на печати начинаться с отдельной страницы (например, если это главы книги, как в приведенном примере), то удобно вместо \input воспользоваться командой \include (ее единственный обязательный аргумент — имя включаемого файла). Выгода здесь в том, что при пользовании командой \include можно в процессе работы над текстом попросить LaTeX обрабатывать только часть включаемых файлов.

Для этого надо добавить в преамбулу команду \includeonly, в аргументе которой приведен (через запятые) список обрабатываемых файлов. Пусть, скажем, в вышеприведенном примере работа над первой главой уже завершена, за четвертую главу вы еще не принялись, а вторую и третью уже вовсю редактируете. Тогда головной файл можно организовать так:

\documentclass[11pt]{report}
\frenchspacing
\pagestyle{plain}
\includeonly{ch2,ch3}
\begin{document}
\include{ch1}
\include{ch2}
\include{ch3}
\include{ch4}
\end{document}

( Внимание! В аргументе команды \include расширение ".tex" опускать необходимо! Файлы с расширениями, отличными от ".tex", с помощью этой команды подключать нельзя.) Когда вы перейдете к работе над другими главами, аргумент команды \includeonly надо будет соответствующим образом изменить, а когда весь текст будет готов, можно вообще удалить \includeonly из файла. При этом количество запусков LaTeX'а, необходимых для получения правильных ссылок, задаваемых командами \ref и \pageref, будет меньше, чем при проведении аналогичных манипуляций с \input.

Команду \include нельзя употреблять в файле, который сам включается в текст с помощью \include (для \input такого запрета нет).

Нина Казачек
Нина Казачек
Василий Майоров
Василий Майоров
Алина Вадяева
Алина Вадяева
Россия
Юлия Адамовская
Юлия Адамовская
Украина, Славянск