summaryrefslogtreecommitdiff
path: root/Master
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2011-03-14 23:48:11 +0000
committerKarl Berry <karl@freefriends.org>2011-03-14 23:48:11 +0000
commitf7db5e8d7c1b9d95af75c77d2d69b659ae17cb63 (patch)
treec4dbe30463ea8a7e107e5ccc1ca84ef07744dfe5 /Master
parent9c1c061b5f034069229ffbede2fc7663e895367d (diff)
finstrut 0.5 (14mar11)
git-svn-id: svn://tug.org/texlive/trunk@21719 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r--Master/texmf-dist/doc/latex/finstrut/README7
-rw-r--r--Master/texmf-dist/doc/latex/finstrut/SRCFILEs.txt8
-rw-r--r--Master/texmf-dist/doc/latex/finstrut/finstrut.pdfbin144162 -> 177558 bytes
-rw-r--r--Master/texmf-dist/doc/latex/finstrut/fstrutst.pdfbin31365 -> 31806 bytes
-rw-r--r--Master/texmf-dist/source/latex/finstrut/finstrut.tex24
-rw-r--r--Master/texmf-dist/source/latex/finstrut/fstrutst.tex16
-rw-r--r--Master/texmf-dist/tex/latex/finstrut/finstrut.sty62
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
index dd818d41ad0..346f9190b37 100644
--- a/Master/texmf-dist/doc/latex/finstrut/finstrut.pdf
+++ b/Master/texmf-dist/doc/latex/finstrut/finstrut.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/finstrut/fstrutst.pdf b/Master/texmf-dist/doc/latex/finstrut/fstrutst.pdf
index 5609111eb3c..5db3a9f7c68 100644
--- a/Master/texmf-dist/doc/latex/finstrut/fstrutst.pdf
+++ b/Master/texmf-dist/doc/latex/finstrut/fstrutst.pdf
Binary files differ
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