Lateks - Mengubah margin hanya beberapa halaman

90

Saya memiliki dokumen Latex di mana saya perlu mengubah margin hanya beberapa halaman (halaman tempat saya menambahkan banyak grafik).

Secara khusus, saya ingin mengubah margin atas ( \voffset). Saya sudah mencoba melakukan:

\addtolength{\voffset}{-4cm}

% Insert images here

\addtolength{\voffset}{4cm}

tapi tidak berhasil. Saya telah melihat referensi ke paket geometri, tetapi saya belum menemukan cara menggunakannya untuk banyak halaman, dan tidak untuk keseluruhan dokumen.

Ada petunjuk?

pgb
sumber

Jawaban:

66

Saya telah menggunakan ini di beamer, tetapi tidak untuk dokumen umum, tetapi sepertinya itulah yang disarankan petunjuk aslinya

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

Kemudian untuk menggunakannya

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

jangan lupa

\end{changemargin}

di akhir halaman

Saya mendapatkan ini dari Mengubah margin "dengan cepat" di FAQ TeX.

ansate
sumber
3
Ini bekerja lebih baik bagi saya daripada menggunakan geometri, karena menyertakan paket geometri dalam pembukaan sudah merusak tata letak gaya yang harus saya gunakan.
mak
Terima kasih banyak untuk ini!
SRG
152

Gunakan paket "geometri" dan tulis di \newgeometry{left=3cm,bottom=0.1cm}mana Anda ingin mengubah margin Anda. Ketika Anda ingin mengatur ulang margin Anda, Anda menulis \restoregeometry.

Kevin Chen
sumber
5
Terima kasih ini bekerja dengan sempurna. Saya merasa terbantu dengan melihat dokumentasi karena ada banyak opsi margin lain selain kiri, kanan, atas, dan bawah: sharelatex.com/learn/Page_size_and_margins
Noah Sussman
3
Satu-satunya masalah dengan geometryperintah adalah bahwa perintah tersebut memindahkan teks ke halaman berikutnya jika digunakan di tengah halaman, karena geometri didefinisikan untuk "halaman".
Emadpres
@Emadpres Karena Anda ingin menentukan margin baru untuk beberapa halaman, \newpageatau \pagebreakdiperlukan dan perintah alami yang Anda gunakan terlebih dahulu.
CK
13

Saya berjuang keras dengan solusi yang berbeda termasuk \ vspace {-Xmm} di bagian atas dan bawah halaman dan berurusan dengan peringatan dan kesalahan. Akhirnya saya menemukan jawaban ini:

Anda dapat mengubah margin hanya satu halaman atau lebih, lalu mengembalikannya ke 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- Ini juga dapat memperbaiki peringatan berikut:

Peringatan LaTeX: Float terlalu besar untuk halaman oleh ... pt pada baris masukan ...

2- Untuk jawaban yang lebih rinci, lihat ini .

3 - Saya baru saja menemukan bahwa ini lebih merupakan penjabaran dari jawaban Kevin Chen.

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

Untuk gambar, Anda dapat menggunakan metode yang dijelaskan di sini:
http://texblog.net/latex-archive/layout/centering-figure-table/
yaitu, lakukan sesuatu seperti ini:

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

Perhatikan bahwa jika Anda memiliki subfigur pada gambar, Anda mungkin ingin masuk ke mode paragraf di dalam kotak, seperti:

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

Untuk memungkinkan gambar berada di tengah halaman, menonjol ke kedua margin, bukan hanya ke margin kanan.
Ini biasanya melakukan trik untuk gambar. Perhatikan bahwa dengan metode ini, judul gambar akan tetap dibatasi oleh margin normal halaman (yang merupakan hal yang baik).

shoosh
sumber
2

Sedikit modifikasi pada ini untuk mengubah \voffsetkarya saya:

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

Dan kemudian letakkan sosok Anda di \begin{changemargin}{-1cm}...\end{changemargin}lingkungan.

Nuh
sumber
0

Cari \enlargethispagedi beberapa referensi LaTeX.

Tidak ada
sumber
2
Bisakah Anda menambahkan lebih banyak detail, termasuk solusi, ke jawaban Anda?
Steve Westbrook
0

Saya memiliki masalah yang sama dalam presentasi beamer. Bagi saya bekerja menggunakan lingkungan kolom:

\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}
pengguna3510575
sumber
-1

Saya tidak dapat menemukan cara mudah untuk mengatur margin untuk satu halaman.

Solusi saya adalah menggunakan vspace dengan jumlah sentimeter ruang kosong yang saya inginkan:

 \vspace*{5cm}                                                             

Saya meletakkan perintah ini di awal halaman yang saya ingin memiliki margin + 5cm.

Neaţu Ovidiu Gabriel
sumber