Latex - Changez les marges de quelques pages seulement

90

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

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

\addtolength{\voffset}{-4cm}

% Insert images here

\addtolength{\voffset}{4cm}

mais cela n'a pas fonctionné. J'ai vu des références au package geometry, mais je n'ai pas trouvé comment l'utiliser pour un tas de pages, et pas pour tout le document.

Des indices?

pgb
la source

Réponses:

66

Je l'ai utilisé dans beamer, mais pas pour les documents généraux, mais il semble que c'est ce que suggère l'indice 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}}

Alors pour l'utiliser

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

n'oubliez pas de

\end{changemargin}

en fin de page

J'ai obtenu ceci en changeant les marges «à la volée» dans la FAQ TeX.

ansate
la source
3
Cela fonctionne mieux pour moi que d'utiliser la géométrie, car l'inclusion du package de géométrie dans le préambule rompt déjà la disposition du style que je suis obligé d'utiliser.
mak
Merci beaucoup pour cela!
SRG
152

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

Kevin Chen
la source
5
Merci cela fonctionne parfaitement. J'ai trouvé que cela a aidé à regarder la documentation car il y a beaucoup d'autres options de marge en plus juste à gauche, à droite, en haut et en bas: sharelatex.com/learn/Page_size_and_margins
Noah Sussman
3
Le seul problème avec les geometrycommandes est qu'elles vident le texte dans la page suivante si elle est utilisée au milieu d'une page, puisque la géométrie est définie pour "page".
Emadpres
@Emadpres Puisque vous souhaitez définir de nouvelles marges pour certaines pages, \newpageou \pagebreaksont des commandes nécessaires et naturelles que vous utilisez en premier.
CK
13

J'avais beaucoup de mal avec différentes solutions, y compris \ vspace {-Xmm} en haut et en bas de la page et en traitant les avertissements et les erreurs. Enfin j'ai trouvé cette réponse:

Vous pouvez modifier les marges d'une ou plusieurs pages, puis restaurer ses 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 corriger 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 ceci .

3- Je viens de constater que c'est plus élaboration sur la réponse de Kevin Chen.

Alisa
la source
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
la source
2

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}

Pour permettre à la figure d'être centrée dans la page, faisant saillie dans les deux marges plutôt que dans la marge de droite uniquement
Cela fait généralement l'affaire pour les 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).

shoosh
la source
2

Une légère modification de ceci pour changer les \voffsettravaux pour moi:

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

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

Noé
la source
0

Recherchez \enlargethispagedans une référence LaTeX.

Aucun
la source
2
Pourriez-vous ajouter plus de détails, y compris une solution, à votre réponse?
Steve Westbrook
0

J'ai eu le même problème dans une présentation de beamer. Pour moi, j'ai travaillé en utilisant 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}
user3510575
la source
-1

Je n'ai pas pu trouver un moyen facile de définir la marge pour une seule page.

Ma solution était d'utiliser vspace avec le nombre de centimètres d'espace vide que je souhaitais:

 \vspace*{5cm}                                                             

J'ai mis cette commande au début des pages que je voulais avoir + 5cm de marge.

Neaţu Ovidiu Gabriel
la source