diff options
author | Karl Berry <karl@freefriends.org> | 2021-02-27 21:53:07 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2021-02-27 21:53:07 +0000 |
commit | 3aeabb285aafc636e2ce6657efe30fa08145072d (patch) | |
tree | 619045befb3794f7d490b90a26ca6f333b9ffd05 /Master/texmf-dist/tex/latex-dev/base/ltpara.ltx | |
parent | f4e4089505eb2d3b2b3c7e7576f777981c6b8622 (diff) |
latex-dev (27feb21)
git-svn-id: svn://tug.org/texlive/trunk@57982 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex-dev/base/ltpara.ltx')
-rw-r--r-- | Master/texmf-dist/tex/latex-dev/base/ltpara.ltx | 171 |
1 files changed, 171 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex-dev/base/ltpara.ltx b/Master/texmf-dist/tex/latex-dev/base/ltpara.ltx new file mode 100644 index 00000000000..b56859f471e --- /dev/null +++ b/Master/texmf-dist/tex/latex-dev/base/ltpara.ltx @@ -0,0 +1,171 @@ +%% +%% This is file `ltpara.ltx', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% ltpara.dtx (with options: `2ekernel') +%% +%% This is a generated file. +%% +%% The source is maintained by the LaTeX Project team and bug +%% reports for it can be opened at https://latex-project.org/bugs.html +%% (but please observe conditions on bug reports sent to that address!) +%% +%% +%% Copyright (C) 1993-2021 +%% The LaTeX Project and any individual authors listed elsewhere +%% in this file. +%% +%% This file was generated from file(s) 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 2008 or later. +%% +%% This file has the LPPL maintenance status "maintained". +%% +%% This file may only be distributed together with a copy of the LaTeX +%% base system. You may however distribute the LaTeX base system without +%% such generated files. +%% +%% 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. +%% File: ltpara.dtx (C) Copyright 2020-2021 +%%% From File: lthooks.dtx +\def\ltparaversion{v1.0d} +\def\ltparadate{2021/02/18} + + +\ExplSyntaxOn + +\hook_new_pair:nn{para/before}{para/after} +\hook_new_pair:nn{para/begin}{para/end} +\let \@kernel@before@para@before \@empty +\let \@kernel@before@para@begin \@empty +\let \@kernel@after@para@end \@empty +\let \@kernel@after@para@after \@empty +\tl_new:N \g__para_standard_everypar_tl +\tl_gset:Nn \g__para_standard_everypar_tl { + \box_gset_to_last:N \g_para_indentation_box + \group_begin: + \tex_par:D + \group_end: + \tex_everypar:D { \__kernel_msg_error:nnnn {para}{mode}{before}{vertical} } + \@kernel@before@para@before + \hook_use:n {para/before} + \group_begin: + \tex_everypar:D {} + \skip_zero:N \tex_parskip:D + \tex_noindent:D + \group_end: + \tex_everypar:D{\g__para_standard_everypar_tl} + \cs_set_eq:NN \__para_handle_indent: \__para_add_indentation_box: + \@kernel@before@para@begin + \hook_use:n {para/begin} + \if_mode_horizontal: \else: + \__kernel_msg_error:nnnn {para}{mode}{begin}{vertical} \fi: + \__para_handle_indent: +} +\tex_everypar:D{\g__para_standard_everypar_tl} +\newtoks \everypar + +\tl_gput_right:Nx \g__para_standard_everypar_tl { + \exp_not:N \the + \exp_not:N \toks + \the \allocationnumber + \c_space_tl +} +\box_new:N \g_para_indentation_box + +\cs_new:Npn \__para_add_indentation_box: { + \box_use_drop:N \g_para_indentation_box +} +\cs_new_eq:NN \__para_handle_indent: \__para_add_indentation_box: +\cs_new:Npn \para_suppress_indentation: { + \cs_set_eq:NN \__para_handle_indent: \prg_do_nothing: +} +\cs_set_eq:NN \IndentationBox \g_para_indentation_box +\cs_set_eq:NN \SuppressIndentationBox \para_suppress_indentation: +\cs_new_protected:Npn \para_end: { + \mode_if_horizontal:TF { + \mode_if_inner:F { + \tex_unskip:D + \hook_use:n{para/end} + \@kernel@after@para@end + \mode_if_horizontal:TF { + \if_int_compare:w 0 < \tex_lastnodetype:D + \tex_kern:D \c_zero_dim + \fi: + \tex_par:D + \hook_use:n{para/after} + \@kernel@after@para@after + } + { \__kernel_msg_error:nnnn {para}{mode}{end}{horizontal} } + } + } + \tex_par:D +} +\cs_set_eq:NN \par \para_end: +\cs_set_eq:NN \@@par \para_end: +\cs_set_eq:NN \endgraf \para_end: +\everypar{\@nodocument} %% To get an error if text appears before the +\__kernel_msg_new:nnnn {para} {mode} + { + Illegal~mode~ change~ in~ hook~ 'para/#1'.\\ + Hook~ code~ did~ not~ remain~ in~ #2~ mode. + } + { + Paragraph~ hooks~ cannot~ change~ the~ TeX~ mode~ without~ causing~ + endless~ recursion.~ The~ hook~ code~ in~ 'para/#1'~ needs~ to~ stay~ + in~ #2~ mode,~ but~ it~ didn't.~ Examine~ the~ hook~ + code~ with~ \ShowHook~ to~ find~ the~ issue. + } +\ExplSyntaxOff +\IfFormatAtLeastTF{2021/05/01}{} +{ +\long\def \@savemarbox #1#2{% + \global\setbox #1% + \color@vbox + \vtop{% + \hsize\marginparwidth + \@parboxrestore + \@marginparreset + #2\par % <-- needed + \@minipagefalse + \outer@nobreak + }% + \color@endbox +} +\newcounter{paracnt} +\def\@kernel@before@para@begin{% + \stepcounter{paracnt}% + \typeout{PARA: \arabic{paracnt} start + (\@currenvir\space level\on@line)}% +} +\def\@kernel@after@para@end {% + \typeout{PARA: \arabic{paracnt} end \space\space + (\@currenvir\space level\on@line)}% + \addtocounter{paracnt}{-1}% +} +\let\color@begingroup\begingroup +\def\color@endgroup{\endgraf\endgroup} +\def\color@setgroup{\color@begingroup} % \def\color@setgroup{\color@begingroup\set@color} +\def\color@hbox{\hbox\bgroup\color@begingroup} +\def\color@vbox{\vbox\bgroup\color@begingroup} +\def\color@endbox{\color@endgroup\egroup} +} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\endinput +%% +%% End of file `ltpara.ltx'. |