Как избежать прерывания страницы после \include в LaTeX

StackOverflow https://stackoverflow.com/questions/1209065

  •  05-07-2019
  •  | 
  •  

Вопрос

Мой LaTeX приводит к разрывам страниц после каждого подраздела, потому что мои подразделы находятся в отдельных файлах.Я использую команду \include{file} который добавляет разрыв страницы после его использования.

Я бы хотел, чтобы не было сбоя страницы, вызванного использованием \include{file}.

Как вы можете избежать взлома страницы после использования include -командовать?

Это было полезно?

Решение

Пакет newclude, предложенный Уиллом Робертсоном, довольно полезен для того, чтобы избежать clearpage.Похоже, для того, чтобы \includeonly для работы нужно вызвать пакет сразу после \documentclass{...}.В сложной обстановке моей диссертации я также столкнулся с проблемами с неработающими ссылками.

Хорошим обходным решением, когда includeonly не требуется для окончательной версии, является использование includes только в черновике:

\newif\ifdraft\drafttrue

или

\newif\ifdraft\draftfalse

\ifdraft
  \include{...}
\fi

\ifdraft
  \include{file}
\else
  \input{file}
\fi

Первая строка может быть легко добавлена с помощью makefile, чтобы создать целевые объекты для создания черновой или рабочей версии production make.

\includeonly{file1,file2,...} позволяет указать список исходных файлов, вызываемых с помощью \include{file1} (где file1 является примером), который будет показан в результирующем документе.Остальные не отображаются, но учитываются для счетчиков, меток, оглавлений, когда включены соответствующие вспомогательные файлы.

Другими словами, используя include и includeonly в черновике можно сократить время компиляции, имея при этом правильные ссылки.Дальнейшее чтение по теме Викибуки.

@Уилл Робертсон

\include это так полезно, потому что позволяет через \includeonly{...} для построения нужны только разделы.При работе с более длинным текстом включение только части длинной главы может существенно сократить время компиляции.Это также неоценимо полезно, поскольку не нужно перелистывать длинный черновик, работая в какой-то момент.Наконец, меньшие по размеру файлы исходного кода легче обрабатывать при управлении версиями, напримермерзавец.

Другие советы

\ include всегда использует \ clearpage , что не совсем разумно по умолчанию. Он предназначен для целых глав, а не для подразделов (в любом случае, зачем вам подразделы в отдельных файлах?).

Это можно исправить, используя \ input {filename} или загрузив пакет newclude и написав вместо него \ include * {filename} .

Вы можете остановить сбои страниц, вызванные \include разместив \let\clearpage\relax до этого.Итак,

\let\clearpage\relax
\include{file1}
\include{file2}
\include{file3}

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

\begingroup
\let\clearpage\relax
\include{file1}
\include{file2}
\endgroup
\include{file3}

Это остановит разрыв страницы между file1 и file2, но вставьте обычный разрыв страницы после file2.(Примечание:Я не знаю, мешает ли это ссылкам и нумерации страниц, хотя я полагаю, что все должно быть в порядке.)

Спасибо, Кембридж !

  

используйте \ include вместо \ input и используйте команду \ includeonly для выбора разделов для обработки

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top