diff -up R-2.15.2/configure.makeinfo-fix R-2.15.2/configure --- R-2.15.2/configure.makeinfo-fix 2012-10-18 18:05:56.000000000 -0400 +++ R-2.15.2/configure 2013-02-28 10:41:14.644967025 -0500 @@ -5196,6 +5196,8 @@ makeinfo_version_min=`echo ${makeinfo_ve if test -z "${makeinfo_version_maj}" \ || test -z "${makeinfo_version_min}"; then r_cv_prog_makeinfo_v4=no +elif test ${makeinfo_version_maj} -ge 5; then + r_cv_prog_makeinfo_v4=yes elif test ${makeinfo_version_maj} -lt 4 \ || test ${makeinfo_version_min} -lt 7; then r_cv_prog_makeinfo_v4=no diff -up R-2.15.2/m4/R.m4.makeinfo-fix R-2.15.2/m4/R.m4 --- R-2.15.2/m4/R.m4.makeinfo-fix 2012-10-13 18:05:05.000000000 -0400 +++ R-2.15.2/m4/R.m4 2013-02-28 10:39:53.083965801 -0500 @@ -210,6 +210,8 @@ makeinfo_version_min=`echo ${makeinfo_ve if test -z "${makeinfo_version_maj}" \ || test -z "${makeinfo_version_min}"; then r_cv_prog_makeinfo_v4=no +elif test ${makeinfo_version_maj} -ge 5; then + r_cv_prog_makeinfo_v4=yes elif test ${makeinfo_version_maj} -lt 4 \ || test ${makeinfo_version_min} -lt 7; then r_cv_prog_makeinfo_v4=no diff -up R-2.15.2/doc/manual/R-defs.texi.fixeqn R-2.15.2/doc/manual/R-defs.texi --- R-2.15.2/doc/manual/R-defs.texi.fixeqn 2013-02-28 13:33:51.858006222 -0500 +++ R-2.15.2/doc/manual/R-defs.texi 2013-02-28 13:34:03.042006581 -0500 @@ -17,16 +17,18 @@ S @acronym{HTML} @end macro -@macro eqn {t, a} @iftex +@macro eqn {t, a} @tex $\t\$% @end tex +@end macro @end iftex @ifnottex +@macro eqn {t, a} \a\@c -@end ifnottex @end macro +@end ifnottex @macro pkg {p} @strong{\p\} diff -up R-2.15.2/doc/manual/R-intro.texi.fixeqn R-2.15.2/doc/manual/R-intro.texi --- R-2.15.2/doc/manual/R-intro.texi.fixeqn 2013-02-28 13:35:57.380030603 -0500 +++ R-2.15.2/doc/manual/R-intro.texi 2013-02-28 13:40:16.093042240 -0500 @@ -2045,13 +2045,17 @@ is the matrix product. If @code{x} is a @noindent is a quadratic form.@footnote{Note that @code{x %*% x} is ambiguous, as -it could mean either @xTx{} or @xxT{}, where @eqn{@strong{x},x} is the -column form. In such cases the smaller matrix seems implicitly to be -the interpretation adopted, so the scalar @xTx{} is in this case the -result. The matrix @xxT{} may be calculated either by @code{cbind(x) -%*% x} or @code{x %*% rbind(x)} since the result of @code{rbind()} or +it could mean either @xTx{} + or @xxT{}, + where @eqn{@strong{x},x} + is the column form. In such cases the smaller matrix seems implicitly to be +the interpretation adopted, so the scalar @xTx{} + is in this case the result. The matrix @xxT{} + may be calculated either by @code{cbind(x)%*% x} or @code{x %*% rbind(x)} since the result of @code{rbind()} or @code{cbind()} is always a matrix. However, the best way to compute -@xTx{} or @xxT{} is @code{crossprod(x)} or @code{x %o% x} +@xTx{} + or @xxT{} + is @code{crossprod(x)} or @code{x %o% x} respectively.} @findex crossprod @@ -2107,12 +2111,16 @@ but rarely is needed. Numerically, it i potentially unstable to compute @code{x <- solve(A) %*% b} instead of @code{solve(A,b)}. -The quadratic form @eqn{@strong{x^T A^{-1} x},@ @code{x %*% A^@{-1@} %*% -x} @ } which is used in multivariate computations, should be computed by +The quadratic form @eqn{@strong{x^T A^{-1} x},@ @code{x %*% A^@{-1@} %*%x} @ } +, which is used in multivariate computations, should be computed by something like@footnote{Even better would be to form a matrix square -root @eqn{B, B} with @eqn{A = BB^T, A = BB'} and find the squared length of the -solution of @eqn{By = x, By = x}, perhaps using the Cholesky or -eigendecomposition of @eqn{A, A}.} @code{x %*% solve(A,x)}, rather than +root @eqn{B, B} + with @eqn{A = BB^T, A = BB'} + and find the squared length of the +solution of @eqn{By = x, By = x}, +perhaps using the Cholesky or +eigendecomposition of @eqn{A, A}. +} @code{x %*% solve(A,x)}, rather than computing the inverse of @code{A}. @node Eigenvalues and eigenvectors, Singular value decomposition and determinants, Linear equations and inversion, Matrix facilities @@ -6549,8 +6557,7 @@ disappear. @c need to adapt the discussion slightly. @table @code -@item -Start @R{} appropriately for your platform (@pxref{Invoking R}). +@item Start @R{} appropriately for your platform (@pxref{Invoking R}). The @R{} program begins, with a banner. @@ -6753,15 +6760,13 @@ parts @dots{} @item plot(w, xlim=c(-1,1), ylim=c(-1,1), pch="+",xlab="x", ylab="y") @itemx lines(z) -@itemx -All points are inside the unit circle, but the distribution is not +@itemx All points are inside the unit circle, but the distribution is not uniform. @item w <- sqrt(runif(100))*exp(2*pi*runif(100)*1i) @itemx plot(w, xlim=c(-1,1), ylim=c(-1,1), pch="+", xlab="x", ylab="y") @itemx lines(z) -@itemx -The second method uses the uniform distribution. The points should now +@itemx The second method uses the uniform distribution. The points should now look more evenly spaced over the disc. @item rm(th, w, z) @@ -7066,7 +7071,7 @@ Post-process @R{} profiling files. Convert Rd format to various other formats, including @HTML{}, @LaTeX{}, plain text, and extracting the examples. @code{Rd2txt} can be used as shorthand for @code{Rd2conv -t txt}. -@itemx Rd2pdf +@item Rd2pdf Convert Rd format to PDF. @item Stangle Extract S/R code from Sweave documentation diff -up R-2.15.2/doc/manual/R-lang.texi.fixeqn R-2.15.2/doc/manual/R-lang.texi --- R-2.15.2/doc/manual/R-lang.texi.fixeqn 2013-02-28 13:41:17.454055194 -0500 +++ R-2.15.2/doc/manual/R-lang.texi 2013-02-28 13:43:05.114064174 -0500 @@ -3795,13 +3795,20 @@ Information from the operating system environment can be accessed and manipulated with @quotation @multitable @columnfractions 0.3 0.7 -@item @code{Sys.getenv} @tab OS environment variables @findex Sys.getenv -@item @code{Sys.putenv} @findex Sys.putenv -@item @code{Sys.getlocale} @tab System locale @findex Sys.getlocale -@item @code{Sys.putlocale} @findex Sys.putlocale -@item @code{Sys.localeconv} @findex Sys.localeconv -@item @code{Sys.time} @tab Current time @findex Sys.time -@item @code{Sys.timezone} @tab Time zone @findex Sys.timezone +@item @code{Sys.getenv} @tab OS environment variables +@findex Sys.getenv +@item @code{Sys.putenv} +@findex Sys.putenv +@item @code{Sys.getlocale} @tab System locale +@findex Sys.getlocale +@item @code{Sys.putlocale} +@findex Sys.putlocale +@item @code{Sys.localeconv} +@findex Sys.localeconv +@item @code{Sys.time} @tab Current time +@findex Sys.time +@item @code{Sys.timezone} @tab Time zone +@findex Sys.timezone @end multitable @end quotation @@ -3809,17 +3816,28 @@ environment can be accessed and manipula A uniform set of file access functions is provided on all platforms: @quotation @multitable @columnfractions 0.3 0.7 -@item @code{file.access} @tab Ascertain File Accessibility @findex file.access -@item @code{file.append} @tab Concatenate files @findex file.append -@item @code{file.choose} @tab Prompt user for file name @findex file.choose -@item @code{file.copy} @tab Copy files @findex file.copy -@item @code{file.create} @tab Create or truncate a files @findex file.create -@item @code{file.exists} @tab Test for existence @findex file.exists -@item @code{file.info} @tab Miscellaneous file information @findex file.info -@item @code{file.remove} @tab remove files @findex file.remove -@item @code{file.rename} @tab rename files @findex file.rename -@item @code{file.show} @tab Display a text file @findex file.show -@item @code{unlink} @tab Remove files or directories. @findex unlink +@item @code{file.access} @tab Ascertain File Accessibility +@findex file.access +@item @code{file.append} @tab Concatenate files +@findex file.append +@item @code{file.choose} @tab Prompt user for file name +@findex file.choose +@item @code{file.copy} @tab Copy files +@findex file.copy +@item @code{file.create} @tab Create or truncate a files +@findex file.create +@item @code{file.exists} @tab Test for existence +@findex file.exists +@item @code{file.info} @tab Miscellaneous file information +@findex file.info +@item @code{file.remove} @tab remove files +@findex file.remove +@item @code{file.rename} @tab rename files +@findex file.rename +@item @code{file.show} @tab Display a text file +@findex file.show +@item @code{unlink} @tab Remove files or directories. +@findex unlink @end multitable @end quotation @@ -3827,10 +3845,14 @@ There are also functions for manipulatin platform-independent way. @quotation @multitable @columnfractions 0.3 0.7 -@item @code{basename} @tab File name without directory @findex basename -@item @code{dirname} @tab Directory name @findex dirname -@item @code{file.path} @tab Construct path to file @findex file.path -@item @code{path.expand} @tab Expand @code{~} in Unix path @findex path.expand +@item @code{basename} @tab File name without directory +@findex basename +@item @code{dirname} @tab Directory name +@findex dirname +@item @code{file.path} @tab Construct path to file +@findex file.path +@item @code{path.expand} @tab Expand @code{~} in Unix path +@findex path.expand @end multitable @end quotation @@ -4471,7 +4493,8 @@ Newlines have a function which is a comb expression terminator. If an expression can terminate at the end of the line the parser will assume it does so, otherwise the newline is treated as whitespace. Semicolons (@samp{;}) may be used to separate -elementary @cindex expression +elementary +@cindex expression expressions on the same line.