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?

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.


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.


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.


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

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


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.


0

Recherchez \enlargethispagedans une référence LaTeX.


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}

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

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.