Латекс - изменение полей всего на несколько страниц
У меня есть документ Latex, где мне нужно изменить поля всего на несколько страниц (страницы, на которых я добавляю много графики).
В частности, я хотел бы изменить верхние поля (\voffset
). Я пробовал делать:
\addtolength{\voffset}{-4cm}
% Insert images here
\addtolength{\voffset}{4cm}
но это не сработало. Я видел ссылки на пакет геометрии, но я не нашел, как использовать его для кучи страниц, а не для всего документа.
Любые подсказки?
Ответы
Ответ 1
Я использовал это в beamer
, но не для общих документов, но похоже на то, что предлагает оригинальный совет
\newenvironment{changemargin}[2]{%
\begin{list}{}{%
\setlength{\topsep}{0pt}%
\setlength{\leftmargin}{#1}%
\setlength{\rightmargin}{#2}%
\setlength{\listparindent}{\parindent}%
\setlength{\itemindent}{\parindent}%
\setlength{\parsep}{\parskip}%
}%
\item[]}{\end{list}}
Затем использовать
\begin{changemargin}{-1cm}{-1cm}
не забудь
\end{changemargin}
в конце страницы
Я получил это от изменения полей "на лету" в FAQ по TeX.
Ответ 2
Используйте пакет "geometry" и напишите \newgeometry{left=3cm,bottom=0.1cm}
, где вы хотите изменить свои поля. Когда вы захотите reset ваши поля, напишите \restoregeometry
.
Ответ 3
Я много боролся с различными решениями, в том числе \vspace {-Xmm} в верхней и нижней части страницы, а также с предупреждениями и ошибками. Наконец я нашел этот ответ:
Вы можете изменить поля только одной или нескольких страниц, а затем восстановить их по умолчанию:
\usepackage{geometry}
...
...
...
\newgeometry{top=5mm, bottom=10mm} % use whatever margins you want for left, right, top and bottom.
...
... %<The contents of enlarged page(s)>
...
\restoregeometry %so it does not affect the rest of the pages.
...
...
...
PS:
1- Это также может устранить следующее предупреждение:
LaTeX Warning: плавать слишком большим для страницы с помощью... pt на строке ввода...
2- Для более подробного ответа см. .
3 Я только что нашел, что это более подробная информация о Кевине Чене.
Ответ 4
\par\vfill\break % Break Last Page
\advance\vsize by 8cm % Advance page height
\advance\voffset by -4cm % Shift top margin
% Start big page
Some pictures
% End big page
\par\vfill\break % Break the page with different margins
\advance\vsize by -8cm % Return old margings and page height
\advance\voffset by 4cm % Return old margings and page height
Ответ 5
Для рисунков вы можете использовать описанный здесь метод:
http://texblog.net/latex-archive/layout/centering-figure-table/
а именно, сделать что-то вроде этого:
\begin{figure}[h]
\makebox[\textwidth]{%
\includegraphics[width=1.5\linewidth]{bla.png}
}
\end{figure}
Обратите внимание, что если у вас есть субфигуры на рисунке, вы, вероятно, захотите войти в режим абзаца внутри поля, например:
\begin{figure}[h]
\makebox[\textwidth]{\parbox{1.5\textwidth}{ %
\centering
\subfigure[]{\includegraphics[width=0.7\textwidth]{a.png}}
\subfigure[]{\includegraphics[width=0.7\textwidth]{b.png}}
\end{figure}
Для того, чтобы фигура была центрирована на странице, выступая в оба поля, а не только в правое поле.
Обычно это делает трюк для изображений. Обратите внимание, что с помощью этого метода заголовок изображения будет по-прежнему находиться в разделителе по нормальным полям страницы (что хорошо).
Ответ 6
Небольшая модификация this для изменения \voffset
работает для меня:
\newenvironment{changemargin}[1]{
\begin{list}{}{
\setlength{\voffset}{#1}
}
\item[]}{\end{list}}
И затем поместите свои цифры в среду \begin{changemargin}{-1cm}...\end{changemargin}
.
Ответ 7
Посмотрите \enlargethispage
в некоторой ссылке LaTeX.
Ответ 8
У меня была та же проблема в представлении лучей. Для меня работала с использованием среды столбцов:
\begin{frame}
\begin{columns}
\column{1.2\textwidth}
\begin{figure}
\subfigure{\includegraphics[width=.49\textwidth]{1.png}}
\subfigure{\includegraphics[width=.49\textwidth]{2.png}}
\end{figure}
\end{columns}
\end{frame}
Ответ 9
Я не мог найти простой способ установить поле для одной страницы.
Моим решением было использовать vspace с количеством сантиметров пустого пространства, которое я хотел:
\vspace*{5cm}
Я помещаю эту команду в начало страниц, которые я хотел иметь + 5 см от поля.