summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/shapepar
diff options
context:
space:
mode:
authorNorbert Preining <preining@logic.at>2013-05-27 01:46:54 +0000
committerNorbert Preining <preining@logic.at>2013-05-27 01:46:54 +0000
commit6d9bd3044a54f2f9d503da35e5078e4ebecff6d2 (patch)
tree686c4f8dd6883b1e6c2bfca223ff00a6f2fd67a5 /Master/texmf-dist/tex/generic/shapepar
parenta60b23f4bbb7abb8d708e5b5b6aefd095152d536 (diff)
shapepar update 5/27 (since 2006 first update, wow!)
git-svn-id: svn://tug.org/texlive/trunk@30708 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/generic/shapepar')
-rw-r--r--Master/texmf-dist/tex/generic/shapepar/shapepar.sty46
1 files changed, 34 insertions, 12 deletions
diff --git a/Master/texmf-dist/tex/generic/shapepar/shapepar.sty b/Master/texmf-dist/tex/generic/shapepar/shapepar.sty
index 405bb8bda86..c15a52f7edd 100644
--- a/Master/texmf-dist/tex/generic/shapepar/shapepar.sty
+++ b/Master/texmf-dist/tex/generic/shapepar/shapepar.sty
@@ -2,9 +2,9 @@
%
% Typeset paragraphs in various shapes.
%
-% Version 2.1 (Sept 2006)
+% Version 2.2 (Mar 2013)
%
-% Copyright (c) 1993,2002,2006 Donald Arseneau
+% Copyright (c) 1993,2002,2006,2013 Donald Arseneau
% This software may be freely used, transmitted, shared, copied, sold,
% or modified, provided that any modifications are clearly identified
% and this notice is left intact.
@@ -64,7 +64,7 @@
% --------------------------------------
\ifx\DeclareOption\undefined\else
- \ProvidesPackage{shapepar}[2006/09/11 v 2.1, Shaped paragraphs]
+ \ProvidesPackage{shapepar}[2013/03/26 v 2.2x, Shaped paragraphs]
\DeclareOption{quiet}{\catcode`\!=14}
\DeclareOption{noisy}{\catcode`\^=10}
\ProcessOptions
@@ -504,7 +504,7 @@
\tolerance9999
\ifx\emergencystretch\undefined % TeX2
\rightskip\z@ plus.5emminus.2em % optimise
- \else \rightskip\z@skip \emergencystretch 3em % TeX 3
+ \else \rightskip\z@skip \emergencystretch 2em % TeX 3
\fi \pretolerance\m@ne
\hbadness\@MM \hfuzz\maxdimen % avoid formatting warning messages
\SH@baseset
@@ -525,7 +525,7 @@
^ \message{Restacking.}%
% re-stack segments and re-justify lines; put in \vtop or \vbox appropriately
\global\setbox\SH@boxb \ifx\SH@margin\@empty \vbox \else \vtop \fi {%
- \setbox\SH@boxa\vbox{}\leftskip=\z@ plus55sp minus99sp % optimise
+ \setbox\SH@boxa\vbox{}\leftskip=\z@ plus33sp minus66sp % optimise
\unvbox\SH@boxb
\SH@lines \unvbox\SH@boxa
\ifnum\SH@highline<\SH@lowline
@@ -593,6 +593,7 @@
\ifnum\skip@<64 % try again
\advance\rightskip\skip@
\multiply\skip@\tw@
+ \ifx\emergencystretch\undefined\else \advance\emergencystretch 1em\fi
\expandafter\expandafter\expandafter \SH@reform
\fi\fi}
@@ -607,9 +608,9 @@
\setbox\SH@boxa\vbox{%
\ifhbox\@tempboxa
\advance\SH@posold-#2% Trim box for \Shapepar
- \moveright-\SH@posold \hbox to#3
- {\hskip\leftskip \unhbox\@tempboxa \unskip \hskip\leftskip}%
- \nobreak
+ \moveright-\SH@posold \hbox to#3%
+ {\hskip\leftskip \SH@MT@corr\unhbox\@tempboxa \unskip \hskip\leftskip}%
+ \nobreak % yes, \leftskip on right -- it is a scratch register here.
\fi
\vskip\skip@
\ifnum\SH@nline>\z@ \begingroup
@@ -961,12 +962,33 @@
\fi
-% take absolute value of TeX number or dimension (dimen must be a register)
+% Take absolute value of TeX number or dimension (dimen must be a register)
\def\AbsVal#1{\ifnum#1<\z@-\fi#1}
\def\Pointless#1{\expandafter\remove@PT\the#1}
{\catcode`p=12 \catcode`t=12 \gdef\remove@PT#1pt{#1}}
+% Restore microtype boundary kerns that are stripped away when doing
+% \unhbox and \unhcopy.
+% \SH@MT@corr <command><box_num><tail_action>
+% <command> is \unhbox or \unhcopy
+% <box_num> is box number (prefer single token)
+% <tail_action> is whatever needs to see the contents, e.g., \unskip
+% If each argument is a single token, the syntax is compatible
+% with regular \unhbox or \unhcopy.
+
+\ifnum \ifx\rightmarginkern\undefined 1\fi \ifx\rightmarginkern\relax 1\fi0>0
+ \let\SH@MT@corr\relax
+\else
+ % This definition is specific to usage where box number is a single token
+ \protected\def\SH@MT@corr#1#2#3{% #1 = \unhbox or \unhcopy; #2 = box num; #3 = \unskip
+ \kern\leftmarginkern#2\relax
+ \dimen@\rightmarginkern#2\relax
+ #1#2#3%
+ \kern\dimen@
+ }
+\fi
+
\squarepar % restore catcodes
% ---------------- Pre-defined shapes --------------------
@@ -1159,11 +1181,11 @@ Typeset shapepar.ltx (or see shapepar.pdf) for detailed instructions.
%-----------------------------------------
-Version 2.1 (Sep 2006) Repair \\, fix multibox ordering, \rectangleshape,
- hexagon.
+Version 2.2 (Mar 2013) Retain microtype boundary items
+Version 2.1 (Sep 2006) Repair \\, fix multibox ordering, \rectangleshape, hexagon.
Version 2.01 (Jun 2006) Avoid some numeric overflows.
Version 2.00 (Dec 2002) \cutout, disjoint parts, set scale, much rewrite
-Version 1.01 (March 1993) Small changes from initial release.
+Version 1.01 (Mar 1993) Small changes from initial release.
%
% Test integrity of file: