Rev 7218 | Blame | Last modification | View Log | Download | RSS feed
#!/bin/sh# Rd2dvi -- check man pages (*.Rd help files) by LaTeX..## Examples:# R CMD Rd2dvi /path/to/Rsrc/src/library/base/man/Normal.Rd# R CMD Rd2dvi `grep -l "\\keyword{distr" \# /path/to/Rsrc/src/library/base/man/*.Rd | sort | uniq`REVISION='$Revision: 1.14 $'VERSION=`set - ${REVISION}; echo ${2}`USAGE_MSG="Usage: R CMD Rd2dvi [options] files"START_DIR=`pwd`CLEAN=trueDEBUG=falseUSE_XDVI=trueDVI_EXT="dvi"TEXINPUTS=.:${R_HOME}/doc/manual:${TEXINPUTS}file_sed='s/[_$]/\\\\&/g'while test -n "${1}"; docase ${1} in-h|--help|-\?)echo "${USAGE_MSG}"; exit 0 ;;-V|--version)echo "${VERSION}"; exit 0 ;;--clean=[nN]*)CLEAN=false ;;--clean=[yY]*)CLEAN=true ;;--debug=[nN]*)DEBUG=false ;;--debug=[yY]*)DEBUG=true ;;--use-xdvi=[nN]*)USE_XDVI=false ;;--use-xdvi=[yY]*)USE_XDVI=true ;;--pdf)DVI_EXT="pdf";USE_XDVI=false;R_RD4DVI=${R_RD4PDF:-"ae,hyper"};R_LATEXCMD=${PDFLATEX:-pdflatex};;--title=*)TITLE=`echo "${1}" | sed -e 's/[^=]*=//'` ;;--|*)break ;;esacshiftdoneTOC="\\Rdcontents{\\R{} objects documented:}"if [ ${#} -eq 1 -a -d ${1} ]; thenif test -d ${1}/man; thendir=${1}/manelsedir=${1}fiif ${DEBUG}; thenecho "Rd2dvi: \`Rdconv -t latex' ${dir}/ Rd files ..."fifiles=`find ${dir} -name "*.[Rr]d" -print`subj="all in \\file{`echo ${dir} | sed ${file_sed}`}"if ${DEBUG}; thenecho "files = ${files}"fielsefiles="${@}"if [ ${#} -gt 1 ]; thensubj=" etc.";elsesubj=TOC=fisubj="\\file{`echo ${1} | sed ${file_sed}`}${subj}"if ${DEBUG}; thenecho "Rd2dvi: Collecting files and \`Rdconv -t latex'ing them ..."fifiif ${DEBUG}; thenecho ""; echo "subj:"; echo "${subj}"; echo ""fiif test -f Rd2.${DVI_EXT}; thenecho "file \`Rd2.${DVI_EXT}' exists; please remove first"exit 1fiBUILD_DIR=.Rd2dvi${$}if test -d ${BUILD_DIR}; thenrm -rf ${BUILD_DIR} || echo "cannot write to build dir" && exit 2fimkdir ${BUILD_DIR}sed 's/markright{#1}/markboth{#1}{#1}/' \${R_HOME}/doc/manual/Rd.sty > ${BUILD_DIR}/Rd2.styTITLE=${TITLE:-"\\R{} documentation}} \\par\\bigskip{{\\Large of ${subj}"}cat > ${BUILD_DIR}/Rd2.tex <<EOF\\documentclass[${R_PAPERSIZE}paper]{book}\\usepackage[${R_RD4DVI:-ae}]{Rd2}\\usepackage{makeidx}\\makeindex\\begin{document}\\chapter*{}\\begin{center}{\\textbf{\\huge ${TITLE}}}\\par\\medskip{\\large \\today}\\end{center}${TOC}EOFfor f in ${files}; doif ${DEBUG}; then echo ${f}; fiR CMD Rdconv -t latex ${f} >> ${BUILD_DIR}/Rd2.texdonecat >> ${BUILD_DIR}/Rd2.tex <<EOF\\printindex\\end{document}EOFcd ${BUILD_DIR}${R_LATEXCMD} Rd2${R_MAKEINDEXCMD} Rd2${R_LATEXCMD} Rd2cp Rd2.${DVI_EXT} ..cd ${START_DIR}if ${CLEAN}; thenrm -rf ${BUILD_DIR}elseecho "You may want to clean up by \`rm -rf ${BUILD_DIR}'"fiif ${USE_XDVI}; thenxdvi Rd2.${DVI_EXT}fi### Local Variables: ***### mode: sh ***### sh-indentation: 2 ***### End: ***