summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/rcs/src/rcs-conf.tex
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/rcs/src/rcs-conf.tex')
-rw-r--r--macros/latex/contrib/rcs/src/rcs-conf.tex209
1 files changed, 209 insertions, 0 deletions
diff --git a/macros/latex/contrib/rcs/src/rcs-conf.tex b/macros/latex/contrib/rcs/src/rcs-conf.tex
new file mode 100644
index 0000000000..a743678574
--- /dev/null
+++ b/macros/latex/contrib/rcs/src/rcs-conf.tex
@@ -0,0 +1,209 @@
+% $DocId: rcs-conf.tex,v 2.6 1995/08/02 12:08:41 schrod Exp $
+%------------------------------------------------------------
+
+%
+% internal interface of the rcs package
+%
+% [LaTeX]
+% (history at end)
+
+
+% This file is either a subdocument of the style or a document on
+% its own. In the former case it's a chapter, in the latter it's a
+% ``normal'' LaTeX progltx document.
+% If it's a subdocument, this file will be included after
+% \begin{document}. We can detect this: \document redefines
+% \documentclass to be \@twoclasseserror. Then we also have to define
+% how this document is ended: Either by \endinput or by an additional
+% revision log.
+% Of course, this test works only if LaTeX 2e is used for processing.
+
+\expandafter\ifx \csname @twoclasseserror\endcsname \documentclass
+
+ \let\endSubDocument=\endinput
+
+ \chap The internal interface.
+
+\else
+
+ \let\endSubDocument=\relax
+
+ \documentclass{progltx}
+
+ \usepackage{rcs-doc} % additional document-specific markup
+ \usepackage{a4-9} % Tschichold's A4 layout
+
+ \nofiles
+
+ \begin{document}
+
+ \title{The \texttt{rcs} Package\\
+ {\large (Internal Interface)}%
+ }
+ \author{Joachim Schrod%
+ \thanks{Email: \texttt{jschrod@acm.org}}%
+ }
+
+ \RCS $DocDate: 1995/08/02 12:08:41 $
+ \date{%
+ \RCSDocDate\\[3pt] % LaTeX Error: Paragraph terminated too early
+ (Revision \RCSStyleRevision{} of \texttt{rcs.sty})%
+ }
+
+ \maketitle
+
+ \sect
+
+\fi
+
+
+You can configure the |rcs| package by redefining control
+sequences (cseqs for short). The cseqs which may be redefined form the
+\textsl{protected interface}, all of them start with `|Rcs|'. Some cseqs
+may be used by you to get information about the state of this module.
+These form the \textsl{observer interface}, all cseqs herein start with
+`|RCS_|'. Both cseq sets together form the internal interface.
+
+You must not redefine a cseq starting with `|rcs|' or `|RCS|'. In no
+case redefine a cseq containing an at~sign or an underscore---all of
+them belong to the implementation. Here you have a description of an
+internal interface you can rely on, use it (and only it) for
+configuration.
+
+
+\sect \textsl{The protected interface}.
+
+\medskip
+
+\noindent The cseqs of the protected interface fall in two
+categories: Configuration of RCS fields and of revision logs.
+
+In general, handlers for RCS fields may be defined, they have the
+name |\RcsHandle|\textit{Keyword}. These sequences are responsible for
+the filtering of the value of the RCS \textit{Keyword} field. The
+unfiltered value itself is provided in the cseq
+|\RCSRaw|\textit{Keyword} or in |\RCS_value| (see below).
+
+\smallskip
+
+\noindent The following cseqs my be redefined to configure the |rcs|
+package:
+%
+\begin{quote}
+\begin{tabular}{ll}
+|\RcsEmptyValue| & used as value for an empty field\\
+|\RcsHandleDate| & handler for the \Date{} field\\[1ex]
+%
+|\RcsLogStyle| & determines general layout of revision log\\
+ & must define |\RcsLogHeading|\\
+|\RcsLogListStyle| & determines layout of revision log list\\
+\itshape |\RcsLogHeading{|text\/|}| & heading of revision log\\
+\itshape |\RcsLogDate| date\/|\endDate|
+ & typesets date in revision entry intro;\\
+ & \textit{date} has the form \textit{yyyy/mm/dd}\\
+\itshape |\RcsLogTime{|time\/|}|
+ & typesets time in revision entry intro\\
+\end{tabular}
+\end{quote}
+
+
+\sect The cseq |\RcsLogListStyle| needs further explanation: The
+|rcslog| environment is, in fact, a list environment.
+|\RcsLogListStyle| will be used as the second argument of |\list|, it
+must define |\makelabel| and setup all list layout parameters.
+
+Even though |rcslog| is implemented via |list|, I don't regard it as
+such. For example, I think it should not increase the list level: an
+item list in a revision entries should use the first-level item
+labels. This is realized by placing the |rcslog| environment on list
+level~0. It follows that |\endlist| must not be used for |\endrcslog|,
+|\endtrivlist| is used instead. If you redefine |\RcsLogListStyle| in
+such a way that this special list level setting is not done any more,
+you \emph{must} redefine |\endrcslog| as well. You were warned.
+
+Of course, if you just want to change some paragraph layout values,
+it's better to append your definitions to the end of
+|\RcsLogListStyle|.
+
+
+\sect The following macros must be looked at for internationalization:
+%
+\begin{quote}
+\begin{tabular}{ll}
+|\RcsLogHeadingName| & log heading text, in front of filename\\
+|\RcsUnknownFile| & used for unknown filename\\
+|\RcsEmptyLog| & no revision entries are available\\
+\itshape |\RcsLogRevision{|rev\/|}{|date\/|}{|time\/|}{|uid\/|}|%
+ \hidewidth\null \\
+ & introduces a revision entry, must be an |\item|\\
+\end{tabular}
+\end{quote}
+
+
+
+\sect \textsl{The observer interface}.
+
+\medskip
+
+\noindent The following cseqs provide you with information you might
+utilize in your configuration.
+%
+\begin{quote}
+\begin{tabular}{ll}
+|\rcs@loaded| & the module's RCS revision field\\
+ & (This name does not follow the name conventions\\
+ & for internal reasons.)\\[1ex]
+|\RCS_keyword| & keyword of the last parsed RCS field\\
+|\RCS_value| & value of the last parsed RCS field\\
+\itshape |\RCS_get_author{|uid\/|}| & gets \textit{uid}'s author name\\
+\end{tabular}
+\end{quote}
+
+
+
+\endSubDocument
+
+
+\vskip \PltxPreSectSkip
+
+\begin{rcslog}
+$DocLog: rcs-conf.tex,v $
+\Revision 2.6 1995/08/02 12:08:41 schrod
+Transformed this style option into a \LaTeXe{} package.
+
+\Revision 2.5 1995/08/01 22:54:09 schrod
+Updated to \LaTeXe{}; |\RcsLoadHook| is not necessary any more as that
+functionality is provided by \LaTeX{} now.
+
+Spell checked.
+
+\Revision 2.4 1993/11/08 20:15:12 schrod
+Added possibility to configure the layout of the log list
+(|\RcsLogListStyle|).
+
+Now the log list is on level~0. Thereby item lists or enumerations in
+revision entries get first-level labels. This has consequences for
+the configuration, this implementation strategy must therefore be
+specified in the internal interface description.
+
+\Revision 2.3 1993/11/03 20:04:05 schrod
+Cleaned up for distribution: Added email address to each document,
+added copyright info to |rcs.doc|, added acknowledgments. Checked my
+English and the spacing.
+
+\Revision 2.2 1993/11/02 18:43:03 schrod
+|\RcsLoaded| must not be redefined, belongs therefore to the observer
+interface. I don't write it as |\RCS_loaded| though---it must be
+usable outside of style files.
+
+Don't need auxiliary files.
+
+\Revision 2.1 1993/11/01 19:49:21 schrod
+ Added sub-document that describes the internal interface.
+
+\end{rcslog}
+
+
+\end{document}
+
+% LocalWords: rcs yyyy mm dd rcslog rev uid