RのソースコードをLaTeX文書に記述する
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
// 谷村晋 2005年 5月 12日 木曜日 16:13:08 JST
// 自分用のメモのようで申し訳ありません
// 自由に修正・加筆してください
// 2006年 7月 5日 水曜日 15:22:57 JST
// 大幅改訂しました(谷村)
COLOR(red){SIZE(30){Rのソースコードを[[LaTeX]]文書に記述...
Rのソースコードを[[LaTeX]]文書に記述するには、[[listings....
R言語の定義は、lstlang3.sty に書かれています。
#contents
----
* [[listings.sty:http://www.ring.gr.jp/pub/text/CTAN/macr...
listings.styを使うと見出しをつけたり、任意の間隔で行番号...
** 利用例1
まずはデフォルトのままで表示する。
\documentclass{jsarticle}
\usepackage{listings}
\begin{document}
\begin{lstlisting}[language=R]
boa.acf <- function(link, lags)
# Brian Smith has produced the BOA (Bayesian Output Ana...
# S-plus/R functions for analysis of MCMC output, which...
# from Classic BUGS or WinBUGS. Version 0.5.0 is now av...
{
pnames <- boa.pnames(link)
result <- matrix(NA, nrow = ncol(link), ncol = length...
dimnames = list(pnames, paste("Lag",...
lags <- lags[lags <= (nrow(link) - 1)]
n.lags <- length(lags)
if(n.lags > 0) {
idx <- 1:n.lags
lag.max <- max(lags)
for(i in pnames) {
result[i, idx] <- acf(link[, i], lag.max = lag....
plot = FALSE)$acf[lags + 1]
}
}
return(result)
}
\end{lstlisting}
\end{document}
出力結果
&ref(listings01.png,center);
** 利用例2
タイプライタ体にしてみる。デフォルトでは行間が空きすぎな...
\documentclass{jsarticle}
\usepackage{listings}
\lstset{%
language=R,
basicstyle={\ttfamily},
breaklines=true,
columns=[l]{fullflexible},
lineskip=-0.5zw,
}
\begin{document}
\begin{lstlisting}
boa.acf <- function(link, lags)
# Brian Smith has produced the BOA (Bayesian Output Ana...
# S-plus/R functions for analysis of MCMC output, which...
# from Classic BUGS or WinBUGS. Version 0.5.0 is now av...
{
pnames <- boa.pnames(link)
result <- matrix(NA, nrow = ncol(link), ncol = length...
dimnames = list(pnames, paste("Lag",...
lags <- lags[lags <= (nrow(link) - 1)]
n.lags <- length(lags)
if(n.lags > 0) {
idx <- 1:n.lags
lag.max <- max(lags)
for(i in pnames) {
result[i, idx] <- acf(link[, i], lag.max = lag....
plot = FALSE)$acf[lags + 1]
}
}
return(result)
}
\end{lstlisting}
\end{document}
出力結果
&ref(listings02.png,center);
** 利用例3
カラー表示にしてみる。LaTeXでプレゼンテーションスライドを...
\documentclass{jsarticle}
\usepackage[dvips]{color}
\usepackage{listings}
\definecolor{Brown}{cmyk}{0,0.81,1,0.60}
\definecolor{OliveGreen}{cmyk}{0.64,0,0.95,0.40}
\definecolor{CadetBlue}{cmyk}{0.62,0.57,0.23,0}
\lstset{%
language=R,
stringstyle={\ttfamily},
commentstyle={\itshape\color{Brown}},
identifierstyle={\ttfamily\color{CadetBlue}\bfseries},
keywordstyle={\ttfamily\color{OliveGreen}},
basicstyle={\ttfamily},
breaklines=true,
columns=[l]{fullflexible},
lineskip=-0.5zw,
showstringspaces=ture
}
\begin{document}
\begin{lstlisting}
boa.acf <- function(link, lags)
# Brian Smith has produced the BOA (Bayesian Output Anal...
# S-plus/R functions for analysis of MCMC output, which ...
# from Classic BUGS or WinBUGS. Version 0.5.0 is now ava...
{
pnames <- boa.pnames(link)
result <- matrix(NA, nrow = ncol(link), ncol = length(...
dimnames = list(pnames, paste("Lag", ...
lags <- lags[lags <= (nrow(link) - 1)]
n.lags <- length(lags)
if(n.lags > 0) {
idx <- 1:n.lags
lag.max <- max(lags)
for(i in pnames) {
result[i, idx] <- acf(link[, i], lag.max = lag.m...
plot = FALSE)$acf[lags + 1]
}
}
return(result)
}
\end{lstlisting}
\end{document}
出力結果
&ref(listings03.png,center);
** 利用例4
さらにESS風(VineLinux標準のEmacsカラーテーマにess-modeを...
\documentclass{jsarticle}
\usepackage{listings}
\usepackage[dvips]{color}
\lstset{%
language=R,
frame=shadowbox,
backgroundcolor={\color[cmyk]{0.777,0.777,0,0.561}},
stringstyle={\ttfamily\color[cmyk]{0,0.51,0.843,0}},
commentstyle={\color[cmyk]{0,0.51,0.843,0}},
identifierstyle={\ttfamily\color{white}},
keywordstyle={\ttfamily\color[cmyk]{1,0,0,0}},
classoffset=2,
basicstyle={\ttfamily\color{white}},
breaklines=true,
columns=[l]{fullflexible},
lineskip=-0.5zw,
morekeywords={FALSE,TRUE,NA},
keywordstyle={\color[cmyk]{0.371,0,0.371,0.016}},
classoffset=0,
morekeywords={<-},
keywordstyle={\color[cmyk]{0.525,0,0.157,0}},
classoffset=1,
numbers=left,
stepnumber=5,
numberstyle={\scriptsize\color{black}},
numbersep=1em,
xleftmargin=1zw,
xrightmargin=1zw,
framerule=2pt,
rulecolor={\color[gray]{.85}},
}
\begin{document}
\begin{lstlisting}
boa.acf <- function(link, lags)
# Brian Smith has produced the BOA (Bayesian Output Ana...
# S-plus/R functions for analysis of MCMC output, which...
# from Classic BUGS or WinBUGS. Version 0.5.0 is now av...
{
pnames <- boa.pnames(link)
result <- matrix(NA, nrow = ncol(link), ncol = length...
dimnames = list(pnames, paste("Lag",...
lags <- lags[lags <= (nrow(link) - 1)]
n.lags <- length(lags)
if(n.lags > 0) {
idx <- 1:n.lags
lag.max <- max(lags)
for(i in pnames) {
result[i, idx] <- acf(link[, i], lag.max = lag....
plot = FALSE)$acf[lags + 1]
}
}
return(result)
}
\end{lstlisting}
\end{document}
出力結果
&ref(listings04.png,center);
色強調するキーワードがess-modeと微妙に違うけれども、この...
* lstlang3.styにおけるRの定義
Rのキーワードの定義は下記のようになっています。ここにリス...
\lst@definelanguage{R}%
{keywords={abbreviate,abline,abs,acos,acosh,action,add1...
aggregate,alias,Alias,alist,all,anova,any,aov,aperm...
approx,approxfun,apropos,Arg,args,array,arrows,as,a...
atan,atan2,atanh,attach,attr,attributes,autoload,au...
axis,backsolve,barplot,basename,besselI,besselJ,bes...
beta,binomial,body,box,boxplot,break,browser,bug,bu...
c,C,call,Call,case,cat,category,cbind,ceiling,chara...
charmatch,check,chol,chol2inv,choose,chull,class,cl...
coef,coefficients,co,col,colnames,colors,colours,co...
comment,complete,complex,conflicts,Conj,contents,co...
contrasts,contr,control,helmert,contrib,convolve,co...
distance,coplot,cor,cos,cosh,count,fields,cov,covra...
create,crossprod,cummax,cummin,cumprod,cumsum,curve...
data,dataentry,date,dbeta,dbinom,dcauchy,dchisq,de,...
debugger,Defunct,default,delay,delete,deltat,demo,d...
deparse,dependencies,Deprecated,deriv,description,d...
dev2bitmap,dev,cur,deviance,off,prev,,dexp,df,dfbet...
dgamma,dgeom,dget,dhyper,diag,diff,digamma,dim,dimn...
dirname,dlnorm,dlogis,dnbinom,dnchisq,dnorm,do,dotp...
download,dpois,dput,drop,drop1,dsignrank,dt,dummy,d...
duplicated,dweibull,dwilcox,dyn,edit,eff,effects,ei...
emacs,end,environment,env,erase,eval,equal,evalq,ex...
exit,exp,expand,expression,External,extract,extract...
fail,family,fft,file,filled,find,fitted,fivenum,fix...
For,formals,format,formatC,formula,Fortran,forwards...
frequency,ftable,ftable2table,function,gamma,Gamma,...
gaussian,gc,gcinfo,gctorture,get,getenv,geterrmessa...
getwd,gl,glm,globalenv,gnome,GNOME,graphics,gray,gr...
gsub,hasTsp,hat,heat,help,hist,home,hsv,httpclient,...
ifelse,Im,image,\%in\%,index,influence,measures,inh...
installed,integer,interaction,interactive,Internal,...
inverse,invisible,IQR,is,jitter,kappa,kronecker,lab...
layout,lbeta,lchoose,lcm,legend,length,levels,lgamm...
licence,license,lines,list,lm,load,local,locator,lo...
log2,logical,loglin,lower,lowess,ls,lsfit,lsf,ls,ma...
mad,mahalanobis,make,link,margin,match,Math,matline...
matpoints,matrix,max,mean,median,memory,menu,merge,...
missing,Mod,mode,model,response,mosaicplot,mtext,mv...
names,omit,nargs,nchar,ncol,NCOL,new,next,NextMetho...
nlevels,nlm,noquote,NotYetImplemented,NotYetUsed,nr...
numeric,\%o\%,objects,offset,old,on,Ops,optim,optim...
options,or,order,ordered,outer,package,packages,pag...
pairs,palette,panel,par,parent,parse,paste,path,pbe...
pcauchy,pchisq,pentagamma,persp,pexp,pf,pgamma,pgeo...
pictex,piechart,Platform,plnorm,plogis,plot,pmatch,...
pnbinom,pnchisq,pnorm,points,poisson,poly,polygon,p...
postscript,power,ppoints,ppois,predict,preplot,pret...
print,prmatrix,proc,prod,profile,proj,prompt,prop,p...
psignrank,ps,pt,ptukey,punif,pweibull,pwilcox,q,qbe...
qcauchy,qchisq,qexp,qf,qgamma,qgeom,qhyper,qlnorm,q...
qnchisq,qnorm,qpois,qqline,qqnorm,qqplot,qr,Q,qty,q...
qt,qtukey,quantile,quasi,quit,qunif,quote,qweibull,...
rainbow,range,rank,rbeta,rbind,rbinom,rcauchy,rchis...
csv2,fwf,readline,socket,real,Recall,rect,reformula...
relevel,remove,rep,repeat,replace,replications,repo...
resid,residuals,restart,return,rev,rexp,rf,rgamma,r...
rhyper,rle,rlnorm,rlogis,rm,rnbinom,RNGkind,rnorm,r...
rownames,rowsum,rpois,rsignrank,rstandard,rstudent,...
rweibull,rwilcox,sample,sapply,save,scale,scan,scan...
search,searchpaths,segments,seq,sequence,setdiff,se...
setwd,show,sign,signif,sin,single,sinh,sink,solve,s...
spline,splinefun,split,sqrt,stars,start,stat,stem,s...
storage,strstrheight,stripplot,strsplit,structure,s...
subset,substitute,substr,substring,sum,summary,sunf...
sweep,switch,symbol,symbols,symnum,sys,status,syste...
tabulate,tan,tanh,tapply,tempfile,terms,terrain,tet...
time,title,topo,trace,traceback,transform,tri,triga...
ts,tsp,typeof,unclass,undebug,undoc,union,unique,un...
unlink,unlist,unname,untrace,update,upper,url,UseMe...
variable,vector,Version,vi,warning,warnings,weighte...
which,while,window,write,\%x\%,x11,X11,xedit,xemacs...
xpdrows,xy,xyinch,yinch,zapsmall,zip},%
otherkeywords={!,!=,~,$,*,\&,\%/\%,\%*\%,\%\%,<-,<<-,_...
alsoother={._$},%
sensitive,%
morecomment=[l]\#,%
morestring=[d]",%
morestring=[d]'% 2001 Robert Denham
}%
----
#comment
終了行:
// 谷村晋 2005年 5月 12日 木曜日 16:13:08 JST
// 自分用のメモのようで申し訳ありません
// 自由に修正・加筆してください
// 2006年 7月 5日 水曜日 15:22:57 JST
// 大幅改訂しました(谷村)
COLOR(red){SIZE(30){Rのソースコードを[[LaTeX]]文書に記述...
Rのソースコードを[[LaTeX]]文書に記述するには、[[listings....
R言語の定義は、lstlang3.sty に書かれています。
#contents
----
* [[listings.sty:http://www.ring.gr.jp/pub/text/CTAN/macr...
listings.styを使うと見出しをつけたり、任意の間隔で行番号...
** 利用例1
まずはデフォルトのままで表示する。
\documentclass{jsarticle}
\usepackage{listings}
\begin{document}
\begin{lstlisting}[language=R]
boa.acf <- function(link, lags)
# Brian Smith has produced the BOA (Bayesian Output Ana...
# S-plus/R functions for analysis of MCMC output, which...
# from Classic BUGS or WinBUGS. Version 0.5.0 is now av...
{
pnames <- boa.pnames(link)
result <- matrix(NA, nrow = ncol(link), ncol = length...
dimnames = list(pnames, paste("Lag",...
lags <- lags[lags <= (nrow(link) - 1)]
n.lags <- length(lags)
if(n.lags > 0) {
idx <- 1:n.lags
lag.max <- max(lags)
for(i in pnames) {
result[i, idx] <- acf(link[, i], lag.max = lag....
plot = FALSE)$acf[lags + 1]
}
}
return(result)
}
\end{lstlisting}
\end{document}
出力結果
&ref(listings01.png,center);
** 利用例2
タイプライタ体にしてみる。デフォルトでは行間が空きすぎな...
\documentclass{jsarticle}
\usepackage{listings}
\lstset{%
language=R,
basicstyle={\ttfamily},
breaklines=true,
columns=[l]{fullflexible},
lineskip=-0.5zw,
}
\begin{document}
\begin{lstlisting}
boa.acf <- function(link, lags)
# Brian Smith has produced the BOA (Bayesian Output Ana...
# S-plus/R functions for analysis of MCMC output, which...
# from Classic BUGS or WinBUGS. Version 0.5.0 is now av...
{
pnames <- boa.pnames(link)
result <- matrix(NA, nrow = ncol(link), ncol = length...
dimnames = list(pnames, paste("Lag",...
lags <- lags[lags <= (nrow(link) - 1)]
n.lags <- length(lags)
if(n.lags > 0) {
idx <- 1:n.lags
lag.max <- max(lags)
for(i in pnames) {
result[i, idx] <- acf(link[, i], lag.max = lag....
plot = FALSE)$acf[lags + 1]
}
}
return(result)
}
\end{lstlisting}
\end{document}
出力結果
&ref(listings02.png,center);
** 利用例3
カラー表示にしてみる。LaTeXでプレゼンテーションスライドを...
\documentclass{jsarticle}
\usepackage[dvips]{color}
\usepackage{listings}
\definecolor{Brown}{cmyk}{0,0.81,1,0.60}
\definecolor{OliveGreen}{cmyk}{0.64,0,0.95,0.40}
\definecolor{CadetBlue}{cmyk}{0.62,0.57,0.23,0}
\lstset{%
language=R,
stringstyle={\ttfamily},
commentstyle={\itshape\color{Brown}},
identifierstyle={\ttfamily\color{CadetBlue}\bfseries},
keywordstyle={\ttfamily\color{OliveGreen}},
basicstyle={\ttfamily},
breaklines=true,
columns=[l]{fullflexible},
lineskip=-0.5zw,
showstringspaces=ture
}
\begin{document}
\begin{lstlisting}
boa.acf <- function(link, lags)
# Brian Smith has produced the BOA (Bayesian Output Anal...
# S-plus/R functions for analysis of MCMC output, which ...
# from Classic BUGS or WinBUGS. Version 0.5.0 is now ava...
{
pnames <- boa.pnames(link)
result <- matrix(NA, nrow = ncol(link), ncol = length(...
dimnames = list(pnames, paste("Lag", ...
lags <- lags[lags <= (nrow(link) - 1)]
n.lags <- length(lags)
if(n.lags > 0) {
idx <- 1:n.lags
lag.max <- max(lags)
for(i in pnames) {
result[i, idx] <- acf(link[, i], lag.max = lag.m...
plot = FALSE)$acf[lags + 1]
}
}
return(result)
}
\end{lstlisting}
\end{document}
出力結果
&ref(listings03.png,center);
** 利用例4
さらにESS風(VineLinux標準のEmacsカラーテーマにess-modeを...
\documentclass{jsarticle}
\usepackage{listings}
\usepackage[dvips]{color}
\lstset{%
language=R,
frame=shadowbox,
backgroundcolor={\color[cmyk]{0.777,0.777,0,0.561}},
stringstyle={\ttfamily\color[cmyk]{0,0.51,0.843,0}},
commentstyle={\color[cmyk]{0,0.51,0.843,0}},
identifierstyle={\ttfamily\color{white}},
keywordstyle={\ttfamily\color[cmyk]{1,0,0,0}},
classoffset=2,
basicstyle={\ttfamily\color{white}},
breaklines=true,
columns=[l]{fullflexible},
lineskip=-0.5zw,
morekeywords={FALSE,TRUE,NA},
keywordstyle={\color[cmyk]{0.371,0,0.371,0.016}},
classoffset=0,
morekeywords={<-},
keywordstyle={\color[cmyk]{0.525,0,0.157,0}},
classoffset=1,
numbers=left,
stepnumber=5,
numberstyle={\scriptsize\color{black}},
numbersep=1em,
xleftmargin=1zw,
xrightmargin=1zw,
framerule=2pt,
rulecolor={\color[gray]{.85}},
}
\begin{document}
\begin{lstlisting}
boa.acf <- function(link, lags)
# Brian Smith has produced the BOA (Bayesian Output Ana...
# S-plus/R functions for analysis of MCMC output, which...
# from Classic BUGS or WinBUGS. Version 0.5.0 is now av...
{
pnames <- boa.pnames(link)
result <- matrix(NA, nrow = ncol(link), ncol = length...
dimnames = list(pnames, paste("Lag",...
lags <- lags[lags <= (nrow(link) - 1)]
n.lags <- length(lags)
if(n.lags > 0) {
idx <- 1:n.lags
lag.max <- max(lags)
for(i in pnames) {
result[i, idx] <- acf(link[, i], lag.max = lag....
plot = FALSE)$acf[lags + 1]
}
}
return(result)
}
\end{lstlisting}
\end{document}
出力結果
&ref(listings04.png,center);
色強調するキーワードがess-modeと微妙に違うけれども、この...
* lstlang3.styにおけるRの定義
Rのキーワードの定義は下記のようになっています。ここにリス...
\lst@definelanguage{R}%
{keywords={abbreviate,abline,abs,acos,acosh,action,add1...
aggregate,alias,Alias,alist,all,anova,any,aov,aperm...
approx,approxfun,apropos,Arg,args,array,arrows,as,a...
atan,atan2,atanh,attach,attr,attributes,autoload,au...
axis,backsolve,barplot,basename,besselI,besselJ,bes...
beta,binomial,body,box,boxplot,break,browser,bug,bu...
c,C,call,Call,case,cat,category,cbind,ceiling,chara...
charmatch,check,chol,chol2inv,choose,chull,class,cl...
coef,coefficients,co,col,colnames,colors,colours,co...
comment,complete,complex,conflicts,Conj,contents,co...
contrasts,contr,control,helmert,contrib,convolve,co...
distance,coplot,cor,cos,cosh,count,fields,cov,covra...
create,crossprod,cummax,cummin,cumprod,cumsum,curve...
data,dataentry,date,dbeta,dbinom,dcauchy,dchisq,de,...
debugger,Defunct,default,delay,delete,deltat,demo,d...
deparse,dependencies,Deprecated,deriv,description,d...
dev2bitmap,dev,cur,deviance,off,prev,,dexp,df,dfbet...
dgamma,dgeom,dget,dhyper,diag,diff,digamma,dim,dimn...
dirname,dlnorm,dlogis,dnbinom,dnchisq,dnorm,do,dotp...
download,dpois,dput,drop,drop1,dsignrank,dt,dummy,d...
duplicated,dweibull,dwilcox,dyn,edit,eff,effects,ei...
emacs,end,environment,env,erase,eval,equal,evalq,ex...
exit,exp,expand,expression,External,extract,extract...
fail,family,fft,file,filled,find,fitted,fivenum,fix...
For,formals,format,formatC,formula,Fortran,forwards...
frequency,ftable,ftable2table,function,gamma,Gamma,...
gaussian,gc,gcinfo,gctorture,get,getenv,geterrmessa...
getwd,gl,glm,globalenv,gnome,GNOME,graphics,gray,gr...
gsub,hasTsp,hat,heat,help,hist,home,hsv,httpclient,...
ifelse,Im,image,\%in\%,index,influence,measures,inh...
installed,integer,interaction,interactive,Internal,...
inverse,invisible,IQR,is,jitter,kappa,kronecker,lab...
layout,lbeta,lchoose,lcm,legend,length,levels,lgamm...
licence,license,lines,list,lm,load,local,locator,lo...
log2,logical,loglin,lower,lowess,ls,lsfit,lsf,ls,ma...
mad,mahalanobis,make,link,margin,match,Math,matline...
matpoints,matrix,max,mean,median,memory,menu,merge,...
missing,Mod,mode,model,response,mosaicplot,mtext,mv...
names,omit,nargs,nchar,ncol,NCOL,new,next,NextMetho...
nlevels,nlm,noquote,NotYetImplemented,NotYetUsed,nr...
numeric,\%o\%,objects,offset,old,on,Ops,optim,optim...
options,or,order,ordered,outer,package,packages,pag...
pairs,palette,panel,par,parent,parse,paste,path,pbe...
pcauchy,pchisq,pentagamma,persp,pexp,pf,pgamma,pgeo...
pictex,piechart,Platform,plnorm,plogis,plot,pmatch,...
pnbinom,pnchisq,pnorm,points,poisson,poly,polygon,p...
postscript,power,ppoints,ppois,predict,preplot,pret...
print,prmatrix,proc,prod,profile,proj,prompt,prop,p...
psignrank,ps,pt,ptukey,punif,pweibull,pwilcox,q,qbe...
qcauchy,qchisq,qexp,qf,qgamma,qgeom,qhyper,qlnorm,q...
qnchisq,qnorm,qpois,qqline,qqnorm,qqplot,qr,Q,qty,q...
qt,qtukey,quantile,quasi,quit,qunif,quote,qweibull,...
rainbow,range,rank,rbeta,rbind,rbinom,rcauchy,rchis...
csv2,fwf,readline,socket,real,Recall,rect,reformula...
relevel,remove,rep,repeat,replace,replications,repo...
resid,residuals,restart,return,rev,rexp,rf,rgamma,r...
rhyper,rle,rlnorm,rlogis,rm,rnbinom,RNGkind,rnorm,r...
rownames,rowsum,rpois,rsignrank,rstandard,rstudent,...
rweibull,rwilcox,sample,sapply,save,scale,scan,scan...
search,searchpaths,segments,seq,sequence,setdiff,se...
setwd,show,sign,signif,sin,single,sinh,sink,solve,s...
spline,splinefun,split,sqrt,stars,start,stat,stem,s...
storage,strstrheight,stripplot,strsplit,structure,s...
subset,substitute,substr,substring,sum,summary,sunf...
sweep,switch,symbol,symbols,symnum,sys,status,syste...
tabulate,tan,tanh,tapply,tempfile,terms,terrain,tet...
time,title,topo,trace,traceback,transform,tri,triga...
ts,tsp,typeof,unclass,undebug,undoc,union,unique,un...
unlink,unlist,unname,untrace,update,upper,url,UseMe...
variable,vector,Version,vi,warning,warnings,weighte...
which,while,window,write,\%x\%,x11,X11,xedit,xemacs...
xpdrows,xy,xyinch,yinch,zapsmall,zip},%
otherkeywords={!,!=,~,$,*,\&,\%/\%,\%*\%,\%\%,<-,<<-,_...
alsoother={._$},%
sensitive,%
morecomment=[l]\#,%
morestring=[d]",%
morestring=[d]'% 2001 Robert Denham
}%
----
#comment
ページ名: