% \iffalse meta-comment % %% decorule.dtx %% Copyright © 2010-2011 by Peter Flynn % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either % version 1.3 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.3 or later is part of all distributions of % LaTeX version 2005/12/01 or later. % % This work has the LPPL maintenance status `maintained'. % % The current maintainer of this work is Peter Flynn % % This work consists of the files decorule.dtx and decorule.ins % and the derived file decorule.sty. % % \fi % \iffalse %\NeedsTeXFormat{LaTeX2e}[2009/09/24] %\ProvidesPackage{decorule}[2011/08/02 v0.6 The decorule LaTeX2e package] %\RequirePackage{graphicx} %\RequirePackage{fix-cm} %<*driver> \documentclass[12pt]{ltxdoc} \usepackage{decorule} \usepackage[utf8x]{inputenc} \usepackage[T1]{fontenc} \usepackage{fancyvrb} \usepackage{mflogo} \usepackage{chicago} \usepackage{url} \usepackage{nicefrac} \usepackage{lmodern} \usepackage[a4paper,margin=3cm]{geometry} \usepackage{parskip} \usepackage{varioref} \usepackage{listings} \usepackage{textcomp} \newcommand{\classorpackage}{package} \newcommand{\ConTeXt}{% C\kern-.0333emon\-\kern-.0667em\TeX\kern-.0333emt} \EnableCrossrefs \CodelineIndex \RecordChanges \begin{document} \DocInput{decorule.dtx} \end{document} % % \fi % % \CheckSum{142} % % \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 \~} % % \changes{v0.6}{2011/08/02}{Fix for the DVI-related display bug: Heiko Overdiek kindly identified the problem with the c@sym@rotate counter, that it isn't expandable. The graphics package only uses edef, but in the special, the explicit number is needed, because PostScript or GhostScript don't know \TeX{}. The result now works in Postscript output but DVI viewers may still display incorrectly..} % \changes{v0.5}{2011/07/28}{Fixes after release: Added par breaks and centering. Attempted to identify why it fails when creating DVI but works for PDF (section on Bugs created)..} % \changes{v0.4}{2011/06/13}{Bugs fixed on first release: 1) Added missing packages (graphicx and fix-cm); 2) Removed bogus change record from .sty file.} % \changes{v0.3}{2011/06/11}{Revised for .dtx file: 1) Rewrote documentation; 2) Generated .dtx.} % \changes{v0.2}{2010/07/14}{Updated to package format: Wrote .dtx file by hand.} % \changes{v0.1}{2010/03/20}{Written for TUGboat: Developed by hand.} % % \GetFileInfo{decorule.dtx} % % \DoNotIndex{\@,\@@par,\@beginparpenalty,\@empty} % \DoNotIndex{\@flushglue,\@gobble,\@input} % \DoNotIndex{\@makefnmark,\@makeother,\@maketitle} % \DoNotIndex{\@namedef,\@ne,\@spaces,\@tempa} % \DoNotIndex{\@tempb,\@tempswafalse,\@tempswatrue} % \DoNotIndex{\@thanks,\@thefnmark,\@topnum} % \DoNotIndex{\@@,\@elt,\@forloop,\@fortmp,\@gtempa,\@totalleftmargin} % \DoNotIndex{\",\/,\@ifundefined,\@nil,\@verbatim,\@vobeyspaces} % \DoNotIndex{\|,\~,\ ,\active,\advance,\aftergroup,\begingroup,\bgroup} % \DoNotIndex{\mathcal,\csname,\def,\documentstyle,\dospecials,\edef} % \DoNotIndex{\egroup} % \DoNotIndex{\else,\endcsname,\endgroup,\endinput,\endtrivlist} % \DoNotIndex{\expandafter,\fi,\fnsymbol,\futurelet,\gdef,\global} % \DoNotIndex{\hbox,\hss,\if,\if@inlabel,\if@tempswa,\if@twocolumn} % \DoNotIndex{\ifcase} % \DoNotIndex{\ifcat,\iffalse,\ifx,\ignorespaces,\index,\input,\item} % \DoNotIndex{\jobname,\kern,\leavevmode,\leftskip,\let,\llap,\lower} % \DoNotIndex{\m@ne,\next,\newpage,\nobreak,\noexpand,\nonfrenchspacing} % \DoNotIndex{\obeylines,\or,\protect,\raggedleft,\rightskip,\rm,\sc} % \DoNotIndex{\setbox,\setcounter,\small,\space,\string,\strut} % \DoNotIndex{\strutbox} % \DoNotIndex{\thefootnote,\thispagestyle,\topmargin,\trivlist,\tt} % \DoNotIndex{\twocolumn,\typeout,\vss,\vtop,\xdef,\z@} % \DoNotIndex{\,,\@bsphack,\@esphack,\@noligs,\@vobeyspaces,\@xverbatim} % \DoNotIndex{\`,\catcode,\end,\escapechar,\frenchspacing,\glossary} % \DoNotIndex{\hangindent,\hfil,\hfill,\hskip,\hspace,\ht,\it,\langle} % \DoNotIndex{\leaders,\long,\makelabel,\marginpar,\markboth,\mathcode} % \DoNotIndex{\mathsurround,\mbox,\newcount,\newdimen,\newskip} % \DoNotIndex{\nopagebreak} % \DoNotIndex{\parfillskip,\parindent,\parskip,\penalty,\raise,\rangle} % \DoNotIndex{\section,\setlength,\TeX,\topsep,\underline,\unskip,\verb} % \DoNotIndex{\vskip,\vspace,\widetilde,\\,\%,\@date,\@defpar} % \DoNotIndex{\[,\{,\},\]} % \DoNotIndex{\count@,\ifnum,\loop,\today,\uppercase,\uccode} % \DoNotIndex{\baselineskip,\begin,\tw@} % \DoNotIndex{\a,\b,\c,\d,\e,\f,\g,\h,\i,\j,\k,\l,\m,\n,\o,\p,\q} % \DoNotIndex{\r,\s,\t,\u,\v,\w,\x,\y,\z,\A,\B,\C,\D,\E,\F,\G,\H} % \DoNotIndex{\I,\J,\K,\L,\M,\N,\O,\P,\Q,\R,\S,\T,\U,\V,\W,\X,\Y,\Z} % \DoNotIndex{\1,\2,\3,\4,\5,\6,\7,\8,\9,\0} % \DoNotIndex{\!,\#,\$,\&,\',\(,\),\+,\.,\:,\;,\<,\=,\>,\?,\_} % \DoNotIndex{\discretionary,\immediate,\makeatletter,\makeatother} % \DoNotIndex{\meaning,\newenvironment,\par,\relax,\renewenvironment} % \DoNotIndex{\repeat,\scriptsize,\selectfont,\the,\undefined} % \DoNotIndex{\arabic,\do,\makeindex,\null,\number,\show,\write,\@ehc} % \DoNotIndex{\@author,\@ehc,\@ifstar,\@sanitize,\@title,\everypar} % \DoNotIndex{\if@minipage,\if@restonecol,\ifeof,\ifmmode} % \DoNotIndex{\lccode,\newtoks,\onecolumn,\openin,\p@,\SelfDocumenting} % \DoNotIndex{\settowidth,\@resetonecoltrue,\@resetonecolfalse,\bf} % \DoNotIndex{\clearpage,\closein,\lowercase,\@inlabelfalse} % \DoNotIndex{\selectfont,\mathcode,\newmathalphabet,\rmdefault} % \DoNotIndex{\bfdefault} % % \def\fileversion{0.6} % \def\filedate{2011/08/02} % \title{The \textsf{decorule} LaTeX2e package\thanks{% % This document corresponds to \textsf{decorule} % \textit{v.}\ \fileversion, dated \filedate.} % \\[1ex]\Large % A decorative swelled rule} % \author{Peter Flynn\\\normalsize % Silmaril Consultants\\[-4pt]\normalsize % Textual Therapy Division\\\normalsize % (\texttt{peter@silmaril.ie})} % \maketitle % \renewcommand{\abstractname}{Summary}\thispagestyle{empty} % \begin{abstract}\noindent % This package implements a decorative swelled rule using % only a symbol from a font installed with all distributions of % \TeX{}, so it works independently, without the need to install % any additional software or fonts.\par % This is the packaged version of the macro which was % originally published in the `Typographers' Inn' % column in TUGboat \cite{tb97}.\par % This version fixes the bug caused by failing to supply the % correct values for DVI drivers for rendering glyph rotation. % The result now works in Postscript output but DVI viewers may % still display incorrectly.\par % \end{abstract} % \clearpage % \tableofcontents % \clearpage % \section{Swelled rules} % Swelled rules were a popular device in 19th century % typesetting, and were usually done as special sorts from a % typefounder, or in some cases fabricated from combinations of % decorative brass rule cut to calculated lengths.\par % In digital systems, they can be implemented as images or % as glyphs in fonts, but are not usually extensible except by % distortion. This example is constructed programmatically so % that it could be adapted to the width it is required for (that % feature is not implemented in this version and is left as an % exercise to the user).\par % \subsection{Other work} % As discussed in the original article \cite{tb97} there is an \textsf{swrule} package % by Tobias Dussa \cite{dussa} which builds a % geometric lozenge from very fine lines, and there is a paper % by Steve Peter \cite{peter} which describes % a more extensible method using \MP{} for % \ConTeXt{}.\par % \subsection{This solution} % However, it is also possible to produce one using just a % character from a font, combined with some looping in a macro % with careful positioning and kerning. This example was % constructed from the swung dash (\DescribeMacro{\sim}\verb`\sim`) % character in math mode, rotated and scaled to fit in an % asending and then descending series.\par % This package is available from your nearest CTAN % respository in the directory \url{}. The original % example is available at % \url{http://latex.silmaril.ie/packages/decorule}. % All suggestions for improving and extending it are % welcome.\par % \decorule{}\par % \subsection{Bugs} % Rainer adS and Herbert Schulz kindly pointed out on % \url{comp.text.tex}\footnote{% % \url{} % and % \url{}} that it failed when using standard (DVI) % \LaTeX{}, although it was correct when using % \emph{pdflatex}.\par % Attempts to render the DVI with (eg) % \emph{dvipdf} were failing with a % Ghostscript error: \verb`/undefined in \c@sym@rotate`.\par % Heiko Overdiek kindly identified the problem with the % \DescribeMacro{\c@sym@rotate}\verb`\c@sym@rotate` counter, that `it % isn't expandable. The graphics package only uses \texttt{edef}, but in the \texttt{special}, the explicit number is % needed, because PostScript or GhostScript don't know % \TeX{}.'\par % The result now works in Postscript output but DVI % viewers may still display incorrectly.\par % \clearpage % \raggedright % \addtocontents{toc}{\medskip} % \addcontentsline{toc}{section}{\refname} % \bibliography{decorule} % \bibliographystyle{chicago} % \begin{VerbatimOut}{decorule.bib} %<*ignore> @article{tb97, author = {Peter Flynn}, shortauthor = {Flynn}, title = {{Typographers' Inn: Where have all the flowers gone?}}, pages = {21-22}, journal = {{TUGboat}}, volume = {31}, number = {1}, year = {2010} } @article{peter, author = {Steve Peter}, shortauthor = {Peter}, title = {{Swelled rules and \MP{}}}, pages = {193-195}, journal = {{TUGboat}}, volume = {26}, number = {3}, year = {2005} } @misc{dussa, author = {Tobias Dussa}, shortauthor = {Dussa}, title = {{swrule.sty}}, year = {2001}, month = {Oct}, howpublished = {CTAN: \TeX{} Users Group}, url = {http://mirror.ctan.org/macros/generic/misc/swrule.sty} } % % \end{VerbatimOut} % \StopEventually{% % \clearpage % \newgeometry{left=3cm} % \PrintChanges % \clearpage % \PrintIndex} % \newgeometry{left=5cm} % \clearpage % \section{Implementation} % The package consists of a single main macro \texttt{decorule}, which cycles through sizes % of the symbol from minimum to maximum, rotating and scaling % according to values preset here; and then from the maximum % back down to the minimum.\par % \subsection{Preliminary declarations} % \begin{macro}{\sym@min} % Define a counter and a minimum point size to start and % end with. This value is an integer, hence a counter is % used.\par % \begin{macrocode} \newcounter{sym@min} \setcounter{sym@min}{1} % \end{macrocode} % \end{macro} % \begin{macro}{\sym@max} % Do the same for the maximum point size that the rule % will get to in the middle.\par % \begin{macrocode} \newcounter{sym@max} \setcounter{sym@max}{20} % \end{macrocode} % \end{macro} % \begin{macro}{\sym@step} % Set the step size or the increments of the glyph in % whole points.\par % \begin{macrocode} \newcounter{sym@step} \setcounter{sym@step}{1} % \end{macrocode} % \end{macro} % \begin{macro}{\sym@rotate} % Specify the amount in (whole) degrees by which we will % need to rotate the symbol to make each glyph mesh with the % previous one. The use of the % \DescribeMacro{\thesym@rotate}\verb`\thesym@rotate` form is a bugfix due to % Heiko Oberdiek in \url{news:comp.text.tex} at \textlangle\verb`j0sonk$q9v$1@dont-email.me`\textrangle{}.\par % \changes{v0.6}{2011/08/02}{Added fix from Heiko for sym@rotate} % \begin{macrocode} \newcounter{sym@rotate} \renewcommand*{\thesym@rotate}{\the\c@sym@rotate}% \setcounter{sym@rotate}{45} % \end{macrocode} % \end{macro} % \begin{macro}{\sym@size} % Define a counter to hold the current (calculated) size % as we loop through the sizes.\par % \begin{macrocode} \newcounter{sym@size} % \end{macrocode} % \end{macro} % \begin{macro}{\sym@raise} % Define a length to hold the amount calculated at each % step to raise/lower each glyph by (because we rotate them as % we go).\par % \begin{macrocode} \newlength{\sym@raise} % \end{macrocode} % \end{macro} % \begin{macro}{\sym@skip} % Define another length to hold the amount calculated to % backspace between successive glyphs to make sure they % touch.\par % \begin{macrocode} \newlength{\sym@skip} % \end{macrocode} % \end{macro} % \begin{macro}{\sym@symbol} % Lastly, define the font character to use as the glyph. % For the swelled rule we use the swung dash.\par % \begin{macrocode} \newcommand{\sym@symbol}{$\sim$} % \end{macrocode} % \end{macro} % \subsection{The main macro} % \begin{macro}{\decorule} % Now we can define the macro that does the actual % work.\par % \changes{v0.3}{2011/06/11}{Rearranged spacing to suit the .dtx layout} % \changes{v0.5}{2011/07/28}{Added par breaks and centering} % \begin{macrocode} \newcommand{\decorule}{\par\begingroup\centering % \end{macrocode} % Start by setting the initial size to the minimum size % declared above:\par % \begin{macrocode} \setcounter{sym@size}{\c@sym@min} % \end{macrocode} % Go through the steps up to, but not including, the % maximum size:\par % \begin{macrocode} \loop % \end{macrocode} % Raise each glyph above the baseline by half the % point size that we will use:\par % \begin{macrocode} \setlength{\sym@raise}{\c@sym@size pt}% \divide\sym@raise by2 % \end{macrocode} % Raise, rotate, and (in this case of % \DescribeMacro{\sim}\verb`\sim`) reflect the glyph in a \texttt{hbox} of its own point size, % using \texttt{hss} to prevent % \TeX{} squawking. Heiko Oberdiek also identified the fix of % using \DescribeMacro{\thesym@rotate}\verb`\thesym@rotate` instead of % \DescribeMacro{\c@sym@rotate}\verb`\c@sym@rotate` for the box rotation, here % and elsewhere below.\par % \changes{v0.6}{2011/08/02}{Changed c@sym@rotate to thesym@rotate} % \begin{macrocode} \raisebox{-\sym@raise}{% \fontsize{\c@sym@size}{0}\selectfont \rotatebox{\thesym@rotate}{\reflectbox{\hbox to\c@sym@size pt{\hss\sym@symbol\hss}}}}% % \end{macrocode} % Calculate the amount to backspace as \nicefrac23 of the % current size:\par % \begin{macrocode} \setlength{\sym@skip}{\c@sym@size pt}% \divide\sym@skip by3 \multiply\sym@skip by2 \kern-\sym@skip % \end{macrocode} % Increment the counter and repeat:\par % \begin{macrocode} \addtocounter{sym@size}{\c@sym@step}% \ifnum\c@sym@size<\c@sym@max \repeat % \end{macrocode} % Now do the same for the sole occurrence of the maximum % size:\par % \changes{v0.6}{2011/08/02}{Changed c@sym@rotate to thesym@rotate} % \begin{macrocode} \setlength{\sym@raise}{\c@sym@max pt}% \divide\sym@raise by2 \raisebox{-\sym@raise}{% \fontsize{\c@sym@max}{0}\selectfont \rotatebox{\thesym@rotate}{\reflectbox{\hbox to\c@sym@max pt{\hss\sym@symbol\hss}}}}% % \end{macrocode} % Start back down following the exact same pattern in % reverse, using the current size (one step less than the % maximum just used). The value has been left undisturbed % from the last loop of the outward journey. This time, % however, do the kerning \emph{before} the % glyph.\par % \changes{v0.6}{2011/08/02}{Changed c@sym@rotate to thesym@rotate} % \begin{macrocode} \loop \setlength{\sym@skip}{\c@sym@size pt}% \divide\sym@skip by3 \multiply\sym@skip by2 \kern-\sym@skip \setlength{\sym@raise}{\c@sym@size pt}% \divide\sym@raise by2 \raisebox{-\sym@raise}{% \fontsize{\c@sym@size}{0}\selectfont \rotatebox{\thesym@rotate}{\reflectbox{\hbox to\c@sym@size pt{\hss\sym@symbol\hss}}}}% \addtocounter{sym@size}{-\c@sym@step}% \ifnum\c@sym@size>\c@sym@min \repeat % \end{macrocode} % Finally, do the minimum size:\par % \changes{v0.6}{2011/08/02}{Changed c@sym@rotate to thesym@rotate} % \begin{macrocode} \setlength{\sym@skip}{\c@sym@min pt}% \divide\sym@skip by3 \multiply\sym@skip by2 \kern-\sym@skip \setlength{\sym@raise}{\c@sym@min pt}% \divide\sym@raise by2 \raisebox{-\sym@raise}{% \fontsize{\c@sym@min}{0}\selectfont \rotatebox{\thesym@rotate}{\reflectbox{\hbox to\c@sym@min pt{\hss\sym@symbol\hss}}}}% \par\endgroup} % \end{macrocode} % \end{macro} % \appendix % \newgeometry{left=3cm} % \clearpage % \section{The \LaTeX{} Project Public License}\label{LPPL:LPPL} % \begin{quotation}\small\noindent % Everyone is allowed to distribute verbatim copies of this % license document, but modification of it is not allowed. % \end{quotation} % \subsection{Preamble}\label{LPPL:Preamble} % The \LaTeX{} Project Public License (\textsc{lppl}) % is the primary license under which the \LaTeX{} kernel and the % base \LaTeX{} packages are distributed.\par % You may use this license for any work of which you hold the % copyright and which you wish to distribute. This license may be % particularly suitable if your work is \TeX{}-related (such as a % \LaTeX{} package), but it is written in such a way that you can % use it even if your work is unrelated to \TeX{}.\par % The section \emph{Whether and How to Distribute Works under This % License}, below, gives instructions, examples, and % recommendations for authors who are considering distributing % their works under this license.\par % This license gives conditions under which a work may be % distributed and modified, as well as conditions under which % modified versions of that work may be distributed.\par % We, the \LaTeX{3} Project, believe that the conditions below % give you the freedom to make and distribute modified versions of % your work that conform with whatever technical specifications % you wish while maintaining the availability, integrity, and % reliability of that work. If you do not see how to achieve your % goal while meeting these conditions, then read the document % \url{cfgguide.tex} and \url{modguide.tex} in the base \LaTeX{} % distribution for suggestions.\par % \subsection{Definitions}\label{LPPL:Definitions} % In this license document the following terms are used:\par % \begingroup\raggedright % \begin{description} % \item[Work:]Any work being distributed under this License. % \item[Derived Work:]Any work that under any applicable law is derived from % the Work. % \item[Modification:]Any procedure that produces a Derived Work under any % applicable law~--- for example, the production of a file % containing an original file associated with the Work or a % significant portion of such a file, either verbatim or % with modifications and/or translated into another % language. % \item[Modify:]To apply any procedure that produces a Derived Work % under any applicable law. % \item[Distribution:]Making copies of the Work available from one person to % another, in whole or in part. Distribution includes (but % is not limited to) making any electronic components of the % Work accessible by file transfer protocols such as % \textsc{ftp} or \textsc{http} or by % shared file systems such as Sun's Network File System % (\textsc{nfs}). % \item[Compiled Work:]A version of the Work that has been processed into a % form where it is directly usable on a computer system. % This processing may include using installation facilities % provided by the Work, transformations of the Work, copying % of components of the Work, or other activities. Note that % modification of any installation facilities provided by % the Work constitutes modification of the Work. % \item[Current Maintainer:]A person or persons nominated as such within the Work. % If there is no such explicit nomination then it is the % `Copyright Holder' under any applicable % law. % \item[Base Interpreter:]A program or process that is normally needed for % running or interpreting a part or the whole of the % Work.\par % A Base Interpreter may depend on external components % but these are not considered part of the Base Interpreter % provided that each external component clearly identifies % itself whenever it is used interactively. Unless % explicitly specified when applying the license to the % Work, the only applicable Base Interpreter is a % `\LaTeX{}-Format' or in the case of files % belonging to the `\LaTeX{}-format' a program % implementing the `\TeX{} language'. % \end{description}\endgroup % \subsection{Conditions on Distribution and Modification}\label{LPPL:Conditions} % \begin{enumerate} % \item Activities other than distribution and/or modification % of the Work are not covered by this license; they are % outside its scope. In particular, the act of running the % Work is not restricted and no requirements are made % concerning any offers of support for the Work. % \item \label{LPPL:item:distribute}You may distribute a complete, unmodified copy of the % Work as you received it. Distribution of only part of the % Work is considered modification of the Work, and no right to % distribute such a Derived Work may be assumed under the % terms of this clause. % \item You may distribute a Compiled Work that has been % generated from a complete, unmodified copy of the Work as % distributed under Clause~\vref{LPPL:item:distribute} above, as % long as that Compiled Work is distributed in such a way that % the recipients may install the Compiled Work on their system % exactly as it would have been installed if they generated a % Compiled Work directly from the Work. % \item \label{LPPL:item:currmaint}If you are the Current Maintainer of the Work, you may, % without restriction, modify the Work, thus creating a % Derived Work. You may also distribute the Derived Work % without restriction, including Compiled Works generated from % the Derived Work. Derived Works distributed in this manner % by the Current Maintainer are considered to be updated % versions of the Work. % \item If you are not the Current Maintainer of the Work, you % may modify your copy of the Work, thus creating a Derived % Work based on the Work, and compile this Derived Work, thus % creating a Compiled Work based on the Derived Work. % \item \label{LPPL:item:conditions}If you are not the Current Maintainer of the Work, you % may distribute a Derived Work provided the following % conditions are met for every component of the Work unless % that component clearly states in the copyright notice that % it is exempt from that condition. Only the Current % Maintainer is allowed to add such statements of exemption to % a component of the Work. % \begin{enumerate} % \item If a component of this Derived Work can be a direct % replacement for a component of the Work when that % component is used with the Base Interpreter, then, % wherever this component of the Work identifies itself to % the user when used interactively with that Base % Interpreter, the replacement component of this Derived % Work clearly and unambiguously identifies itself as a % modified version of this component to the user when used % interactively with that Base Interpreter. % \item Every component of the Derived Work contains % prominent notices detailing the nature of the changes to % that component, or a prominent reference to another file % that is distributed as part of the Derived Work and that % contains a complete and accurate log of the % changes. % \item No information in the Derived Work implies that any % persons, including (but not limited to) the authors of % the original version of the Work, provide any support, % including (but not limited to) the reporting and % handling of errors, to recipients of the Derived Work % unless those persons have stated explicitly that they do % provide such support for the Derived Work. % \item You distribute at least one of the following with % the Derived Work: % \begin{enumerate} % \item A complete, unmodified copy of the Work; if your % distribution of a modified component is made by % offering access to copy the modified component from % a designated place, then offering equivalent access % to copy the Work from the same or some similar place % meets this condition, even though third parties are % not compelled to copy the Work along with the % modified component; % \item Information that is sufficient to obtain a % complete, unmodified copy of the Work. % \end{enumerate} % \end{enumerate} % \item If you are not the Current Maintainer of the Work, you % may distribute a Compiled Work generated from a Derived % Work, as long as the Derived Work is distributed to all % recipients of the Compiled Work, and as long as the % conditions of Clause~\vref{LPPL:item:conditions}, above, are met % with regard to the Derived Work. % \item The conditions above are not intended to prohibit, and % hence do not apply to, the modification, by any method, of % any component so that it becomes identical to an updated % version of that component of the Work as it is distributed % by the Current Maintainer under Clause~\vref{LPPL:item:currmaint}, above. % \item Distribution of the Work or any Derived Work in an % alternative format, where the Work or that Derived Work (in % whole or in part) is then produced by applying some process % to that format, does not relax or nullify any sections of % this license as they pertain to the results of applying that % process. % \item % \begin{enumerate} % \item A Derived Work may be distributed under a different % license provided that license itself honors the % conditions listed in Clause~\vref{LPPL:item:conditions} above, in % regard to the Work, though it does not have to honor the % rest of the conditions in this license. % \item If a Derived Work is distributed under a different % license, that Derived Work must provide sufficient % documentation as part of itself to allow each recipient % of that Derived Work to honor the restrictions in % Clause~\vref{LPPL:item:conditions} above, concerning % changes from the Work. % \end{enumerate} % \item This license places no restrictions on works that are % unrelated to the Work, nor does this license place any % restrictions on aggregating such works with the Work by any % means. % \item Nothing in this license is intended to, or may be used % to, prevent complete compliance by all parties with all % applicable laws. % \end{enumerate} % \subsection{No Warranty}\label{LPPL:Warranty} % There is no warranty for the Work. Except when otherwise % stated in writing, the Copyright Holder provides the Work % `as is', without warranty of any kind, either % expressed or implied, including, but not limited to, the implied % warranties of merchantability and fitness for a particular % purpose. The entire risk as to the quality and performance of % the Work is with you. Should the Work prove defective, you % assume the cost of all necessary servicing, repair, or % correction.\par % In no event unless required by applicable law or agreed to % in writing will The Copyright Holder, or any author named in the % components of the Work, or any other party who may distribute % and/or modify the Work as permitted above, be liable to you for % damages, including any general, special, incidental or % consequential damages arising out of any use of the Work or out % of inability to use the Work (including, but not limited to, % loss of data, data being rendered inaccurate, or losses % sustained by anyone as a result of any failure of the Work to % operate with any other programs), even if the Copyright Holder % or said author or said other party has been advised of the % possibility of such damages.\par % \subsection{Maintenance of The Work}\label{LPPL:Maintenance} % The Work has the status `author-maintained' % if the Copyright Holder explicitly and prominently states near % the primary copyright notice in the Work that the Work can only % be maintained by the Copyright Holder or simply that it is % `author-maintained'.\par % The Work has the status `maintained' if there % is a Current Maintainer who has indicated in the Work that they % are willing to receive error reports for the Work (for example, % by supplying a valid e-mail address). It is not required for the % Current Maintainer to acknowledge or act upon these error % reports.\par % The Work changes from status `maintained' to % `unmaintained' if there is no Current Maintainer, % or the person stated to be Current Maintainer of the work cannot % be reached through the indicated means of communication for a % period of six months, and there are no other significant signs % of active maintenance.\par % You can become the Current Maintainer of the Work by % agreement with any existing Current Maintainer to take over this % role.\par % If the Work is unmaintained, you can become the Current % Maintainer of the Work through the following steps:\par % \begin{enumerate} % \item Make a reasonable attempt to trace the Current % Maintainer (and the Copyright Holder, if the two differ) % through the means of an Internet or similar search. % \item If this search is successful, then enquire whether the % Work is still maintained. % \begin{enumerate} % \item If it is being maintained, then ask the Current % Maintainer to update their communication data within one % month. % \item \label{LPPL:item:intention}If the search is unsuccessful or no action to resume % active maintenance is taken by the Current Maintainer, % then announce within the pertinent community your % intention to take over maintenance. (If the Work is a % \LaTeX{} work, this could be done, for example, by % posting to \url{news:comp.text.tex}.) % \end{enumerate} % \item % \begin{enumerate} % \item If the Current Maintainer is reachable and agrees to % pass maintenance of the Work to you, then this takes % effect immediately upon announcement. % \item \label{LPPL:item:announce}If the Current Maintainer is not reachable and the % Copyright Holder agrees that maintenance of the Work be % passed to you, then this takes effect immediately upon % announcement. % \end{enumerate} % \item \label{LPPL:item:change}If you make an `intention announcement' % as described in~\vref{LPPL:item:intention} above and after three % months your intention is challenged neither by the Current % Maintainer nor by the Copyright Holder nor by other people, % then you may arrange for the Work to be changed so as to % name you as the (new) Current Maintainer. % \item If the previously unreachable Current Maintainer becomes % reachable once more within three months of a change % completed under the terms of~\vref{LPPL:item:announce} % or~\vref{LPPL:item:change}, then that % Current % Maintainer must become or remain the Current Maintainer upon % request provided they then update their communication data % within one month. % \end{enumerate} % A change in the Current Maintainer does not, of itself, % alter the fact that the Work is distributed under the % \textsc{lppl} license.\par % If you become the Current Maintainer of the Work, you should % immediately provide, within the Work, a prominent and % unambiguous statement of your status as Current Maintainer. You % should also announce your new status to the same pertinent % community as in~\vref{LPPL:item:intention} % above.\par % \subsection{Whether and How to Distribute Works under This % License}\label{LPPL:Distribute} % This section contains important instructions, examples, and % recommendations for authors who are considering distributing % their works under this license. These authors are addressed as % `you' in this section.\par % \subsubsection{Choosing This License or Another License}\label{LPPL:Choosing} % If for any part of your work you want or need to use % \emph{distribution} conditions that differ % significantly from those in this license, then do not refer to % this license anywhere in your work but, instead, distribute % your work under a different license. You may use the text of % this license as a model for your own license, but your license % should not refer to the \textsc{lppl} or otherwise % give the impression that your work is distributed under the % \textsc{lppl}.\par % The document \url{modguide.tex} in the base \LaTeX{} % distribution explains the motivation behind the conditions of % this license. It explains, for example, why distributing % \LaTeX{} under the \textsc{gnu} General Public % License (\textsc{gpl}) was considered inappropriate. % Even if your work is unrelated to \LaTeX{}, the discussion in % \url{modguide.tex} may still be % relevant, and authors intending to distribute their works % under any license are encouraged to read it.\par % \subsubsection{A Recommendation on Modification Without % Distribution}\label{LPPL:WithoutDistribution} % It is wise never to modify a component of the Work, even % for your own personal use, without also meeting the above % conditions for distributing the modified component. While you % might intend that such modifications will never be % distributed, often this will happen by accident~--- you may % forget that you have modified that component; or it may not % occur to you when allowing others to access the modified % version that you are thus distributing it and violating the % conditions of this license in ways that could have legal % implications and, worse, cause problems for the community. It % is therefore usually in your best interest to keep your copy % of the Work identical with the public one. Many works provide % ways to control the behavior of that work without altering any % of its licensed components.\par % \subsubsection{How to Use This License}\label{LPPL:HowTo} % To use this license, place in each of the components of % your work both an explicit copyright notice including your % name and the year the work was authored and/or last % substantially modified. Include also a statement that the % distribution and/or modification of that component is % constrained by the conditions in this license.\par % Here is an example of such a notice and statement:\par % \begin{verbatim} %%% pig.dtx %%% Copyright 2005 M. Y. Name %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 %% 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.3 or later is part of all distributions of LaTeX %% version 2005/12/01 or later. %% %% This work has the LPPL maintenance status `maintained'. %% %% The Current Maintainer of this work is M. Y. Name. %% %% This work consists of the files pig.dtx and pig.ins %% and the derived file pig.sty. % \end{verbatim} % Given such a notice and statement in a file, the % conditions given in this license document would apply, with % the `Work' referring to the three files % \url{pig.dtx}, \url{pig.ins}, and \url{pig.sty} (the last being generated % from \url{pig.dtx} using \url{pig.ins}), the `Base % Interpreter' referring to any % `\LaTeX{}-Format', and both `Copyright % Holder' and `Current Maintainer' % referring to the person % M.~Y.~Name\index{M.~Y.~Name}.\par % If you do not want the Maintenance section of % \textsc{lppl} to apply to your Work, change % `maintained' above into % `author-maintained'. However, we recommend that % you use `maintained' as the Maintenance % section was added in order to ensure that your Work remains % useful to the community even when you can no longer maintain % and support it yourself.\par % \subsubsection{Derived Works That Are Not Replacements}\label{LPPL:NotReplacements} % Several clauses of the \textsc{lppl} specify % means to provide reliability and stability for the user % community. They therefore concern themselves with the case % that a Derived Work is intended to be used as a (compatible or % incompatible) replacement of the original Work. If this is not % the case (e.g., if a few lines of code are reused for a % completely different task), then clauses 6b and 6d shall not % apply.\par % \subsubsection{Important Recommendations}\label{LPPL:Recommendations} % \paragraph{Defining What Constitutes the Work} % The \textsc{lppl} requires that distributions % of the Work contain all the files of the Work. It is % therefore important that you provide a way for the licensee % to determine which files constitute the Work. This could, % for example, be achieved by explicitly listing all the files % of the Work near the copyright notice of each file or by % using a line such as:\par % \begin{verbatim} %% This work consists of all files listed in manifest.txt. % \end{verbatim} % in that place. In the absence of an unequivocal list it % might be impossible for the licensee to determine what is % considered by you to comprise the Work and, in such a case, % the licensee would be entitled to make reasonable % conjectures as to which files comprise the Work.\par % \Finale \endinput