2010-02-01 3 views

Antwort

5

Ja, Sie können; aber Sie müssen verändern entweder die enumerate und itemize Umgebungen aus Ihrer Klassendatei (durch Kopieren und geben Sie Ihre \parskip) oder durch \@listi neu zu definieren, die für alle Listen funktioniert:

\makeatletter 

\def\@listi{% 
    % default settings for base LaTeX classes at 10pt: 
    \parsep 4pt plus 2pt minus 1pt 
    \topsep 8pt plus 2pt minus 4pt 
    \itemsep 4pt plus 2pt minus 1pt 
    % your settings: 
    \parskip 1em plus 1pt minus 1pt 
} 

\makeatother 

Wenn Sie verschiedene Einstellungen wollen bei verschachtelte Listenstufen, ändern \@listii, \@listiii usw.

+0

Ah, ich hatte gehofft, dass es etwas einfacher wäre. Danke –

+0

Wenn Sie abenteuerlustig sind, können Sie '\ expandafter \ def \ expandafter \ @listi \ expandafter {\ @ listi \ parsep 1em plus 1pt minus 1pt} versuchen' Auf diese Weise müssen Sie das vorhandene nicht kopieren Einstellungen ('\ expandafter' wird das für Sie tun). – Ruben

4

Sie können auch verwenden:

begin{itemize} \itemsep -5pt 
\item foo 
\item bar 
\end{itemize} 

und das wird nur die aktuelle beeinflussen Liste.

10

Wenn Sie das enumitem Paket verwenden, können Sie in Ihrer Präambel sagen

\setlist[itemize]{parsep=0pt} 
\setlist[enumerate]{parsep=0pt} 

zu bekommen, was Sie wollen. enumitem ermöglicht viel mehr Listenanpassung, siehe die Dokumentation für Details.

+0

Vielen Dank. Dies war die hilfreichste Antwort für mich. +1. – vergenzt

+0

Das ist ein schönes Paket. Leider [es steht in Konflikt mit 'Beamer'] (http://tex.stackexchange.com/questions/31505/trouble-combining-enumitem-and-beamer). – Raphael

0

folgende Ergänzung der Präambel aktualisiert enumerate die vorgeschlagene Änderung vorzunehmen:

\let\oldenumerate\enumerate% Keep a copy of \enumerate (or \begin{enumerate}) 
\let\endoldenumerate\endenumerate% Keep a copy of \endenumerate (or \end{enumerate}) 
\renewenvironment{enumerate} 
    {\begin{oldenumerate} 
    \setlength{\parskip}{0pt}}% Adjust \parskip to suit your needs 
    {\end{oldenumerate}} 

Dies ist die komplette minimal Beispiel die Einstellung zeigt, wenn \parskip-0pt Einstellung:

enter image description here

\documentclass{article} 
\begin{document} 

\begin{enumerate} 
    \item First line 

    Second line 
\end{enumerate} 

\let\oldenumerate\enumerate 
\let\endoldenumerate\endenumerate 
\renewenvironment{enumerate} 
    {\begin{oldenumerate} 
    \setlength{\parskip}{0pt}} 
    {\end{oldenumerate}} 

\begin{enumerate} 
    \item First line 

    Second line 
\end{enumerate} 

\end{document} 

Man würde genau das gleiche für itemize tun.

Verwandte Themen