#!/bin/sh # Rd2dvi -- check man pages (*.Rd help files) by LaTeX.. # if [ $# -eq 0 -o x$1 = x-h -o x$1 = x--help ] then cat <<_EOF_ Rd2dvi : Convert R man pages (Rd files) to latex and dvi USAGE: R CMD Rd2dvi - When a directory is given as argument, it should be a source 'package' directory, or its 'man' subdirectory, and all its files are taken. This is convenient for nice documentation checking of a package. - When files are given, they must be Rd files. All the files are converted to LaTeX and concatenated; they are LaTeXed and indexed; Finally, 'xdvi' is started on the result if available. EXAMPLES : # All from R's RHOME (source!) directory cd \`R RHOME\` R CMD Rd2dvi src/library/base/man/Normal.Rd R CMD Rd2dvi src/library/modreg R CMD Rd2dvi \`grep -l '\\keyword{distr' src/library/base/man/*.Rd |sort|uniq\` _EOF_ exit 1 fi Pwd=`dirname $0` RHOME=${Pwd}/.. MANTEXDIR=${RHOME}/doc/manual D2L="${Pwd}/Rdconv -t latex" # call_dir=`pwd` if [ -f Rd2.tex ] then echo "'Rd2.tex' already exists -- renaming it to Rd2.tex.Older" echo " -------- " mv Rd2.tex Rd2.tex.Older fi touch Rd2.tex if [ $# -eq 1 -a -d $1 ] then dir=$1 test -d $dir/man && dir=$dir/man echo "Rd2dvi : \`Rdconv -t latex' $dir/ files..." files="${dir}/*.Rd" subj="of all in $dir" # DBG: echo "files = $files" toc_sed='; s/\\input{Rd/\\Rdcontents{\\R\\ objects documented:} &/' else files="$@" subj="of $1" toc_sed='' if [ $# -gt 1 ]; then subj="$subj ...etc "; fi echo "Rd2dvi : Collecting files and \`Rdconv -t latex' them ..." fi for f in $files do echo $f $D2L $f >> Rd2.tex done echo "MANTEXDIR='$MANTEXDIR'" R_P=`echo 'getenv("R_PAPERSIZE")'| R --vanilla --quiet|grep -v getenv|grep '"'|sed 's/ *//g;s/"//g'` sed "s/a4paper/${R_P}paper/; s| documentation |& ${subj} |; ${toc_sed}" \ ${MANTEXDIR}/Rd2dvi.tex > Rd2dvi.tex if [ ! -f Rd.sty ]; then sed 's/markright{#1}/markboth{#1}{#1}/' ${MANTEXDIR}/Rd.sty > Rd2.sty fi #exit #--------------------- latex Rd2dvi if [ -x `/usr/bin/which makeindex` ] then makeindex Rd2dvi latex Rd2dvi fi if [ -x `/usr/bin/which xdvi` ] then xdvi Rd2dvi & fi echo '' echo 'Rd2dvi: You may want to clean up by' echo ' rm -f Rd2dvi.* Rd2.sty Rd2.tex*' echo ''