Latex - Ändern Sie die Ränder von nur wenigen Seiten

85

Ich habe ein Latex-Dokument, in dem ich die Ränder von nur wenigen Seiten ändern muss (die Seiten, auf denen ich viele Grafiken hinzufüge).

Insbesondere möchte ich die oberen Ränder ändern ( \voffset). Ich habe versucht:

\addtolength{\voffset}{-4cm}

% Insert images here

\addtolength{\voffset}{4cm}

aber es hat nicht funktioniert. Ich habe Verweise auf das Geometriepaket gesehen, aber ich habe nicht gefunden, wie ich es für eine Reihe von Seiten und nicht für das gesamte Dokument verwenden kann.

Irgendwelche Hinweise?

pgb
quelle

Antworten:

65

Ich habe dies in verwendet beamer, aber nicht für allgemeine Dokumente, aber es sieht so aus, als ob der ursprüngliche Hinweis dies nahelegt

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

Dann, um es zu benutzen

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

vergiss es nicht

\end{changemargin}

am Ende der Seite

Ich habe dies durch Ändern der Ränder "on the fly" in den TeX-FAQ erhalten.

ansate
quelle
3
Dies funktioniert für mich besser als die Verwendung von Geometrie, da die Aufnahme des Geometriepakets in die Präambel bereits das Layout des Stils beeinträchtigt, den ich verwenden muss.
Mak
Vielen Dank dafür!
SRG
145

Verwenden Sie das Paket "Geometrie" und schreiben \newgeometry{left=3cm,bottom=0.1cm}Sie , wo Sie Ihre Ränder ändern möchten. Wenn Sie Ihre Ränder zurücksetzen möchten, schreiben Sie \restoregeometry.

Kevin Chen
quelle
5
Danke, das funktioniert perfekt. Ich fand es hilfreich, die Dokumentation zu lesen,
Noah Sussman
3
Das einzige Problem bei geometryBefehlen besteht darin, dass sie den Text auf die nächste Seite spülen, wenn er in der Mitte einer Seite verwendet wird, da die Geometrie für "Seite" definiert ist.
Emadpres
@Emadpres Da Sie für einige Seiten neue Ränder definieren möchten \newpageoder \pagebreaknotwendige und natürliche Befehle sind, verwenden Sie diese zuerst.
CK
13

Ich hatte große Probleme mit verschiedenen Lösungen, einschließlich \ vspace {-Xmm} oben und unten auf der Seite, und mit Warnungen und Fehlern. Endlich habe ich diese Antwort gefunden:

Sie können die Ränder von nur einer oder mehreren Seiten ändern und dann die Standardeinstellungen wiederherstellen:

\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- Dies kann auch die folgende Warnung beheben:

LaTeX Warnung: Float zu groß für Seite um ... pt in der Eingabezeile ...

2- Eine detailliertere Antwort finden Sie hier .

3- Ich habe gerade festgestellt, dass dies mehr Ausarbeitung von Kevin Chens Antwort ist.

Alisa
quelle
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
quelle
2

Für Abbildungen können Sie die hier beschriebene Methode verwenden:
http://texblog.net/latex-archive/layout/centering-figure-table/
Gehen Sie wie folgt vor:

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

Beachten Sie, dass Sie, wenn Sie Unterfiguren in der Abbildung haben, wahrscheinlich in den Absatzmodus innerhalb des Felds wechseln möchten, wie folgt:

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

Damit die Figur auf der Seite zentriert werden kann und nicht nur in den rechten Rand, sondern in beide Ränder hineinragt.
Dies ist normalerweise der Trick für Bilder. Beachten Sie, dass bei dieser Methode die Beschriftung des Bildes immer noch durch die normalen Ränder der Seite begrenzt wird (was eine gute Sache ist).

shoosh
quelle
2

Eine geringfügige Änderung davon , um die \voffsetWerke für mich zu ändern :

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

Und dann bringen Sie Ihre Figuren in eine \begin{changemargin}{-1cm}...\end{changemargin}Umgebung.

Noah
quelle
0

Schlagen Sie \enlargethispagein einer LaTeX-Referenz nach.

Keiner
quelle
2
Könnten Sie Ihrer Antwort weitere Details, einschließlich einer Lösung, hinzufügen?
Steve Westbrook
0

Ich hatte das gleiche Problem in einer Beamer-Präsentation. Für mich arbeitete mit der Spaltenumgebung:

\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
quelle
-1

Ich konnte keine einfache Möglichkeit finden, den Rand für eine einzelne Seite festzulegen.

Meine Lösung bestand darin, vspace mit der gewünschten Anzahl von Zentimetern Leerraum zu verwenden:

 \vspace*{5cm}                                                             

Ich habe diesen Befehl am Anfang der Seiten eingefügt, für die ich einen Rand von + 5 cm haben wollte.

Neaţu Ovidiu Gabriel
quelle