The R Project SVN R

Rev

Rev 42192 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 42192 Rev 43235
Line 5... Line 5...
5
## Examples:
5
## Examples:
6
##  R CMD Rd2dvi /path/to/Rsrc/src/library/base/man/Normal.Rd
6
##  R CMD Rd2dvi /path/to/Rsrc/src/library/base/man/Normal.Rd
7
##  R CMD Rd2dvi `grep -l "\\keyword{distr" \
7
##  R CMD Rd2dvi `grep -l "\\keyword{distr" \
8
##                  /path/to/Rsrc/src/library/stats/man/*.Rd | sort | uniq`
8
##                  /path/to/Rsrc/src/library/stats/man/*.Rd | sort | uniq`
9
 
9
 
10
revision='$Rev: 42192 $'
10
revision='$Rev: 43235 $'
11
version=`set - ${revision}; echo ${2}`
11
version=`set - ${revision}; echo ${2}`
12
version="Rd2dvi ${version}
12
version="Rd2dvi ${version}
13
 
13
 
14
Copyright (C) 2000-2006 The R Core Development Team.
14
Copyright (C) 2000-2006 The R Core Development Team.
15
This is free software; see the GNU General Public License version 2
15
This is free software; see the GNU General Public License version 2
Line 77... Line 77...
77
      out_ext="pdf";
77
      out_ext="pdf";
78
      preview=false;
78
      preview=false;
79
      R_RD4DVI=${R_RD4PDF-"times,hyper"};
79
      R_RD4DVI=${R_RD4PDF-"times,hyper"};
80
      R_LATEXCMD=${PDFLATEX-pdflatex} ;;
80
      R_LATEXCMD=${PDFLATEX-pdflatex} ;;
81
    --title=*)
81
    --title=*)
82
      title=`echo "${1}" | sed -e 's/[^=]*=//'` ;;
82
      title=`echo "${1}" | ${SED-sed} -e 's/[^=]*=//'` ;;
83
    -o)
83
    -o)
84
      if test -n "`echo ${2} | sed 's/^-.*//'`"; then      
84
      if test -n "`echo ${2} | ${SED-sed} 's/^-.*//'`"; then      
85
	output="${2}"; shift
85
	output="${2}"; shift
86
      else
86
      else
87
	${echo} "ERROR: option '${1}' requires an argument"
87
	${echo} "ERROR: option '${1}' requires an argument"
88
	exit 1
88
	exit 1
89
      fi
89
      fi
90
      ;;
90
      ;;
91
    --output=*)
91
    --output=*)
92
      output=`echo "${1}" | sed -e 's/[^=]*=//'` ;;
92
      output=`echo "${1}" | ${SED-sed} -e 's/[^=]*=//'` ;;
93
    --OS=*|--os=*)
93
    --OS=*|--os=*)
94
      OSdir=`echo "${1}" | sed -e 's/[^=]*=//'` ;;
94
      OSdir=`echo "${1}" | ${SED-sed} -e 's/[^=]*=//'` ;;
95
    -V|--verbose)
95
    -V|--verbose)
96
      verbose=${echo} ;;
96
      verbose=${echo} ;;
97
    --|*)
97
    --|*)
98
      break ;;
98
      break ;;
99
  esac
99
  esac
Line 139... Line 139...
139
  ## Typeset the contents of a DESCRIPTION file in a LaTeX description
139
  ## Typeset the contents of a DESCRIPTION file in a LaTeX description
140
  ## list.
140
  ## list.
141
  ## Usage:
141
  ## Usage:
142
  ##   Rd_DESCRIPTION_to_LaTeX FILE
142
  ##   Rd_DESCRIPTION_to_LaTeX FILE
143
  
143
  
144
  fields=`sed '/^[ 	]/d; s/^\([^:]*\):.*$/\1/' $1`
144
  fields=`${SED-sed} '/^[ 	]/d; s/^\([^:]*\):.*$/\1/' $1`
145
  ${echo} "\\begin{description}"
145
  ${echo} "\\begin{description}"
146
  ${echo} "\\raggedright{}"
146
  ${echo} "\\raggedright{}"
147
  for f in `${echo} "${fields}" | sed '/Package/d; /Bundle/d;'`; do
147
  for f in `${echo} "${fields}" | ${SED-sed} '/Package/d; /Bundle/d;'`; do
148
    text=`get_dcf_field ${f} ${1} | \
148
    text=`get_dcf_field ${f} ${1} | \
149
      tr '\n' ' ' | \
149
      tr '\n' ' ' | \
150
      sed "s/\"\([^\"]*\)\"/\\\`\\\`\\1''/g"`
150
      ${SED-sed} "s/\"\([^\"]*\)\"/\\\`\\\`\\1''/g"`
151
    ${echo} "\\item[${f}] \\AsIs{${text}}"
151
    ${echo} "\\item[${f}] \\AsIs{${text}}"
152
  done
152
  done
153
  ${echo} "\\end{description}"
153
  ${echo} "\\end{description}"
154
}
154
}
155
 
155
 
Line 185... Line 185...
185
    if test -d ${1}/man; then
185
    if test -d ${1}/man; then
186
      dir=${1}/man
186
      dir=${1}/man
187
    else
187
    else
188
      dir=${1}
188
      dir=${1}
189
    fi
189
    fi
190
    subj0=`${echo} ${dir} | sed -e ${file_sed}`
