diff options
author | Karl Berry <karl@freefriends.org> | 2013-01-24 23:22:03 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2013-01-24 23:22:03 +0000 |
commit | d5bb518a967be55cdbd34367102479e980ecd579 (patch) | |
tree | 003ca0458a0255dcb521d72759bf6e112b594790 | |
parent | c31ed4b2621d6980638a21a61245aa4b4c1d641e (diff) |
shapepar 2.1 (24jan13)
git-svn-id: svn://tug.org/texlive/trunk@28935 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r-- | Master/texmf-dist/doc/generic/shapepar/README.shapepar | 26 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/shapepar/shapepar.ltx | 187 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/shapepar/shapepar.pdf | bin | 178792 -> 176729 bytes | |||
-rw-r--r-- | Master/texmf-dist/tex/generic/shapepar/Canflagshape.def (renamed from Master/texmf-dist/doc/generic/shapepar/Canflagshape.def) | 0 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/shapepar/TeXshape.def (renamed from Master/texmf-dist/doc/generic/shapepar/TeXshape.def) | 0 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/shapepar/candleshape.def (renamed from Master/texmf-dist/doc/generic/shapepar/candleshape.def) | 0 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/shapepar/dropshape.def (renamed from Master/texmf-dist/doc/generic/shapepar/dropshape.def) | 0 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/shapepar/shapepar.sty | 6 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/shapepar/triangleshapes.def (renamed from Master/texmf-dist/doc/generic/shapepar/triangleshapes.def) | 0 | ||||
-rwxr-xr-x | Master/tlpkg/libexec/ctan2tds | 1 |
10 files changed, 124 insertions, 96 deletions
diff --git a/Master/texmf-dist/doc/generic/shapepar/README.shapepar b/Master/texmf-dist/doc/generic/shapepar/README.shapepar index 4c95814282a..0d53263db75 100644 --- a/Master/texmf-dist/doc/generic/shapepar/README.shapepar +++ b/Master/texmf-dist/doc/generic/shapepar/README.shapepar @@ -2,10 +2,10 @@ shapepar.sty by Donald Arseneau. \shapepar: a macro to typeset paragraphs in a specific shape. The size is adjusted automatically so that the entire shape is filled -with text. There can be no displayed math, and no "\vadjust" -material (no "\vspace"). These macros work for both LaTeX and Plain -TeX. For LaTeX, specify \usepackage{shapepar}, or for Plain, -\input shapepar.sty. +with the provided text. There can be no displayed math, and no +"\vadjust" material (no "\vspace"). These macros work for both +LaTeX and Plain TeX. For LaTeX, specify \usepackage{shapepar}, +or for Plain, \input shapepar.sty. Contents: @@ -16,7 +16,21 @@ shapepar.pdf the processed manual Canflagshape.def Canadian flag shape definition TeXshape.def TeX shape definition candleshape.def burning candle shape definition (Timothy C. Burt) -dropshape.def rain drop shapes -triangleshapes.def triangles +dropshape.def rain drop shapes (Gerhard A. Bachmaier) +triangleshapes.def triangles (Gerhard A. Bachmaier) proshap.py shape generator by Manuel Gutierrez Algaba +Copyright and permission: + +Each file is subject to copyright held by its author/owner, +either Donald Arseneau or the person noted above and in the file. + +proshap.py is licensed under the terms of the GNU GPL, +version 2 or later; http://www.gnu.org/licenses/gpl-2.0.html. + +All other files are licensed by the statement: + + 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. + diff --git a/Master/texmf-dist/doc/generic/shapepar/shapepar.ltx b/Master/texmf-dist/doc/generic/shapepar/shapepar.ltx index 59919d795e6..a0f8890d189 100644 --- a/Master/texmf-dist/doc/generic/shapepar/shapepar.ltx +++ b/Master/texmf-dist/doc/generic/shapepar/shapepar.ltx @@ -3,14 +3,14 @@ % Version 2.1 (September 2006) % % Copyright (c) 1993,2002,2006 Donald Arseneau -% These definitions may be freely transmitted, reproduced, or modified -% provided that any modifications are clearly identified and this notice -% is left intact. +% 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. % \documentclass{article} \usepackage{shapepar} - +\usepackage{varioref} \renewcommand{\topfraction}{.85} \renewcommand{\bottomfraction}{.7} @@ -107,7 +107,7 @@ \noindent "\shapepar": a macro to typeset paragraphs in a specific shape. The size is adjusted automatically so that the entire shape is filled -with text. This package is for Plain \TeX, \LaTeX, or similar. +with the provided text. This package is for Plain \TeX, \LaTeX, or similar. %\end{abstract} \section{\textbackslash shapepar and \textbackslash Shapepar} @@ -182,7 +182,7 @@ shape upwards, where it might overlap preceding text, which will \emph{not} be cut away to accommodate. Yes, the text coming after the "\cutout" "\shapepar" is cut out (surprise!) -to fit the shape, leaving a gap of `"\cutoutsep"'. This length (dimen) +to fit the shape, leaving a gap of \mbox{`"\cutoutsep"'}. This length (dimen) parameter is initialized to 12\,pt; you may set it as you please. The cutout separation is applied by looking at the paragraph shape expanded by "\cutoutsep" in all directions, to give the same gap at @@ -545,6 +545,8 @@ text segments, and those texts should abut; e.g., "t{3}{2}st{5}{4}" %\subsection{Diamond shape example} Let's jump right into a simple example, and the meanings will be clearer. +A rhombus `diamond' shape can have the four vertices, with +coordinates shown in figure~\vref{fig:diamond}. % \begin{figure}[htbp] \centering @@ -594,8 +596,6 @@ clearer. \label{fig:diamond} \end{figure} % -A rhombus `diamond' shape can have the four vertices, with -coordinates shown in figure~\ref{fig:diamond}. This shape can be exactly specified by just three scan lines passing through the vertices. The intersections of the scan lines with the shape's edges occurs at the vertices and so the shape specification is: @@ -670,42 +670,50 @@ Now let's get more ambitious. A heart shape must have two simultaneous beginnings, a short stretch where there are two separated text areas ending with a join, whereafter there is just one block of text leading to the final -bottom point. Figure \ref{fig:heart} shows the heart-shape +bottom point. Figure \vref{fig:heart} shows the heart-shape specification. -\begin{figure}[tbp] -\begin{small} +Find the two "b" specifiers at the beginning, and find the "j" a few +lines below; notice that above the "j" there are two segments per line, +but only one below it~-- the two lobes join at the "j" +point: 20. I drew this heart freehand, and measured +lengths from the sketch, so you should be able to do better! The spec +has many scan lines so that the smooth curves are preserved, but there +are probably more lines than necessary. + +\begin{figure}[p] +\small \begin{minipage}[b]{21em} \renewcommand{\baselinestretch}{.9}\selectfont \begin{verbatim} -\newcommand\heartshape{ -{20}{0} b{13.32} b{26.68} -\\{.14} t{10.12}{4.42} t{25.46}{4.42} -\\{.7} t{9.14}{7.16} t{23.7}{7.16} -\\{1.4} t{8.4}{9.02} t{22.58}{9.02} -\\{2.1} t{7.82}{10.42} t{21.76}{10.42} -\\{2.8} t{7.36}{11.58} t{21.06}{11.58} -\\{3.5} t{6.98}{12.56} t{20.46}{12.56} -\\{4.2} t{6.68}{13.32} j t{20}{13.32} -\\{4.9} t{6.48}{27.04} -\\{5.6} t{6.34}{27.32} -\\{6.3} t{6.28}{27.44} -\\{7} t{6.26}{27.48} -\\{7.7} t{6.27}{27.46} -\\{8.4} t{6.32}{27.36} -\\{9.1} t{6.4}{27.2} -\\{9.8} t{6.52}{26.96} -\\{10.5} t{6.68}{26.64} -\\{11.9} t{7.12}{25.76} -\\{13.3} t{7.72}{24.56} -\\{14.7} t{8.51}{22.98} -\\{16.1} t{9.5}{21} -\\{17.5} t{10.69}{18.62} -\\{18.9} t{12.08}{15.84} -\\{20.3} t{13.7}{12.6} -\\{21.7} t{15.62}{8.76} -\\{22.4} t{16.7}{6.6} -\\{23.1} t{17.87}{4.26} -\\{24.6} e{20} +\newcommand\heartshape{ {20} +{0} b{13.32} b{26.68} \\ +{.14} t{10.12}{4.42} t{25.46}{4.42} \\ +{.7} t{9.14}{7.16} t{23.7}{7.16} \\ +{1.4} t{8.4}{9.02} t{22.58}{9.02} \\ +{2.1} t{7.82}{10.42} t{21.76}{10.42} \\ +{2.8} t{7.36}{11.58} t{21.06}{11.58} \\ +{3.5} t{6.98}{12.56} t{20.46}{12.56} \\ +{4.2} t{6.68}{13.32} j t{20}{13.32} \\ +{4.9} t{6.48}{27.04} \\ +{5.6} t{6.34}{27.32} \\ +{6.3} t{6.28}{27.44} \\ +{7} t{6.26}{27.48} \\ +{7.7} t{6.27}{27.46} \\ +{8.4} t{6.32}{27.36} \\ +{9.1} t{6.4}{27.2} \\ +{9.8} t{6.52}{26.96} \\ +{10.5} t{6.68}{26.64} \\ +{11.9} t{7.12}{25.76} \\ +{13.3} t{7.72}{24.56} \\ +{14.7} t{8.51}{22.98} \\ +{16.1} t{9.5}{21} \\ +{17.5} t{10.69}{18.62} \\ +{18.9} t{12.08}{15.84} \\ +{20.3} t{13.7}{12.6} \\ +{21.7} t{15.62}{8.76} \\ +{22.4} t{16.7}{6.6} \\ +{23.1} t{17.87}{4.26} \\ +{24.6} e{20} } \end{verbatim} \end{minipage}% @@ -730,41 +738,18 @@ specification. ~Only my plague thus far I count my gain, ~That she that makes me sin awards me pain.} ~~~~ + \end{minipage} -\end{small} +\vspace{-8pt} \caption{Specification for the heart shape, and an example.} \label{fig:heart} \end{figure} -Find the two "b" specifiers at the beginning, and find the "j" a few -lines below; notice that above the "j" there are two segments per line, -but only one below it~-- the two lobes join at the "j" -point: 20. I drew this heart freehand, and measured -lengths from the sketch, so you should be able to do better! The spec -has many scan lines so that the smooth curves are preserved, but there -are probably more lines than necessary. - -\medskip -%\subsection{Holes -- nut shape} - -Text shapes can have holes. For example, a doughnut-shape would have a "b" -on the first line, followed by some lines with a single "t", then a line with -"t s t" at the start of the hole. The hole is represented by lines with two -"t" specs~-- the gap between them is the hole. A line with "t j t" ends the -hole. There are more lines with single "t", and then an "e" line to end -with. Such a doughnut is used by the "\CDlabel" shape, but the -example given in Figure~\ref{fig:nut} is a nut. Not a doughnut, but a hex-nut (for a -machine screw or bolt)~-- a regular hexagon with a circular hole in the center. -The hexagon is flat on top and bottom so the specification begins and -ends like the square shape. The circle is rendered as a 24-gon, beginning -with a split ("s") of the surrounding text and ending with a join ("j"). -If the spacing of the scan lines looks odd, it is because the hexagon alone -would need just 5 scan lines (at only 3 distinct locations), but the circle -needs many; the points on the circle are at 15-degree intervals. -\begin{figure}[htbp] +\begin{figure}[p] +\begin{minipage}{0.7\linewidth} +\small \renewcommand{\baselinestretch}{.9} \begin{verbatim} -\newcommand\nutshape{ -{0} +\newcommand\nutshape{ {0} {0} b{0}\\ {0} t{-12.5}{25}\\ {11.65} t{-19.23}{19.23} s t{0}{19.23}\\ @@ -781,36 +766,66 @@ needs many; the points on the circle are at 15-degree intervals. {31.31} t{-19.42}{16.835} t{2.59}{16.835}\\ {31.65} t{-19.23}{19.23} j t{0}{19.23}\\ {43.3} t{-12.5}{25}\\ -{43.3} e{0} -} +{43.3} e{0} } \end{verbatim} -\vspace{-\topsep} -\caption{Specification for the nut shape. -(The definition in shapepar.sty is the same except that -the spaces are removed.)} +\end{minipage}\hspace{10pt minus 300pt}% +\begin{minipage}{0.4\linewidth} +\scriptsize \spaceskip=1pt plus 1pt minus .5pt +\Shapepar\nutshape o o o o o o o o o o o o o o o o o o o o o o + o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o + o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o + o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o + o o o o o o o o o o o o o o +\par +\end{minipage}\par +\caption{Specification for the nut shape, and an example.} \label{fig:nut} \end{figure} +\medskip +%\subsection{Holes -- nut shape} + +Text shapes can have holes. For example, a doughnut-shape would have a "b" +on the first line, followed by some lines with a single "t", then a line with +"t s t" at the start of the hole. The hole is represented by lines with two +"t" specs~-- the gap between them is the hole. A line with "t j t" ends the +hole. There are more lines with single "t", and then an "e" line to end +with. Such a doughnut is used by the "\CDlabel" shape, but the +example given in Figure~\vref{fig:nut} is a nut --- not a doughnut, +but a hex-nut (for a machine screw or bolt): a regular hexagon with a +circular hole in the center. +The hexagon is flat on top and bottom so the specification begins and +ends like the square shape. The circle is rendered as a 24-gon, beginning +with a split ("s") of the surrounding text and ending with a join ("j"). +If the vertical spacing of the scan lines looks odd, it is because the +hexagon alone would need just 5 scan lines (at only 3 distinct locations), +but the circle needs many; the points on the circle are at 15-degree +intervals. + \section{Configuration} There are several parameters that control details of how "\shapepar" -functions, varying from those (one) that will be set often, to some that -are cryptic, and require editing shapepar.sty itself. Here we will -explain some of those operational details and the parameters that -control them. +functions, varying from those that will be set often, to some that +are unusual and cryptic, and some that require editing shapepar.sty +itself. Here we will explain some of those operational details and +the parameters that control them. \subsection{Cut-out separation} The cutout separation is applied by looking at the paragraph shape expanded by "\cutoutsep" in `all' directions, to give the same gap at -every slope. That is a white lie. The shape's `"\parshape"' is -actually regenerated at a finer line-spacing (but the same scale factor -as for the shaped paragraph), and the leftmost (or rightmost) position -of each finer-parshape line is used to exclude an octagon (as an -approximation to a circle) centered on that position. The octagon is not -even regular, but is extended vertically by +every slope. This is the parameter that the user is most likely to +change. + +In reality, the cutout calculation has some messy details. +The shape's \mbox{`"\parshape"'} is regenerated at a finer line-spacing +(but the same scale factor as for the shaped paragraph), and the +leftmost (or rightmost) position of each finer-parshape line is +used to exclude (cut out) an octagon (as an approximation to a +circle) centered on that position. The octagon is not even regular, +but is extended vertically by $\hbox{"\cutoutsepstretch"}\times\hbox{"\baselineskip"}$ to allow -for the height and depth of characters. Figure~\ref{fig:cutoutsep} +for the height and depth of characters. Figure~\vref{fig:cutoutsep} illustrates these parameters. \begin{figure}[htbp] diff --git a/Master/texmf-dist/doc/generic/shapepar/shapepar.pdf b/Master/texmf-dist/doc/generic/shapepar/shapepar.pdf Binary files differindex a04ab9b774f..95f136f1250 100644 --- a/Master/texmf-dist/doc/generic/shapepar/shapepar.pdf +++ b/Master/texmf-dist/doc/generic/shapepar/shapepar.pdf diff --git a/Master/texmf-dist/doc/generic/shapepar/Canflagshape.def b/Master/texmf-dist/tex/generic/shapepar/Canflagshape.def index 1b76c6ea381..1b76c6ea381 100644 --- a/Master/texmf-dist/doc/generic/shapepar/Canflagshape.def +++ b/Master/texmf-dist/tex/generic/shapepar/Canflagshape.def diff --git a/Master/texmf-dist/doc/generic/shapepar/TeXshape.def b/Master/texmf-dist/tex/generic/shapepar/TeXshape.def index bf98bb8970c..bf98bb8970c 100644 --- a/Master/texmf-dist/doc/generic/shapepar/TeXshape.def +++ b/Master/texmf-dist/tex/generic/shapepar/TeXshape.def diff --git a/Master/texmf-dist/doc/generic/shapepar/candleshape.def b/Master/texmf-dist/tex/generic/shapepar/candleshape.def index 3fe8e60a41d..3fe8e60a41d 100644 --- a/Master/texmf-dist/doc/generic/shapepar/candleshape.def +++ b/Master/texmf-dist/tex/generic/shapepar/candleshape.def diff --git a/Master/texmf-dist/doc/generic/shapepar/dropshape.def b/Master/texmf-dist/tex/generic/shapepar/dropshape.def index 3694fdc6d41..3694fdc6d41 100644 --- a/Master/texmf-dist/doc/generic/shapepar/dropshape.def +++ b/Master/texmf-dist/tex/generic/shapepar/dropshape.def diff --git a/Master/texmf-dist/tex/generic/shapepar/shapepar.sty b/Master/texmf-dist/tex/generic/shapepar/shapepar.sty index cef41e5b84f..405bb8bda86 100644 --- a/Master/texmf-dist/tex/generic/shapepar/shapepar.sty +++ b/Master/texmf-dist/tex/generic/shapepar/shapepar.sty @@ -5,9 +5,9 @@ % Version 2.1 (Sept 2006) % % Copyright (c) 1993,2002,2006 Donald Arseneau -% These definitions may be freely transmitted, reproduced, or modified -% provided that any modifications are clearly identified and this notice -% is left intact. +% 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. % % \shapepar: a macro to typeset paragraphs in a specific shape. The % size is adjusted automatically so that the entire shape is filled diff --git a/Master/texmf-dist/doc/generic/shapepar/triangleshapes.def b/Master/texmf-dist/tex/generic/shapepar/triangleshapes.def index 914b9f9f1a6..914b9f9f1a6 100644 --- a/Master/texmf-dist/doc/generic/shapepar/triangleshapes.def +++ b/Master/texmf-dist/tex/generic/shapepar/triangleshapes.def diff --git a/Master/tlpkg/libexec/ctan2tds b/Master/tlpkg/libexec/ctan2tds index e5ab48e3219..937d7cfbdd8 100755 --- a/Master/tlpkg/libexec/ctan2tds +++ b/Master/tlpkg/libexec/ctan2tds @@ -1446,7 +1446,6 @@ $standardtex='\.(.bx|cfg|sty|clo|ldf|cls|def|fd|cmap|4ht)$'; 'seminar', '\.bug|\.bg2|\.cls|\.sty|2up.tex', 'shade', 'shade\.tex', # not description.tex 'shadethm', '\.sth|' . $standardtex, - 'shapepar', '\.sty', # not def 'spanish', 'NULL', # babel conflict 'showexpl', '\.sty|\.clo|\.ldf|\.cls|\.def|\.fd$', # not cfg 'skeycommand', '\.sty|\.clo|\.ldf|\.cls|\.def|\.fd$', # not cfg |