diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/monofill/monofill.tex')
-rw-r--r-- | Master/texmf-dist/source/latex/monofill/monofill.tex | 166 |
1 files changed, 166 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/monofill/monofill.tex b/Master/texmf-dist/source/latex/monofill/monofill.tex new file mode 100644 index 00000000000..af02563081a --- /dev/null +++ b/Master/texmf-dist/source/latex/monofill/monofill.tex @@ -0,0 +1,166 @@ +\ProvidesFile{monofill.tex}[2012/03/19 documenting monofill.sty] +\title{\textsf{monofill.sty}\\---\\Alignment with Plain Text\\ + or Monospaced Characters\thanks{This + document describes version + \textcolor{blue}{\UseVersionOf{\jobname.sty}} + of \textsf{\jobname.sty} as of \UseDateOf{\jobname.sty}.}} +% \listfiles +{ \RequirePackage{makedoc} \ProcessLineMessage{} + \MakeJobDoc{17}%% 2011/11/23 + {\SectionLevelTwoParseInput} } +\documentclass[fleqn]{article}%% TODO paper dimensions!? +\input{makedoc.cfg} +% \ReadPackageInfos{monofill} +% \usepackage{monofill} +\usepackage[fake-undefined]{monofill} +% \expandafter\show\csname MF@field@undeclared\endcsname +\sloppy +\begin{document} +\maketitle +\begin{abstract}\noindent +'monofill.sty' addresses horizontal alignment with plain text +as in the result of \LaTeX's `\listfiles', extending the +\ctanpkgref{longnamefilelist} package. +It may also be useful for alignment in typesetting monospaced +characters as in figure tables, for simulating a typewriter, +or for code listings.---The implementation also has ``philosophical +aspects," avoiding use of a counter register. +\end{abstract} +\tableofcontents + +% \newpage +\section{Features and Usage} +\subsection{Summary of Features} +A command |\MFfieldtemplate| sets the maximum width of a ``field" +using a template, +with an optional argument for the ``filler" token. +Then |\MFleftinfield| and |\MFrightinfield| types given +(one-line) text and adds ``filler" tokens to the left or right, +until the entire number of tokens es the number of characters +in the associated template. So this is a kind of analogue to +`\settowidth{\mylength}{<template>}', +`\makebox[\mylength][l]{<text>}', and +`\makebox[\mylength][r]{<text>}' +intended for plain text output, without typesetting. +See Sec.~\ref{sec:user} for details. + +\subsection{``Philosophical aspects"} +The package also has ``philosophical" aspects: \ +1.\enspace Apart from the declaration of the width of a ``field", +everything is \strong{expandable} (thinking of application with 'blog.sty' +of the \ctanpkgref{morehype} bundle) and thus is a kind of +\Wikienref{functional programming}. \ +2.\enspace Actually, \strong{no counter} is used, +and we seem to \emph{count without} using the \emph{concept of ``number."} +\ +Rather, we \ (a)\enspace just generate a new list from a given one such +that both have the same length and \ +(b)\enspace compare the lengths of two lists---both (a) and (b) +without \emph{determining} the length (which would be a \emph{number}) +of any list. + +\subsection{Installing and Calling} +The file 'monofill.sty' is provided ready, installation only requires +putting it somewhere where \TeX\ finds it +(which may need updating the filename data + base).\urlfoot{ukfaqref}{inst-wlcf} %% corr. 2011/02/08 + +%% extended 2011/01/14: +Below the `\documentclass' line(s) and above `\begin{document}', +you load 'monofill.sty' (as usually) by +\begin{verbatim} + \usepackage{monofill} +\end{verbatim} +For certain uses such as with \ctanpkgref{fileinfo}, +the package is better loaded by +\begin{verbatim} + \RequirePackage{monofill} +\end{verbatim} + +\subsection{Examples} +\subsubsection{Typewriter} +% \MFfieldtemplate{tt}{leftright} +% \MFfieldtemplate[\ ]{tt}{leftright} +% \MFfieldtemplate[~]{tt}{leftright} +% \MFfieldtemplate[X]{tt}{leftright} +With both \[`\MFfieldtemplate[\MFspace]{tt}{leftright}' \] +and \[`\MFfieldtemplate[\MFenspace]{tt}{leftright}'\] +followed by +\begin{verbatim} +\begin{quotation}\tt\noindent + !leftright!\\ + !\MFleftinfield{left}{tt}!\\ + !\MFrightinfield{right}{tt}!\\ + !\MFrightinfield{rightleft}{tt}! +\end{quotation} +\end{verbatim} +I get +% \MFfieldtemplate[\MFspace]{tt}{leftright} +\MFfieldtemplate[\MFenspace]{tt}{leftright} +% \MFfieldtemplate[\enspace]{tt}{leftright} +% \MFfieldtemplate[\kern.5em ]{tt}{leftright} +% \renewcommand*{\MFfillelement}{\kern.5em } +% \renewcommand*{\MFfillelement}{\hphantom\enspace} +\begin{quotation}\tt\noindent +% \enspace leftright\\ + !leftright!\\ + !\MFleftinfield{left}{tt}!\\ + !\MFrightinfield{right}{tt}!\\ + !\MFrightinfield{rightleft}{tt}! +% \enspace \MFrightinfield{rightleft}{tt} +\end{quotation} +\subsubsection{Figures} +Similarly, with +`\MFfieldtemplate[\MFenspace]{figs}{0000}' +and +\begin{verbatim} +\begin{quote}\noindent + \MFrightinfield{1}{figs} is one,\\ + \MFrightinfield{10}{figs} is ten,\\ + \MFrightinfield{100}{figs} is hundred,\\ + \MFrightinfield{1000}{figs} is thousand. +\end{quote} +\end{verbatim} +I get +\MFfieldtemplate[\MFenspace]{figs}{0000} +\begin{quote}\noindent + \MFrightinfield{1}{figs} is one,\\ + \MFrightinfield{10}{figs} is ten,\\ + \MFrightinfield{100}{figs} is hundred,\\ + \MFrightinfield{1000}{figs} is thousand. +\end{quote} +\subsubsection{Screen Output} +Finally, try +\begin{verbatim} +\MFfieldtemplate{screen}{0000} + \typeout{\MFrightinfield{1}{screen} is one,} + \typeout{\MFrightinfield{10}{screen} is ten,} + \typeout{\MFrightinfield{100}{screen} is hundred,} + \typeout{\MFrightinfield{1000}{screen} is thousand.} +\typein{OK?} +\end{verbatim} +It works, believe me. +% \MFfieldtemplate{screen}{0000} +% \typeout{\MFrightinfield{1}{screen} is one,} +% \typeout{\MFrightinfield{10}{screen} is ten,} +% \typeout{\MFrightinfield{100}{screen} is hundred,} +% \typeout{\MFrightinfield{1000}{screen} is thousand.} +% \typein{OK?} + +% \pagebreak +% \section{Implementation} +\section{Package File Header (Legalize)} +\input{monofill.doc} + +\section{Credit} +The package actually is motivated by good ideas of Martin Muench's about +extending the \ctanpkgref{longnamefilelist} package. + +\end{document} + +VERSION HISTORY + +2012/03/18 for v0.1 started +2012/03/19 completed + + |