\ vspace adalah jalan menuju kehancuran. Anda tidak harus melawan LaTeX, melainkan menerimanya.
Eric
26
ya, tapi terkadang pertarungan terlalu berat untuk ditangani.
Stefano Borini
30
Maksud Anda pelukan itu terlalu berat untuk ditangani, dan pertarungan lebih mudah :-)
Joachim Breitner
1
Ini harus menjadi \ vspace {-3.5mm} .
Jason
10
@Jason dan semua: jawaban dari Paolo di bawah ini juga sederhana dan jauh lebih baik: \ vspace {- \ topsep}
Joce
114
Cara untuk memperbaiki masalah semacam ini adalah dengan mendefinisikan kembali lingkungan daftar yang relevan. The enumitempaket adalah cara favorit saya untuk melakukan hal semacam ini; memiliki banyak opsi dan parameter yang dapat divariasikan, baik untuk semua daftar atau untuk setiap daftar satu per satu.
Inilah cara melakukan (sesuatu seperti) apa yang menurut saya Anda inginkan:
Sempurna. Semudah jawaban [Stefano Borini], tetapi solusi ini berfungsi meskipun ada daftar bersarang. Terima kasih.
devsnd
27
Bahkan jika saya menyetel opsi ke [topsep = 0px, partopsep = 0px] ruang vertikal sebelum daftar masih ada - maka IMHO jawaban ini tidak berfungsi.
Robert
2
@ Robert, mengapa tidak menggunakan angka negatif? Ini bekerja untuk saya: \begin{enumerate}[topsep=-5px,partopsep=0px] ...
zkurtz
@Robert: Menurut dokumen enumitem, spasi vertikal sebelum dan sesudah daftar diberikan \parsep + \topsep [+ \partopsep], jadi Anda harus menyetel \topsepatau \partopsepke angka negatif untuk mengimbangi nilai positif apa pun \parsep.
Bagus! Sayangnya enumitem tidak kompatibel dengan beamer, jadi saya suka metode paket-independen. topsepterlalu agresif bagi saya, jadi saya menggunakan \ vspace {-0.5 \ topsep} `
craq
14
Cara terbersih bagi Anda untuk melakukannya adalah dengan menggunakan paket enumitem ( https://ctan.org/pkg/enumitem ). Sebagai contoh,
\documentclass{article}\usepackage{enumitem}% http://ctan.org/pkg/enumitem\begin{document}\noindent Here is some text and I want to make sure
there is no spacing the different items.
\begin{itemize}[noitemsep]\item Item 1
\item Item 2
\item Item 3
\end{itemize}\noindent Here is some text and I want to make sure
there is no spacing between this line and the item
list below it.
\begin{itemize}[noitemsep,topsep=0pt]\item Item 1
\item Item 2
\item Item 3
\end{itemize}\end{document}
Selain itu, jika Anda ingin menggunakan pengaturan ini secara global di seluruh daftar, Anda dapat menggunakan
Sebagaimana dicatat (dan dikoreksi) di tempat lain, versi enumitem terbaru menyertakan opsi [nosep] yang dirancang untuk menghapus spasi di atas dan di bawah daftar serta di antara item ... tetapi tidak melakukan ini jika Anda juga menggunakan paket parskip. Herbert Voß memposting solusi untuk ini di ctt - \ setlist {partopsep = - \ parskip, parsep = 0pt}
Peter Flynn
13
Cara LaTeX yang "tepat" untuk melakukannya adalah dengan menggunakan paket yang memungkinkan Anda menentukan jarak yang Anda inginkan. Ada beberapa paket seperti itu, dan kedua halaman ini memiliki pranala ke daftar mereka ...
Bukan ide yang buruk untuk menunjuk ke CTAN ( ctan.org ).
dmckee --- mantan moderator anak kucing
20
Namun, umumnya ide yang buruk untuk mengklaim ada cara yang "tepat" untuk melakukan apa pun dalam lateks;).
cheshirekow
7
Saya sangat senang dengan paket paralist . Selain menambahkan opsi untuk menghilangkan ruang, ia juga menambahkan hal-hal bagus lainnya seperti versi ringkas dari itemize, enumerate and description environment.
Secara khusus, Fabian mengacu pada asparaitem, asparaenum dan asparadesc dan hal-hal lain seperti compactittem, compactenum dan compactdesc. aspara masih membuat paragraf baru. Ini masih sedikit menjengkelkan jika Anda meletakkannya di tabel tanpa paragraf sebelumnya, seperti saya, tetapi saya curiga ada peretasan yang tidak terlalu buruk untuk memperbaikinya.
Thomas Levine
6
\renewcommand{\@listI}{%\leftmargin=25pt\rightmargin=0pt\labelsep=5pt\labelwidth=20pt\itemindent=0pt\listparindent=0pt\topsep=0pt plus 2pt minus 4pt\partopsep=0pt plus 1pt minus 1pt\parsep=0pt plus 1pt\itemsep=\parsep}
Jawaban:
Coba
\vspace{-5mm}
sebelum memerinci.sumber
Cara untuk memperbaiki masalah semacam ini adalah dengan mendefinisikan kembali lingkungan daftar yang relevan. The
enumitem
paket adalah cara favorit saya untuk melakukan hal semacam ini; memiliki banyak opsi dan parameter yang dapat divariasikan, baik untuk semua daftar atau untuk setiap daftar satu per satu.Inilah cara melakukan (sesuatu seperti) apa yang menurut saya Anda inginkan:
atau
sumber
\begin{enumerate}[topsep=-5px,partopsep=0px] ...
\parsep + \topsep [+ \partopsep]
, jadi Anda harus menyetel\topsep
atau\partopsep
ke angka negatif untuk mengimbangi nilai positif apa pun\parsep
.Gunakan
\vspace{-\topsep}
sebelumnya\begin{itemize}
.Gunakan
\setlength{\parskip}{0pt} \setlength{\itemsep}{0pt plus 1pt}
setelah\begin{itemize}
.Dan untuk spasi setelah daftar, gunakan
\vspace{-\topsep}
setelah\end{itemize}
.sumber
topsep
terlalu agresif bagi saya, jadi saya menggunakan \ vspace {-0.5 \ topsep} `Cara terbersih bagi Anda untuk melakukannya adalah dengan menggunakan paket enumitem ( https://ctan.org/pkg/enumitem ). Sebagai contoh,
Selain itu, jika Anda ingin menggunakan pengaturan ini secara global di seluruh daftar, Anda dapat menggunakan
Namun, perhatikan bahwa paket ini tidak berfungsi dengan baik dengan paket beamer yang digunakan untuk membuat presentasi di Latex.
sumber
Cara LaTeX yang "tepat" untuk melakukannya adalah dengan menggunakan paket yang memungkinkan Anda menentukan jarak yang Anda inginkan. Ada beberapa paket seperti itu, dan kedua halaman ini memiliki pranala ke daftar mereka ...
sumber
Saya sangat senang dengan paket paralist . Selain menambahkan opsi untuk menghilangkan ruang, ia juga menambahkan hal-hal bagus lainnya seperti versi ringkas dari itemize, enumerate and description environment.
sumber
sumber