From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 2 Sep 2019 13:46:59 +0900 Subject: Initial commit --- macros/latex/contrib/decorule/MANIFEST | 7 + macros/latex/contrib/decorule/README | 87 +++ macros/latex/contrib/decorule/decorule.dtx | 838 +++++++++++++++++++++++++++++ macros/latex/contrib/decorule/decorule.ins | 36 ++ macros/latex/contrib/decorule/decorule.pdf | Bin 0 -> 423349 bytes 5 files changed, 968 insertions(+) create mode 100644 macros/latex/contrib/decorule/MANIFEST create mode 100644 macros/latex/contrib/decorule/README create mode 100644 macros/latex/contrib/decorule/decorule.dtx create mode 100644 macros/latex/contrib/decorule/decorule.ins create mode 100644 macros/latex/contrib/decorule/decorule.pdf (limited to 'macros/latex/contrib/decorule') diff --git a/macros/latex/contrib/decorule/MANIFEST b/macros/latex/contrib/decorule/MANIFEST new file mode 100644 index 0000000000..5315031b5f --- /dev/null +++ b/macros/latex/contrib/decorule/MANIFEST @@ -0,0 +1,7 @@ +README +MANIFEST +decorule.dtx +decorule.ins +decorule.pdf +decorule.dvi +decorule.ps.gz diff --git a/macros/latex/contrib/decorule/README b/macros/latex/contrib/decorule/README new file mode 100644 index 0000000000..fa7fef1c5a --- /dev/null +++ b/macros/latex/contrib/decorule/README @@ -0,0 +1,87 @@ +This is the README file for the decorule package. + +Summary + +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. + +This is the packaged version of the macro which was +originally published in the 'Typographers' Inn' +column in TUGboat (Flynn 2010). + +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. + +INSTALLATION + +To install this package, run LaTeX on the decorule.ins file. +This will create the package file decorule.sty, which you must +move to a directory (folder) where LaTeX will find it. + +For personal installations, that is: + +(Mac) ~/Library/texmf/tex/latex/decorule +(Unix / GNU/Linux) ~/texmf/tex/latex/decorule +(MS-Windows 95/XP) C:\texmf\tex\latex\decorule +(Windows 7/8) Computer\System\Users\your~name\texmf\tex\latex\decorule + [replacing your-name with your account name] + +Create that directory (folder) if it does not exist. + +If you are a Windows user with MiKTeX and this is your +first time installing packages by hand, you must also +add the texmf folder to MiKTeX's list of supported +folders (in the Roots tab of the MiKTeX Maintenance/Settings +program), and then update the FNDB in the General tab. + +For shared installations (multi-user systems), identify +the shared local directory with the command + + kpsewhich -expand-var '$TEXMFLOCAL' + +This will give you the texmf location within which you must +create the tex/latex/decorule subdirectories. Do not forget +to run the texhash or mktexlsr filename indexer program +after installation, otherwise the files will not be findable. + +USAGE + +Add this line to the Preamble of your LateX document: + + \usepackage[options]{decorule} + +Read the documentation for the options available. + + +BUGS + +None known of. + + +COPYRIGHT + +%% decorule.* +%% 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. + +Please send comments and bug reports to the maintainer. diff --git a/macros/latex/contrib/decorule/decorule.dtx b/macros/latex/contrib/decorule/decorule.dtx new file mode 100644 index 0000000000..80f70bd597 --- /dev/null +++ b/macros/latex/contrib/decorule/decorule.dtx @@ -0,0 +1,838 @@ +% \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 diff --git a/macros/latex/contrib/decorule/decorule.ins b/macros/latex/contrib/decorule/decorule.ins new file mode 100644 index 0000000000..b6080f8753 --- /dev/null +++ b/macros/latex/contrib/decorule/decorule.ins @@ -0,0 +1,36 @@ +%%% decorule.ins +%% 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. +% +\input docstrip.tex +\keepsilent +\usedir{tex/latex/decorule} +\preamble +This file was generated from an XML master source. +Amendments and corrections should be notified to the maintiner +for inclusion in future versions. +\endpreamble +\generate{\file{decorule.sty}{\from{decorule.dtx}{package}}} +\obeyspaces +\Msg{********************************************************} +\Msg{** **} +\Msg{** Read the documentation before using this package. **} +\Msg{** **} +\Msg{********************************************************} +\endbatchfile diff --git a/macros/latex/contrib/decorule/decorule.pdf b/macros/latex/contrib/decorule/decorule.pdf new file mode 100644 index 0000000000..6cdb2bd06d Binary files /dev/null and b/macros/latex/contrib/decorule/decorule.pdf differ -- cgit v1.2.3