From 1cd62a262eb0789c37a72a517c82fe276b360e6f Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Tue, 29 Apr 2008 17:17:47 +0000 Subject: dashrule update (28apr08) git-svn-id: svn://tug.org/texlive/trunk@7721 c570f23f-e606-0410-a88d-b1316a301751 --- .../texmf-dist/source/latex/dashrule/dashrule.dtx | 247 ++++++++++++--------- .../texmf-dist/source/latex/dashrule/dashrule.ins | 64 +++--- 2 files changed, 168 insertions(+), 143 deletions(-) (limited to 'Master/texmf-dist/source/latex/dashrule') diff --git a/Master/texmf-dist/source/latex/dashrule/dashrule.dtx b/Master/texmf-dist/source/latex/dashrule/dashrule.dtx index a29bed1652b..1e5b1470e7e 100644 --- a/Master/texmf-dist/source/latex/dashrule/dashrule.dtx +++ b/Master/texmf-dist/source/latex/dashrule/dashrule.dtx @@ -1,93 +1,102 @@ % \iffalse meta-comment % -% Copyright (C) 2001 Scott Pakin +% Copyright (C) 2004 by Scott Pakin % ------------------------------------------------------- % -% This package may be distributed and/or modified under the -% conditions of the LaTeX Project Public License, either version 1.2 +% This file 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 +% The latest version of this license is in: +% % http://www.latex-project.org/lppl.txt -% and version 1.2 or later is part of all distributions of LaTeX -% version 1999/12/01 or later. +% +% and version 1.3c or later is part of all distributions of LaTeX +% version 2006/05/20 or later. % % \fi -% \iffalse -%% File: dashrule.dtx Copyright (C) 2001 Scott Pakin % -%\NeedsTeXFormat{LaTeX2e} +% \iffalse +%<*driver> +\ProvidesFile{dashrule.dtx} +% +%\NeedsTeXFormat{LaTeX2e}[1999/12/01] %\ProvidesPackage{dashrule} -% [2001/04/23 v1.00 Dashed rules (SDP)] +%<*package> + [2008/04/27 v1.1 Dashed rules] +% % %<*driver> \documentclass{ltxdoc} -\usepackage{dashrule} +\usepackage{dashrule}[2008/04/27] +\usepackage{titlesec} \EnableCrossrefs \CodelineIndex - -% Uncomment the following line if you don't want to include a -% source-code listing. -%\OnlyDescription - +\RecordChanges \begin{document} -\DocInput{dashrule.dtx} + \DocInput{dashrule.dtx} + \PrintChanges + \PrintIndex \end{document} % % \fi % -% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% \CheckSum{62} % -% \CheckSum{61} -% \GetFileInfo{dashrule.sty} +% \CharacterTable +% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +% Digits \0\1\2\3\4\5\6\7\8\9 +% Exclamation \! Double quote \" Hash (number) \# +% Dollar \$ Percent \% Ampersand \& +% Acute accent \' Left paren \( Right paren \) +% Asterisk \* Plus \+ Comma \, +% Minus \- Point \. Solidus \/ +% Colon \: Semicolon \; Less than \< +% Equals \= Greater than \> Question mark \? +% Commercial at \@ Left bracket \[ Backslash \\ +% Right bracket \] Circumflex \^ Underscore \_ +% Grave accent \` Left brace \{ Vertical bar \| +% Right brace \} Tilde \~} % -% \title{The \textsf{dashrule} package\thanks{This file -% has version number \fileversion, last -% revised \filedate.}} -% \author{Scott Pakin\\pakin@uiuc.edu} -% \date{\filedate} -% \maketitle % -% \changes{v1.00}{2001/04/23}{Initial version} +% \changes{v1.0}{2001/04/23}{Initial version} % -% \DoNotIndex{\csname,\DeclareRobustCommand,\def,\else,\endcsname} -% \DoNotIndex{\expandafter,\fi,\ifodd,\ifx,\let,\newcounter,\relax} +% \GetFileInfo{dashrule.dtx} % -% \StopEventually{^^A -% \bigskip\noindent\hdashrule[0pt][x]{\fill}{1pt}{5pt}\rule{5pt}{1pt} -% \section{Future Work} +% \DoNotIndex{\addtocounter,\csname,\DeclareRobustCommand,\def,\else,\empty} +% \DoNotIndex{\endcsname,\expandafter,\fi,\hbox,\hskip,\hspace,\ifodd,\ifx} +% \DoNotIndex{\let,\mbox,\newcounter,\relax,\setcounter} % -% \textsf{dashrule} \fileversion{} supports only horizontally dashed -% rules. Future versions (if any) may support vertically dashed -% rules, as well. For the time being, the \textsf{graphicx} -% package's \texttt{\string\rotatebox} can be used to define a -% \texttt{\string\vdashrule} in terms of a rotated -% \texttt{\string\hdashrule}. -% -% The next logical step after adding a \texttt{\string\vdashrule} is -% to support dashed rectangles, which would be composed of -% \texttt{\string\hdashrule}s and \texttt{\string\vdashrule}s. Other -% possible enhancements would be a way of drawing dotted lines, -% presumably composed from the limited set of circle characters -% available in \LaTeX's fonts. -% -% \bigskip\noindent\hdashrule[0pt][x]{\fill}{1pt}{5pt}\rule{5pt}{1pt} -% \PrintIndex -% } +% ^^A Precede every section title with a dashed rule. +% \titleformat{\section} +% {\unskip\vskip 2.3ex plus 0.2ex +% \vbox{\noindent\hdashrule[0pt][x]{\fill}{1pt}{5pt}\rule{5pt}{1pt}} +% \vskip 2.3ex plus 0.2ex} +% {\normalfont\Large\bfseries\thesection} +% {1em} +% {\normalfont\Large\bfseries} +% +% +% \title{The \textsf{dashrule} package\thanks{This document +% corresponds to \textsf{dashrule}~\fileversion, dated \filedate.}} +% \author{Scott Pakin \\ \texttt{scott+dash@pakin.org}} +% +% \maketitle % % \begin{abstract} -% The \textsf{dashrule} package makes it easy to draw a huge variety -% of dashed rules (i.e., lines) in \LaTeX. \textsf{dashrule} provides a -% command, |\hdashrule|, which is a cross between \LaTeX's |\rule| and -% PostScript's |setdash| command. |\hdashrule| draws horizontally -% dashed rules using the same syntax as |\rule|, but with an -% additional, |setdash|-like parameter that specifies the pattern of -% dash segments and the space between those segments. Because -% \textsf{dashrule}'s rules are constructed internally using |\rule| -% (as opposed to, e.g., PostScript |\special|s) they are fully -% compatible with every \LaTeX{} back-end processor. +% The \textsf{dashrule} package makes it easy to draw a huge variety +% of dashed rules (i.e., lines) in \LaTeX. \textsf{dashrule} provides +% a command, |\hdashrule|, which is a cross between \LaTeX's |\rule| +% and PostScript's |setdash| command. |\hdashrule| draws horizontally +% dashed rules using the same syntax as |\rule| but with an +% additional, |setdash|-like parameter that specifies the pattern of +% dash segments and the space between those segments. Because +% \textsf{dashrule}'s rules are constructed internally using |\rule| +% (as opposed to, e.g., PostScript |\special|s) they are fully +% compatible with every \LaTeX{} back-end processor. % \end{abstract} % -% \medskip\noindent\hdashrule[0pt][x]{\fill}{1pt}{5pt}\rule{5pt}{1pt} +% % \section{Usage} % % \DescribeMacro{\hdashrule} @@ -105,24 +114,23 @@ % \bigskip % % The \meta{raise}, \meta{width}, and \meta{height} parameters have the -% same meaning as in \LaTeX's |\rule| macro: the distance to raise the rule -% above the baseline and the width and height of the rule. -% -% \meta{leader} determines how the dash pattern should fill \meta{width} -% amount of space. Because |\hdashrule| is implemented in terms of \TeX's -% leader commands, the dash pattern must be repeated an integral number of -% times. \meta{leader} determines what to do with the extra whitespace -% (always less than the width of the dash pattern) that this requirement -% introduces. The default, which corresponds to \TeX's |\leaders| -% command, adds space to both ends of the rule such that the dash patterns -% from multiple |\hdashrule|s line up. If \meta{leader} is~|c|, which -% corresponds to \TeX's |\cleaders| command, an equal amount of whitespace -% will be added to both ends of the rule. If \meta{leader} is~|x|, which -% corresponds to \TeX's |\xleaders| command, the whitespace will be -% divided up, and the same amount of whitespace will separate each -% repetition of the dash pattern. -% -% The \meta{dash} argument determines the dash pattern and is analogous +% same meaning as in \LaTeX's |\rule| macro: the distance to raise the +% rule above the baseline and the width and height of the rule. +% +% Because |\hdashrule| is implemented in terms of \TeX's primitive +% leader commands (|\leaders|, |\cleaders|, and |\xleaders|), the dash +% pattern must be repeated an integral number of times. \meta{leader} +% specifies what to do with the extra whitespace (always less than the +% width of the dash pattern) that this requirement introduces. The +% default, which corresponds to \TeX's |\leaders| command, adds space to +% both ends of the rule so the dash patterns from multiple |\hdashrule|s +% line up. If \meta{leader} is~|c|, which corresponds to \TeX's +% |\cleaders| command, an equal amount of whitespace is added to both +% ends of the rule. If \meta{leader} is~|x|, which corresponds to +% \TeX's |\xleaders| command, the whitespace is divided up, and the same +% amount of whitespace separates each repetition of the dash pattern. +% +% The \meta{dash} argument specifies the dash pattern and is analogous % to the \textit{array} argument to PostScript's |setdash| function. % That is, it is a list of space-separated \meta{dimen}s that alternate % ``on'' and ``off'' distances. For instance, ``|2pt 1pt|'' means a @@ -133,12 +141,12 @@ % gap, 3\,pt.\ rule, 1\,pt.\ gap, 2\,pt.\ rule, 3\,pt.\ gap.'' % % -% \bigskip\noindent\hdashrule[0pt][x]{\fill}{1pt}{5pt}\rule{5pt}{1pt} % \section{Examples} % % The following are some typical ways to use |\hdashrule|. Each example % changes from the previous in only one parameter. For clarity, -% underlines are used to indicate modified text. +% underlines are used to indicate modified text, and the rule is +% bracketed by an upper- and lowercase~``X''. % % \begin{center} % \renewcommand{\arraystretch}{1.5} @@ -171,7 +179,7 @@ % \bigskip % \noindent % These next examples show the effect of using different leader types. -% Each leader is used in both a 4\,cm~wide rule and a 3\,cm~wide rule. +% Each leader is used with both a 4\,cm~wide rule and a 3\,cm~wide rule. % % \begin{center} % \renewcommand{\arraystretch}{1.25} @@ -201,10 +209,9 @@ % rules in the second pair each have an equal amount of whitespace on % either side of the rule; and the rules in the third pair have extra % spaces within the dash pattern itself instead of around it. The -% |x|~qualifier is rarely useful for dashed rules, because it alters the -% pattern itself. (I included |x| for completeness, not practicality.) -% However, |x| does enable rules with long dashes to better fill a -% comparatively small width, as in the following example: +% |x|~qualifier is rarely useful for dashed rules because it alters the +% pattern itself. However, |x| does enable rules with long dashes to +% better fill a comparatively small width, as in the following example: % % \begin{center} % \renewcommand{\arraystretch}{1.25} @@ -218,7 +225,7 @@ % The gaps in the above are clearly wider than~|0pt|, but they \emph{are} % evenly spaced. % -% \bigskip\noindent\hdashrule[0pt][x]{\fill}{1pt}{5pt}\rule{5pt}{1pt} +% % \section{Differences from \texttt{setdash}} % % |\hdashrule| is different from PostScript's |setdash| command in the @@ -230,8 +237,8 @@ % explicit units. % % \item There is no equivalent of |setdash|'s \textit{offset} -% parameter, to specify a starting offset into the pattern. If you're -% desperate, you can fake \textit{offset} with a leading |\rule| and +% parameter to specify a starting offset into the pattern. If you're +% desperate you can fake \textit{offset} with a leading |\rule| and % |\hspace|. % % \item Unlike |setdash|, |\hdashrule| can't draw a solid line. Use @@ -239,7 +246,25 @@ % \end{itemize} % % -% \noindent\hdashrule[0pt][x]{\fill}{1pt}{5pt}\rule{5pt}{1pt} +% \StopEventually{^^A +% \section{Future Work} +% +% \textsf{dashrule} \fileversion{} supports only horizontally dashed +% rules. Future versions (if any) may support vertically dashed rules +% as well. For the time being, the \textsf{graphicx} package's +% \texttt{\string\rotatebox} can be used to define a +% \texttt{\string\vdashrule} in terms of a rotated +% \texttt{\string\hdashrule}. +% +% The next logical step after adding a \texttt{\string\vdashrule} is +% to support dashed rectangles, which would be composed of +% \texttt{\string\hdashrule}s and \texttt{\string\vdashrule}s. Other +% possible enhancements would be a way of drawing dotted lines, +% presumably composed from the limited set of circle characters +% available in \LaTeX's fonts. +% } +% +% % \section{Implementation} % % \begin{macrocode} @@ -247,7 +272,7 @@ % \end{macrocode} % % \begin{macro}{\hdr@do@rule} -% This macro is exactly like \LaTeX's |\rule|, except that the optional +% This macro is exactly like \LaTeX's |\rule| except that the optional % argument is required, and it has the side effect of pointing % |\hdr@do@something| to |\hdr@do@skip|. % \begin{macrocode} @@ -285,7 +310,7 @@ \ifx#1!% \else \addtocounter{hdr@segments}{1}% - \expandafter\hdr@tally@segments% + \expandafter\hdr@tally@segments \fi } % \end{macrocode} @@ -294,14 +319,17 @@ % % \begin{macro}{\hdashrule} % This is the only macro in \textsf{dashrule}'s external interface. -% |\hdashrule@ii| does all the work for |\hdashrule|, though. All +% (|\hdashrule@ii| does most of the work for |\hdashrule|, though.) All % |\hdashrule| itself does is invoke |\hdashrule@i| with its first -% optional argument, or~|0.0pt| if none was provided. |\hdashrule@i|, -% in turn, invokes |\hdashrule@ii| with the two optional arguments, +% optional argument or~|0.0pt| if none was provided. |\hdashrule@i|, in +% turn, invokes |\hdashrule@ii| with the two optional arguments, % supplying |\empty| as the default value of the second optional % argument. +% \changes{v1.1}{2008/04/27}{Preceded the invocation of +% \texttt{\string\string\string\@testopt} with an empty box so that +% \texttt{\string\string\string\hdashrule} can now begin a paragraph} % \begin{macrocode} -\DeclareRobustCommand{\hdashrule}{\@testopt{\hdashrule@i}{0pt}} +\DeclareRobustCommand{\hdashrule}{\mbox{}\@testopt{\hdashrule@i}{0pt}} % \end{macrocode} % \end{macro} % @@ -324,11 +352,12 @@ % \end{tabular} % \end{center} % +% \noindent % The \meta{raise}, \meta{width}, and \meta{height} parameters have the % same meaning as in \LaTeX's |\rule| macro. \meta{leader} specifies -% which \TeX{} leader function to use to fill \meta{width} amount of +% the \TeX\ leader function to use to fill \meta{width} amount of % space. It should be |c| for |\cleaders|, |x| for |\xleaders|, or -% nothing for ordinary |\leaders|. The \meta{dash} argument determines +% nothing for ordinary |\leaders|. The \meta{dash} argument specifies % the dash pattern and is analogous to the \textit{array} argument to % PostScript's |setdash| function. That is, it is a list of % space-separated \meta{dimen}s that alternate ``on'' and ``off'' @@ -356,11 +385,11 @@ \ifx##1!% \else \hdr@do@something[#1]{##1}{#4}% - \expandafter\hdr@parse@dash% + \expandafter\hdr@parse@dash \fi }% % \end{macrocode} -% We now count the number of segments in the dash pattern, so we can +% We now count the number of segments in the dash pattern so we can % determine if we have an even or odd number of them. % \begin{macrocode} \setcounter{hdr@segments}{0}% @@ -373,28 +402,24 @@ % ``|1pt|'' is actually short for ``1\,pt.\ rule, 1\,pt.\ space,'' and % ``|2pt 4pt 6pt|'' is an abridged version of ``2\,pt.\ rule, 4\,pt.\ % space, 6\,pt.\ rule, 2\,pt.\ space, 4\,pt.\ rule, 6\,pt.\ space.'' -% Although it is valid to repeat even-length patterns, as well---an +% Although it is valid to repeat even-lengthed patterns as well---an % earlier draft of |\hdashrule@ii| did just that---this produces -% inferior results, because \TeX's various leader commands do not split -% boxes. The longer the pattern, the less likely it will fit -% snugly into the given width. +% inferior results because \TeX's various leader commands do not split +% boxes. The longer the pattern, the less likely it will fit snugly +% into the given width. % \begin{macrocode} \ifodd\c@hdr@segments - \csname#2leaders\endcsname% + \csname#2leaders\endcsname \hbox{\hdr@parse@dash#5 #5 ! }% \hskip#3\relax \else - \csname#2leaders\endcsname% + \csname#2leaders\endcsname \hbox{\hdr@parse@dash#5 ! }% \hskip#3\relax - \fi% + \fi } % \end{macrocode} % \end{macro} % -% \begin{macrocode} -% -% \end{macrocode} -% % \Finale -% +\endinput diff --git a/Master/texmf-dist/source/latex/dashrule/dashrule.ins b/Master/texmf-dist/source/latex/dashrule/dashrule.ins index 21ddf0c4bf5..e5018aec9b6 100644 --- a/Master/texmf-dist/source/latex/dashrule/dashrule.ins +++ b/Master/texmf-dist/source/latex/dashrule/dashrule.ins @@ -1,23 +1,18 @@ %% -%% This file will generate fast loadable files and documentation -%% driver files from the doc files in this package when run through -%% LaTeX or TeX. +%% Copyright (C) 2008 by Scott Pakin %% -%% Copyright (C) 2001 Scott Pakin -%% ------------------------------------------------------- +%% This file 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: %% -%% This package may be distributed and/or modified under the -%% conditions of the LaTeX Project Public License, either version 1.2 -%% of this license or (at your option) any later version. -%% The latest version of this license is in %% http://www.latex-project.org/lppl.txt -%% and version 1.2 or later is part of all distributions of LaTeX -%% version 1999/12/01 or later. -%% -%% --------------- start of docstrip commands ------------------ +%% +%% and version 1.3c or later is part of all distributions of LaTeX +%% version 2006/05/20 or later. %% -\input docstrip +\input docstrip.tex \keepsilent \usedir{tex/latex/dashrule} @@ -26,30 +21,35 @@ This is a generated file. -Copyright (C) 2001 Scott Pakin -------------------------------------------------------- +Copyright (C) 2008 by Scott Pakin + +This file 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: -This package may be distributed and/or modified under the -conditions of the LaTeX Project Public License, either version 1.2 -of this license or (at your option) any later version. -The latest version of this license is in http://www.latex-project.org/lppl.txt -and version 1.2 or later is part of all distributions of LaTeX -version 1999/12/01 or later. + +and version 1.3c or later is part of all distributions of LaTeX +version 2006/05/20 or later. \endpreamble \generate{\file{dashrule.sty}{\from{dashrule.dtx}{package}}} -\Msg{***********************************************************} -\Msg{*} -\Msg{* To finish the installation, you have to move} -\Msg{* dashrule.sty into a directory searched by TeX.} -\Msg{*} -\Msg{* To produce the documentation, run dashrule.dtx} -\Msg{* through LaTeX.} -\Msg{*} -\Msg{* Happy TeXing!} -\Msg{***********************************************************} +\obeyspaces +\Msg{*************************************************************} +\Msg{* *} +\Msg{* To finish the installation you have to move the following *} +\Msg{* file into a directory searched by TeX: *} +\Msg{* *} +\Msg{* dashrule.sty *} +\Msg{* *} +\Msg{* To produce the documentation run the file dashrule.dtx *} +\Msg{* through LaTeX. *} +\Msg{* *} +\Msg{* Happy TeXing! *} +\Msg{* *} +\Msg{*************************************************************} \endbatchfile -- cgit v1.2.3