diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/base/ltpar.dtx |
Initial commit
Diffstat (limited to 'macros/latex/base/ltpar.dtx')
-rw-r--r-- | macros/latex/base/ltpar.dtx | 181 |
1 files changed, 181 insertions, 0 deletions
diff --git a/macros/latex/base/ltpar.dtx b/macros/latex/base/ltpar.dtx new file mode 100644 index 0000000000..3b72b43a9c --- /dev/null +++ b/macros/latex/base/ltpar.dtx @@ -0,0 +1,181 @@ +% \iffalse meta-comment +% +% Copyright 1993-2016 +% The LaTeX3 Project and any individual authors listed elsewhere +% in this file. +% +% This file is part of the LaTeX base system. +% ------------------------------------------- +% +% 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 +% https://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 has the LPPL maintenance status "maintained". +% +% The list of all files belonging to the LaTeX base distribution is +% given in the file `manifest.txt'. See also `legal.txt' for additional +% information. +% +% The list of derived (unpacked) files belonging to the distribution +% and covered by LPPL is defined by the unpacking scripts (with +% extension .ins) which are part of the distribution. +% +% \fi +% +% \iffalse +%%% From File: ltpar.dtx +% +%<*driver> +% \fi +\ProvidesFile{ltpar.dtx} + [1995/04/29 v1.1c LaTeX Kernel (paragraphs)] +% \iffalse +\documentclass{ltxdoc} +\GetFileInfo{ltpar.dtx} +\title{\filename} +\date{\filedate} + \author{% + Johannes Braams\and + David Carlisle\and + Alan Jeffrey\and + Leslie Lamport\and + Frank Mittelbach\and + Tobias Oetiker \thanks{Tobi did the documentation update}\and + Chris Rowley\and + Rainer Sch\"opf} +\begin{document} + \MaintainedByLaTeXTeam{latex} + \maketitle + \DocInput{\filename} +\end{document} +%</driver> +% \fi +% +% +% +% \changes{v1.1a}{1994/05/16}{(ASAJ) Split from ltinit.dtx.} +% \changes{v1.1b}{1995/04/29}{(TO) Comments clean-up.} +% +% \section{Paragraphs} +% +% This section of the kernel declares the commands used to set +% |\par| and |\everypar| when ever their function needs to be +% changed for a long time. +% +% \StopEventually{} +% +% \subsection{Implementation} +% +% +% There are two situations in which |\par| may be changed: +% +% \begin{itemize} +% \item Long-term changes, in which the new value is to remain in effect +% until the current environment is left. The environments that +% change |\par| in this way are the following: +% \begin{itemize} +% \item All list environments (itemize, quote, etc.) +% \item Environments that turn |\par| into a noop: +% tabbing, array and tabular. +% \end{itemize} +% \item Temporary changes, in which |\par| is restored to its previous +% value the next time it is executed. The following are all such uses. +% \begin{itemize} +% \item |\end| when preceded by |\@endparenv|, which is called by +% |\endtrivlist| +% \item The mechanism for avoiding page breaks and getting the +% spacing right after section heads. +% \end{itemize} +% \end{itemize} +% +% \DescribeMacro{\@setpar} +% To permit the proper interaction of these two situations, long-term +% changes are made by the |\@setpar{|\meta{VAL}|}| command. +% It's function is: +% \begin{quote} +% To set |\par|. It |\def|'s |\par| and |\@par| to \meta{VAL}. +% \end{quote} +% +% \DescribeMacro{\@restorepar} +% Short-term changes are made by the usual |\def\par| commands. +% The original values are restored after a short-term change +% by the |\@restorepar| commands. +% +% \DescribeMacro{\@@par} +% |\@@par| always is defined to be the original \TeX{} |\par|. +% +% \DescribeMacro{\everypar} +% |\everypar| is changed only for the short term. Whenever |\everypar| +% is set non-null, it should restore itself to null when executed. +% +% The following commands change |\everypar| in this way: +% \begin{itemize} +% \item |\item| +% \item |\end| when preceded by |\@endparenv|, which is called by +% |endtrivlist| +% \item |\minipage| +% \end{itemize} +% +% When dealing with |\par| and |\everypar| remember the following two +% warnings: +% \begin{enumerate} +% \item Commands that make short-term changes to |\par| and |\everypar| +% must take account of the possibility that the new commands and the +% ones that do the restoration may be executed inside a group. In +% particular, |\everypar| is executed inside a group whenever a new +% paragraph begins with a left brace. The |\everypar| command +% that restores its definition should be local to the current +% group (in case the command +% is inside a minipage used inside someplace where |\everypar| has +% been redefined). Thus, if |\everypar| is redefined to do an +% |\everypar{}| it could take several executions of |\everypar| +% before the restoration ``holds''. This usually causes no problem. +% However, to prevent the extra executions from doing harm, +% use a global switch to keep anything harmful in the new +% |\everypar| from being done twice. +% \item Commands that change |\everypar| should remember that +% |\everypar| might be supposed to set the following switches false: +% \begin{itemize} +% \item |@nobreak| +% \item |@minipage| +% \end{itemize} +% they should do the setting if necessary. +% \end{enumerate} +% \begin{macrocode} +%<*2ekernel> +\message{par,} +% \end{macrocode} +% +% +% \begin{macro}{\@setpar} +% \begin{macro}{\@par} +% Initiate a long-term change to |\par|. +% \begin{macrocode} +\def\@setpar#1{\def\par{#1}\def\@par{#1}} +% \end{macrocode} +% +% The default definition of |\@par| will ensure that if +% |\@restorepar| defines |\par| to execute |\@par| it will redefine +% itself to the primitive |\@@par| after one iteration. +% \begin{macrocode} +\def\@par{\let\par\@@par\par} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\@restorepar} +% Restore from a short-term change to |\par|. +% \begin{macrocode} +\def\@restorepar{\def\par{\@par}} +%</2ekernel> +% \end{macrocode} +% \end{macro} +% +% \Finale +\endinput + |