Látex - altera as margens de apenas algumas páginas

91

Tenho um documento Latex em que preciso alterar as margens de apenas algumas páginas (as páginas em que estou adicionando muitos gráficos).

Em particular, eu gostaria de alterar as margens superiores ( \voffset). Eu tentei fazer:

\addtolength{\voffset}{-4cm}

% Insert images here

\addtolength{\voffset}{4cm}

mas não funcionou. Eu vi referências ao pacote de geometria, mas não descobri como usá-lo para um monte de páginas, e não para todo o documento.

Alguma dica?

pgb
fonte

Respostas:

67

Eu usei isso beamer, mas não para documentos gerais, mas parece que é o que a dica original sugere

\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}}

Então, para usá-lo

\begin{changemargin}{-1cm}{-1cm}

não se esqueça de

\end{changemargin}

no final da página

Eu consegui isso alterando as margens “na hora” no FAQ do TeX.

ansate
fonte
4
Isso funciona melhor para mim do que usar geometria, uma vez que incluir o pacote de geometria no preâmbulo já quebra o layout do estilo que devo usar.
março de
Muito obrigado por isso!
SRG
156

Use o pacote "geometria" e escreva \newgeometry{left=3cm,bottom=0.1cm}onde deseja alterar suas margens. Quando você quiser redefinir suas margens, você escreve \restoregeometry.

Kevin Chen
fonte
5
Obrigado, isso funciona perfeitamente. Achei que ajudou a olhar para a documentação porque há muitas outras opções de margem além da esquerda, direita, superior e inferior: sharelatex.com/learn/Page_size_and_margins
Noah Sussman
3
O único problema com os geometrycomandos é que eles liberam o texto para a próxima página se forem usados ​​no meio de uma página, já que a geometria é definida para "página".
Emadpres
@Emadpres Já que você deseja definir novas margens para algumas páginas, \newpageou \pagebreaksão comandos necessários e naturais que você usa primeiro.
CK
14

Eu estava lutando muito com diferentes soluções, incluindo \ vspace {-Xmm} na parte superior e inferior da página e lidando com avisos e erros. Finalmente encontrei esta resposta:

Você pode alterar as margens de apenas uma ou mais páginas e restaurá-las ao padrão:

\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- Isso também pode corrigir o seguinte aviso:

Aviso LaTeX: Flutuante muito grande para a página de ... pt na linha de entrada ...

2- Para uma resposta mais detalhada, veja isto .

3- Acabei de descobrir que esta é mais uma elaboração da resposta de Kevin Chen.

Alisa
fonte
5
\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
Alexey Malistov
fonte
2

Para figuras, você pode usar o método descrito aqui:
http://texblog.net/latex-archive/layout/centering-figure-table/
ou seja, faça algo assim:

\begin{figure}[h]
\makebox[\textwidth]{%
        \includegraphics[width=1.5\linewidth]{bla.png}
    }
\end{figure}

Observe que se você tiver subfiguras na figura, provavelmente desejará entrar no modo de parágrafo dentro da caixa, assim:

\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}

Por permitir que a figura seja centralizada na página, projetando-se em ambas as margens ao invés de apenas na margem direita.
Isso geralmente funciona para imagens. Observe que com este método, a legenda da imagem ainda ficará no delimitada pelas margens normais da página (o que é uma boa coisa).

shoosh
fonte
2

Uma ligeira modificação disso para mudar as coisas \voffsetpara mim:

\newenvironment{changemargin}[1]{
  \begin{list}{}{
    \setlength{\voffset}{#1}
  }
  \item[]}{\end{list}}

E então coloque suas figuras em um \begin{changemargin}{-1cm}...\end{changemargin}ambiente.

Noé
fonte
0

Procure \enlargethispageem alguma referência do LaTeX.

Nenhum
fonte
2
Você poderia adicionar mais detalhes, incluindo uma solução, à sua resposta?
Steve Westbrook,
0

Eu tive o mesmo problema em uma apresentação de projetor. Para mim trabalhei usando o ambiente de colunas:

\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}
user3510575
fonte
0

Não consegui encontrar uma maneira fácil de definir a margem de uma única página.

Minha solução foi usar o vspace com o número de centímetros de espaço vazio que eu queria:

 \vspace*{5cm}                                                             

Coloquei esse comando no início das páginas que queria ter + 5cm de margem.

Neaţu Ovidiu Gabriel
fonte
1
Não sei quem votou nisso sem um comentário. Este foi um salva-vidas para mim!
Stephan Richter