Включая полные документы LaTeX в других

В настоящее время я заканчиваю свою диссертацию и хотел бы иметь возможность включать некоторые документы в мой документ LaTeX.

Файлы, которые я хотел бы включить, - это еженедельные отчеты, сделанные в LaTeX моему супервизору. Очевидно, что все документы пронумерованы по отдельности. Я бы хотел, чтобы они были включены в итоговый документ.

Я мог бы объединить все окончательные PDF файлы, используя GhostScript или какой-либо другой инструмент, но я хотел бы иметь согласованную нумерацию по всему документу.

Я попытался включить LaTeX из каждого документа в основной документ, но преамбула и т.д. вызывает проблемы, а маленький заголовок, который у меня есть в каждом отчете, занимает целую страницу...

В общем, я ищу способ включить несколько отдельных или 2-страничных файлов LaTeX в большом отчете, сохраняя их оригинальные макеты, но изменяя нумерацию страниц.

Ответы

Ответ 1

Сохранение исходного форматирования на документ будет затруднено, если они используют разные форматы. Например, объединение разных классов документов будет практически невозможно.

Я предлагаю вам пойти с решением GhostScript с небольшим завихрением. Латекс позволяет указать номер стартовой страницы, например, с помощью \setcounter {page} {13}. Если вы можете найти приложение, которое может считать страницы PDF-документа (pdfinfo в pdfjam Ubuntu - один пример), вы можете сделать следующее:

  • Скомпилируйте следующий документ в формате PDF
  • Объединение последнего PDF с текущим полным PDF
  • Найти количество страниц в полном формате PDF
  • Используйте sed, чтобы вырвать команду \setcounter {page} {N} в следующий латексный файл
  • Вернитесь к началу

Если вам нужно выполнить любую другую обработку, снова используйте sed. Вы должны (предполагая, что вы исправите бесконечный цикл в вышеупомянутом алгоритме;-)) в конечном итоге с окончательным PDF-документом со всеми оригинальными конкатенированными и непрерывными номерами строк PDF.

Ответ 2

Для возможного решения \input -обложения исходных файлов LaTeX при пропуске их преамбулы может помочь пакет newclude.

В противном случае вы можете использовать pdfpages для вставки ранее существующих PDF файлов в свою диссертацию. Кажется, я помню, что у него есть функция "подавления" исходных номеров страниц, покрывая их белыми ящиками.

Ответ 3

Предложение от @Will Robertson отлично работает. Я просто хотел бы добавить пример для всех ленивых людей:

\usepackage{pdfpages}

...

% Insert _all_ pages from some_pdf.pdf:
\includepdf[pages=-]{some_pdf}   % the .pdf extension may be omitted

Из документации пакета:

  • Чтобы включить определенный диапазон страниц, вы можете сделать pages={4-9}. Если start опущен, по умолчанию используется первая страница, если конец опущен, по умолчанию используется последняя страница.
  • Чтобы включить его в альбомном режиме, сделайте landscape=true

Ответ 4

Посмотрите combine пакет, который, кажется, именно то, что вы ищете. Поскольку он объединяет документы на исходном уровне, я думаю, что номера страниц будут правильными.