From 6d5c17e5612d0bdedd3bb20cca991f933490e144 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Wed, 12 Sep 2018 21:53:04 +0000 Subject: parskip (12sep18) git-svn-id: svn://tug.org/texlive/trunk@48650 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/parskip/README.md | 21 ++ Master/texmf-dist/doc/latex/parskip/changes.txt | 8 + .../texmf-dist/doc/latex/parskip/parskip-code.pdf | Bin 0 -> 222808 bytes .../texmf-dist/doc/latex/parskip/parskip-code.tex | 5 + .../texmf-dist/doc/latex/parskip/parskip-doc.pdf | Bin 174758 -> 0 bytes .../texmf-dist/doc/latex/parskip/parskip-doc.tex | 58 --- Master/texmf-dist/doc/latex/parskip/parskip.pdf | Bin 0 -> 175250 bytes Master/texmf-dist/doc/latex/parskip/parskip.tex | 4 + Master/texmf-dist/source/latex/parskip/parskip.dtx | 402 +++++++++++++++++++++ Master/texmf-dist/source/latex/parskip/parskip.ins | 67 ++++ .../tex/latex/parskip/parskip-2001-04-09.sty | 86 +++++ Master/texmf-dist/tex/latex/parskip/parskip.sty | 196 +++++----- 12 files changed, 705 insertions(+), 142 deletions(-) create mode 100644 Master/texmf-dist/doc/latex/parskip/README.md create mode 100644 Master/texmf-dist/doc/latex/parskip/changes.txt create mode 100644 Master/texmf-dist/doc/latex/parskip/parskip-code.pdf create mode 100644 Master/texmf-dist/doc/latex/parskip/parskip-code.tex delete mode 100644 Master/texmf-dist/doc/latex/parskip/parskip-doc.pdf delete mode 100644 Master/texmf-dist/doc/latex/parskip/parskip-doc.tex create mode 100644 Master/texmf-dist/doc/latex/parskip/parskip.pdf create mode 100644 Master/texmf-dist/doc/latex/parskip/parskip.tex create mode 100644 Master/texmf-dist/source/latex/parskip/parskip.dtx create mode 100644 Master/texmf-dist/source/latex/parskip/parskip.ins create mode 100644 Master/texmf-dist/tex/latex/parskip/parskip-2001-04-09.sty diff --git a/Master/texmf-dist/doc/latex/parskip/README.md b/Master/texmf-dist/doc/latex/parskip/README.md new file mode 100644 index 00000000000..19394adfa2e --- /dev/null +++ b/Master/texmf-dist/doc/latex/parskip/README.md @@ -0,0 +1,21 @@ +# parskip package + +----- + +This package is a reimplementation (with extensions) of a package with +the same name written by Hubert Partl in 1989 and later maintained by +Robin Fairbairns. + +Package source can be found below: + +https://github.com/FrankMittelbach/fmitex/ (development branch parskip) + +The license is LPPL. + +----- + +Copyright (C) 2018 Frank Mittelbach
+
+All rights reserved. + + diff --git a/Master/texmf-dist/doc/latex/parskip/changes.txt b/Master/texmf-dist/doc/latex/parskip/changes.txt new file mode 100644 index 00000000000..e687a0f817f --- /dev/null +++ b/Master/texmf-dist/doc/latex/parskip/changes.txt @@ -0,0 +1,8 @@ +2018-08-24 Frank Mittelbach + + * parskip.dtx version 2.0 with options indent + skip and + adjustment for display headings + +2018-08-22 Frank Mittelbach + + * package source as copied from CTAN diff --git a/Master/texmf-dist/doc/latex/parskip/parskip-code.pdf b/Master/texmf-dist/doc/latex/parskip/parskip-code.pdf new file mode 100644 index 00000000000..b21904b4670 Binary files /dev/null and b/Master/texmf-dist/doc/latex/parskip/parskip-code.pdf differ diff --git a/Master/texmf-dist/doc/latex/parskip/parskip-code.tex b/Master/texmf-dist/doc/latex/parskip/parskip-code.tex new file mode 100644 index 00000000000..b7a2e230ec0 --- /dev/null +++ b/Master/texmf-dist/doc/latex/parskip/parskip-code.tex @@ -0,0 +1,5 @@ +% this will typeset documentation + code + +\AtBeginDocument{\AlsoImplementation} +\input{parskip.dtx} + diff --git a/Master/texmf-dist/doc/latex/parskip/parskip-doc.pdf b/Master/texmf-dist/doc/latex/parskip/parskip-doc.pdf deleted file mode 100644 index 16e37dae870..00000000000 Binary files a/Master/texmf-dist/doc/latex/parskip/parskip-doc.pdf and /dev/null differ diff --git a/Master/texmf-dist/doc/latex/parskip/parskip-doc.tex b/Master/texmf-dist/doc/latex/parskip/parskip-doc.tex deleted file mode 100644 index 1954bb93ea2..00000000000 --- a/Master/texmf-dist/doc/latex/parskip/parskip-doc.tex +++ /dev/null @@ -1,58 +0,0 @@ -\documentclass[pagesize=auto, fontsize=14pt, DIV=10, parskip=half]{scrartcl} - -\usepackage{fixltx2e} -\usepackage{etex} -\usepackage{lmodern} -\usepackage[T1]{fontenc} -\usepackage{textcomp} -\usepackage{booktabs} -\usepackage{microtype} -\usepackage{hyperref} - -\newcommand*{\mail}[1]{\href{mailto:#1}{\texttt{#1}}} -\newcommand*{\pkg}[1]{\textsf{#1}} -\newcommand*{\cls}[1]{\textsf{#1}} -\newcommand*{\cs}[1]{\texttt{\textbackslash#1}} -\makeatletter -\newcommand*{\cmd}[1]{\cs{\expandafter\@gobble\string#1}} -\makeatother - -\addtokomafont{title}{\rmfamily} - -\title{The \pkg{parskip} package} -\author{H. Partl\and Robin Fairbairns\thanks{\mail{rf10@cam.ac.uk}}} -\date{2001/04/09} - - -\begin{document} - -\maketitle - -This is \texttt{parskip.sty} by H.~Partl, TU Wien, as of 19 Jan 1989. -Addition (originally from Donald Arseneau) added 2001-12-13 by Robin -Fairbairns. - -Package to be used with any document class at any size. -It produces the following Paragraph Layout: - -\begin{quote} - Zero Parindent and non-zero Parskip. The stretchable glue in \cmd{\parskip} - helps \LaTeX\ in finding the best place for page breaks. -\end{quote} - -In addition, the package adjusts the skips between list items. - -With package option \texttt{parfill}, the package also adjusts -\cmd\parfillskip{} to impose a minimum space at the end of -the last line of a paragraph. - -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 \cls{ntgclass} set: -\cls{artikel3.cls} - -The \cls{koma-script} bundle classes and the \cls{memoir} class all -provide similar functionality, and their respective documentation -files discuss the pros (such as they are) and cons of this approach. - -\end{document} diff --git a/Master/texmf-dist/doc/latex/parskip/parskip.pdf b/Master/texmf-dist/doc/latex/parskip/parskip.pdf new file mode 100644 index 00000000000..05436ca07f5 Binary files /dev/null and b/Master/texmf-dist/doc/latex/parskip/parskip.pdf differ diff --git a/Master/texmf-dist/doc/latex/parskip/parskip.tex b/Master/texmf-dist/doc/latex/parskip/parskip.tex new file mode 100644 index 00000000000..f599c7b0481 --- /dev/null +++ b/Master/texmf-dist/doc/latex/parskip/parskip.tex @@ -0,0 +1,4 @@ +% this will typeset only documentation but not the code + +\AtBeginDocument{\OnlyDescription} +\input{parskip.dtx} diff --git a/Master/texmf-dist/source/latex/parskip/parskip.dtx b/Master/texmf-dist/source/latex/parskip/parskip.dtx new file mode 100644 index 00000000000..be894e39a8a --- /dev/null +++ b/Master/texmf-dist/source/latex/parskip/parskip.dtx @@ -0,0 +1,402 @@ +% \iffalse meta-comment +% +%% File: parskip.dtx +%% (C) Copyright 1989 H.Partl, TU Wien +%% (C) Copyright 2001 Robin Fairbairns +%% (C) Copyright 2018 Frank Mittelbach +% +% It may be distributed and/or modified under the conditions of the +% LaTeX Project Public License (LPPL), either version 1.3c of this +% license or (at your option) any later version. The latest version +% of this license is in the file +% +% https://www.latex-project.org/lppl.txt +% +% +% The development version of the bundle can be found below +% +% https://github.com/FrankMittelbach/fmitex/ +% +% for those people who are interested or want to report an issue. +% +%<*driver> +\documentclass{article} +\usepackage{doc,url} +\EnableCrossrefs +\CodelineIndex +\begin{document} + \DocInput{parskip.dtx} +\end{document} +% +% +% \fi +% +% +% \newcommand\option[1]{\texttt{#1}} +% \newcommand\cs[1]{\texttt{\bslash#1}} +% \newcommand\pkg[1]{\textsf{#1}} +% +% \title{The \texttt{parskip} package\thanks{This is a +% reimplementation of a package originally written by Hubert Partl +% in 1989 and later maintained by Robin Fairbairns.}} +% \author{Frank Mittelbach} +% +% \maketitle +% +% \begin{abstract} +% The \pkg{parskip} package helps in implementing paragraph layouts +% where the paragraphs are separated by a vertical space instead of +% (or in addition to) indenting them. +% +% The package can be used with any document class at any size. By +% default it produces the following paragraph layout: Zero +% \cs{parindent} and non-zero \cs{parskip}. The stretchable glue in +% \cs{parskip} helps \LaTeX{} in finding the best place for page +% breaks. +% +% \end{abstract} +% +% \section{Introduction} +% +% Many \LaTeX{} constructs are internally built by using the paragraph +% mechanism even if technically there aren't text paragraphs. In most +% such cases the \LaTeX{} code handles indentation and suppressed it +% if necessary. But unfortunately this is normally not done for +% \cs{parskip} (as that is zero in the default layouts) and thus +% changing it will result in vertical spaces in unexpected places. +% +% This package attempts to fix the spacing in table of contents +% structures, list environments, and around display headings that would +% get screwed up by a positive \cs{parskip} value. +% +% It is, however, is no more than quick fix; the `proper' way to +% achieve effects as far-reaching as this is to create a new class. +% +% \subsection{History} +% +% This file was originally developed by Hubert Partl in 1989 (i.e., +% for \LaTeX\,2.09) to provide a somewhat crude solution to an +% existing problem (in case no proper document class (back then called +% document style) support was available. +% +% About ten years later Robin Fairbairns picked up the orphaned +% package and his version was then the one available for \LaTeXe{} +% during the next 15\textsuperscript{+} years. +% +% Finally, while working on the next edition of the \LaTeX{} Companion +% the current author did a reimplementation, that added support for TOC +% data and heading structures. Also a few additional key/value options +% were added to make the package more useful. It still is and will +% remain an inferior choice compared to a properly designed document +% class. But it offers a starting point if nothing is around. +% +% +% +% \section{The user interface} +% +% The \pkg{parskip} package doesn't offer any document user commands +% and just needs loading with \cs{usepackage}. +% +% +% \subsection{Options to customize the package}\label{sec:options} +% +% All of the package options are implemented as key/value options. +% \begin{description} +% \item[\option{skip}] +% With the package option \texttt{skip} it is possible to explicitly +% specify the vertical space between paragraphs. If the option is +% not given (or given without a value) then \verb=.5\baselineskip= +% plus \texttt{2pt} of stretch is assumed. +% \item[\option{indent}] +% With the package option \texttt{indent} it is possible to explicitly +% the paragraph indentation. Using this option without a value keeps the +% document class indentation unchanged, if it is specified with a +% value then that value is used. If the package is loaded without +% this option +% the indentation is set +% to zero. +% \item[\option{parfill}] +% With package option \texttt{parfill}, the package also adjusts +% \cs{parfillskip} to impose a minimum space at the end of +% the last line of a paragraph. If specified without a value then +% \texttt{30pt} are assumed, if a value is given that that forms the minimum. +% \end{description} +% +% +% \section{Differences to the original package} +% +% If the package us used without any options or just with the option +% \option{parfill} it behaves like the earlier version, except that now +% the spacing around headings is also adjusted (not adding extra +% \cs{parskip}). If this is not desirable when processing an old +% document it can be avoided by explicitly +% requesting version \texttt{v1} as follows: +% \begin{quote} +% \verb/\usepackage{parskip}[=v1]/ +% \end{quote} +% Of course, the new options, etc.\ are then also not available. +% +% +% +% \section{Sources, bugs and issues} +% +% The official production version is available from CTAN. +% The latest (development) sources are maintained at GitHub at: +% \begin{quote} +% \url{https://github.com/FrankMittelbach/fmitex/tree/parskip/parskip} +% \end{quote} +% In case of problems with the package you can report them at +% \begin{quote} +% \url{https://github.com/FrankMittelbach/fmitex/issues} +% \end{quote} +% Please provide a minimal test example that can be run and doesn't +% use packages not in a standard \LaTeX{} distribution (and as little +% as possible to show the issue). +% +% \StopEventually{} +% +% +% +% +% \section{The Implementation} +% +% \setcounter{StandardModuleDepth}{1} ^^A everything is inside a module +% +% \begin{macrocode} +%<*package> +% \end{macrocode} +% +% \subsection{The main implementation part} +% +% +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e}[2018-04-01] + +\DeclareRelease {v1}{2001-04-09}{parskip-2001-04-09.sty} +\DeclareCurrentRelease{v2}{2018-08-24} +% \end{macrocode} +% +% \begin{macrocode} +\ProvidesPackage{parskip}[2018-08-24 v2.0a non-zero parskip adjustments] +% \end{macrocode} +% +% +% +% \subsubsection{Option handling} +% +% Here we define all option keys for use as package options: +% \begin{macrocode} +\RequirePackage{kvoptions} +\SetupKeyvalOptions{family=parskip,prefix=parskip@} +% \end{macrocode} +% +% The key \option{indent} defines the amount of indentation for each +% paragraph. If not given the indentation will be zero (default) and +% if given without a value then the outer value from the document +% class will get used, otherwise the given value is used. +% \begin{macrocode} +\DeclareStringOption[0pt]{indent}[\parindent] +% \end{macrocode} +% +% The key \option{parfill} defines a minimum amount of white space +% that should be left in the last line. By default the last line can +% get completely fill up. If given without a value the default (as +% before) is to require a minimum of \texttt{30pt}, otherwise the +% given value is used. +% \begin{macrocode} +\DeclareStringOption[0pt]{parfill}[30pt] +% \end{macrocode} +% +% The key \option{skip} defines the vertical separation between +% paragraphs. If not given the default (as before) is to use half a +% \cs{baselineskip} plus a stretch of \texttt{2pt} to add some +% flexibility. If given, one need to provide an explicit value which +% is then used as a separation (and it needs to contain any extra +% stretch if that is wanted, i.e., there is no extra stretch added +% in this case). +% \begin{macrocode} +\DeclareStringOption{skip} +% \end{macrocode} +% +% +% Execute any package options: +% \begin{macrocode} +\ProcessKeyvalOptions* +% \end{macrocode} +% +% So now we can evaluate the given options and adjust the +% parameter settings: +% \begin{macrocode} +\ifx\parskip@skip\@empty +% \end{macrocode} +% If no \option{skip} was given (or it was empty) set \cs{parskip} +% to \verb=.5\baselineskip= plus \texttt{2pt} stretch. This has to +% be done in 2 steps as \cs{baselineskip} might already contain a stretch. +% \begin{macrocode} + \parskip.5\baselineskip + \advance\parskip 0pt plus 2pt\relax +\else +% \end{macrocode} +% Otherwise set it to the specified value: +% \begin{macrocode} + \parskip\parskip@skip\relax +\fi +% \end{macrocode} +% Setting \cs{parfillskip} was suggested by Donald Arseneau at some +% point on comp.text.tex: +% \begin{macrocode} +\parfillskip \parskip@parfill\relax +\advance\parfillskip 0pt plus 1fil\relax +% \end{macrocode} +% \cs{parindent} gets whatever was specified. If the key was given +% without an option this will essentially reassign the now ``current'' value. +% \begin{macrocode} +\parindent\parskip@indent\relax +% \end{macrocode} +% +% +% +% \subsection{Handling document elements} +% +% Setting up a non-zero \cs{parskip} has some side-effects in document +% elements such as lists or headings etc. Here we try to keep these +% side-effects somewhat under control. +% +% We make use of the \pkg{etoolbox} package to do patching. +% \begin{macrocode} +\RequirePackage{etoolbox} +% \end{macrocode} +% +% \subsubsection{Lists} +% +% To accompany this, the vertical spacing in the list environments is changed +% to use the same as \cs{parskip} in all relevant places (for +% \cs{normalsize} only), i.e. +%\begin{verbatim} +% \parsep = \parskip +% \itemsep = \z@ % add nothing to \parskip between items +% \topsep = \z@ % add nothing to \parskip before first item +%\end{verbatim} +% +% However, if the user explicitly asked for a zero parskip (via the \option{skip} option) we +% shouldn't do this but rather keep the default list settings, so +% we better check for this. +% +% \begin{macrocode} +\ifdim \parskip > 0pt +% \end{macrocode} +% +% \begin{macrocode} + \def\@listI{\leftmargin\leftmargini + \topsep\z@ \parsep\parskip \itemsep\z@} + \let\@listi\@listI + \@listi +% \end{macrocode} +% +% \begin{macrocode} + \def\@listii{\leftmargin\leftmarginii + \labelwidth\leftmarginii\advance\labelwidth-\labelsep + \topsep\z@ \parsep\parskip \itemsep\z@} +% \end{macrocode} +% +% \begin{macrocode} + \def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii\advance\labelwidth-\labelsep + \topsep\z@ \parsep\parskip \itemsep\z@} +% +% and finally ... +% \partopsep = \z@ % don't even add anything before first item (beyond +% % \parskip) even if the list is preceded by a blank line + \partopsep=\z@ +\fi +% \end{macrocode} +% +% +% \subsubsection{TOCs and similar lists} +% +% Within a table of contents or a list of figures we don't want any +% additional vertical spacing just because the individual lines in +% such a list are implemented as one-line paragraphs. So we locally +% set the \cs{parskip} to zero. Should be really something that is +% done already in \LaTeX{}. +% \begin{macrocode} +\patchcmd\@starttoc + {\begingroup \makeatletter} + {\begingroup \makeatletter \parskip\z@} + {}{\typeout{Couldn't patch \string\@starttoc}} +% \end{macrocode} +% +% +% +% +% \subsubsection{Standard headings} +% +% For the same reason we don't want to see an additional \cs{parskip} +% being added before and after a display heading, so we subtract its +% value (in two places): +% \begin{macrocode} +\patchcmd\@startsection + {\addvspace\@tempskipa} + {\advance\@tempskipa-\parskip\addvspace\@tempskipa} + {}{\typeout{Couldn't patch \string\@startsection}} +% \end{macrocode} +% +% \begin{macrocode} +\patchcmd\@xsect + {\vskip\@tempskipa} + {\advance\@tempskipa-\parskip\vskip\@tempskipa} + {}{\typeout{Couldn't patch \string\@xsect}} +% \end{macrocode} +% +% +% +% +% \subsubsection{\pkg{titlesec} headings} +% +% If \pkg{titlesec} is used then headings are built using different +% commands and we have to cancel the \cs{parskip} there. The principle +% is the same. Of course, the patching should only happen if that +% package really got loaded, so we defer it to the start of the +% document and test for it: +% \begin{macrocode} +\AtBeginDocument{% +\ifx\ttl@straight@ii\@undefined\else % titlesec got loaded +\patchcmd\ttl@straight@ii + {\addvspace{\@tempskipa}}% + {\advance\@tempskipa-\parskip \addvspace\@tempskipa}% + {}{\typeout{Couldn't patch \string\ttl@straight@ii}}% +\patchcmd\ttl@straight@ii + {\vspace{\@tempskipb}}% + {\advance\@tempskipb-\parskip \vspace\@tempskipb}% + {}{\typeout{Couldn't patch \string\ttl@straight@ii}}% +\patchcmd\ttl@part@ii + {\vspace*{\@tempskipa}}% + {\advance\@tempskipa-\parskip \vspace*\@tempskipa}% + {}{\typeout{Couldn't patch \string\ttl@part@ii}}% +\patchcmd\ttl@part@ii + {\vspace{\@tempskipb}}% + {\advance\@tempskipb-\parskip \vspace\@tempskipb}% + {}{\typeout{Couldn't patch \string\ttl@part@ii}}% +\patchcmd\ttl@page@ii + {\vspace*{\@tempskipa}}% + {\advance\@tempskipa-\parskip \vspace*\@tempskipa}% + {}{\typeout{Couldn't patch \string\ttl@page@ii}}% +\patchcmd\ttl@page@ii + {\vspace{\@tempskipb}}% + {\advance\@tempskipb-\parskip \vspace\@tempskipb}% + {}{\typeout{Couldn't patch \string\ttl@page@ii}}% +\fi} +% \end{macrocode} +% +% +% +% \subsection{Closing shop} +% + +% \begin{macrocode} +%<*package> +% \end{macrocode} +% +% \Finale +% +\endinput diff --git a/Master/texmf-dist/source/latex/parskip/parskip.ins b/Master/texmf-dist/source/latex/parskip/parskip.ins new file mode 100644 index 00000000000..4ea23e43b7f --- /dev/null +++ b/Master/texmf-dist/source/latex/parskip/parskip.ins @@ -0,0 +1,67 @@ +%% +%% This file will generate fast loadable files and documentation +%% driver files from the dtx file(s) in this package when run through +%% LaTeX or TeX. +%% +%% Copyright 2018 Frank Mittelbach +%% +%% +%% This file is part of the parskip Bundle for LaTeX. +%% ------------------------------------------------------------- +%% +%% It may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3c +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3c or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +%% +%% In particular, NO PERMISSION is granted to modify the contents of this +%% file since it contains the legal notices that are placed in the files +%% it generates. +%% +%% +%% +%% --------------- start of docstrip commands ------------------ +%% +\input l3docstrip + +\keepsilent + +\usedir{tex/latex/contrib/parskip} + +\preamble + +This is a generated file. + +Copyright 2018 Frank Mittelbach + +This file was generated from file(s) of the LaTeX `parskip Bundle'. +------------------------------------------------------------------- + +It may be distributed and/or modified under the +conditions of the LaTeX Project Public License, either version 1.3c +of this license or (at your option) any later version. +The latest version of this license is in + http://www.latex-project.org/lppl.txt +and version 1.3c or later is part of all distributions of LaTeX +version 2005/12/01 or later. + +This file may only be distributed together with a copy of the LaTeX +`parskip Bundle'. You may however distribute the `parskip Bundle' +without such generated files. + +The newest sources can be found below + + https://github.com/FrankMittelbach/fmitex/ + +where one can also log issues in case there are any. + + +\endpreamble + + +\generate{\file{parskip.sty}{\from{parskip.dtx}{package}}} + +\endbatchfile diff --git a/Master/texmf-dist/tex/latex/parskip/parskip-2001-04-09.sty b/Master/texmf-dist/tex/latex/parskip/parskip-2001-04-09.sty new file mode 100644 index 00000000000..6148e4362ba --- /dev/null +++ b/Master/texmf-dist/tex/latex/parskip/parskip-2001-04-09.sty @@ -0,0 +1,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 + diff --git a/Master/texmf-dist/tex/latex/parskip/parskip.sty b/Master/texmf-dist/tex/latex/parskip/parskip.sty index c5ca5768349..0b5943d0747 100644 --- a/Master/texmf-dist/tex/latex/parskip/parskip.sty +++ b/Master/texmf-dist/tex/latex/parskip/parskip.sty @@ -1,87 +1,115 @@ -% 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 +%% +%% This is file `parskip.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% parskip.dtx (with options: `package') +%% +%% This is a generated file. +%% +%% Copyright 2018 Frank Mittelbach +%% +%% This file was generated from file(s) of the LaTeX `parskip Bundle'. +%% ------------------------------------------------------------------- +%% +%% It may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3c +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3c or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +%% +%% This file may only be distributed together with a copy of the LaTeX +%% `parskip Bundle'. You may however distribute the `parskip Bundle' +%% without such generated files. +%% +%% The newest sources can be found below +%% +%% https://github.com/FrankMittelbach/fmitex/ +%% +%% where one can also log issues in case there are any. +%% +%% +%% File: parskip.dtx +%% (C) Copyright 1989 H.Partl, TU Wien +%% (C) Copyright 2001 Robin Fairbairns +%% (C) Copyright 2018 Frank Mittelbach +\NeedsTeXFormat{LaTeX2e}[2018-04-01] -\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 -} +\DeclareRelease {v1}{2001-04-09}{parskip-2001-04-09.sty} +\DeclareCurrentRelease{v2}{2018-08-24} +\ProvidesPackage{parskip}[2018-08-24 v2.0a non-zero parskip adjustments] +\RequirePackage{kvoptions} +\SetupKeyvalOptions{family=parskip,prefix=parskip@} +\DeclareStringOption[0pt]{indent}[\parindent] +\DeclareStringOption[0pt]{parfill}[30pt] +\DeclareStringOption{skip} +\ProcessKeyvalOptions* +\ifx\parskip@skip\@empty + \parskip.5\baselineskip + \advance\parskip 0pt plus 2pt\relax +\else + \parskip\parskip@skip\relax +\fi +\parfillskip \parskip@parfill\relax +\advance\parfillskip 0pt plus 1fil\relax +\parindent\parskip@indent\relax +\RequirePackage{etoolbox} +\ifdim \parskip > 0pt + \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@} + \partopsep=\z@ +\fi +\patchcmd\@starttoc + {\begingroup \makeatletter} + {\begingroup \makeatletter \parskip\z@} + {}{\typeout{Couldn't patch \string\@starttoc}} +\patchcmd\@startsection + {\addvspace\@tempskipa} + {\advance\@tempskipa-\parskip\addvspace\@tempskipa} + {}{\typeout{Couldn't patch \string\@startsection}} +\patchcmd\@xsect + {\vskip\@tempskipa} + {\advance\@tempskipa-\parskip\vskip\@tempskipa} + {}{\typeout{Couldn't patch \string\@xsect}} +\AtBeginDocument{% +\ifx\ttl@straight@ii\@undefined\else % titlesec got loaded +\patchcmd\ttl@straight@ii + {\addvspace{\@tempskipa}}% + {\advance\@tempskipa-\parskip \addvspace\@tempskipa}% + {}{\typeout{Couldn't patch \string\ttl@straight@ii}}% +\patchcmd\ttl@straight@ii + {\vspace{\@tempskipb}}% + {\advance\@tempskipb-\parskip \vspace\@tempskipb}% + {}{\typeout{Couldn't patch \string\ttl@straight@ii}}% +\patchcmd\ttl@part@ii + {\vspace*{\@tempskipa}}% + {\advance\@tempskipa-\parskip \vspace*\@tempskipa}% + {}{\typeout{Couldn't patch \string\ttl@part@ii}}% +\patchcmd\ttl@part@ii + {\vspace{\@tempskipb}}% + {\advance\@tempskipb-\parskip \vspace\@tempskipb}% + {}{\typeout{Couldn't patch \string\ttl@part@ii}}% +\patchcmd\ttl@page@ii + {\vspace*{\@tempskipa}}% + {\advance\@tempskipa-\parskip \vspace*\@tempskipa}% + {}{\typeout{Couldn't patch \string\ttl@page@ii}}% +\patchcmd\ttl@page@ii + {\vspace{\@tempskipb}}% + {\advance\@tempskipb-\parskip \vspace\@tempskipb}% + {}{\typeout{Couldn't patch \string\ttl@page@ii}}% +\fi} \endinput - - +%% +%% End of file `parskip.sty'. -- cgit v1.2.3