\ProvidesFile{arseneau.tex} [2012/03/18 some packages by D. Arseneau (ul)] \title{A Few Packages by Donald Arseneau} \author{Uwe L\"uck\thanks{applying \url{http://ctan.org/pkg/nicetext}}} % \listfiles %% Preprocessing: \RequirePackage{makedoc} % \CopyFDconditionFromTo{PScomment}{comment} \ProcessLineMessage{} \MainDocParser{\ProcessInputWith{PScomment}} %% nolbreaks: %% Replacements: \SetPatternCodes{\MakeOther\\\MakeOther\ } \MakeExpandableAllReplacer{LaTeX}{LaTeX }{\LaTeX{} }{LEAVE} % \MakeExpandableAllReplacer{TeX}{\TeX }{\TeX{} }{LEAVE} \PrependExpandableAllReplacer{opt}{[ragged]}{`[ragged]'} \PrependExpandableAllReplacer{braces}[\Delimiters<>]<{ }><`{ }'> \SetCorrectHookJobLast \HeaderLines{2} \LaTeXresultFile{nolbreaks.doc} \MakeCloseDoc*{nolbreaks.sty} %% notoccite: \MakeExpandableAllReplacer{LaTeX}{LaTeX }{\LaTeX{} }{LEAVE} \PrependExpandableAllReplacer{caption}% { \caption [}{\DISPLAY\caption[} \PrependExpandableAllReplacer{unsrt}{unsrt}{`unsrt'} \PrependExpandableAllReplacer{toc}{ toc}{ `.toc'} \PrependExpandableAllReplacer{lof}{lof}{`.lof'} \PrependExpandableAllReplacer{latex}{latex}{`latex'} \PrependExpandableAllReplacer{NOTE}{*NOTE*}{\textbf{NOTE:\enspace}} \PrependExpandableAllReplacer{does}{*does*}{\emph{does}} \PrependExpandableAllReplacer{bibtex}{bibtex}{`bibtex'} \ResetPatternCodes \SetCorrectHookJobLast \HeaderLines{3} \LaTeXresultFile{notoccite.doc} \MakeCloseDoc*{notoccite.sty} \ProcessLineMessage{\message{.}} %% optional: % \SetPatternCodes{\MakeOther\\\MakeOther\ } \SetPatternCodes{\MakeOther\\} \MakeExpandableAllReplacer{LaTeX:}{LaTeX:}{\LaTeX:}{LEAVE} \PrependExpandableAllReplacer{LaTeX}[\MakeOther\ ]% {LaTeX }{\LaTeX{} } \PrependExpandableAllReplacer{pkg}{optional.sty}{'optional.sty'} \PrependExpandableAllReplacer{IS}{*IS*}{\emph{is}} \PrependExpandableAllReplacer{tildes}[\MakeOther\ ]% {HOW TO USE}{\SECT{How to Use}} % \SetPatternCodes{\MakeOther\~} % \PrependExpandableAllReplacer{tildes}[\MakeOther\~]{U}{X} %% <- TODO \MakeOther\~ hangs up \SetCorrectHookJobLast \HeaderLines{14} \LaTeXresultFile{optional.doc} \MakeCloseDoc*{optional.sty} %% Typesetting: \documentclass{article} \usepackage{hyperref,niceverb,wiki} %% niceverb after hyperref! \AddToNoVerbList{\DISPLAY\textbf\enspace\emph\LaTeX\SECT} \newcommand*{\DISPLAY}{% \\[\smallskipamount]\leavevmode\null\hfil} \makeatletter \newcommand*{\SECT}[1]{% \par\medskip\textbf{#1}\par\smallskip\@afterheading} \makeatother \makeatletter \MakeLetter\_ % {\MakeActive\"\gdef\DQcode#1"{\dqtd{\texttt{#1}}}} % {\MakeActive\"\gdef\DQcode#1"{\texttt{#1}}} {\MakeActive\" \gdef\DQtt{\begingroup \let\do\MakeOther \dospecials \tt \let"\endgroup} \gdef\fineDQ{``\begingroup \let\do\MakeOther \dospecials \tt \def"{\endgroup''}}} %% weird problems: % \newcommand*{\startDQcode} % {``\begingroup\MakeActiveLetHere\"\enddQcode\tt} % \def\endDQcode{\endgroup"} \pagestyle{headings} \usepackage{parskip} \begin{document} \maketitle \begin{abstract}\noindent This document demonstrates the present (i.e., 'nicetext' bundle release v0.4) capabilities of 'makedoc' and 'niceverb' to typeset \LaTeX\ quality documentation from third-party package files having ASCII comments only, without modifying such package files manually.\footnote{See \url{http://ctan.org/pkg/nicetext} for more on these packages.} Such packages usually mark comments by lines starting with \lq`% '\rq. This is somewhat difficult when the ``comment mark" \lq`%'\rq\ may at the same time be used for ``commenting out" in place of ``true commenting." As opposed to 'substr.sty' that conforms to the easier \lq`%% '\rq\ style, the packages 'nolbreaks' and 'notoccite' by Donald Arseneau exemplify the \lq`% '\rq\ commenting style. The ASCII documentation of packages of this kind does not always clearly indicate when switching to `\tt' is appropriate. This problem is solved here by string replacements very specific to the package files. The setup for these replacements (in the source file 'arseneau.tex') still may be simplified. %% <- 2010/03/29 Moreover, some similar packages cannot be properly typeset with 'nicetext' at present because 'makedoc''s loop is too rigid to deal with (i)~ASCII indents, displays, lists and with (ii)~instructions after `\endinput'. (On 2010/04/05, we try addressing (i) with 'wiki.sty', applied to Donald Arseneau's 'optional'. A 'nicetext' bug with replacing tildes shows up.) It should be clear that all the package desriptions are Donald Arseneau's, 'nicetext' just formats them. \end{abstract} \tableofcontents \pagebreak \sloppy \MakeNormal\| \section{'nolbreaks'} % \MakeActiveLet\_\textunderscore % \MakeActive\*\def*{\texttt{\string*}} % \MakeActiveLetHere\"\startDQcode \MakeActiveLetHere\"\DQtt % \errorcontextlines=6 \AutoCmdInput{nolbreaks.doc} \section{'notoccite'} \ResetCodeLineNumbers \AutoCmdInput{notoccite.doc} \section{'optional'} %% 2010/04/02 \ResetCodeLineNumbers \wikiEnvironments \MakeActiveLet\"\DQtt % \AddToNoVerbList{\tracingmacros} \let~\relax %% TODO replacement bug 2010/04/05 \AutoCmdInput{optional.doc} \end{document}