web-dev-qa-db-fra.com

Latex - Changer les marges de quelques pages seulement

J'ai un document Latex dans lequel je dois changer les marges de quelques pages seulement (les pages où j'ajoute beaucoup de graphiques).

En particulier, je voudrais changer les marges supérieures (\voffset). J'ai essayé de faire:

\addtolength{\voffset}{-4cm}

% Insert images here

\addtolength{\voffset}{4cm}

mais ça n'a pas marché. J'ai vu des références au paquetage géométrique, mais je n'ai pas trouvé comment l'utiliser pour un tas de pages, pas pour le document entier.

Des allusions?

66
pgb

J'ai utilisé ceci dans beamer, mais pas pour les documents généraux, mais il semble que c'est ce que suggère l'original

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

Puis l'utiliser

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

n'oublie pas de

\end{changemargin}

à la fin de la page

Je l'ai obtenu de Modification des marges "à la volée" dans la FAQ TeX.

58
ansate

Utilisez le paquet "geometry" et écrivez \newgeometry{left=3cm,bottom=0.1cm} où vous souhaitez modifier vos marges. Lorsque vous souhaitez réinitialiser vos marges, vous écrivez \restoregeometry.

103
Kevin Chen

Je me débattais beaucoup avec différentes solutions, notamment\vspace {-Xmm} en haut et en bas de la page et des avertissements et des erreurs. Finalement j'ai trouvé cette réponse:

Vous pouvez modifier les marges d'une ou de plusieurs pages, puis restaurer les valeurs par défaut:

\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- Cela peut également résoudre l'avertissement suivant:

Avertissement LaTeX: Float trop grand pour page par ... pt sur la ligne d'entrée ...

2- Pour une réponse plus détaillée, regardez this .

3- Je viens de constater que ceci est plus détaillé sur la réponse de Kevin Chen.

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

Pour les figures, vous pouvez utiliser la méthode décrite ici:
http://texblog.net/latex-archive/layout/centering-figure-table/
À savoir, faites quelque chose comme ceci:

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

Notez que si vous avez des sous-figures dans la figure, vous voudrez probablement entrer en mode paragraphe à l'intérieur de la boîte, comme ceci:

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

Permet de centrer la figure sur la page, en faisant saillie dans les deux marges plutôt que seulement dans la marge droite.
Cela fait généralement l'affaire des images. Notez qu'avec cette méthode, la légende de l'image sera toujours délimitée par les marges normales de la page (ce qui est une bonne chose).

2
shoosh

Une légère modification de this pour changer le \voffset travaille pour moi:

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

Et mettez ensuite vos chiffres dans un \begin{changemargin}{-1cm}...\end{changemargin} environnement.

2
Noah

Chercher \enlargethispage dans une référence LaTeX.

0
None

J'ai eu le même problème dans une présentation Beamer. Pour moi, j'ai utilisé l'environnement des colonnes:

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