summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/monofill
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2012-03-21 00:51:57 +0000
committerKarl Berry <karl@freefriends.org>2012-03-21 00:51:57 +0000
commitdb2ed0df6d72baba823361771569da548892c8ad (patch)
treeb7caf137d1128860dd37e5bc4b045f016c2bf8aa /Master/texmf-dist/source/latex/monofill
parent05e9b1f2ec14170945f72dc4c04cb6fd607a968a (diff)
monofill (20mar12)
git-svn-id: svn://tug.org/texlive/trunk@25713 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/monofill')
-rw-r--r--Master/texmf-dist/source/latex/monofill/monofill.tex166
-rw-r--r--Master/texmf-dist/source/latex/monofill/srcfiles.tex12
2 files changed, 178 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
+
+
diff --git a/Master/texmf-dist/source/latex/monofill/srcfiles.tex b/Master/texmf-dist/source/latex/monofill/srcfiles.tex
new file mode 100644
index 00000000000..ad749db2171
--- /dev/null
+++ b/Master/texmf-dist/source/latex/monofill/srcfiles.tex
@@ -0,0 +1,12 @@
+\ProvidesFile{srcfiles.tex}[2012/03/18 file infos -> SrcFILEs.txt]
+\RequirePackage{myfilist}
+\EmptyFileList %%% [readprov.sty,myfilist.sty]
+%% packages:
+\ReadPackageInfos{monofill}
+%% documentation:
+\ReadFileInfos{monofill}
+%% documentation settings and auxiliaries:
+\ReadPackageInfos{fifinddo,makedoc,niceverb}
+\ReadFileInfos{makedoc.cfg,mdoccorr.cfg,srcfiles}
+\ListInfos[SrcFILEs.txt]
+