2009-11-03 11 views
45

Ho un documento Latex in cui ho bisogno di cambiare i margini di solo poche pagine (le pagine in cui sto aggiungendo molta grafica).Latex - Modifica margini di poche pagine

In particolare, vorrei modificare i margini superiori (\voffset). Ho provato a fare:

\addtolength{\voffset}{-4cm} 

% Insert images here 

\addtolength{\voffset}{4cm} 

ma non ha funzionato. Ho visto riferimenti al pacchetto geometry, ma non ho trovato il modo di usarlo per un sacco di pagine e non per l'intero documento.

Eventuali suggerimenti?

risposta

45

Ho usato questo in beamer, ma non per i documenti generali, ma sembra che questo è ciò che il suggerimento originale suggets

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

Poi per usarlo

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

non dimenticare a

\end{changemargin} 

alla fine della pagina

0.123.

Ho ricevuto questo da http://www.tex.ac.uk/cgi-bin/texfaq2html?label=chngmargonfly

+0

Questo funziona meglio per me che utilizzare la geometria, poiché includere il pacchetto della geometria nel preambolo interrompe già il layout dello stile che sono obbligato a utilizzare. – mak

1

Per i dati è possibile utilizzare il metodo descritto qui:
http://texblog.net/latex-archive/layout/centering-figure-table/
vale a dire, fare qualcosa di simile:

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

Si noti che se si dispone di sottofigure nella figura, probabilmente vorrai entrare in modalità paragrafo all'interno della casella, in questo modo:

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

Per consentire di centrare la figura nella pagina, sporgendo su entrambi i margini anziché solo sul margine destro.
Questo di solito fa il trucco per le immagini. Si noti che con questo metodo, la didascalia dell'immagine sarà ancora delimitata dai normali margini della pagina (che è una buona cosa).

1

Una leggera modifica di this per modificare le \voffset opere per me:

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

E poi mettere le figure in un ambiente \begin{changemargin}{-1cm}...\end{changemargin}.

4
\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 
58

usare il pacchetto "geometria" o \newgeometry{left=3cm,bottom=0.1cm} in cui si desidera modificare i margini. Quando si desidera ripristinare i margini, si scrive \restoregeometry.

+1

Grazie a voi funziona perfettamente. Ho trovato che ha aiutato a guardare la documentazione perché ci sono molte altre opzioni di margine oltre a sinistra, destra, in alto e in basso: https://www.sharelatex.com/learn/Page_size_and_margins –

0

Cercare \enlargethispage in alcuni riferimenti LaTeX.

+1

Puoi aggiungere ulteriori dettagli, tra cui un soluzione, alla tua risposta? –

0

Ho avuto lo stesso problema in una presentazione del proiettore. Per me ha funzionato utilizzando l'ambiente colonne:

\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

Non sono riuscito a trovare un modo semplice per impostare il margine per una singola pagina.

La mia soluzione era quella di utilizzare vspace con il numero di centimetri di spazio vuoto che volevo:

\vspace*{5cm}                

ho messo questo comando all'inizio delle pagine che ho voluto avere + 5cm di margine.

1

Ho sofferto molto con diverse soluzioni tra cui lo spazio di lavoro vs-{{X}} nella parte superiore e inferiore della pagina e la gestione di avvisi ed errori. Finalmente ho trovato questa risposta:

È possibile modificare i margini di uno solo o più pagine e poi riportarla al suo default:

\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- Questo può anche risolvere il seguente warning:

LaTeX Attenzione: Float troppo grande per pagina ... pt sulla linea di ingresso ...

2- Per una risposta più dettagliata, consultare this.

3- Ho appena scoperto che questa è una ulteriore elaborazione della risposta di Kevin Chen.