summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/parskip/parskip-2001-04-09.sty
blob: 6148e4362ba270c4b860bc6fec0c3de3afd0a15f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
% parskip.sty; last edited by Robin Fairbairns (rf10@cam.ac.uk),
%              derived from:
%
% This is PARSKIP.STY by H.Partl, TU Wien, as of 19 Jan 1989.
%
% Package to be used with any document class at any size.
% It produces the following Paragraph Layout:
%     Zero Parindent and non-zero Parskip. The stretchable glue in \parskip
%     helps LaTeX in finding the best place for page breaks.
%
% This package is no more than quick fix; the `proper' way to achieve
% effects as far-reaching as this is to create a new class.  An
% example class is to be found in the ntgclass set: artikel3.cls

\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{parskip}[2001/04/09 non-zero parskip adjustments]

\parskip=0.5\baselineskip \advance\parskip by 0pt plus 2pt
\parindent=\z@
     
%
% from a suggestion by Donald Arseneau on comp.text.tex:

\DeclareOption{parfill}{\setlength{\parfillskip}{30\p@ \@plus 1fil}}
\ProcessOptions

% To accompany this, the vertical spacing in the list environments is changed
% to use the same as \parskip in all relevant places (for normalsize only):
%   \parsep = \parskip
%   \itemsep = \z@ % add nothing to \parskip between items
%   \topsep = \z@ % add nothing to \parskip before first item

\def\@listI{\leftmargin\leftmargini
   \topsep\z@ \parsep\parskip \itemsep\z@}
\let\@listi\@listI
\@listi
     
\def\@listii{\leftmargin\leftmarginii
   \labelwidth\leftmarginii\advance\labelwidth-\labelsep
   \topsep\z@ \parsep\parskip \itemsep\z@}
     
\def\@listiii{\leftmargin\leftmarginiii
    \labelwidth\leftmarginiii\advance\labelwidth-\labelsep
    \topsep\z@ \parsep\parskip \itemsep\z@}
     
% and, now...
%   \partopsep = \z@ % don't even add anything before first item (beyond 
%                    % \parskip) even if the list is preceded by a blank line
\partopsep=\z@
 
% Note that listiv, listv and listvi don't change vertical parameters.

% deal with a problem raised on comp.text.tex in april 2001
%
% don't expand the table of contents any further
%
% first: check that the definition of \@starttoc is unchanged from
% that in latex.ltx
\@ifundefined{CheckCommand}{}{%
  \CheckCommand*{\@starttoc}[1]{%
    \begingroup
      \makeatletter
      \@input{\jobname.#1}%
      \if@filesw
        \expandafter\newwrite\csname tf@#1\endcsname
        \immediate\openout \csname tf@#1\endcsname \jobname.#1\relax
      \fi
      \@nobreakfalse
    \endgroup}}
%
% now having generated any warning that might help, redefine
\renewcommand*{\@starttoc}[1]{%
  \begingroup
    \makeatletter
    \parskip\z@
    \@input{\jobname.#1}%
    \if@filesw
      \expandafter\newwrite\csname tf@#1\endcsname
      \immediate\openout \csname tf@#1\endcsname \jobname.#1\relax
    \fi
    \@nobreakfalse
  \endgroup
}

\endinput