(См. также Вставка страниц из PDF, где более подробно рассматривается вставка одной или двух конкретных страниц с возможностью масштабирования, поворота и других настроек, а также появления заголовка на вставленных страницах.)
Допустим, вы хотите, чтобы PTXprint вставлял все страницы PDF-файла перед началом определенной книги или в конце определенной книги.
Что нужно сделать:
-
На вкладке «Дополнительно» (advanced) отметьте пункт «Apply Customised Settings» (Применить пользовательские настройки), а затем отредактируйте его.

-
На пустой строке в этом файле введите что-то вроде следующего:
\setbookhook{start}{MAT}{\includepdf{../../../figures/FileName.pdf}}
Или, если файл должен находиться после конца книги Откровение, используйте это:
\setbookhook{end}{REV}{\pb \includepdf{../../../figures/FileName.pdf}}
- Нажмите «Print» (Печать), чтобы убедиться, что все верно!
Теперь немного пояснений.
На различных этапах обработки USFM PTXprint проверяет, не запросил ли пользователь выполнение каких-либо необычных действий. Можно представить эти проверки как большую сетку крючков на стене, где почти все они пусты. Но кто-то может повесить на один из них список инструкций. Если на крючке есть список инструкций, то эти инструкции добавляются к списку действий, которые TeX должен выполнить перед любыми другими.
Начало и конец книг — одно из мест, где проверяется сетка крючков, и команда \setbookhook помещает свой список инструкций на указанный крючок (отбрасывая все, что могло там уже быть). Другое место, где проверяются крючки, — это начало стиха (\setcvhook).
\setbookhook{start}{MAT}{\includepdf{filename.pdf}} сообщает коду, что в начале книги с \id MAT он должен обработать инструкцию \includepdf{filename.pdf}.
В приведенном выше примере инструкция заключается во включении ../../../figures/FileName.pdf.
Я использую прямой слэш в стиле Unix между каталогами, потому что (а) я набираю это на Linux, (б) программы Windows, как я полагаю, обычно могут работать с путями в стиле Unix, и (в) мне пришлось бы использовать \\, чтобы обратный слэш прошел, и тогда это не работало бы на Linux или компьютерах Apple.
../../.. означает три каталога выше «текущего положения», где «текущее положение» — это место, откуда запускается TeX. Для конфигурации Default это .../PROJECT/local/ptxprint/Default, и поэтому вышеуказанный путь ищет PDF в .../PROJECT/figures. Использование относительного пути, а не абсолютного, должно обеспечить работу на компьютерах всех.
Другие важные моменты
\pb, используемый в версии с {end} выше, принудительно вызывает перенос на новую страницу перед добавлением страниц. Без него PDF может быть добавлен до последней страницы книги.
- Хотя это не добавляет номера страниц, оно учитывает страницы.
- Если вы правильно укажете путь и имя файла, в файле журнала появится сообщение
includepdf ../../../figures/test.pdf pages=2
Если вы ошибетесь и файла там не будет, будет написано pages=0. Это ваше единственное предупреждение!
- Также существует специальная книга
final (например, \setbookhook{end}{final}{...}), которая является последней книгой в работе.
- Хотя в каждой конкретной точке есть только один «крючок», можно использовать несколько крючков. Например:
- Существует несколько различий в том, как обрабатывается ввод в файлах
.tex и .sfm (или USFM). \includepdf — это инструкция TeX, а не USFM, поэтому ее нельзя легко использовать в файлах USFM, таких как периферийные материалы или титульные листы.
\includepdf — это немедленная команда, которая пропускает любые очереди. Хотя большинство вводов добавляют материал в списки текста и абзацев TeX для последующей расстановки на странице, \includepdf выводит страницы PDF сразу при встрече с командой. — отсюда и необходимость команды переноса на новую страницу в примере с концом книги Откровение. С положительной стороны, поскольку она игнорирует очередь, она не должна изменять расположение абзацев, в которых она встречается.