% \iffalse meta-comment % % Transformed from decorule.xml by ClassPack db2dtx.xsl % version 1.28 (2024-02-21) on Monday 26 February 2024 at 13:56:06 % % decorule.dtx is copyright © 2010-2024 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 any other ancillary files listed in the MANIFEST. % % \fi % \iffalse %\NeedsTeXFormat{LaTeX2e}[2009/09/24] %\ProvidesPackage{decorule}[2024/01/04 v0.9 % A decorative swelled rule from type] %<*driver> \PassOptionsToPackage{svgnames}{xcolor}% because dependencies dox hypdoc hyperref classpack requires svgnames \providecommand{\CPKdocname}{decorule} \providecommand{\CPKdoctype}{package} \PassOptionsToPackage{british}{babel}% use of other (non-en) languages \documentclass[12pt]{ltxdoc} %% %% Packages for documentation %% \usepackage{dox}% \doxitem[idxtype=attribute]{Attribute}{CPKattribute}{attributes} \doxitem[idxtype=attvalue]{AttValue}{CPKattributevalue}{attribute values} \doxitem[macrolike,idxtype=box]{Box}{CPKbox}{boxes} \doxitem[idxtype=class]{Class}{CPKclass}{classes} \doxitem[idxtype=color]{Color}{CPKcolor}{colors} \doxitem[idxtype=comment]{Comment}{CPKcomment}{comments} \doxitem[idxtype=counter]{Counter}{CPKcounter}{counters} \doxitem[idxtype=DTD]{DTD}{CPKdtd}{DTDs/Schemas} \doxitem[idxtype=element]{Element}{CPKelement}{element types} \doxitem[idxtype=entity]{Entity}{CPKentity}{entities} \doxitem[idxtype=error]{Error}{CPKerror}{errors} \doxitem[idxtype=field]{Field}{CPKfield}{fields} \doxitem[idxtype=file]{File}{CPKfile}{files} \doxitem[idxtype=font]{Font}{CPKfont}{fonts} \doxitem[idxtype=function]{Function}{CPKfunction}{functions} \doxitem[idxtype=language]{Language}{CPKlanguage}{languages} \doxitem[idxtype=length]{Length}{CPKlength}{lengths} \doxitem[idxtype=mode]{Mode}{CPKmode}{modes} \doxitem[idxtype=option]{Option}{CPKoption}{options} \doxitem[idxtype=package]{Package}{CPKpackage}{packages} \doxitem[idxtype=parameter]{Parameter}{CPKparameter}{parameters} \doxitem[idxtype=rubric]{Rubric}{CPKrubric}{rubrics} \doxitem[idxtype=setting]{Setting}{CPKsetting}{settings} \doxitem[macrolike,idxtype=switch]{Switch}{CPKswitch}{switches} \doxitem[idxtype=template]{Template}{CPKtemplate}{templates} \doxitem[idxtype=typeface]{Typeface}{CPKtypeface}{typefaces} \doxitem[idxtype=variable]{Variable}{CPKvariable}{variables} \newcommand{\LabelFont}[2][\relax]{\strut {\fontencoding\encodingdefault \fontfamily{lmtt}\fontseries{lc}#1\selectfont#2}} \let\CPKmacro\macro\let\CPKendmacro\endmacro \let\CPKenvironment\environment\let\CPKendenvironment\endenvironment \newlength{\CPKannotationindent}\setlength{\CPKannotationindent}{0pt} \makeatletter \def\PrintAttributeName#1{\LabelFont{@#1}} \makeatother \def\PrintAttributeValueName#1{\LabelFont{"#1"}} \def\PrintClassName#1{\LabelFont[\fontfamily{lmss}]{#1}} \def\PrintColorName#1{\LabelFont[\color{#1}]{#1}} \def\PrintCommentName#1{\LabelFont[\color{LightGrey}]{#1}} \def\PrintCounterName#1{\LabelFont{#1}} \def\PrintDTDName#1{\LabelFont{#1}} \def\PrintElementName#1{\LabelFont{<#1>}} \def\PrintEntityName#1{\LabelFont{\}} \def\PrintEnvironmentName#1{\LabelFont[\fontfamily{lmss}\selectfont]{#1}} \def\PrintErrorName#1{\LabelFont[\color{Red}!]{#1}} \def\PrintFileName#1{\LabelFont{#1}} \def\PrintFunctionName#1{\LabelFont[\bfseries\itshape]{#1}} \def\PrintLanguageName#1{\LabelFont{#1}} \def\PrintLengthName#1{\LabelFont{#1}} \def\PrintMacroName#1{\LabelFont{#1}} \def\PrintModeName#1{\LabelFont[\sffamily]{\textlangle#1\textrangle}} \def\PrintOptionName#1{\LabelFont{#1}} \def\PrintPackageName#1{\LabelFont{#1}} \def\PrintSwitchName#1{\LabelFont{#1}} \def\PrintTemplateName#1{\LabelFont{#1}} \def\PrintVariableName#1{\LabelFont{#1}\hspace{\CPKannotationindent}} \def\PrintParameterName#1{\LabelFont{#1}} \def\PrintFieldName#1{\LabelFont{#1}} \usepackage{fontspec}% \makeatletter \newcommand{\printexternalcurrentfont}{% \expandafter\format@externalcurrentfont\fontname\font:\@nil}% \def\format@externalcurrentfont[#1]:#2\@nil{% \texttt{\@ifnextchar"{\@gobble}{}#1}% }% \makeatother %% fontenc (1.006) omitted in favour of fontspec %% inputenc (1.007) omitted in favour of fontspec %% inputenc (1.009) omitted in favour of fontspec \usepackage{noto}% \usepackage{bbding}% \usepackage{mflogo}% \usepackage[british]{babel}% \usepackage[backend=biber,doi=true, isbn=true,url=true,uniquename=false,style=apa]{biblatex}% \makeatletter \AtBeginDocument{% \setlength{\bibitemsep}{1ex}% \setlength{\bibnamesep}{1.5\itemsep}% \defbibheading{shortbib}[References]% {\section{#1}\parindent0pt}} \@ifpackagewith{babel}{british}{% \DeclareLanguageMapping{british}% {british-apa}}{\relax} \makeatother \makeatletter \providetoggle{blx@skipbiblist} \makeatother \usepackage{csquotes}% \usepackage{array}% \usepackage{calc}% \makeatletter {\scriptsize \global\advance\@totalleftmargin by1em \global\advance\MacroIndent by.5em} \makeatother \usepackage{ccaption}% \captionnamefont{\bfseries} \captionstyle{\raggedright} \usepackage[inline]{enumitem}% \setlist[description]{style=unboxed,font=\sffamily\bfseries} \setlist[itemize]{leftmargin=2em} \setlist[enumerate]{leftmargin=2em} \usepackage{fancyvrb}% \usepackage{relsize}% \usepackage{textcase}% \usepackage{float}% \renewcommand{\topfraction}{.85} \renewcommand{\bottomfraction}{.7} \renewcommand{\textfraction}{.15} \renewcommand{\floatpagefraction}{.66} \renewcommand{\dbltopfraction}{.66} \renewcommand{\dblfloatpagefraction}{.66} \setcounter{topnumber}{9} \setcounter{bottomnumber}{9} \setcounter{totalnumber}{20} \setcounter{dbltopnumber}{9} \usepackage[level]{fmtcount}% \usepackage[a4paper,left=35mm,top=25mm, textwidth=150mm,textheight=229mm,headheight=15pt]{geometry}% \usepackage{fancyhdr}% \renewcommand{\MakeUppercase}{\relax} \pagestyle{fancy} \fancyhead[L]{\sffamily\footnotesize\rightmark} \fancyhead[R]{\sffamily\footnotesize\thepage} \fancyfoot[C]{} \fancyfoot[L]{\sffamily\footnotesize\leftmark} \fancyfoot[R]{\sffamily\footnotesize The \LaTeX\ \textrm{\CPKdocname} \CPKdoctype} \renewcommand{\headrulewidth}{0pt} \renewcommand{\footrulewidth}{0pt} \usepackage{graphicx}% \usepackage{listings}% \lstdefinelanguage{dummy} {morekeywords={dummy}} \lstdefinelanguage{LaTeXe}[LaTeX]{TeX} {morekeywords = {selectlanguage,foreignlanguage, textbrokenbar,textlangle,textrangle,subsection,url, chapter,tableofcontents,part,subsubsection,paragraph, subparagraph,maketitle,setlength,listoffigures, listoftables,color,arraybackslash,includegraphics, textcite,parencite,graphicspath,lstinline, DeclareLanguageMapping,textcolor,definecolor,colorbox, fcolorbox,RequirePackage,PassOptionsToPackage}} \lstset{defaultdialect=LaTeXe,frame=single, framesep=.5em,backgroundcolor=\color{AliceBlue}, rulecolor=\color{LightSteelBlue},framerule=1pt} \lstnewenvironment{listingsdoc} {\lstset{language={[LaTeX]TeX}}} {} \newcommand\basicdefault[1]{\footnotesize \color{Black}\ttfamily#1} \lstset{basicstyle=\basicdefault{\spaceskip.5em}} \lstset{literate= {§}{{\S}}1 {©}{{\raisebox{.125ex}{\copyright}\enspace}}1 {«}{{\guillemotleft}}1 {»}{{\guillemotright}}1 {Á}{{\'A}}1 {Ä}{{\"A}}1 {É}{{\'E}}1 {Í}{{\'I}}1 {Ó}{{\'O}}1 {Ö}{{\"O}}1 {Ú}{{\'U}}1 {Ü}{{\"U}}1 {ß}{{\ss}}2 {à}{{\`a}}1 {á}{{\'a}}1 {ä}{{\"a}}1 {é}{{\'e}}1 {í}{{\'i}}1 {ó}{{\'o}}1 {ö}{{\"o}}1 {ú}{{\'u}}1 {ü}{{\"u}}1 {¹}{{\textsuperscript1}}1 {²}{{\textsuperscript2}}1 {³}{{\textsuperscript3}}1 {ı}{{\i}}1 {—}{{---}}1 {’}{{'}}1 {…}{{\dots}}1 {➝}{{$leftarrow$}}1 {⮠}{{$\hookleftarrow$}}1 {␣}{{\textvisiblespace}}1, keywordstyle=\color{DarkCyan}\bfseries, identifierstyle=\color{DarkRed}, commentstyle=\color{Gray}\upshape, stringstyle=\color{DarkBlue}\upshape, emphstyle=\color{DarkGreen}\upshape, showstringspaces=false, columns=fullflexible, keepspaces=true} \lstloadlanguages{LaTeXe} \lstloadlanguages{dummy} \usepackage{ltxcmds}% \usepackage{makeidx}% \makeindex \usepackage{parskip}% \usepackage{sectsty}% \allsectionsfont{\sffamily\raggedright} \renewcommand*{\descriptionlabel}[1]{\hspace\labelsep \sffamily\bfseries #1} \usepackage{url}% \AtBeginDocument{\urlstyle{tt}} \usepackage{varioref}% \vrefwarning \labelformat{appendix}{Appendix~#1} \makeatletter \labelformat{chapter}{\@chapapp~#1} \makeatother \labelformat{section}{section~#1} \labelformat{subsection}{section~#1} \labelformat{subsubsection}{section~#1} \labelformat{paragraph}{section~#1} \labelformat{figure}{Figure~#1} \labelformat{table}{Table~#1} \labelformat{item}{item~#1} \renewcommand{\reftextcurrent}{on this page} \def\reftextafter{on the \reftextvario{next}{following} page} \usepackage{xcolor}% svgnames (1.126)% \makeatletter \@ifundefined{T}{% \newcommand{\T}[2]{{\fontencoding{T1}% \selectfont#2}}}{} \makeatother \usepackage{classpack}% \usepackage{hypdoc}% \hypersetup{linkcolor=DarkGreen,citecolor=DarkRed,urlcolor=Blue,colorlinks=true} \makeatletter \@ifpackageloaded{biblatex}{% \makeatother \ExecuteBibliographyOptions{maxcitenames=1} \DeclareFieldFormat{citehyperref}{% \DeclareFieldAlias{bibhyperref}{noformat}% Avoid nested links \bibhyperref{#1}} \DeclareFieldFormat{textcitehyperref}{% \DeclareFieldAlias{bibhyperref}{noformat}% Avoid nested links \bibhyperref{% #1% \ifbool{cbx:parens} {\bibcloseparen\global\boolfalse{cbx:parens}} {}}} \savebibmacro{cite} \savebibmacro{textcite} \renewbibmacro*{cite}{% \printtext[citehyperref]{% \restorebibmacro{cite}% \usebibmacro{cite}}} \renewbibmacro*{textcite}{% \ifboolexpr{ ( not test {\iffieldundef{prenote}} and test {\ifnumequal{\value{citecount}}{1}} ) or ( not test {\iffieldundef{postnote}} and test {\ifnumequal{\value{citecount}}{\value{citetotal}}} ) } {\DeclareFieldAlias{textcitehyperref}{noformat}} {}% \printtext[textcitehyperref]{% \restorebibmacro{textcite}% \usebibmacro{textcite}}} }{\relax} \usepackage{hyperref}% \hypersetup{linkcolor=DarkGreen,citecolor=DarkRed, urlcolor=Blue,colorlinks=true} \AtBeginDocument{\renewcommand{\UrlFont}{\ttfamily}} \usepackage{decorule}[2024/01/04]% added by spec \addbibresource{decorule.bib} \hypersetup{pdfauthor={Peter Flynn}, pdftitle={The decorule LaTeX2e document package}, pdfsubject={A decorative swelled rule from type}, pdfkeywords={}, pdfproducer={XeLateX with hyperref}, pdfcreator={Emacs/psgml, ClassPack/Saxon, LaTeX/TeX Live}} \setmonofont[Scale=MatchLowercase]{Luxi Mono} % %% %% Settings for docstrip and ltxdoc %% \EnableCrossrefs \CodelineIndex \RecordChanges \begin{document} \DocInput{decorule.dtx} \end{document} % % \fi % % \CheckSum{157} % % \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.9}{2024/01/04}{ClassPack 1.26 compatibility: 1) Tested with ClassPack 1.26; 2) Updated to revert to \XeLaTeX{} for the documentation and processing..} % \changes{v0.8}{2023/04/06}{Post ClassPack bugfix release: 1) Updated to use ClassPack 1.21; 2) Updated (as a consequence) to use Lua\LaTeX{} for the documentation and processing..} % \changes{v0.7}{2020/04/01}{Regression release: 1) Updated to use ClassPack 1.19; 2) Switched all conformance attributes on revision dates to YYYY-MM-DD; 3) The jump in versions is because the previously submitted version was misnumbered as 0.6 when it should have been 0.06. Thanks to Erik Braun at CTAN for spotting this..} % \changes{v0.34}{2020/04/01}{Regression release: 1) Recreated package with latest version (1.18) of ClassPack; 2) Fixed bug in using the angle counter that was preventing \XeLaTeX{} generating output.} % \changes{v0.33}{2019/03/03}{Regression release: Recreated package with latest version (1.13) of ClassPack.} % \changes{v0.32}{2017/01/10}{Regression release: Recreated package with latest version (1.06) of ClassPack.} % \changes{v0.31}{2017/02/10}{Regression release: Recreated package with latest version (1.04) of ClassPack.} % \changes{v0.30}{2016/06/19}{Regression release: Recreated package with latest version (1.01) of ClassPack.} % \changes{v0.29}{2016/05/10}{Regenerated: Recreated package with new classpack code to create zip file to the CTAN standard.} % \changes{v0.28}{2014/04/01}{Maintenance release: Added PNG image for conversion to EPUB3.} % \changes{v0.27}{2013/03/27}{Maintenance release: Regression test for ClassPack v0.75 (autopackage with multifile).} % \changes{v0.26}{2013/02/23}{Internal update: Regression test for ClassPack v0.74 (autopackage).} % \changes{v0.25}{2012/06/15}{Internal update: Reworded final paragraph of documentation since the package is now available on CTAN. Removed palatino..} % \changes{v0.24}{2012/03/23}{Internal update: Updated header, replaced docmfp with dox package, checked conformance with latest version of classpack, added packages calc, listings, and palatino.} % \changes{v0.23}{2011/08/15}{Maintenance release: Updated documentation with docmfp, varioref, and geometry.} % \changes{v0.22}{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.21}{2011/06/11}{Revised for .dtx file: 1) Rewrote documentation; 2) Generated .dtx.} % \changes{v0.20}{2010/07/14}{Updated to package format: Wrote .dtx file by hand.} % \changes{v0.11}{2010/03/20}{Written for TUGboat: Developed by hand.} % % \GetFileInfo{decorule.dtx} % % \DoNotIndex{\@,\@@par,\@beginparpenalty,\@empty} % \DoNotIndex{\@flushglue,\@gobble,\@input,\@makefnmark} % \DoNotIndex{\@makeother,\@maketitle,\@namedef,\@ne} % \DoNotIndex{\@spaces,\@tempa,\@tempb,\@tempswafalse} % \DoNotIndex{\@tempswatrue,\@thanks,\@thefnmark,\@topnum} % \DoNotIndex{\@@,\@elt,\@forloop,\@fortmp,\@gtempa} % \DoNotIndex{\@totalleftmargin,\",\/,\@ifundefined,\@nil} % \DoNotIndex{\@verbatim,\@vobeyspaces,\|,\~,\ ,\active} % \DoNotIndex{\advance,\aftergroup,\begingroup,\bgroup} % \DoNotIndex{\mathcal,\csname,\def,\documentstyle} % \DoNotIndex{\dospecials,\edef,\egroup,\else,\endcsname} % \DoNotIndex{\endgroup,\endinput,\endtrivlist} % \DoNotIndex{\expandafter,\fi,\fnsymbol,\futurelet,\gdef} % \DoNotIndex{\global,\hbox,\hss,\if,\if@inlabel} % \DoNotIndex{\if@tempswa,\if@twocolumn,\ifcase,\ifcat} % \DoNotIndex{\iffalse,\ifx,\ignorespaces,\index,\input} % \DoNotIndex{\item,\jobname,\kern,\leavevmode,\leftskip} % \DoNotIndex{\let,\llap,\lower,\m@ne,\next,\newpage} % \DoNotIndex{\nobreak,\noexpand,\nonfrenchspacing} % \DoNotIndex{\obeylines,\or,\protect,\raggedleft} % \DoNotIndex{\rightskip,\rm,\sc,\setbox,\setcounter} % \DoNotIndex{\small,\space,\string,\strut,\strutbox} % \DoNotIndex{\thefootnote,\thispagestyle,\topmargin} % \DoNotIndex{\trivlist,\tt,\twocolumn,\typeout,\vss,\vtop} % \DoNotIndex{\xdef,\z@,\,,\@bsphack,\@esphack,\@noligs} % \DoNotIndex{\@vobeyspaces,\@xverbatim,\`,\catcode,\end} % \DoNotIndex{\escapechar,\frenchspacing,\glossary} % \DoNotIndex{\hangindent,\hfil,\hfill,\hskip,\hspace,\ht} % \DoNotIndex{\it,\langle,\leaders,\long,\makelabel} % \DoNotIndex{\marginpar,\markboth,\mathcode,\mathsurround} % \DoNotIndex{\mbox,\newcount,\newdimen,\newskip} % \DoNotIndex{\nopagebreak,\parfillskip,\parindent} % \DoNotIndex{\parskip,\penalty,\raise,\rangle,\section} % \DoNotIndex{\setlength,\TeX,\topsep,\underline,\unskip} % \DoNotIndex{\verb,\vskip,\vspace,\widetilde,\\,\%,\@date} % \DoNotIndex{\@defpar,\[,\{,\},\],\count@,\ifnum,\loop} % \DoNotIndex{\today,\uppercase,\uccode,\baselineskip} % \DoNotIndex{\begin,\tw@,\a,\b,\c,\d,\e,\f,\g,\h,\i,\j,\k} % \DoNotIndex{\l,\m,\n,\o,\p,\q,\r,\s,\t,\u,\v,\w,\x,\y,\z} % \DoNotIndex{\A,\B,\C,\D,\E,\F,\G,\H,\I,\J,\K,\L,\M,\N,\O} % \DoNotIndex{\P,\Q,\R,\S,\T,\U,\V,\W,\X,\Y,\Z,\1,\2,\3,\4} % \DoNotIndex{\5,\6,\7,\8,\9,\0,\!,\#,\$,\&,\',\(,\)} % \DoNotIndex{\+,\.,\:,\;,\<,\=,\>,\?,\_,\discretionary} % \DoNotIndex{\immediate,\makeatletter,\makeatother} % \DoNotIndex{\meaning,\newenvironment,\par,\relax} % \DoNotIndex{\renewenvironment,\repeat,\scriptsize} % \DoNotIndex{\selectfont,\the,\undefined,\arabic,\do} % \DoNotIndex{\makeindex,\null,\number,\show,\write,\@ehc} % \DoNotIndex{\@author,\@ehc,\@ifstar,\@sanitize,\@title} % \DoNotIndex{\everypar,\if@minipage,\if@restonecol,\ifeof} % \DoNotIndex{\ifmmode,\lccode,\newtoks,\onecolumn,\openin} % \DoNotIndex{\p@,\SelfDocumenting,\settowidth} % \DoNotIndex{\@resetonecoltrue,\@resetonecolfalse,\bf} % \DoNotIndex{\clearpage,\closein,\lowercase,\@tempdima} % \DoNotIndex{\@inlabelfalse,\selectfont,\mathcode} % \DoNotIndex{\newmathalphabet,\rmdefault,\bfdefault} % \DoNotIndex{\DeclareRobustCommand,\@ifpackagewith} % \DoNotIndex{\#,\%,\&,\*,\-,\^,\_,\|,\~,\$} % \DoNotIndex{\acro,\addbibresource,\addcontentsline,\addtolength} % \DoNotIndex{\allowbreak,\alph,\@Alph,\and,\appendix,\arrayrulewidth} % \DoNotIndex{\ast,\baselinestretch,\bfseries,\bgroup,\Bib,\BibTeX} % \DoNotIndex{\BiBTeX,\BIBTeX,\bigskip,\box,\caption,\centering,\char} % \DoNotIndex{\CharacterTable,\CheckSum,\citeyear,\cjktext,\ClassError} % \DoNotIndex{\classorpackage,\CodelineIndex,\color,\colorbox} % \DoNotIndex{\columnsep,\columnwidth,\Con,\ConTeXt} % \DoNotIndex{\CPKannotationindent,\CPKdocname,\CPKdoctype,\CPKmenusep} % \DoNotIndex{\CPKpoststrut,\CPKprestrut,\CPKrevmarg,\CPKrunningecho} % \DoNotIndex{\CPKthisjob,\CPKthispackage,\CPKvstrut,\c@section} % \DoNotIndex{\@currsize,\DeclareOption,\declarepostamble} % \DoNotIndex{\declarepreamble,\DescribeColor,\DescribeEnv} % \DoNotIndex{\DescribeError,\DescribeOption,\DescribePackage} % \DoNotIndex{\DescribeTemplate,\descriptionlabel,\divide,\DoNotIndex} % \DoNotIndex{\dotfill,\dots,\@dottedtocline,\DoubleperCent,\doxitem} % \DoNotIndex{\dp,\egroup,\emph,\empty,\EnableCrossrefs} % \DoNotIndex{\encodingdefault,\endbatchfile,\endpreamble,\enspace} % \DoNotIndex{\ensuremath,\fa,\fbox,\fboxrule,\fboxsep,\file,\Finale} % \DoNotIndex{\flushright,\fnote,\font,\fontdimen,\fontencoding} % \DoNotIndex{\fontfamily,\fontseries,\fontshape,\fontsize,\footnote} % \DoNotIndex{\footnotesize,\from,\generate,\GetFileInfo,\HandRight} % \DoNotIndex{\@height,\@@hline,\href,\hrule,\hsize,\huge,\Huge} % \DoNotIndex{\hyperref,\hypersetup,\hyphenation,\ifdim,\@ifnextchar} % \DoNotIndex{\itshape,\keepsilent,\keys,\labelenumi,\LabelFont} % \DoNotIndex{\labelformat,\large,\Large,\LARGE,\LaTeX,\LaTeXe} % \DoNotIndex{\leftmark,\lfoot,\lhead,\longestline,\lstloadlanguages} % \DoNotIndex{\l@subsection,\l@subsubsection,\ltx@ifpackageloaded} % \DoNotIndex{\LyX,\MacroFont,\marginfont,\marginnote,\medskip} % \DoNotIndex{\menu,\menusep,\message,\MF,\@minus,\MP,\Msg} % \DoNotIndex{\multirow,\NeedsTeXFormat,\newcommand,\newcounter} % \DoNotIndex{\newgeometry,\newlength,\newwrite,\nicefrac,\noalign} % \DoNotIndex{\nocite,\noindent,\nolinkurl,\nopreamble,\normalfont} % \DoNotIndex{\normalsize,\numberstring,\obeyspaces,\ordinal} % \DoNotIndex{\PackageError,\pageref,\phantomsection,\@plus} % \DoNotIndex{\@pnumwidth,\preamble,\PrintChanges} % \DoNotIndex{\printexternalcurrentfont,\PrintIndex,\Provides} % \DoNotIndex{\qquad,\quad,\raisebox,\RecordChanges,\reflectbox} % \DoNotIndex{\refname,\renewcommand,\renewmenumacro,\reserved@a} % \DoNotIndex{\rightarrow,\rightmark,\rmfamily,\rotatebox,\rule} % \DoNotIndex{\school,\sloppy,\smallskip,\SMC,\SMC@unknown@warning} % \DoNotIndex{\Square,\stanza,\star,\@startsection,\stepcounter} % \DoNotIndex{\StopEventually,\subsubsection,\tableofcontents} % \DoNotIndex{\textbackslash,\textbf,\textdegree,\texteiad} % \DoNotIndex{\textheight,\textit,\textlangle,\textrangle,\textsf} % \DoNotIndex{\textSMC,\textsuperscript,\texttt,\TheSbox} % \DoNotIndex{\thesection,\thinspace,\tiny,\@tocrmarg} % \DoNotIndex{\tubhideheight,\tubreflect,\uline,\updefault} % \DoNotIndex{\upshape,\use@babel,\@usebib,\usedir,\usepostamble} % \DoNotIndex{\usepreamble,\vbox,\vfill,\vrefrange,\vrule} % \DoNotIndex{\Xe,\XeLaTeX,\XeTeX,\@xhline} % \DoNotIndex{\sim} % \DoNotIndex{\decorule} % \DoNotIndex{\hbox} % \DoNotIndex{\hss} % \setcounter{tocdepth}{5} % \setcounter{secnumdepth}{5} % \makeatletter % \def\@@doxdescribe#1#2{\endgroup \ifdox@noprint\else\marginpar{\raggedleft \@nameuse{PrintDescribe#1}{\LabelFont[\color{DarkRed}]{#2}}}\fi \ifdox@noindex\else \@nameuse{Special#1Index}{#2}\fi \endgroup\@esphack\ignorespaces} % \makeatother % % \def\fileversion{0.9} % \def\filedate{2024/01/04} % \title{The \textsf{decorule} \LaTeXe\ package\thanks{% % This document corresponds to \textsf{decorule} % \textit{v.}\ \fileversion p, dated \filedate.} % \\[1em]\Large % A decorative swelled rule from type} % \author{Peter Flynn\\\normalsize Silmaril Consultants\\[-.25ex]\normalsize Textual Therapy Division\\\normalsize(\url{peter@silmaril.ie})} % \maketitle % \renewcommand{\abstractname}{Summary}\thispagestyle{empty} % \begin{abstract} % \parskip=0.5\baselineskip % \advance\parskip by 0pt plus 2pt % \parindent=0pt% \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 \parencite{tb97}.\par % \par{\Large\centering\decorule\par}\par % \end{abstract} % \clearpage % \tableofcontents % \clearpage % \subsection*{Typographic representation}\label{typorep} % In this document, the following information items are shown in % this way:\par % \par\medskip{\sffamily\rmfamily % \small\sffamily % \begingroup % \centering % \begin{tabular}{@{}% % l% % >{\renewcommand{\baselinestretch}{0.8}\selectfont{}\raggedright{}\renewcommand{\baselinestretch}{0.8}\selectfont{}\CPKprestrut\arraybackslash}p{12cm}<{}% % @{}} % \multicolumn{1}{@{}>{\renewcommand{\baselinestretch}{0.8}\selectfont{}\raggedright{}\CPKprestrut}b{\widthof{environments}}<{}}{\sffamily\bfseries Item}& % \multicolumn{1}{>{\renewcommand{\baselinestretch}{0.8}\selectfont{}\raggedright{}\CPKprestrut\arraybackslash}b{12cm}<{}@{}}{\sffamily\bfseries Description}\\[2pt]\hline % \CPKvstrut % {\ttfamily{}\textbackslash{}command}&name of a \LaTeX{} `command' % (\TeX{} macro or control sequence)\\ % {\ttfamily{}filename}\thinspace&name of a file\\ % \textsf{package}&name of a \LaTeX{} package\\ % \emph{productname}&a product name\\ % \texttt{}\index{tag=\texttt{\char'074 tag/\char'076 } (empty element)}\index{empty elements:!tag=\texttt{\char'074 tag/\char'076}}&a tag name in a markup language (eg \textsc{xml})\\ % \end{tabular} % \par\endgroup % } % \par % \clearpage % \section*{Latest changes} % \subsection*{v.0.9 (2024-01-04)} % \paragraph*{ClassPack 1.26 compatibility} % \begin{itemize} % \item Tested with % \emph{ClassPack} 1.26; % \item Updated to revert to \XeLaTeX{} for % the documentation and processing.\par % \end{itemize} % \subsection*{v.0.8 (2023-04-06)} % \paragraph*{Post ClassPack bugfix release} % \begin{itemize} % \item Updated to use % \emph{ClassPack} 1.21; % \item Updated (as a consequence) to use Lua\LaTeX{} for % the documentation and processing.\par % \end{itemize} % \subsection*{v.0.7 (2020-04-01)} % \paragraph*{Regression release} % \begin{itemize} % \item Updated to use % \emph{ClassPack} 1.19; % \item Switched all \texttt{@conformance}\index{conformance=\texttt{\char'100 conformance} (attribute)}\index{attributes:!conformance=\texttt{\char'100 conformance}} attributes on % revision dates to \texttt{@YYYY-MM-DD}\index{YYYY-MM-DD=\texttt{\char'100 YYYY-MM-DD} (attribute)}\index{attributes:!YYYY-MM-DD=\texttt{\char'100 YYYY-MM-DD}}; % \item The jump in versions is because the previously % submitted version was misnumbered as 0.6 when it % should have been 0.06. Thanks to Erik Braun at CTAN % for spotting this.\par % \end{itemize} % \subsection*{v.0.34 (2020-04-01)} % \paragraph*{Regression release} % \begin{itemize} % \item Recreated package with latest version (1.18) of % \emph{ClassPack}; % \item Fixed bug in using the angle counter that was % preventing \XeLaTeX{} generating output. % \end{itemize} % \par\bigskip % See p.\thinspace\pageref{} for earlier changes. % \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 \parencite{tb97} there is an \textsf{swrule} package % by Tobias Dussa \parencite{dussa} which builds a % geometric lozenge from very fine lines, and there is a paper % by Steve Peter \parencite{peter} which describes % a more extensible method using \MP{} for % Con\TeX t{}.\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 ({\ttfamily{}\textbackslash{}sim}) % character in math mode, rotated and scaled to fit in an % ascending and then descending series.\par % \par{\Large\centering\decorule\par}\par % \changes{v0.25}{2012/06/15}{Changed order of paragraphs and added space} % {\par\medskip{}The package is available on % \textsc{ctan} in % \url{http://ctan.org/pkg/decorule}, and the development % files will be available at % \url{http://latex.silmaril.ie/packages} when the % relevant \textsf{classpack} toolkit is released. % Suggestions for improving and extending this package are % welcome.\par} % \clearpage % \raggedright % \raggedright\printbibliography\clearpage % \StopEventually{\label{endcode}% % \clearpage % \addcontentsline{toc}{section}{Change History}% % \label{}% % \PrintChanges % \clearpage % \label{codeindex}% % \addcontentsline{toc}{section}{Index}% % \PrintIndex} % \clearpage\subsection*{Code for the } % \iffalse %<*package> % \fi % \section{Implementation} % The package consists of a single main macro {\ttfamily{}\textbackslash{}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{Auto-initialisation}\label{:autoinit} % This section is added automatically by \textit{ClassPack} % as a preamble to all classes and style packages. % For details see the \textsf{ltxdoc} package documentation. % \par\smallskip % % \begingroup\color{DarkRed}\footnotesize % \leavevmode\enspace{\scriptsize1}\quad{\ttfamily\textbackslash NeedsTeXFormat\{LaTeX2e\}[2009/09/24]}\\ % \leavevmode\enspace{\scriptsize2}\quad{\ttfamily\textbackslash ProvidesPackage\{decorule\}[2024/01/04 v0.9}\\ % \leavevmode\enspace{\scriptsize3}\qquad{\ttfamily A decorative swelled rule from type]}\\\endgroup % \setcounter{CodelineNo}{3} %\iffalse %% %% Packages required for the package %% % \fi % \subsection{Packages required}\label{stypackages} % Packages required for operation: % \begin{CPKpackage}{noto} % Sets the Google NoTo typeface as the default. % \iffalse %% Sets the Google NoTo typeface as the default. % \fi % \begin{macrocode} \RequirePackage{noto}% % \end{macrocode} % \end{CPKpackage} % \begin{CPKpackage}{fancyhdr} % Provide for running headers and footers. % \iffalse %% Provide for running headers and footers. % \fi % \begin{macrocode} \RequirePackage{fancyhdr}% % \end{macrocode} % \end{CPKpackage} % \begin{CPKpackage}{ltxcmds} % Some \LaTeX{} kernel commands for general use, % but in the case of \emph{ClassPack}, % particularly % {\ttfamily{}\textbackslash{}ltx@ifpackageloaded}. % \iffalse %% Some \LaTeX{} kernel commands for general use, but in the case of ClassPack, particularly ltx@ifpackageloaded. % \fi % \begin{macrocode} \RequirePackage{ltxcmds}% % \end{macrocode} % Define the ltx@ifpackageloaded command. % \begin{macrocode} \ifdefined\IfPackageLoaded\relax \else\newcommand{\IfPackageLoaded}[3]{% \ltx@ifpackageloaded{#1}{#2}{#3}}\fi % \end{macrocode} % \end{CPKpackage} % \begin{CPKpackage}{parskip} % Creates paragraphs separated by white-space with no % indentation. % \iffalse %% Creates paragraphs separated by white-space with no indentation. % \fi % \begin{macrocode} \RequirePackage{parskip}% % \end{macrocode} % \end{CPKpackage} % \begin{CPKpackage}{fix-cm} % Allow infinitely-variable font scaling. This is still % needed even for \XeLaTeX{} and Lua\LaTeX{} but may one day be % superseded by the \textsf{anysizefont} % package; % \iffalse %% Allow infinitely-variable font scaling. This is still needed even for \XeLaTeX{} and Lua\LaTeX{} but may one day be superseded by the anysizefont package % \fi % \begin{macrocode} \RequirePackage{fix-cm}% % \end{macrocode} % \end{CPKpackage} % \begin{CPKpackage}{graphicx} % Provide for graphics (PNG, JPG, or PDF format (only) for % pdflatex; EPS format (only) for standard \LaTeX{}); and for % reflection and rotation features. % \iffalse %% Provide for graphics (PNG, JPG, or PDF format (only) for pdflatex; EPS format (only) for standard \LaTeX{}); and for reflection and rotation features. % \fi % \begin{macrocode} \RequirePackage{graphicx}% % \end{macrocode} % \end{CPKpackage} % % \subsection{Preliminary declarations}\label{packages-here} % \iffalse %% %% ****************************************************************** %% %% Preliminary declarations % \fi % \begin{CPKcounter}{DCR@min}\label{counter--DCR@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{DCR@min} \setcounter{DCR@min}{1} % \end{macrocode} % \end{CPKcounter} % \begin{CPKcounter}{DCR@max}\label{counter--DCR@max} % Do the same for the maximum point size that the rule % will get to in the middle.\par % \begin{macrocode} \newcounter{DCR@max} \setcounter{DCR@max}{20} % \end{macrocode} % \end{CPKcounter} % \begin{CPKcounter}{DCR@step}\label{counter--DCR@step} % Set the step size or the increments of the glyph in % whole points.\par % \begin{macrocode} \newcounter{DCR@step} \setcounter{DCR@step}{1} % \end{macrocode} % \end{CPKcounter} % \begin{CPKcounter}{DCR@rotate}\label{counter--DCR@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.\par % \begin{macrocode} \newcounter{DCR@rotate} \setcounter{DCR@rotate}{45} % \end{macrocode} % \end{CPKcounter} % \begin{CPKcounter}{DCR@size}\label{counter--DCR@size} % Define a counter to hold the current (calculated) size % as we loop through the sizes.\par % \begin{macrocode} \newcounter{DCR@size} % \end{macrocode} % \end{CPKcounter} % \begin{CPKlength}{DCR@raise}\label{length--DCR@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{\DCR@raise} % \end{macrocode} % \end{CPKlength} % \begin{CPKlength}{DCR@skip}\label{length--DCR@skip} % Define another length to hold the amount calculated to % backspace between successive glyphs to make sure they % touch.\par % \begin{macrocode} \newlength{\DCR@skip} % \end{macrocode} % \end{CPKlength} % \begin{CPKmacro}{\DCR@symbol}\label{macro--DCR@symbol} % Lastly, define the font character to use as the glyph. % For the swelled rule we use the swung dash.\par % \begin{macrocode} \newcommand{\DCR@symbol}{\ensuremath{\sim}} % \end{macrocode} % \end{CPKmacro} % \subsection{The main macro} % \iffalse %% %% ****************************************************************** %% %% The main macro % \fi % \begin{CPKmacro}{\decorule}\label{macro--decorule} % Now we can define the macro that does the actual % work.\par % \changes{v0.21}{2011/06/06}{Rearranged spacing to suit the .dtx layout} % \begin{macrocode} \newcommand{\decorule}{% % \end{macrocode} % Start by setting the initial size to the minimum size % declared above:\par % \begin{macrocode} \begingroup\fontencoding{OT1}\fontfamily{cmr}\selectfont% \setcounter{DCR@size}{\c@DCR@min}% % \end{macrocode} % Loop through the steps up to, but not including, the % maximum size (this loop ends on line 28):\par % \begin{macrocode} \loop % \end{macrocode} % We want to raise each glyph above the baseline by half the % point size that we will use, so set the amount to the % current size and then divide by two:\par % \begin{macrocode} \setlength{\DCR@raise}{\c@DCR@size pt}% \divide\DCR@raise by2 % \end{macrocode} % Raise, rotate, and (in this case of % {\ttfamily{}\textbackslash{}sim}) reflect the glyph in a % {\ttfamily{}\textbackslash{}hbox} of its own point size, using % {\ttfamily{}\textbackslash{}hss} as % infinitely-flexible space to prevent \TeX{} squawking if % the glyph is slightly oversized:\par % \begin{macrocode} \raisebox{-\DCR@raise}{\fontsize{\c@DCR@size}{0}\selectfont \rotatebox{\the\c@DCR@rotate}{% \reflectbox{\hbox to\c@DCR@size pt{\hss\DCR@symbol\hss}}}}% % \end{macrocode} % Calculate the amount to backspace as ⅔ of the % current size:\par % \begin{macrocode} \setlength{\DCR@skip}{\c@DCR@size pt}% \divide\DCR@skip by3 \multiply\DCR@skip by2 \kern-\DCR@skip % \end{macrocode} % Increment the counter and repeat:\par % \begin{macrocode} \addtocounter{DCR@size}{\c@DCR@step}% \ifnum\c@DCR@size<\c@DCR@max \repeat % \end{macrocode} % Now do the same for the sole occurrence of the maximum % size: this marks the mid-point of the rule:\par % \begin{macrocode} \setlength{\DCR@raise}{\c@DCR@max pt}% \divide\DCR@raise by2 \raisebox{-\DCR@raise}{% \fontsize{\c@DCR@max}{0}\selectfont \rotatebox{\the\c@DCR@rotate}{\reflectbox{\hbox to\c@DCR@max pt{\hss\DCR@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 % \begin{macrocode} \loop \setlength{\DCR@skip}{\c@DCR@size pt}% \divide\DCR@skip by3 \multiply\DCR@skip by2 \kern-\DCR@skip \setlength{\DCR@raise}{\c@DCR@size pt}% \divide\DCR@raise by2 \raisebox{-\DCR@raise}{% \fontsize{\c@DCR@size}{0}\selectfont \rotatebox{\the\c@DCR@rotate}{\reflectbox{\hbox to\c@DCR@size pt{\hss\DCR@symbol\hss}}}}% \addtocounter{DCR@size}{-\c@DCR@step}% \ifnum\c@DCR@size>\c@DCR@min \repeat % \end{macrocode} % Finally, do the minimum size:\par % \begin{macrocode} \setlength{\DCR@skip}{\c@DCR@min pt}% \divide\DCR@skip by3 \multiply\DCR@skip by2 \kern-\DCR@skip \setlength{\DCR@raise}{\c@DCR@min pt}% \divide\DCR@raise by2 \raisebox{-\DCR@raise}{% \fontsize{\c@DCR@min}{0}\selectfont \rotatebox{\the\c@DCR@rotate}{\reflectbox{\hbox to\c@DCR@min pt{\hss\DCR@symbol\hss}}}}% \endgroup} % \end{macrocode} % \end{CPKmacro} % \iffalse % % \fi % \appendix % \section{The \LaTeX{} Project Public License (v\thinspace{}1.3c)}\label{LPPL} % \begin{quotation}\small\sffamily\parindent0pt % \parskip.5\baselineskip % \color{DarkBlue}\noindent % Everyone is allowed to distribute verbatim copies of this % license document, but modification of it is not allowed.\par % \end{quotation} % \subsection{Preamble}\label{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 “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 % {\ttfamily{}cfgguide.tex} and {\ttfamily{}modguide.tex} in the base \LaTeX{} % distribution for suggestions.\par % \subsection{Definitions}\label{Definitions} % In this license document the following terms are used:\par % \begin{description}[style=unboxed] % \item[Work:]Any work being distributed under this License.\par % \item[Derived Work:]Any work that under any applicable law is derived from % the Work.\par % \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.\par % \item[Modify:]To apply any procedure that produces a Derived Work % under any applicable law.\par % \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}).\par % \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.\par % \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.\par % \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'.\par % \end{description} % \subsection{Conditions on Distribution and Modification}\label{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.\par % \item \label{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.\par % \item You may distribute a Compiled Work that has been % generated from a complete, unmodified copy of the Work as % distributed under Clause~\vref{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.\par % \item \label{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.\par % \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.\par % \item \label{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.\par % \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.\par % \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.\par % \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.\par % \item You distribute at least one of the following with % the Derived Work:\par % \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;\par % \item Information that is sufficient to obtain a % complete, unmodified copy of the Work.\par % \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{item-conditions}, above, are met % with regard to the Derived Work.\par % \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{item-currmaint}, above.\par % \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.\par % \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{item-conditions} above, in % regard to the Work, though it does not have to honor the % rest of the conditions in this license.\par % \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{item-conditions} above, concerning % changes from the Work.\par % \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.\par % \item Nothing in this license is intended to, or may be used % to, prevent complete compliance by all parties with all % applicable laws.\par % \end{enumerate} % \subsection{No Warranty}\label{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{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.\par % \item If this search is successful, then enquire whether the % Work is still maintained.\par % \begin{enumerate} % \item If it is being maintained, then ask the Current % Maintainer to update their communication data within one % month.\par % \item \label{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.\par % \item \label{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.\par % \end{enumerate} % \item \label{item-change}If you make an `intention announcement' % as described in~\vref{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.\par % \item If the previously unreachable Current Maintainer becomes % reachable once more within three months of a change % completed under the terms of~\vref{item-announce} % or~\vref{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.\par % \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{item-intention} % above.\par % \subsection{Whether and How to Distribute Works under This % License}\label{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{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 {\ttfamily{}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 % {\ttfamily{}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{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{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 % \iffalse %<*ignore> % \fi \begin{lstlisting}[language={[LaTeX]TeX}] %%% 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{lstlisting} % \iffalse % % \fi % 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 % {\ttfamily{}pig.dtx}\thinspace, {\ttfamily{}pig.ins}\thinspace, and {\ttfamily{}pig.sty} (the last being generated % from {\ttfamily{}pig.dtx} using {\ttfamily{}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{!}.\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{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{Recommendations} % \paragraph[Defining What Constitutes the Work]{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 % \iffalse %<*ignore> % \fi \begin{lstlisting}[language={[LaTeX]TeX}] %% This work consists of all files listed in manifest.txt. \end{lstlisting} % \iffalse % % \fi % 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