[Not sure if I should post this here, or on a another list, but will try here first...]

For a book I'm writing using knitr .Rnw files, I would like to use \code{} to mark
*all* R code, without having to escape special characters that appear in R
names, formulas, etc.

In the past, I've use the LaTeX definition of \code{} in the test
file below, without problems.

However, in the context of my book project,
\code{y ~ (A + B)^2} fails, and I'm forced to use \verb|y ~ (A + B)^2|,
or for other cases explicitly escape the special characters, as
in \code{str\_length()} or \code{Arthritis\$sex}.

Below is a test file that *works*.  What I don't know is how to find out why
it doesn't work in the context of my book project.

--- begin code-test.tex ---
\documentclass{article}
\usepackage{url}
\makeatletter
\newcommand\code{\bgroup\@makeother\_\@makeother\~\@makeother\$\@makeother\^\@codex}
\def\@codex#1{{\normalfont\ttfamily\hyphenchar\font=-1 #1}\egroup}
\makeatother

\begin{document}
Testing use of code fragments with special characters without
having to escape them.

\begin{itemize}
  \item Formulas--
   code: \code{y ~ (A + B)^2};
   verb:  \verb|y ~ (A + B)^2|;
   url: \url{y ~ (A + B)^2}
  \item Underscored names--
   code: \code{str_length()};
   verb: \verb|str_length()|;
   url: \url{str_length()}
  \item \$ names--
   code: \code{Arthritis$sex};
   verb:  \verb|Arthritis$sex|;
   url: \url{Arthritis$sex}

\end{itemize}
\end{document}
--- end code-test.tex


--
Michael Friendly     Email: friendly AT yorku DOT ca
Professor, Psychology Dept. & Chair, Quantitative Methods
York University      Voice: 416 736-2100 x66249 Fax: 416 736-5814
4700 Keele Street    Web:   http://www.datavis.ca
Toronto, ONT  M3J 1P3 CANADA

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to