diff options
author | Karl Berry <karl@freefriends.org> | 2011-03-14 23:48:11 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2011-03-14 23:48:11 +0000 |
commit | f7db5e8d7c1b9d95af75c77d2d69b659ae17cb63 (patch) | |
tree | c4dbe30463ea8a7e107e5ccc1ca84ef07744dfe5 /Master/texmf-dist | |
parent | 9c1c061b5f034069229ffbede2fc7663e895367d (diff) |
finstrut 0.5 (14mar11)
git-svn-id: svn://tug.org/texlive/trunk@21719 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r-- | Master/texmf-dist/doc/latex/finstrut/README | 7 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/finstrut/SRCFILEs.txt | 8 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/finstrut/finstrut.pdf | bin | 144162 -> 177558 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/finstrut/fstrutst.pdf | bin | 31365 -> 31806 bytes | |||
-rw-r--r-- | Master/texmf-dist/source/latex/finstrut/finstrut.tex | 24 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/finstrut/fstrutst.tex | 16 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/finstrut/finstrut.sty | 62 |
7 files changed, 90 insertions, 27 deletions
diff --git a/Master/texmf-dist/doc/latex/finstrut/README b/Master/texmf-dist/doc/latex/finstrut/README index e7605fbc209..8c8fe9c95e1 100644 --- a/Master/texmf-dist/doc/latex/finstrut/README +++ b/Master/texmf-dist/doc/latex/finstrut/README @@ -1,6 +1,6 @@ README for the `finstrut' package \@finalstrut allowing vertical mode - (C) Uwe Lueck 2011/02/12 + (C) Uwe Lueck 2011/02/24 `finstrut.sty' changes LaTeX's \@finalstrut (that is @@ -35,6 +35,5 @@ Please report bugs, problems, and suggestions via http://www.contact-ednotes.sty.de.vu --- v0.4: code and suggestions by Donald Arseneau -(at package options), new for tables and package writers - +-- v0.5: more variants of code and suggestions by +Donald Arseneau (at package options) diff --git a/Master/texmf-dist/doc/latex/finstrut/SRCFILEs.txt b/Master/texmf-dist/doc/latex/finstrut/SRCFILEs.txt index 0e400d86c56..3a493ab3173 100644 --- a/Master/texmf-dist/doc/latex/finstrut/SRCFILEs.txt +++ b/Master/texmf-dist/doc/latex/finstrut/SRCFILEs.txt @@ -1,11 +1,11 @@ *File List* -finstrut.sty 2011/02/12 v0.4 vmode final strut (DA/UL) -finstrut.tex 2011/02/12 documenting finstrut.sty (UL) -fstrutst.tex 2011/02/12 test/demo finstrut.sty (DA/UL) +finstrut.sty 2011/03/14 v0.5 vmode final strut (DA/UL) +finstrut.tex 2011/03/14 documenting finstrut.sty (UL) +fstrutst.tex 2011/03/14 test/demo finstrut.sty (DA/UL) srcfiles.tex 2011/02/12 collect file infos *********** - List made at 2011/02/12, 20:14 + List made at 2011/03/14, 17:19 from script file srcfiles.tex diff --git a/Master/texmf-dist/doc/latex/finstrut/finstrut.pdf b/Master/texmf-dist/doc/latex/finstrut/finstrut.pdf Binary files differindex dd818d41ad0..346f9190b37 100644 --- a/Master/texmf-dist/doc/latex/finstrut/finstrut.pdf +++ b/Master/texmf-dist/doc/latex/finstrut/finstrut.pdf diff --git a/Master/texmf-dist/doc/latex/finstrut/fstrutst.pdf b/Master/texmf-dist/doc/latex/finstrut/fstrutst.pdf Binary files differindex 5609111eb3c..5db3a9f7c68 100644 --- a/Master/texmf-dist/doc/latex/finstrut/fstrutst.pdf +++ b/Master/texmf-dist/doc/latex/finstrut/fstrutst.pdf diff --git a/Master/texmf-dist/source/latex/finstrut/finstrut.tex b/Master/texmf-dist/source/latex/finstrut/finstrut.tex index c88180daa8a..3f5f36bc286 100644 --- a/Master/texmf-dist/source/latex/finstrut/finstrut.tex +++ b/Master/texmf-dist/source/latex/finstrut/finstrut.tex @@ -1,8 +1,11 @@ -\ProvidesFile{finstrut.tex}[2011/02/12 documenting finstrut.sty (UL)] +\ProvidesFile{finstrut.tex}[2011/03/14 documenting finstrut.sty (UL)] \title{\textsf{finstrut.sty}\\---\\Final Strut Allowing Vertical - Mode\thanks{This document describes version + Mode---The \texttt{\cs{@finalstrut}} Encyclopedia and + Toolkit\thanks{This document describes version \textcolor{blue}{\UseVersionOf{finstrut.sty}} - of \textsf{finstrut.sty} as of \UseDateOf{finstrut.sty}.}} + of \textsf{finstrut.sty} as of \UseDateOf{finstrut.sty}. + This upload is a birthday package for Donald Arseneau---he + will be so happy!}} % \listfiles %% 2010/12/22 { \RequirePackage{makedoc}[2010/12/20] \ProcessLineMessage{} \MakeJobDoc{18}{\SectionLevelTwoParseInput} @@ -30,11 +33,22 @@ package\urlfoot{CtanPkgRef}{lipsum} for dummy text---this produces a usually unwanted extra, empty line. 'finstrut.sty' changes `\@finalstrut' in order to avoid this effect. + \par +The first version of the package just had this minimum purpose. +But then Donald Arseneau has convinced me to consider +a wide range of cases and to replace my code by his proposals. +v0.5 again adds an idea of my own ones: %% 2011/03/14: +instead of testing for `hmode' vs.~`vmode', +`vmode' may be \emph{forced} by a `\par'---saves tokens! +In order not to break code that some package writers may have +used so far, choices by package options are offered. +v0.4 offered choice among 6 definitions, with v0.5 they are 9---! +(Not 9!.) \par\smallskip\noindent \strong{Keywords:}\quad footnotes; tables, dummy text, macro programming \end{abstract} -% \tableofcontents +\tableofcontents % \newpage \section{Remark on 'lipsum'} @@ -66,3 +80,5 @@ VERSION HISTORY 2011/02/09c remark on `lipsum' upload same day 2011/02/11 \subsection 2011/02/12 for v0.4 +2011/02/16 for v0.5, abstract mentions Donald Arseneau +2011/03/14 "encyclopedia and toolkit", abstract extended diff --git a/Master/texmf-dist/source/latex/finstrut/fstrutst.tex b/Master/texmf-dist/source/latex/finstrut/fstrutst.tex index 990c2affe09..6e6fc1c06dd 100644 --- a/Master/texmf-dist/source/latex/finstrut/fstrutst.tex +++ b/Master/texmf-dist/source/latex/finstrut/fstrutst.tex @@ -1,8 +1,8 @@ -\ProvidesFile{fstrutst.tex}[2011/02/12 test/demo finstrut.sty (DA/UL)] +\ProvidesFile{fstrutst.tex}[2011/03/14 test/demo finstrut.sty (DA/UL)] \documentclass{article} \usepackage{readprov} \usepackage{array} -\usepackage[full,show]{finstrut}[2011/02/12] +\usepackage[fullpar,show]{finstrut}[2011/02/18] %% upd. 2011/03/14 \makeatletter % with array.sty \@ifpackageloaded{array}{% @@ -38,14 +38,16 @@ \begin{tabular}{|l|p{2cm}|}\hline deep & $\displaystyle \int_j$\\\hline \end{tabular} - \par\medskip\noindent + \par\medskip\noindent\nobreak\hfil \begin{tabular}{|l|p{2cm}|}\hline bad prevdepth & Hello world\hrule \\\hline \end{tabular} - \nobreak\hfill -\begin{tabular}{|l|p{2cm}|}\hline - bad prevdepth & Hello world \\\hline -\end{tabular} +\nobreak\hfil +%% irrelevant according to Donald 2011/02/15: +% \nobreak\hfill +% \begin{tabular}{|l|p{2cm}|}\hline +% bad prevdepth & Hello world \\\hline +% \end{tabular} \par\medskip\noindent \arraytest O\footnote{\vrule depth22.22pt\par} diff --git a/Master/texmf-dist/tex/latex/finstrut/finstrut.sty b/Master/texmf-dist/tex/latex/finstrut/finstrut.sty index 102384df2d5..6f261c6181b 100644 --- a/Master/texmf-dist/tex/latex/finstrut/finstrut.sty +++ b/Master/texmf-dist/tex/latex/finstrut/finstrut.sty @@ -1,5 +1,5 @@ \NeedsTeXFormat{LaTeX2e}[1994/12/01] -\ProvidesPackage{finstrut}[2011/02/12 v0.4 vmode final strut (DA/UL)] +\ProvidesPackage{finstrut}[2011/03/14 v0.5 vmode final strut (DA/UL)] %% Copyright (C) 2010 2011 Uwe Lueck, %% http://www.contact-ednotes.sty.de.vu @@ -31,10 +31,14 @@ %% % With v0.4, the code essentially is Donald Arseneau's. %% %% === Outline === -%% v0.4 considers recommendations by Donald Arseneau. +%% v0.5 considers recommendations by Donald Arseneau. %% Some of them may break in applications that we do not %% know about, therefore they must be called by package %% options. Package Option |[full]| calls all of them. +%% %% 2011/03/14: +%% Package Option |[fullpar]| calls a variant of them +%% where instead of testing for `hmode' vs.~`vmode', +%% `vmode' is \emph{forced} by a `\par', saving some tokens. %% %% The choices shall not be checked at each invocation %% of `\@finalstrut', instead they are evaluated at the @@ -51,13 +55,22 @@ %% exactly which situation. Bad. %% Brave users may dare the `vmode' test again by choosing %% package option |[v]|. It sets `\@tempe' for -%% `\edef\@finalstrut'. While other conditionals are disabled -%% right before the latter, we disable the mode test here: -\AtEndOfPackage{% - \def\@tempe#1#2{\noexpand\ifhmode#1\else#2\fi}} +%% `\edef\@finalstrut'. The #1 argument of `\@tempe' is +%% applied in `hmode', #2 in `vmode'---assuming we are not +%% in `math' `mode' ...!? (TODO)%%% +%% %% <- !?? don't understand 2011/02/16 -> +%% %---While other conditionals +%% % are disabled right before the latter, +%% % we disable the mode test here: +\AtEndOfPackage{\def\@tempe#1#2{\noexpand\ifhmode#1\else#2\fi}} \DeclareOption{v}{% \AtEndOfPackage{% \def\@tempe#1#2{\noexpand\ifvmode#2\else#1\fi}}} +%% Replacing the `hmode' or `vmode' test by \emph{forcing} `vmode' +%% (and then applying Donald Arseneau's suggestions for `vmode') +%% seems just to save a few tokens. With v0.5, option |[par]| +%% picks this idea. +\DeclareOption{par}{\AtEndOfPackage{\def\@tempe#1#2{\par#2}}} %% |[argdelim]| appends a `\relax' to `\@finalstrut''s argument %% in case the box number is given as a string of digits %% (whereas `latex.ltx' only has `\strutbox' and @@ -68,10 +81,11 @@ \AtEndOfPackage{\let\@tempd\@empty} \DeclareOption{argdelim}{% \AtEndOfPackage{\def\@tempd{\relax}}} -\AtEndOfPackage{\let\@tempc\@secondoftwo} +%% %% v0.5 move \@tempc down %% |[dptest]| caters for depth exceeeding the depth of the %% strut box and for negative depth. The test requires that %% a multi-token argument (see above) is enclosed in braces. +\AtEndOfPackage{\let\@tempc\@secondoftwo} \DeclareOption{dptest}{% \AtEndOfPackage{% \def\@tempd{\relax}% @@ -83,6 +97,15 @@ \def\@tempd{\relax}% \let\@tempc\@firstoftwo }} +%% |[fullpar]| enables all of Donald Arseneau's suggestions +%% apart from replacing the `vmode' test by \emph{forcing} +%% `vmode', as with option |[par]|: +\DeclareOption{fullpar}{% + \AtEndOfPackage{% + \def\@tempe#1#2{\par#2}% + \def\@tempd{\relax}% + \let\@tempc\@firstoftwo +}} %% |[show]| displays the definition of `\@finalstrut' %% actually resulting: \AtEndOfPackage{\let\@tempb\relax} @@ -100,8 +123,12 @@ \let\dp@only\relax \AtEndOfPackage{% \begingroup -%% Some conditionals are disabled for the `\edef': +%% Some conditionals are disabled for the `\edef'. \let\ifdim\relax \let\else\relax \let\fi\relax +%% Actually, they will be restored by `\endgroup'; +%% and in order to get the final `\@finalstrut' +%% outside the group, we ``emulate" its `\edef' +%% by `\xdef'ing an alias `\@gtempa' of it etc. ... \xdef\@gtempa#1{% \unskip \@tempe{% %% \ifhmode/\ifvmode @@ -129,6 +156,20 @@ \def\dp@only{\@width\z@ \@height\z@ \@depth\dp} } %% +%% === Example Result === %% 2011/02/17 +%% Option |[fullpar]| amounts to +%% \begin{verbatim} +%% \def\@finalstrut#1{% +%% \unskip\par +%% \ifdim\prevdepth<\dp#1\relax +%% \ifdim\prevdepth>\z@ +%% \kern -\prevdepth +%% \fi +%% \hrule \@width\z@ \@height\z@ \@depth\dp#1\relax +%% \fi +%% } +%% \end{verbatim} +%% %% === Leaving === \endinput %% @@ -140,3 +181,8 @@ v0.2 2011/02/09 redundancies removed -- still bad v0.3 2011/02/11 code much reduced again (no \expandafter at all!); wrong comments replaced; \subsection v0.4 2011/02/12 Donald Arseneau's full suggestions as options +v0.5 2011/02/12 first \@tempc line moved down + 2011/02/16 options [par] and [fullpar] + 2011/02/17 explaining \edef/\xdef + 2011/02/18 "emulate" \edef + 2011/03/14 some more text on v0.5 |