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?

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.


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.


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.


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

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).


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.


0

Procure \enlargethispageem alguma referência do LaTeX.


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}

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.


1
Não sei quem votou nisso sem um comentário. Este foi um salva-vidas para mim!
Stephan Richter
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.