190
    subj0=`${echo} ${dir} | ${SED-sed} -e ${file_sed}`
191
    subj="all in \\file{${subj0}}"
191
    subj="all in \\file{${subj0}}"
192
  fi
192
  fi
193
else
193
else
194
  if test ${#} -gt 1 ; then
194
  if test ${#} -gt 1 ; then
195
    subj=" etc.";
195
    subj=" etc.";
196
  else
196
  else
197
    subj=
197
    subj=
198
    toc=
198
    toc=
199
    if test -z "${output}"; then
199
    if test -z "${output}"; then
200
      output=`basename "${1}"`
200
      output=`basename "${1}"`
201
      output="`echo ${output} | sed 's/[Rr]d$//'`${out_ext}"
201
      output="`echo ${output} | ${SED-sed} 's/[Rr]d$//'`${out_ext}"
202
    fi
202
    fi
203
  fi
203
  fi
204
  subj0=`${echo} ${1} | sed -e ${file_sed}`
204
  subj0=`${echo} ${1} | ${SED-sed} -e ${file_sed}`
205
  subj="\\file{${subj0}}${subj}"
205
  subj="\\file{${subj0}}${subj}"
206
fi
206
fi
207
title=${title-"\\R{} documentation}} \\par\\bigskip{{\\Large of ${subj}"}
207
title=${title-"\\R{} documentation}} \\par\\bigskip{{\\Large of ${subj}"}
208
 
208
 
209
## Prepare for building the documentation.
209
## Prepare for building the documentation.
Line 252... Line 252...
252
    R_version=unknown
252
    R_version=unknown
253
    if test -f ${1}/../../../VERSION; then
253
    if test -f ${1}/../../../VERSION; then
254
      R_version=`cat ${1}/../../../VERSION`
254
      R_version=`cat ${1}/../../../VERSION`
255
    fi
255
    fi
256
    Rd_DESCRIPTION_to_LaTeX ${1}/DESCRIPTION.in | \
256
    Rd_DESCRIPTION_to_LaTeX ${1}/DESCRIPTION.in | \
257
      sed "s/@VERSION@/${R_version}/" >> ${build_dir}/Rd2.tex
257
      ${SED-sed} "s/@VERSION@/${R_version}/" >> ${build_dir}/Rd2.tex
258
  fi
258
  fi
259
else
259
else
260
  cat >> ${build_dir}/Rd2.tex <<EOF
260
  cat >> ${build_dir}/Rd2.tex <<EOF
261
\\pagenumbering{Roman}
261
\\pagenumbering{Roman}
262
\\begin{titlepage}
262
\\begin{titlepage}
Line 305... Line 305...
305
\\end{document}
305
\\end{document}
306
EOF
306
EOF
307
 
307
 
308
## Look for encodings
308
## Look for encodings
309
ENCS=`grep '^\\\\inputencoding' ${build_dir}/Rd2.tex | uniq |\
309
ENCS=`grep '^\\\\inputencoding' ${build_dir}/Rd2.tex | uniq |\
310
  sed -e 's/^\\\\inputencoding{\(.*\)}/\1/'`
310
  ${SED-sed} -e 's/^\\\\inputencoding{\(.*\)}/\1/'`
311
ENCS=`grep '^\\\\\inputencoding' ${build_dir}/Rd2.tex |  uniq | \
311
ENCS=`grep '^\\\\\inputencoding' ${build_dir}/Rd2.tex |  uniq | \
312
  sed -e 's/^\\\\inputencoding{\(.*\)}/\1/' | \
312
  ${SED-sed} -e 's/^\\\\inputencoding{\(.*\)}/\1/' | \
313
  tr '\na-z0-9' ',a-z0-9' | sed -e s/,$//`
313
  tr '\na-z0-9' ',a-z0-9' | ${SED-sed} -e s/,$//`
314
echo "ENCS is ${ENCS}"
314
echo "ENCS is ${ENCS}"
315
 
315
 
316
## substitute for the encodings used
316
## substitute for the encodings used
317
mv ${build_dir}/Rd2.tex ${build_dir}/Rd2.tex.pre
317
mv ${build_dir}/Rd2.tex ${build_dir}/Rd2.tex.pre
318
if test -z "${ENCS}"; then
318
if test -z "${ENCS}"; then
319
  sed -e '/^\\usepackage\[@ENC@\]{inputenc}$/d' \
319
  ${SED-sed} -e '/^\\usepackage\[@ENC@\]{inputenc}$/d' \
320
    ${build_dir}/Rd2.tex.pre > ${build_dir}/Rd2.tex
320
    ${build_dir}/Rd2.tex.pre > ${build_dir}/Rd2.tex
321
else
321
else
322
  sed -e s/^\\\\usepackage\\[@ENC@\\]/\\\\usepackage[${ENCS}]/ \
322
  ${SED-sed} -e s/^\\\\usepackage\\[@ENC@\\]/\\\\usepackage[${ENCS}]/ \
323
    ${build_dir}/Rd2.tex.pre > ${build_dir}/Rd2.tex
323
    ${build_dir}/Rd2.tex.pre > ${build_dir}/Rd2.tex
324
fi
324
fi
325
 
325
 
326
## <FIXME>
326
## <FIXME>
327
## Need to do something smarter about the exit status in batch mode.
327
## Need to do something smarter about the exit status in batch mode.