Mam dokument Latex, w którym muszę zmienić marginesy tylko kilku stron (stron, na których dodaję dużo grafiki).
W szczególności chciałbym zmienić górne marginesy ( \voffset
). Próbowałem zrobić:
\addtolength{\voffset}{-4cm}
% Insert images here
\addtolength{\voffset}{4cm}
ale to nie zadziałało. Widziałem odniesienia do pakietu geometrii, ale nie znalazłem, jak go używać na kilku stronach, a nie w całym dokumencie.
Jakieś wskazówki?
Skorzystaj z pakietu „geometria” i napisz,
\newgeometry{left=3cm,bottom=0.1cm}
gdzie chcesz zmienić marginesy. Kiedy chcesz zresetować marginesy, piszesz\restoregeometry
.źródło
geometry
poleceniami jest to, że umieszczają one tekst na następnej stronie, jeśli są używane w środku strony, ponieważ geometria jest zdefiniowana dla „strony”.\newpage
lub\pagebreak
są konieczne i naturalne polecenia, których używasz najpierw.Dużo zmagałem się z różnymi rozwiązaniami, w tym \ vspace {-Xmm} na górze i na dole strony oraz radzeniem sobie z ostrzeżeniami i błędami. Wreszcie znalazłem tę odpowiedź:
Możesz zmienić marginesy jednej lub więcej stron, a następnie przywrócić ustawienia domyślne:
\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- Może to również naprawić następujące ostrzeżenie:
2- Aby uzyskać bardziej szczegółową odpowiedź, spójrz na to .
3- Właśnie stwierdziłem, że jest to bardziej rozwinięcie odpowiedzi Kevina Chena.
źródło
\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
źródło
W przypadku liczb możesz użyć metody opisanej tutaj:
http://texblog.net/latex-archive/layout/centering-figure-table/,
a mianowicie zrób coś takiego:
\begin{figure}[h] \makebox[\textwidth]{% \includegraphics[width=1.5\linewidth]{bla.png} } \end{figure}
Zwróć uwagę, że jeśli na rysunku masz podobiekty, prawdopodobnie będziesz chciał przejść do trybu akapitu wewnątrz pola, na przykład:
\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}
Umożliwienie wyśrodkowania figury na stronie i wystawienie jej na oba marginesy, a nie tylko na prawy margines.
To zwykle załatwia sprawę w przypadku obrazów. Zauważ, że dzięki tej metodzie podpis obrazu nadal będzie ograniczony normalnymi marginesami strony (co jest dobre).
źródło
Niewielka modyfikacja tego, aby zmienić
\voffset
prace dla mnie:\newenvironment{changemargin}[1]{ \begin{list}{}{ \setlength{\voffset}{#1} } \item[]}{\end{list}}
A potem umieść swoje figury w
\begin{changemargin}{-1cm}...\end{changemargin}
środowisku.źródło
Poszukaj
\enlargethispage
w niektórych odniesieniach do LaTeX.źródło
Miałem ten sam problem w prezentacji beamer. U mnie pracowałem używając środowiska kolumn:
\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}
źródło
Nie mogłem znaleźć prostego sposobu na ustawienie marginesu dla pojedynczej strony.
Moim rozwiązaniem było użycie vspace z liczbą centymetrów pustej przestrzeni, którą chciałem:
\vspace*{5cm}
To polecenie umieściłem na początku stron, które chciałem mieć + 5cm marginesu.
źródło