summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/makebase/makebase.dtx
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/makebase/makebase.dtx
Initial commit
Diffstat (limited to 'macros/latex/contrib/makebase/makebase.dtx')
-rw-r--r--macros/latex/contrib/makebase/makebase.dtx1125
1 files changed, 1125 insertions, 0 deletions
diff --git a/macros/latex/contrib/makebase/makebase.dtx b/macros/latex/contrib/makebase/makebase.dtx
new file mode 100644
index 0000000000..b1efb60576
--- /dev/null
+++ b/macros/latex/contrib/makebase/makebase.dtx
@@ -0,0 +1,1125 @@
+% \iffalse meta-comment
+%
+% Extracted from makebase.xml
+% makebase.dtx is copyright © 2016 by Peter Flynn <peter@silmaril.ie>
+%
+% 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 <peter@silmaril.ie>
+%
+% This work consists of the files makebase.dtx and makebase.ins,
+% the derived file makebase.sty, and any ancillary files listed
+% in the MANIFEST.
+%
+% \fi
+% \iffalse
+%<package>\NeedsTeXFormat{LaTeX2e}[2014/09/29]
+%<package>\ProvidesPackage{makebase}[2016/05/10 v0.2
+%<package> Typeset counters in a different base]
+%<*driver>
+\RequirePackage{fix-cm}
+\PassOptionsToPackage{svgnames}{xcolor}
+\PassOptionsToPackage{hyphens}{url}
+\documentclass[12pt]{ltxdoc}
+%%
+%% Packages added automatically
+%%
+\usepackage{classpack}% included by default. (0)
+\usepackage{mflogo}% included by default. (23)
+\usepackage[british]{babel}% included by default. (31)
+\usepackage{ccaption}% included by default. (34)
+\captionnamefont{\bfseries}
+\captionstyle{\raggedright}
+\usepackage{fancyvrb}% use of 'programlisting' was detected (41)
+\usepackage{makeidx}% included by default. (57)
+\makeindex
+%%
+%% Packages specified by author
+%%
+\let\SavedShow\show
+\usepackage[utf8x]{inputenc}[2008/03/30]
+\AtBeginDocument{\let\show\SavedShow}
+\DeclareUnicodeCharacter{9251}{\textvisiblespace}
+\PrerenderUnicode{–}
+\PrerenderUnicode{š}
+\PrerenderUnicode{ć}
+\PrerenderUnicode{Å}
+\PrerenderUnicode{ı}
+\PrerenderUnicode{É}
+\usepackage[T1]{fontenc}
+\usepackage{dox}[2010/12/16]
+\makeatletter
+\doxitem[idxtype=attribute]{Attribute}{CPK@attribute}{attributes}
+\makeatother
+\makeatletter
+\doxitem[idxtype=attributevalue]{AttributeValue}{CPK@attributevalue}{attribute values}
+\makeatother
+\makeatletter
+\doxitem[idxtype=class]{Class}{CPK@class}{classes}
+\makeatother
+\makeatletter
+\doxitem[idxtype=colour]{Colour}{CPK@colour}{colours}
+\makeatother
+\makeatletter
+\doxitem[idxtype=counter]{Counter}{CPK@counter}{counters}
+\makeatother
+\makeatletter
+\doxitem[idxtype=DTD]{DTD}{CPK@dtd}{DTDs/Schemas}
+\makeatother
+\makeatletter
+\doxitem[idxtype=element]{Element}{CPK@element}{element types}
+\makeatother
+\makeatletter
+\doxitem[idxtype=entity]{Entity}{CPK@entity}{entities}
+\makeatother
+\makeatletter
+\doxitem[idxtype=error]{Error}{CPK@error}{errors}
+\makeatother
+\makeatletter
+\doxitem[idxtype=function]{Function}{CPK@function}{functions}
+\makeatother
+\makeatletter
+\doxitem[idxtype=language]{Language}{CPK@language}{languages}
+\makeatother
+\makeatletter
+\doxitem[macrolike,idxtype=length]{Length}{CPK@length}{lengths}
+\makeatother
+\makeatletter
+\doxitem[idxtype=mode]{Mode}{CPK@mode}{modes}
+\makeatother
+\makeatletter
+\doxitem[idxtype=option]{Option}{CPK@option}{options}
+\makeatother
+\makeatletter
+\doxitem[idxtype=package]{Package}{CPK@package}{packages}
+\makeatother
+\makeatletter
+\doxitem[idxtype=template]{Template}{CPK@template}{templates}
+\makeatother
+\makeatletter
+\doxitem[idxtype=typeface]{Typeface}{CPK@typeface}{typefaces}
+\makeatother
+\makeatletter
+\doxitem[idxtype=font]{Font}{CPK@font}{fonts}
+\makeatother
+\newcommand{\LabelFont}[2][\relax]{\strut
+ {\fontencoding\encodingdefault
+ \fontfamily{lmtt}\fontseries{lc}#1\selectfont#2}\space}
+\makeatletter
+\let\CPK@macro\macro\let\CPK@endmacro\endmacro
+\makeatother
+\makeatletter
+\let\CPK@environment\environment\let\CPK@endenvironment\endenvironment
+\makeatother
+\makeatletter
+\def\PrintAttributeName#1{\LabelFont{@#1}}
+\makeatother
+\def\PrintAttributeValueName#1{\LabelFont{"#1"}}
+\def\PrintClassName#1{\LabelFont[\fontfamily{lmss}]{#1}}
+\def\PrintColourName#1{\LabelFont[\color{#1}]{#1}}
+\def\PrintCounterName#1{\LabelFont{#1}}
+\def\PrintDTDName#1{\LabelFont{#1}}
+\def\PrintElementName#1{\LabelFont{<#1>}}
+\def\PrintEntityName#1{\LabelFont{\&#1;}}
+\def\PrintEnvironmentName#1{\LabelFont[\fontfamily{lmss}]{#1}}
+\def\PrintErrorName#1{\LabelFont[\color{Red}!]{#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[\bfseries]{#1}}
+\def\PrintPackageName#1{\LabelFont[\fontfamily{lmss}]{#1}}
+\def\PrintTemplateName#1{\LabelFont[\bfseries]{#1}}
+\usepackage[textwidth=159mm,
+ textheight=229mm,a4paper,left=1in,right=1in,
+ textwidth=160mm,textheight=9in]{geometry}
+\usepackage{url}
+\usepackage{parskip}
+\usepackage{varioref}
+\vrefwarning
+\labelformat{chapter}{Chapter~#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}{elsewhere on this
+ page}
+\def\reftextafter{on the
+ \reftextvario{next}{following} page}
+\usepackage{lmodern}
+\usepackage{calc}
+\usepackage{fmtcount}
+\usepackage{listings}
+\lstdefinelanguage{dummy}
+ {morekeywords={dummy}}
+
+\lstdefinelanguage{DocBook}[]{XML}
+ {morekeywords={abstract,address,affiliation,annotation,arg,
+ author,book,chapter,classname,cmdsynopsis,command,
+ constraintdef,contrib,copyright,cover,date,email,emphasis,
+ envar,filename,firstname,footnote,guibutton,guilabel,
+ guimenu,guimenuitem,guisubmenu,holder,info,itemizedlist,
+ listitem,literal,member,option,orderedlist,orgdiv,orgname,
+ package,para,parameter,part,personname,phrase,procedure,
+ productname,programlisting,quote,refsection,remark,
+ constructorsynopsis,methodparan,modifier,funcparams,olink,
+ bibliography,biblioentry,biblioset,subtitle,artpagenums,
+ volumenum,issuenum,DOCTYPE,SYSTEM,xml:id,releaseinfo,
+ replaceable,revdescription,revhistory,revision,sect1,sect2,
+ sect3,sect4,seg,seglistitem,segmentedlist,segtitle,
+ simplelist,step,surname,systemitem,tag,term,title,uri,
+ userinput,variablelist,varlistentry,wordasword,xref,year,
+ xlink:href},}
+
+\makeatletter
+\lstdefinelanguage{bash}
+ {morestring=[s]{[]},morekeywords={exit,logout,yes,no,@,
+ password,ssh,URL,cd,dvips,latex,ls,makeindex,man,mkdir,
+ pdflatex,sudo,texconfig,texdoc,updmap,xelatex}}
+
+\makeatother
+\lstdefinelanguage{APA}[]{XML}
+ {morekeywords={TTL}}
+
+\lstdefinelanguage{OOXML}[]{XML}
+ {morekeywords={w:p,w:pPr,w:pStyle,w:rPr,w:rFonts,
+ w:r,w:t,w:lang}}
+
+\lstdefinelanguage{SGML}[]{XML}
+ {morekeywords={sec,ttl}}
+
+\lstdefinelanguage{DTD}[]{XML}
+ {morekeywords={ELEMENT,ENTITY,ATTLIST,CDATA,ID,REQUIRED,
+ IMPLIED,PCDATA}}
+
+\lstdefinelanguage{Runoff}
+ {morekeywords={h1}}
+
+\lstdefinelanguage{GML}
+ {morekeywords={h1}}
+
+\lstdefinelanguage{Scribe}
+ {morekeywords={Heading},morestring=[s]{[]}}
+
+\lstdefinelanguage{RTF}[]{TeX}
+ {moretexcs={rtf,ansi,deff,adeflang,fonttbl,f,froman,fprq,
+ fcharset,f1,fswiss,falt,fnil,colortbl,red,green,blue,
+ stylesheet,s,snext,nowidctlpar,hyphen,hyphlead,hyphtrail,
+ hyphmax,cf,kerning,dbch,af,langfe,afs,alang,loch,fs,
+ pgndec,pard,plain,qc,sb,sa,keepn,b,ab,rtlch,ltrch,par}}
+
+\lstdefinelanguage{TEI}[]{XML}
+ {morekeywords={TEI,TEI.2,teiHeader,fileDesc,sourceDesc,
+ titleStmt,title,author,editor,respStmt,resp,name,
+ editionStmt,edition,text,body,publicationStmt,publisher,
+ div,div1,placeName,lg,l,s,cl,phr,w,list,distinct,p,pb,
+ mls,div2,head,num,val,app,lem,rdg,q,sup,uncl,note,
+ DOCTYPE,SYSTEM,xml:id}}[keywords,comments,strings]
+
+\lstdefinelanguage{XSLT2}[]{XML}
+ {morekeywords={xsl:stylesheet,xsl:transform,
+ xsl:apply-imports,xsl:attribute-set,xsl:decimal-format,
+ xsl:import,xsl:include,xsl:key,xsl:namespace-alias,
+ xsl:output,xsl:param,
+ xsl:preserve-space,xsl:strip-space,xsl:template,
+ xsl:variable,xsl:character-map,xsl:function,
+ xsl:import-schema,xsl:param,xsl:variable,
+ xsl:apply-imports,xsl:apply-templates,xsl:attribute,
+ xsl:call-template,xsl:choose,xsl:comment,xsl:copy,
+ xsl:copy-of,xsl:element,xsl:fallback,xsl:for-each,
+ xsl:if,xsl:message,xsl:number,xsl:otherwise,
+ xsl:processing-instruction,xsl:text,xsl:value-of,
+ xsl:variable,xsl:when,xsl:with-param,xsl:sort,
+ xsl:for-each-group,xsl:next-match,xsl:analyze-string,
+ xsl:namespace,xsl:result-document,xsl:copy,
+ xsl:fallback,xsl:document,xsl:sequence,
+ xsl:matching-substring,xsl:non-matching-substring,
+ xsl:perform-sort,xsl:output-character},
+ alsodigit={-}}
+
+\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}}
+
+\lstdefinelanguage{BIBTeX}{
+ morekeywords = {title,author,edition,publisher,year,
+ address},
+ morestring=[b]",
+ }
+
+\lstdefinelanguage{Email}{
+ morekeywords={From,Subject,To,Date},
+ }
+
+\lstset{defaultdialect=LaTeXe,frame=single,
+ framesep=.5em,backgroundcolor=\color{AliceBlue},
+ rulecolor=\color{LightSteelBlue},framerule=1pt}
+
+\lstloadlanguages{LaTeXe,DocBook,XML,XSLT2,bash}
+\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
+ {ı}{{\i}}1
+ {—}{{---}}1
+ {’}{{'}}1
+ {…}{{\dots}}1
+ {␣}{{\textvisiblespace}}1,
+ keywordstyle=\color{DarkGreen}\bfseries,
+ identifierstyle=\color{DarkRed},
+ commentstyle=\color{Gray}\upshape,
+ stringstyle=\color{DarkBlue}\upshape,
+ emphstyle=\color{Chocolate}\upshape,
+ showstringspaces=false,
+ columns=fullflexible,
+ keepspaces=true}
+\usepackage{graphicx}
+\usepackage[svgnames]{xcolor}
+\makeatletter
+\@ifundefined{T}{%
+ \newcommand{\T}[2]{{\fontencoding{T1}\selectfont#2}}}{}
+\makeatother
+\usepackage{sectsty}
+\allsectionsfont{\sffamily}
+\renewcommand*{\descriptionlabel}[1]{\hspace\labelsep
+ \sffamily\bfseries #1}
+\usepackage{nicefrac}
+\def\textonehalf{\ensuremath{\nicefrac12}}
+\usepackage{fancybox}
+\usepackage[inline]{enumitem}
+\setlist[description]{style=unboxed}
+\usepackage{array}
+\newcommand{\classorpackage}{package}
+\usepackage{classpack}
+%%
+%% Settings for docstrip and latexdoc
+%%
+\EnableCrossrefs
+\CodelineIndex
+\RecordChanges
+\begin{document}
+ \DocInput{makebase.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+% \CheckSum{133}
+%
+% \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.2}{2016/05/10}{Regenerated: Recreated package with new classpack code to create zip file to the CTAN standard.}
+% \changes{v0.1}{2016/04/28}{Initial test: Rewritten from an earlier test.}
+%
+% \GetFileInfo{makebase.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,\DeclareRobustCommand}
+% \DoNotIndex{\classorpackage}
+% \DoNotIndex{\Sil@MB@maxdiv}
+% \DoNotIndex{\makebase}
+% \DoNotIndex{\divide}
+% \DoNotIndex{\multiply}
+% \DoNotIndex{\repeat}
+% \setcounter{tocdepth}{5}
+% \setcounter{secnumdepth}{5}
+% \makeatletter
+% \def\@@doxdescribe#1#2{\endgroup \ifdox@noprint\else\marginpar{\raggedleft \textcolor{DarkRed}{\@nameuse{PrintDescribe#1}{#2}}}\fi \ifdox@noindex\else\@nameuse{Special#1Index}{#2}\fi \endgroup\@esphack\ignorespaces}
+% \makeatother
+%
+% \def\fileversion{0.2}
+% \def\filedate{2016/05/10}
+% \title{The \textsf{makebase} \LaTeXe\ package\thanks{%
+% This document corresponds to \textsf{makebase}
+% \textit{v.}\ \fileversion $\alpha$, dated \filedate.}
+% \\[1em]\Large
+% Typeset counters in a different base}
+% \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 typesets a \LaTeX{} counter such as {\ttfamily{}page} in an arbitrary base (default
+% 16). It does not change font or typeface.\par
+% The package extends the functionality of the existing
+% \textsf{hex} \LaTeX{}2.09 package and provides
+% documentation. However, the author is not a mathematician, and
+% suggestions for rewriting the code are welcomed.\par
+% Warning: this is alpha software and may contain bugs.
+% Please report problems to the author.\par
+% \end{abstract}
+% \clearpage
+% \tableofcontents
+% \clearpage
+% \section{Description}
+% This package was developed for an application which
+% typeset smoke proofs of font characters from the Private Use
+% areas of Unicode, where the codepoint is a very large number
+% usually expressed in hexadecimal, and this was required for
+% the page numbers.\par
+% The package contains two macros:\par
+% \begin{enumerate}
+% \item {\ttfamily{}\textbackslash{}Sil@MB@maxdiv} finds the highest
+% power of the selected base which is smaller than the value
+% of the counter and makes it the primary divisor;
+% \item {\ttfamily{}\textbackslash{}makebase} divides the counter
+% repeatedly by the divisor found in
+% {\ttfamily{}\textbackslash{}Sil@MB@maxdiv}, reducing it by one power
+% each time, and outputting the quotient as a digit.
+% \end{enumerate}
+% This has only been tested in page numbering so far (see
+% the accompanying file
+% {\ttfamily{}makebase-test.tex}, for example:\par
+% \iffalse
+%<*ignore>
+% \fi
+\begin{lstlisting}[language={[LaTeX]TeX}]
+\setcounter{page}{57635}
+\makebase{page}
+\end{lstlisting}
+% \iffalse
+%</ignore>
+% \fi
+% will produce \texttt{0xE123} (the default base is
+% 16). Using\par
+% \iffalse
+%<*ignore>
+% \fi
+\begin{lstlisting}[language={[LaTeX]TeX}]
+\makebase[8]{page}
+\end{lstlisting}
+% \iffalse
+%</ignore>
+% \fi
+% produces 0160443.\par
+% Warning: this is alpha software and may contain bugs.
+% Please report problems to the author.\par
+% \StopEventually{\label{endcode}
+% \clearpage
+% \newgeometry{left=3cm}
+% \addcontentsline{toc}{section}{Change History}
+% \label{}
+% \PrintChanges
+% \clearpage
+% \label{codeindex}
+% \addcontentsline{toc}{section}{Index}
+% \PrintIndex}
+% \addtolength{\revmarg}{\widthof{\LabelFont{Sil@MB@postnum}}}
+% \newgeometry{left=\revmarg}
+% \iffalse
+%<*package>
+% \fi
+% \clearpage
+% \section{Implementation}\label{implementation}
+%\iffalse
+%%
+%% Packages required
+%%
+% \fi
+% \subsection{Packages required for the package itself}\label{stypackages}
+% \begin{CPK@package}{calc}
+% Required for calculations involving lengths or counters,
+% such as changes to widths for margin adjustment.
+% \iffalse
+%% Required for calculations involving lengths or counters, such as changes to widths for margin adjustment.
+% \fi
+% \begin{macrocode}
+\RequirePackage{calc}
+% \end{macrocode}
+% \end{CPK@package}
+%
+% \subsection{Counters}\label{counters}
+% \begin{CPK@counter}{Sil@MB@prenum}
+% The value of the counter before calculations start.\par
+% \begin{macrocode}
+\newcounter{Sil@MB@prenum}
+% \end{macrocode}
+% \end{CPK@counter}
+% \begin{CPK@counter}{Sil@MB@postnum}
+% The value of the counter after calculations.\par
+% \begin{macrocode}
+\newcounter{Sil@MB@postnum}
+% \end{macrocode}
+% \end{CPK@counter}
+% \begin{CPK@counter}{Sil@MB@quot}
+% The quotient (number of times the computed divisor
+% goes into the current value of the counter {\ttfamily{}Sil@MB@postnum}.\par
+% \begin{macrocode}
+\newcounter{Sil@MB@quot}
+% \end{macrocode}
+% \end{CPK@counter}
+% \begin{CPK@counter}{Sil@MB@rem}
+% The remainder after division.\par
+% \begin{macrocode}
+\newcounter{Sil@MB@rem}
+% \end{macrocode}
+% \end{CPK@counter}
+% \begin{CPK@macro}{\Sil@MB@div}
+% The divisor (initially the base).\par
+% \begin{macrocode}
+\newcounter{Sil@MB@div}
+% \end{macrocode}
+% \end{CPK@macro}
+% \subsection{Macros}\label{macros}
+% Two macros are defined: one internal for calculating the
+% largest dividor needed to start with, and one public, for
+% implementing the conversion.\par
+% \begin{CPK@macro}{\Sil@MB@maxdiv}
+% This is the internal (private) macro.\par
+% \begin{macrocode}
+\newcommand{\Sil@MB@maxdiv}[2][16]{%
+% \end{macrocode}
+% Record the counter value and the base (default
+% 16)\par
+% \begin{macrocode}
+ \setcounter{Sil@MB@div}{#1}%
+ \setcounter{Sil@MB@prenum}{#2}%
+% \message{Testing \theSil@MB@prenum\space for divisibility
+% by powers of \theSil@MB@div}%
+% \end{macrocode}
+% It repeatedly divides the counter by the base using
+% \TeX{}'s {\ttfamily{}\textbackslash{}divide} primitive and then
+% re-multiplies it using {\ttfamily{}\textbackslash{}multiply} to see
+% if the result is zero yet, and if not, increases the base
+% by a power and tries again.\par
+% \begin{macrocode}
+ \loop
+% \message{...dividing \theSil@MB@prenum\space by \theSil@MB@div}%
+ \divide\c@Sil@MB@prenum by\c@Sil@MB@div
+ \multiply\c@Sil@MB@prenum by\c@Sil@MB@div
+ \multiply\c@Sil@MB@div by#1
+ \ifnum\c@Sil@MB@prenum>0
+ \repeat
+% \end{macrocode}
+% Because the repeating condition above cannot include
+% anything other than the {\ttfamily{}\textbackslash{}repeat} command,
+% it is necessary to compute the increase of the power
+% \emph{before} the condition.\par
+% We therefore need to decrease it on exit to
+% compensate, before decreasing it yet again to the previous
+% successful level, which is the one we want to use in the
+% actual computation as the initial divisor.\par
+% \begin{macrocode}
+ \divide\c@Sil@MB@div by#1
+ \divide\c@Sil@MB@div by#1
+% \message{Need to start at \theSil@MB@div.}%
+}
+% \end{macrocode}
+% \end{CPK@macro}
+% \begin{CPK@macro}{\makebase}
+% This is the user-level macro which performs the
+% conversion. It too defaults to base 16.\par
+% \begin{macrocode}
+\newcommand{\makebase}[2][16]{%
+% \end{macrocode}
+% The first action is to call the internal macro
+% {\ttfamily{}\textbackslash{}Sil@MB@maxdiv} to compute the initial
+% divisor as above.\par
+% \begin{macrocode}
+ \Sil@MB@maxdiv[#1]{#2}%
+% \end{macrocode}
+% The prefix \texttt{0x} is output if the base is
+% 16; for base 8 the prefix is \texttt{0}. These should
+% probably be developed for other bases with an option to
+% use \TeX{}'s double-quote and single-quote prefixes.\par
+% \begin{macrocode}
+ \ifnum#1=16 0x\else\ifnum#1=8 0\fi\fi
+% \end{macrocode}
+% Set the initial values for before-and-after
+% calculation.\par
+% \begin{macrocode}
+ \setcounter{Sil@MB@prenum}{#2}%
+ \setcounter{Sil@MB@postnum}{#2}%
+% \message{Formatting \theSil@MB@prenum\space in base#1
+% starting at \theSil@MB@div}%
+% \end{macrocode}
+% Loop through the calculations. If the current divisor
+% is bigger than the counter, output a zero and decrement
+% the power.\par
+% \begin{macrocode}
+ \loop
+ \ifnum\c@Sil@MB@div>\c@Sil@MB@prenum
+ 0\divide\c@Sil@MB@div by#1
+% \message{skipped a power, divisor now \theSil@MB@div}%
+ \fi
+% \end{macrocode}
+% Perform the division and record the quotient, then
+% re-multiply the value so the remainder can be computed.\par
+% \begin{macrocode}
+% \message{Dividing \theSil@MB@postnum\space by \theSil@MB@div}%
+ \divide\c@Sil@MB@postnum by\c@Sil@MB@div
+% \message{...got \theSil@MB@postnum}%
+ \setcounter{Sil@MB@quot}{\value{Sil@MB@postnum}}%
+% \message{Multiplying \theSil@MB@postnum\space by \theSil@MB@div}%
+ \multiply\c@Sil@MB@postnum by\c@Sil@MB@div
+% \message{...got \theSil@MB@postnum, setting remainder}%
+ \setcounter{Sil@MB@rem}{\value{Sil@MB@prenum}-\value{Sil@MB@postnum}}%
+% \message{...got \theSil@MB@rem}%
+% \end{macrocode}
+% Output the quotient, allowing for alphabetic
+% hexadecimal digits.\par
+% \begin{macrocode}
+% \par\dots divided \theSil@MB@prenum\ by \theSil@MB@div\
+% \theSil@MB@quot\ times (\theSil@MB@postnum) leaving \theSil@MB@rem:
+ \ifcase\c@Sil@MB@quot 0\or 1\or 2\or 3\or 4\or 5\or 6\or
+ 7\or 8\or 9\or A\or B\or C\or D\or E\or F\else !Z\fi
+% \end{macrocode}
+% As in the internal macro, make the resetting of the
+% next values for the
+% next loop \emph{before} testing the loop
+% condition. If the remainder is zero, exit.\par
+% \begin{macrocode}
+ \setcounter{Sil@MB@prenum}{\value{Sil@MB@rem}}%
+ \setcounter{Sil@MB@postnum}{\value{Sil@MB@rem}}%
+ \divide\c@Sil@MB@div by#1
+ \ifnum\c@Sil@MB@rem>0
+ \repeat
+}
+% \end{macrocode}
+% \end{CPK@macro}
+% \iffalse
+%</package>
+% \fi
+% \appendix
+% \iffalse
+%<*testdoc>
+% \fi
+% \clearpage
+% \section{Test of package}\label{testdoc}
+% \iffalse
+%% Test of package% \fi
+% \begin{macrocode}
+\documentclass{article}
+\usepackage{makebase}
+\setcounter{page}{"E123}
+\renewcommand{\thepage}{\ttfamily\makebase[16]{\value{page}}}
+\begin{document}
+This is page number \arabic{page}.
+\end{document}
+% \end{macrocode}
+% \iffalse
+%</testdoc>
+% \fi
+% \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
+% {\ttfamily{}cfgguide.tex} and {\ttfamily{}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
+% \begin{description}[style=unboxed]
+% \item[Work\thinspace:]Any work being distributed under this License.
+% \item[Derived Work\thinspace:]Any work that under any applicable law is derived from
+% the Work.
+% \item[Modification\thinspace:]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\thinspace:]To apply any procedure that produces a Derived Work
+% under any applicable law.
+% \item[Distribution\thinspace:]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\thinspace:]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\thinspace:]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\thinspace:]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}
+% \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~item~\ref{LPPL:item:distribute} above 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~item~\ref{LPPL:item:conditions} above, 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~item~\ref{LPPL:item:currmaint} above, 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~item~\ref{LPPL:item:conditions} above 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~item~\ref{LPPL:item:conditions} above 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~item~\ref{LPPL:item:intention} above 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~item~\ref{LPPL:item:announce} above
+% or~item~\ref{LPPL:item:change} above, 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~item~\ref{LPPL:item:intention} above
+% 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 {\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{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
+% \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
+%</ignore>
+% \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}, {\ttfamily{}pig.ins}, 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{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
+% \iffalse
+%<*ignore>
+% \fi
+\begin{lstlisting}[language={[LaTeX]TeX}]
+%% This work consists of all files listed in manifest.txt.
+\end{lstlisting}
+% \iffalse
+%</ignore>
+% \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
+