2009-06-29 13 views
74

से पहले स्थान को हटाएं, मैं itemize से पहले डाली गई जगह को कैसे हटा सकता हूं?लेटेक्स में start {itemize}

\begin{itemize} % produces lots of vertical space 
\item ... 
\item ... 
\end{itemize} 
+5

मैं इस प्रश्न को ऑफ-विषय के रूप में बंद करने के लिए मतदान कर रहा हूं क्योंकि यह [tex.se] पर बेहतर है। – Werner

उत्तर

50

गणना से पहले \vspace{-5mm} की कोशिश करो।

+1

मैं आपके समाधान को स्वीकार करता हूं क्योंकि यह आसान है (जब \ newcommand के साथ एक साथ उपयोग किया जाता है) अन्य – Alexandru

+72

\ बनाम बर्बाद करने की सड़क है। आपको लाटेक्स से लड़ना नहीं चाहिए, बल्कि इसे गले लगाओ। – Eric

+14

हां, लेकिन कभी-कभी लड़ाई को संभालने के लिए बहुत अधिक है। –

11

ऐसा करने के लिए "उचित" लाटेक्स तरीके एक पैकेज का उपयोग करना है जो आपको इच्छित अंतर निर्दिष्ट करने की अनुमति देता है। कई तरह के पैकेज हैं, और इन दो पृष्ठों उनमें से सूचियों से लिंक ...

+4

सीटीएएन (http://www.ctan.org/) पर इंगित करना कभी बुरा विचार नहीं है । – dmckee

+12

हालांकि, यह दावा करना एक बुरा विचार है कि लेटेक्स में कुछ भी करने का "उचित" तरीका है;)। – cheshirekow

5
\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} 
+1

यह सूची के चारों ओर बहुत सारे व्हाइटस्पेस को कम कर देता है, लेकिन सूची के ऊपर और नीचे तुरंत कुछ सफेद जगहों को हटाने में विफल रहता है। – jevon

7

मैं paralist package के साथ बहुत खुश हूँ। अंतरिक्ष को खत्म करने के विकल्प को जोड़ने के अलावा, यह अन्य अच्छी चीजें भी जोड़ता है जैसे कि आइटम के कॉम्पैक्ट संस्करण, गणना और पर्यावरण का वर्णन।

+0

विशेष रूप से, फैबियन एस्पाराइटम, एस्पैरेनम और एस्पैरेडेक और कॉम्पैक्टिटेम, कॉम्पैक्टिनम और कॉम्पैक्टडेस्क जैसी अन्य चीजों का जिक्र कर रहा है। Aspara अभी भी एक नया अनुच्छेद बनाता है। यह अभी भी थोड़ा परेशान है यदि आप उन्हें पिछले पैराग्राफ के बिना किसी तालिका में डाल रहे हैं, लेकिन मुझे संदेह है कि इसे ठीक करने के लिए कम बदसूरत हैक है। –

87

इस प्रकार की समस्या को ठीक करने का तरीका प्रासंगिक सूची वातावरण को फिर से परिभाषित करना है। इस प्रकार की चीज करने के लिए enumitem पैकेज मेरा पसंदीदा तरीका है; इसमें कई विकल्प और पैरामीटर हैं जो सभी सूचियों के लिए या व्यक्तिगत रूप से प्रत्येक सूची के लिए अलग-अलग हो सकते हैं।

 
\usepackage{enumitem} 
\setlist{nolistsep} 
+2

बिल्कुल सही। [स्टेफानो बोरिनी] के जवाब जितना आसान है, _but_ यह समाधान तब भी काम करता है जब नेस्टेड सूचियां हों। धन्यवाद। – devsnd

+18

यहां तक ​​कि यदि मैं विकल्प को सेट करने से पहले [topsep = 0px, partopsep = 0px] लंबवत स्थान पर विकल्प सेट करता हूं - इसलिए IMHO यह उत्तर काम नहीं करता है। – Robert

+0

@Robert, नकारात्मक संख्या का उपयोग क्यों नहीं करें? यह मेरे लिए काम करता है: '\ start {enumerate} [topsep = -5px, partopsep = 0px] ...' – zkurtz

31

उपयोग \vspace{-\topsep}\begin{itemize} से पहले:

यहाँ कैसे (जैसे कुछ) करने के लिए यह क्या है मुझे लगता है कि आप चाहते हैं।

के बाद \setlength{\parskip}{0pt} \setlength{\itemsep}{0pt plus 1pt} का उपयोग करें।

और सूची के बाद स्थान के लिए, \end{itemize} के बाद उपयोग करें।

\vspace{-\topsep} 
\begin{itemize} 
    \setlength{\parskip}{0pt} 
    \setlength{\itemsep}{0pt plus 1pt} 
    \item ... 
    \item ... 
\end{itemize} 
\vspace{-\topsep} 
+0

अच्छा! दुर्भाग्य से enumitem बीमर के साथ असंगत है, इसलिए मुझे पैकेज-स्वतंत्र तरीकों को पसंद है। 'टॉपसेप' मेरे लिए बहुत आक्रामक था, इसलिए मैं \ vspace {-0.5 \ topsep} ' – craq

7

आप यह पूरा करने के लिए स्पष्ट तरीका enumitem पैकेज (http://mirror.hmc.edu/ctan/macros/latex/contrib/enumitem/enumitem.pdf) का प्रयोग है। उदाहरण के लिए,

enter image description here

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

इसके अलावा, आप सूचियों में वैश्विक रूप से इस सेटिंग का उपयोग करना चाहते हैं, आप

\usepackage{enumitem}% http://ctan.org/pkg/enumitem 
\setlist[itemize]{noitemsep, topsep=0pt} 

उपयोग कर सकते हैं हालांकि, ध्यान दें कि इस पैकेज के साथ अच्छी तरह से काम नहीं करता है बीमर पैकेज जिसका प्रयोग लेटेक्स में प्रस्तुतिकरण करने के लिए किया जाता है।

+0

के साथ कहीं और नोट किया गया (जैसा कि सही किया गया है), एन्युमिटेम के हाल के संस्करणों में एक [नोसेप] विकल्प शामिल है जो ऊपर की जगह को हटाने के लिए डिज़ाइन किया गया है और सूची के साथ-साथ वस्तुओं के बीच ... लेकिन यदि आप पार्सकिप पैकेज का भी उपयोग कर रहे हैं तो यह ऐसा नहीं करता है। Herbert Voß ने c.t.t पर इसका समाधान पोस्ट किया। - \ setlist {partopsep = - \ parskip, parsep = 0pt} –