diff options
author | Karl Berry <karl@freefriends.org> | 2010-09-08 23:02:51 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2010-09-08 23:02:51 +0000 |
commit | d9c6145293d327c544fc033d3e9956fc1afc5b25 (patch) | |
tree | 1c1d8c0afb19fb2a3d188c6c388b048aa6b9259f /Master/texmf-dist | |
parent | efc66f013627da6574d9896e561321f6af4cb266 (diff) |
new latex package rvwrite 1.2 (28aug10)
git-svn-id: svn://tug.org/texlive/trunk@19614 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r-- | Master/texmf-dist/doc/latex/rvwrite/Makefile | 45 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/rvwrite/README | 23 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/rvwrite/rvwrite-doc.pdf | bin | 0 -> 74568 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/rvwrite/rvwrite-doc.tex | 480 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/rvwrite/test.tex | 21 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/rvwrite/rvwrite.sty | 68 |
6 files changed, 637 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/rvwrite/Makefile b/Master/texmf-dist/doc/latex/rvwrite/Makefile new file mode 100644 index 00000000000..2b0c1b1aecb --- /dev/null +++ b/Master/texmf-dist/doc/latex/rvwrite/Makefile @@ -0,0 +1,45 @@ +## +## Makefile +## +## +## +## +## + +file=rvwrite-doc + + +all: pdf out + make pdf + +out: + if [ -f $(file).out ] ; then cp $(file).out tmp.out; fi ; + sed 's/BOOKMARK/dtxmark/g;' tmp.out > x.out; mv x.out tmp.out ; + +pdf: + pdflatex $(file).tex + +index: + makeindex -s gind.ist -o $(file).ind $(file).idx + +changes: + makeindex -s gglo.ist -o $(file).gls $(file).glo + +view: + xpdf -z 200 $(file).pdf &>/dev/null + +aview: + acroread $(file).pdf + +macview: + open $(file).pdf + +ins: + latex $(file).ins + +diff: + diff $(file).sty ../$(file).sty |less + +copy: + cp $(file).sty ../ + diff --git a/Master/texmf-dist/doc/latex/rvwrite/README b/Master/texmf-dist/doc/latex/rvwrite/README new file mode 100644 index 00000000000..c53a470e6f4 --- /dev/null +++ b/Master/texmf-dist/doc/latex/rvwrite/README @@ -0,0 +1,23 @@ +This directory contains the LaTeX2e package `rvwrite' +Version: 1.2; August 25, 2010 + +This package shall be used to fix insufficient number of write registers. + +Copyright (C) 2010 CV Radhakrishnan + River Valley, Malayinkil + Trivandrum 695571, India + cvr@river-valley.org + +This program can be redistributed and/or modified under the terms +of the LaTeX Project Public License Distributed from CTAN +archives in directory macros/latex/base/lppl.txt; either +version 1 of the License, or any later version. + +If you find this package useful, please send me a postcard. + +To install: + copy rvwrite.sty to a directory in your $TEXINPUTS path and + update TeX's file database. + +$Id: README,v 1.3 2010/08/27 10:35:34 cvr Exp cvr $ + diff --git a/Master/texmf-dist/doc/latex/rvwrite/rvwrite-doc.pdf b/Master/texmf-dist/doc/latex/rvwrite/rvwrite-doc.pdf Binary files differnew file mode 100644 index 00000000000..66157d830c1 --- /dev/null +++ b/Master/texmf-dist/doc/latex/rvwrite/rvwrite-doc.pdf diff --git a/Master/texmf-dist/doc/latex/rvwrite/rvwrite-doc.tex b/Master/texmf-dist/doc/latex/rvwrite/rvwrite-doc.tex new file mode 100644 index 00000000000..61399f0ef86 --- /dev/null +++ b/Master/texmf-dist/doc/latex/rvwrite/rvwrite-doc.tex @@ -0,0 +1,480 @@ +%% +%% +%% This is file 'rvwrite-doc.tex'. +%% +%% File: rvwrite.sty Copyright (c) 2010 C. V. Radhakrishnan +%% River Valley, Mepukada, Malayinkil, Trivandrum 695571 +%% http://www.river-valley.com Email: <cvr@river-valley.org> +%% +%% This package may be distributed under the terms of the LaTeX Project +%% Public License, as described in lppl.txt in the base LaTeX distribution. +%% Either version 1.0 or, at your option, any later version. +%% +%% $Id: rvwrite-doc.tex,v 1.1 2010/08/27 09:43:57 cvr Exp cvr $ +%% +%% + +\documentclass[a4paper]{article} + +\makeatletter +\usepackage[dvipsnames,svgnames]{xcolor} + + \colorlet{itemcolor}{brown} + \colorlet{verbcolor}{Sepia} + \colorlet{botrulecolor}{orange!25} + \colorlet{botbgcolor}{orange!15} + \colorlet{botcolor}{orange!80} + \colorlet{pgrulecolor}{orange} + \colorlet{pgbgcolor}{white} + + \colorlet{quicklinkrulecolor}{orange!40} + \colorlet{quicklinkcolor}{brown} + \colorlet{topverticalrule}{brown} + \colorlet{titlecolor}{brown} + \colorlet{hlinkcolor}{brown} + \colorlet{hlinktricolor}{orange!70} + \colorlet{linkcolor}{brown} + \colorlet{urlcolor}{brown} + + \colorlet{arrayrulecolor}{olive!30} + \colorlet{seccolor}{brown} + + \colorlet{toprulecolor}{orange!30} + \colorlet{topbgcolor}{orange!10} + \colorlet{topcolor}{brown!80} +% +% +\def\floatpagefraction{.99} +\usepackage{geometry} +\geometry{top=2in, + bottom=1in, + left=2in, + right=1in, + a4paper} + +\DeclareRobustCommand{\LaTeX}{L\kern-.25em% + {\sbox\z@ T% + \vbox to\ht\z@{% + \hbox{% + \check@mathfonts + \fontsize\sf@size\z@ + \math@fontsfalse\selectfont + A}% + \vss}% + }% + \kern-.10em% + \TeX} + +\usepackage{comment,xspace} +\def\xml{\textsc{xml}\xspace} +\def\latex{\LaTeX\xspace} +\def\pdf{\textsc{pdf}\xspace} +\def\pdfa{\textsc{pdf/a-1}b\xspace} +\def\pdfx{\textsc{pdf/x-1}a\xspace} +\def\xmp{\textsc{xmp}\xspace} +\def\pdftex{\textsc{pdf\TeX}\xspace} +\def\defmacro#1{\texttt{\bsl#1}} +\def\thanh{H\`an Th\^e Th\`anh\xspace} +\def\gnulinux{\textsc{gnu/linux}\xspace} +\def\bsl{\expandafter\@gobble\string\\} + +\let\@DRAFTout@Hook\@empty +\newcommand{\DRAFTout}{\g@addto@macro\@DRAFTout@Hook} +\newcommand{\@DRAFTout@Out}{% + \afterassignment\@DRAFTout@Test + \global\setbox\@cclv= % + } +\newcommand{\@DRAFTout@Test}{% + \ifvoid\@cclv\relax + \aftergroup\@DRAFTout@Output + \else + \@DRAFTout@Output + \fi% + } +\newcommand{\@DRAFTout@Output}{% + \@DRAFTout@Hook% + \@DRAFTout@Org@Out\box\@cclv% + } +\newcommand{\@DRAFTout@Org@Out}{} +\newcommand*{\@DRAFTout@Init}{% + \let\@DRAFTout@Org@Out\shipout + \let\shipout\@DRAFTout@Out + } +\newdimen\OHeight +\setlength\OHeight{\textheight} +\addtolength\OHeight{\headheight} +\addtolength\OHeight{\headsep} +\addtolength\OHeight{\footskip} + +\newif\ifoverlay\overlayfalse + +\AtBeginDocument{\@DRAFTout@Init} +\newcommand{\@DraftOverlay@Hook}{} +\newcommand{\AddToDraftOverlay}{\g@addto@macro\@DraftOverlay@Hook} +\newcommand{\ClearDraftOverlay}{\let\@DraftOverlay@Hook\@empty} +\newcommand{\@DraftOverlay}{% + \ifx\@DraftOverlay@Hook\@empty + \else + \bgroup + \@tempdima=1in + \@tempcnta=\@tempdima + \@tempcntb=-\@tempdima + \advance\@tempcntb\paperheight + \ifoverlay + \global\setbox\@cclv\vbox{% + \box\@cclv + \vbox{\let\protect\relax% + \unitlength=1pt% + \pictur@(0,0)(\strip@pt\@tempdima,\strip@pt\@tempdimb)% + \@DraftOverlay@Hook% + \endpicture}}% + \else + \global\setbox\@cclv\vbox{% + \vbox{\let\protect\relax% + \unitlength=1sp% + \pictur@(0,0)(\@tempcnta,\@tempcntb)% + \@DraftOverlay@Hook% + \endpicture}% + \box\@cclv}% + \fi + \egroup + \fi +} + +\definecolor{gray30}{gray}{.7} +\definecolor{gray20}{gray}{.8} +\definecolor{gray10}{gray}{.9} + +\DRAFTout{\@DraftOverlay} +\long\def\puttext(#1)#2{\AddToDraftOverlay{% + \setlength{\unitlength}{1pt}\thinlines% + \put(#1){#2}}} + +\RequirePackage{shortvrb} +\MakeShortVerb{\|} +\RequirePackage{amsfonts,amssymb} +\IfFileExists{pxfonts.sty}{\RequirePackage{pxfonts}}{} +\IfFileExists{charter.sty}{\RequirePackage{charter}}{} +\IfFileExists{lfr.sty}{\RequirePackage[scaled=.85]{lfr}}{} +\IfFileExists{prima.sty}{\RequirePackage[scaled=.8]{prima}}{} + +\def\theCodelineNo{\reset@font\tiny\arabic{CodelineNo}} + +\def\@seccntformat#1{\llap{\csname the#1\endcsname.\hspace*{6pt}}} +\def\section{\@startsection {section}{1}{\z@}% + {-3.5ex \@plus -1ex \@minus -.2ex}% + {2.3ex \@plus.2ex}% + {\normalfont\large\bfseries\color{seccolor}}} +\def\subsection{\@startsection{subsection}{2}{\z@}% + {-2.25ex\@plus -1ex \@minus -.2ex}% + {1.5ex \@plus .2ex}% + {\normalfont\normalsize\bfseries\color{seccolor}}} +\def\subsubsection{\@startsection{subsubsection}{3}{\z@}% + {-1.25ex\@plus -1ex \@minus -.2ex}% + {1.5ex \@plus .2ex}% + {\normalfont\normalsize\bfseries\color{seccolor}}} + +\puttext(0,36){\botstring}% + \puttext(0,840){\copy\topbox} + +\RequirePackage{colortbl} +\arrayrulecolor{arrayrulecolor} +\let\shline\hline +\def\hline{\noalign{\vskip3pt}\shline\noalign{\vskip4pt}} + +\RequirePackage[pdftex,colorlinks]{hyperref} +\def\Hlink#1#2{\hyperlink{#2}{\color{hlinktricolor}% + $\blacktriangleright$~\color{hlinkcolor}#1}} + \def\@linkcolor{linkcolor} + \def\@urlcolor{urlcolor} + +\pagestyle{empty} +\def\version#1{\gdef\@version{#1}} +\def\@version{1.0} +\def\contact#1{\gdef\@contact{#1}} +\def\author#1{\gdef\@author{#1}} +\def\@author{River Valley Technologies} +\def\@contact{\texttt{support@river-valley.com}} +\def\keywords#1{\gdef\@keywords{#1}} +\def\@keywords{\LaTeX, \xml} + +\long\def\Hrule{\\[-4pt]\hspace*{-3em}% + {\color{quicklinkrulecolor}\rule{\linewidth}{.1pt}}\\} + +\long\def\dtxmarkone[#1][#2]#3#4#5{\def\next{#1}% + \ifcase\next\or\Hlink{#4}{#3}\Hrule \fi} + +\newcounter{dtx} + +\long\def\dtxmarktwo[#1][#2]#3#4#5{\def\next{#1}% + \stepcounter{dtx}\parbox{.45\linewidth}% + {\ifcase\next\or\Hlink{#4}{#3}\fi}% + \ifodd\thedtx\relax\else\Hrule\fi} + +\let\dtxmark\dtxmarkone +\newbox\topbox +\long\def\maketitle{\global\setbox\topbox=\vbox{\hsize=\paperwidth + \parindent=0pt + \fcolorbox{toprulecolor}{topbgcolor}% + {\parbox[t][1.5in][c]{\paperwidth}% + {\hspace*{15mm}% + \parbox[c]{.35\paperwidth}{\fontsize{18pt}{20pt}% + \raggedright\normalfont\sffamily \selectfont + \color{titlecolor} \@title\\[6pt] + {\normalsize\rmfamily\scshape\@author}\\% + {\footnotesize\textsc{keywords:} \@keywords}}% + \hfill + \parbox[c][1.5in][c]{1mm}{\color{topverticalrule}% + \rule{.1pt}{1.5in}}% + \hfill + \parbox[c][1.5in][c]{.35\paperwidth}% + {\normalfont\footnotesize\sffamily\color{quicklinkcolor}% + \vspace*{6pt} QUICK LINKS\Hrule + \IfFileExists{tmp.out}{\input tmp.out}{}% + }\hspace*{5mm}% + }% + }% + }% +} +\gdef\botstring{\fcolorbox{botrulecolor}{botbgcolor}% + {\parbox[t][.5in][t]{\paperwidth}% + {\normalfont\sffamily\footnotesize% + \color{botcolor}% + \hspace*{5mm}\parbox[c][.5in][c]{.45\paperwidth}% + {\raggedright River Valley Technologies, + \href{http://www.river-valley.com}{% + http://www.river-valley.com}\\ + River Valley Campus, Malayinkil, Trivandrum + 695571, India\\ 9, Browns Court, Kennford, + Exeter, United Kingdom {\scshape ex6 7xy} + }\hfill% + \parbox[c][.5in][c]{1cm} + {\centering\sffamily\mdseries + \fcolorbox{pgrulecolor}{pgbgcolor}{\thepage}% + }\hfill + \parbox[c][.5in][c]{.45\paperwidth} + {\raggedleft\begin{tabular}{rl}% + Version:&\@version\\ + Date:&\@date\\ + Contact:&\@contact + \end{tabular}\hspace*{5mm}% + }% + }% + }% + } + +\RequirePackage{enumitem} +\setitemize[1]{label={\small\color{itemcolor}$\blacktriangleright$},itemsep=0pt} +\setitemize[2]{label={\small\color{itemcolor}$\triangleright$},itemsep=0pt} +\setenumerate[1]{label={\small\color{itemcolor}\arabic*.},itemsep=0pt} + +\def\MacroFont{\fontencoding\encodingdefault + \fontfamily\ttdefault + \fontseries\mddefault + \fontshape\updefault + \color{verbcolor}\small}% + +\def\verbatim@font{\normalfont\color{verbcolor}\ttfamily} + +\def\verb{\relax\ifmmode\hbox\else\leavevmode\null\fi + \bgroup + \verb@eol@error \let\do\@makeother \dospecials + \verbatim@font\@noligs + \@ifstar\@sverb\@verb} + +\makeatother + +\begin{document} + +\title{Enhancing \texttt{write} register in \LaTeX{} documents} +\date{2010/08/25} +\version{1.2} +\keywords{\pdf, pdf\TeX, \LaTeX} +\author{c.\,v.\,radhakrishnan} +\contact{\texttt{cvr@river-valley.org}} + +\maketitle + +\section{Prolog} + +The \verb+io+ registers in \TeX{} are often a matter of severe +limitation. When we try to typeset a document that loads a lot of +packages, it becomes a non-trivial task to satisfy register +requirements of various packages that compete with each other. It is +further complicated, if refining the typeset copy involves usage of +more custom packages which want to write out a few streams for reading +during subsequent \TeX{} compilations. \LaTeX{} needs a few registers +by default, some of the packages might need a few more streams thereby +reducing the available number of registers to less than ten. At times, +we have been forced to comment out a few \verb+write+ registers which +are seemingly unused for the document in question to make available +necessary registers for our custom packages. But, this is not an +elegant way, also, it requires developer intervention during the +production process. The package namely, \verb+rvwrite.sty+, is written +to solve this nagging problem. + +\section{The theory} + +We make use of only one register to write out all our streams, +meaning, all the items of information will be written to one file with +necessary mark-up and delimiters to separate at a latter stage. The +final separation and write out process depend on the literate +programming method developed by +\href{http://tug.org/interviews/gurari.pdf}{Eitan Gurari} and as +provided in his package, \verb+ProTex.sty+ which is part of any +standard \TeX{} distribution. The written out file is further +processed by \TeX{} with the help of \verb+ProTex.sty+ to segregate +all information and collect in separate files for our final usage. + +\section{The implementation} + +The process involves the following stages: +\begin{enumerate} +\item Mark-up all strings to be written out with special tags. +\item Run \LaTeX{} in the usual way which will generate + \verb+\jobname-write.tex+ along with other auxiliary files. +\item Typeset \verb+\jobname-write.tex+ with \LaTeX, this will result + in several output files as you would expect. +\end{enumerate} + +\subsection{New functions} +\begin{description} +\item[\defmacro{newrvwrite}] Every new stream has to be initialized with + this function. eg., + \begin{verbatim} + \newrvwrite{mex} +\end{verbatim} +\noindent This will facilitate a new auxiliary stream, \verb+\jobname-mex.tex+. +\item[\defmacro{rvwrite}] Macro to mark-up strings meant for writing + out. This has two arguments, first being the file type and the + second the strings. eg., + \begin{verbatim} + \rvwrite{mex}{$\beta$} +\end{verbatim} +\noindent will write \verb+$\beta$+ to \verb+\jobname-mex.tex+ without + expanding any of the strings even if control sequence. +\item[\defmacro{ervwrite}] Macro to mark-up strings that contain + \TeX{} control sequences which need to be expanded before writing. + eg., + \begin{verbatim} + \ervwrite{mex}{Section: \thesection} +\end{verbatim} +\noindent will write the contents after expanding \verb+\thesection+ to the + corresponding counter number. +\end{description} + +\subsection{The usage} + +Package can be loaded with the following command: +\begin{verbatim} + \usepackage{rvwrite} +\end{verbatim} +\noindent +There are no extra options for the package, nor is there any specific +sequence for loading, it can be loaded anywhere in the preamble. + +As explained in the previous section, to define a new output stream, +\verb+\newrvwrite+ shall be used, the usage is provided below: +\begin{verbatim} + \newrvwrite{info} +\end{verbatim} +This command will finally result in a file, \verb+\jobname-info.tex+ +which may be used as such or renamed to suit user's requirements. Each +stream may be initialized with \verb+\newrvwrite+ macros to facilitate +safe writing of output at the end of the process. Even if you miss to +initialize, the first instance of writing will trigger initialization, +but it will be more safer to initialize the stream in the beginning. + +\subsection{Examples} + +\subsubsection{Source file} + +Given below is the source of a test file, \verb+test.tex+ for favor +of your testing: +\begin{verbatim} + \documentclass[a4paper]{article} + \usepackage{pxfonts} + \usepackage{rvwrite} + \usepackage{lipsum} + + \begin{document} + + \lipsum[1] + \newrvwrite{info} + \ervwrite{info}{\dlrchr\string\gamma\dlrchr} + \rvwrite{info}{$\beta$} + \ervwrite{info}{JOB: \jobname-\thepage} + + \newrvwrite{tbl} + \ervwrite{tbl}{\string\def\string\thetable{9}} + \rvwrite{tbl}{{\itshape Indian \TeX\ Users Group}} + \rvwrite{tbl}{\LaTeX is a macro package written in \TeX\ language} + \lipsum[2] + + \end{document} +\end{verbatim} + +\subsubsection{Composite stream} + +The verbatim source of the composite stream written to +\verb+test-write.tex+ is given below: +\begin{verbatim} + \documentclass{article} + \input ProTex.sty + \AlProTex{tex,<<<>>>,list,title,|,[]} + \begin{document} + + \<test-info\><<< + $\gamma$ + >>> + \<test-info\><<< + $\beta $ + >>> + \<test-info\><<< + JOB: test-1 + >>> + \<test-tbl\><<< + \def\thetable{9} + >>> + \<test-tbl\><<< + {\itshape Indian \TeX \ Users Group} + >>> + \<test-tbl\><<< + \LaTeX is a macro package written in \TeX \ language + >>> + \OutputCode\<test-info\> + \OutputCode\<test-tbl\> + + \end{document} +\end{verbatim} + +\subsubsection{Various output files} + +Two files will be created (1) \verb+test-info.tex+ and (2) +\verb+test-tbl.tex+, the sources are provided below: + +\paragraph{test-info.tex} +\begin{verbatim} + $\gamma$ + $\beta $ + JOB: test-1 +\end{verbatim} + +\paragraph{test-tbl.tex} +\begin{verbatim} + \def\thetable{9} + {\itshape Indian \TeX \ Users Group} + \LaTeX is a macro package written in \TeX \ language +\end{verbatim} + +\section{Download} + +The package, documentation and test files can be downloaded from the +\textsc{url}:\par\medskip + \url{http://download.river-valley.com/cvr/rvwrite.tar.gz} + +\medskip +Bugs, suggestions and feature requests may be posted at +\href{http://www.cvr.cc/write-registers-in-tex/}{http://www.cvr.cc}. + +\end{document}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/rvwrite/test.tex b/Master/texmf-dist/doc/latex/rvwrite/test.tex new file mode 100644 index 00000000000..7ea76184752 --- /dev/null +++ b/Master/texmf-dist/doc/latex/rvwrite/test.tex @@ -0,0 +1,21 @@ +\documentclass[a4paper]{article} +\usepackage{pxfonts} +\usepackage{rvwrite} +\usepackage{lipsum} + +\begin{document} + +\lipsum[1] +\newrvwrite{info} +\ervwrite{info}{\dlrchr\string\gamma\dlrchr} +\rvwrite{info}{$\beta$} +\ervwrite{info}{JOB: \jobname-\thepage} + +\newrvwrite{tbl} +\ervwrite{tbl}{\string\def\string\thetable{9}} +\rvwrite{tbl}{{\itshape Indian \TeX\ Users Group}} +\rvwrite{tbl}{\LaTeX is a macro package written in \TeX\ language} + +\lipsum[2] + +\end{document}
\ No newline at end of file diff --git a/Master/texmf-dist/tex/latex/rvwrite/rvwrite.sty b/Master/texmf-dist/tex/latex/rvwrite/rvwrite.sty new file mode 100644 index 00000000000..dc3ea14b5fc --- /dev/null +++ b/Master/texmf-dist/tex/latex/rvwrite/rvwrite.sty @@ -0,0 +1,68 @@ +%% +%% +%% This is file 'rvwrite.sty'. +%% +%% File: rvwrite.sty Copyright (c) 2010 C. V. Radhakrishnan +%% River Valley, Mepukada, Malayinkil, Trivandrum 695571 +%% http://www.river-valley.com Email: <cvr@river-valley.org> +%% +%% This package may be distributed under the terms of the LaTeX Project +%% Public License, as described in lppl.txt in the base LaTeX distribution. +%% Either version 1.0 or, at your option, any later version. +%% +%% $Id: rvwrite.sty,v 1.2 2010/08/25 08:59:06 cvr Exp cvr $ +%% +\NeedsTeXFormat{LaTeX2e} +\def\Fileversion$#1: #2 ${\gdef\fileversion{#2}} +\def\Filedate$#1: #2 #3 ${\gdef\filedate{#2}} +\Fileversion$Revision: 1.2 $ +\Filedate$Date: 2010/08/25 08:59:06 $ +\ProvidesPackage{rvwrite} + [\filedate\space\fileversion\space enhanced write registers (CVR)] +\PackageWarningNoLine{rvwrite} + {****************************************\MessageBreak + Package rvwrite v,\fileversion\space loaded\MessageBreak + [enhanced write registers (CVR)]\MessageBreak + ****************************************} +% +% +\newwrite\rvtwrite + +\def\dlrchr{\expandafter\@gobble\string\$} +\def\hshchr{\expandafter\@gobble\string\#} +\def\bslchr{\expandafter\@gobble\string\\} +\def\lbrchr{\expandafter\@gobble\string\{} +\def\rbrchr{\expandafter\@gobble\string\}} +\def\tldchr{\expandafter\@gobble\string\~} +\def\ampchr{\expandafter\@gobble\string\&} + +\immediate\openout\rvtwrite=\jobname-write.tex +\immediate\write\rvtwrite{\string\documentclass{article}} +\immediate\write\rvtwrite{ } +\immediate\write\rvtwrite{\string\input\space ProTex.sty} +\immediate\write\rvtwrite{\string\AlProTex{tex,<<<>>>,list,title,|,[]}} +\immediate\write\rvtwrite{ } +\immediate\write\rvtwrite{\string\begin{document}} +\immediate\write\rvtwrite{ } + +\def\newrvwrite#1{\@ifundefined{RV@#1}{\@namedef{RV@#1}{#1}}{}% + \AtEndDocument{\immediate\write\rvtwrite{% + \string\OutputCode\string\<\jobname-#1\string\>}}} +% +% \rvwrite #1 => file type +% #2 => string(s) to write out +\def\ervwrite#1#2{\@ifundefined{RV@#1}{\newrvwrite{#1}}{}% + \immediate\write\rvtwrite{\string\<\jobname-#1\string\><<<} + \immediate\write\rvtwrite{#2^^J>>>}} + +\def\rvwrite#1#2{\@ifundefined{RV@#1}{\newrvwrite{#1}}{}\def\next{#2}% + \immediate\write\rvtwrite{\string\<\jobname-#1\string\>% + <<<^^J\expandafter\strip@prefix\meaning\next^^J>>>}} + +\AtEndDocument{\write\rvtwrite{\space^^J\string\end{document}}} + +\endinput + +%% +%% End of file 'rvwrite.sty' +%% |