|
|
% для вертикального центрирования ячеек в tabulary
|
|
|
\def\zz{\ifx\[$\else\aftergroup\zzz\fi}
|
|
|
%$ \] % <-- чиним подсветку синтаксиса в некоторых редакторах
|
|
|
\def\zzz{\setbox0\lastbox
|
|
|
\dimen0\dimexpr\extrarowheight + \ht0-\dp0\relax
|
|
|
\setbox0\hbox{\raise-.5\dimen0\box0}%
|
|
|
\ht0=\dimexpr\ht0+\extrarowheight\relax
|
|
|
\dp0=\dimexpr\dp0+\extrarowheight\relax
|
|
|
\box0
|
|
|
}
|
|
|
|
|
|
\lstdefinelanguage{Renhanced}%
|
|
|
{keywords={abbreviate,abline,abs,acos,acosh,action,add1,add,%
|
|
|
aggregate,alias,Alias,alist,all,anova,any,aov,aperm,append,apply,%
|
|
|
approx,approxfun,apropos,Arg,args,array,arrows,as,asin,asinh,%
|
|
|
atan,atan2,atanh,attach,attr,attributes,autoload,autoloader,ave,%
|
|
|
axis,backsolve,barplot,basename,besselI,besselJ,besselK,besselY,%
|
|
|
beta,binomial,body,box,boxplot,break,browser,bug,builtins,bxp,by,%
|
|
|
c,C,call,Call,case,cat,category,cbind,ceiling,character,char,%
|
|
|
charmatch,check,chol,chol2inv,choose,chull,class,close,cm,codes,%
|
|
|
coef,coefficients,co,col,colnames,colors,colours,commandArgs,%
|
|
|
comment,complete,complex,conflicts,Conj,contents,contour,%
|
|
|
contrasts,contr,control,helmert,contrib,convolve,cooks,coords,%
|
|
|
distance,coplot,cor,cos,cosh,count,fields,cov,covratio,wt,CRAN,%
|
|
|
create,crossprod,cummax,cummin,cumprod,cumsum,curve,cut,cycle,D,%
|
|
|
data,dataentry,date,dbeta,dbinom,dcauchy,dchisq,de,debug,%
|
|
|
debugger,Defunct,default,delay,delete,deltat,demo,de,density,%
|
|
|
deparse,dependencies,Deprecated,deriv,description,detach,%
|
|
|
dev2bitmap,dev,cur,deviance,off,prev,,dexp,df,dfbetas,dffits,%
|
|
|
dgamma,dgeom,dget,dhyper,diag,diff,digamma,dim,dimnames,dir,%
|
|
|
dirname,dlnorm,dlogis,dnbinom,dnchisq,dnorm,do,dotplot,double,%
|
|
|
download,dpois,dput,drop,drop1,dsignrank,dt,dummy,dump,dunif,%
|
|
|
duplicated,dweibull,dwilcox,dyn,edit,eff,effects,eigen,else,%
|
|
|
emacs,end,environment,env,erase,eval,equal,evalq,example,exists,%
|
|
|
exit,exp,expand,expression,External,extract,extractAIC,factor,%
|
|
|
fail,family,fft,file,filled,find,fitted,fivenum,fix,floor,for,%
|
|
|
For,formals,format,formatC,formula,Fortran,forwardsolve,frame,%
|
|
|
frequency,ftable,ftable2table,function,gamma,Gamma,gammaCody,%
|
|
|
gaussian,gc,gcinfo,gctorture,get,getenv,geterrmessage,getOption,%
|
|
|
getwd,gl,glm,globalenv,gnome,GNOME,graphics,gray,grep,grey,grid,%
|
|
|
gsub,hasTsp,hat,heat,help,hist,home,hsv,httpclient,I,identify,if,%
|
|
|
ifelse,Im,image,\%in\%,index,influence,measures,inherits,install,%
|
|
|
installed,integer,interaction,interactive,Internal,intersect,%
|
|
|
inverse,invisible,IQR,is,jitter,kappa,kronecker,labels,lapply,%
|
|
|
layout,lbeta,lchoose,lcm,legend,length,levels,lgamma,library,%
|
|
|
licence,license,lines,list,lm,load,local,locator,log,log10,log1p,%
|
|
|
log2,logical,loglin,lower,lowess,ls,lsfit,lsf,ls,machine,Machine,%
|
|
|
mad,mahalanobis,make,link,margin,match,Math,matlines,mat,matplot,%
|
|
|
matpoints,matrix,max,mean,median,memory,menu,merge,methods,min,%
|
|
|
missing,Mod,mode,model,response,mosaicplot,mtext,mvfft,na,nan,%
|
|
|
names,omit,nargs,nchar,ncol,NCOL,new,next,NextMethod,nextn,%
|
|
|
nlevels,nlm,noquote,NotYetImplemented,NotYetUsed,nrow,NROW,null,%
|
|
|
numeric,\%o\%,objects,offset,old,on,Ops,optim,optimise,optimize,%
|
|
|
options,or,order,ordered,outer,package,packages,page,pairlist,%
|
|
|
pairs,palette,panel,par,parent,parse,paste,path,pbeta,pbinom,%
|
|
|
pcauchy,pchisq,pentagamma,persp,pexp,pf,pgamma,pgeom,phyper,pico,%
|
|
|
pictex,piechart,Platform,plnorm,plogis,plot,pmatch,pmax,pmin,%
|
|
|
pnbinom,pnchisq,pnorm,points,poisson,poly,polygon,polyroot,pos,%
|
|
|
postscript,power,ppoints,ppois,predict,preplot,pretty,Primitive,%
|
|
|
print,prmatrix,proc,prod,profile,proj,prompt,prop,provide,%
|
|
|
psignrank,ps,pt,ptukey,punif,pweibull,pwilcox,q,qbeta,qbinom,%
|
|
|
qcauchy,qchisq,qexp,qf,qgamma,qgeom,qhyper,qlnorm,qlogis,qnbinom,%
|
|
|
qnchisq,qnorm,qpois,qqline,qqnorm,qqplot,qr,Q,qty,qy,qsignrank,%
|
|
|
qt,qtukey,quantile,quasi,quit,qunif,quote,qweibull,qwilcox,%
|
|
|
rainbow,range,rank,rbeta,rbind,rbinom,rcauchy,rchisq,Re,read,csv,%
|
|
|
csv2,fwf,readline,socket,real,Recall,rect,reformulate,regexpr,%
|
|
|
relevel,remove,rep,repeat,replace,replications,report,require,%
|
|
|
resid,residuals,restart,return,rev,rexp,rf,rgamma,rgb,rgeom,R,%
|
|
|
rhyper,rle,rlnorm,rlogis,rm,rnbinom,RNGkind,rnorm,round,row,%
|
|
|
rownames,rowsum,rpois,rsignrank,rstandard,rstudent,rt,rug,runif,%
|
|
|
rweibull,rwilcox,sample,sapply,save,scale,scan,scan,screen,sd,se,%
|
|
|
search,searchpaths,segments,seq,sequence,setdiff,setequal,set,%
|
|
|
setwd,show,sign,signif,sin,single,sinh,sink,solve,sort,source,%
|
|
|
spline,splinefun,split,sqrt,stars,start,stat,stem,step,stop,%
|
|
|
storage,strstrheight,stripplot,strsplit,structure,strwidth,sub,%
|
|
|
subset,substitute,substr,substring,sum,summary,sunflowerplot,svd,%
|
|
|
sweep,switch,symbol,symbols,symnum,sys,status,system,t,table,%
|
|
|
tabulate,tan,tanh,tapply,tempfile,terms,terrain,tetragamma,text,%
|
|
|
time,title,topo,trace,traceback,transform,tri,trigamma,trunc,try,%
|
|
|
ts,tsp,typeof,unclass,undebug,undoc,union,unique,uniroot,unix,%
|
|
|
unlink,unlist,unname,untrace,update,upper,url,UseMethod,var,%
|
|
|
variable,vector,Version,vi,warning,warnings,weighted,weights,%
|
|
|
which,while,window,write,\%x\%,x11,X11,xedit,xemacs,xinch,xor,%
|
|
|
xpdrows,xy,xyinch,yinch,zapsmall,zip},%
|
|
|
otherkeywords={!,!=,~,$,*,\%,\&,\%/\%,\%*\%,\%\%,<-,<<-},%$
|
|
|
alsoother={._$},%$
|
|
|
sensitive,%
|
|
|
morecomment=[l]\#,%
|
|
|
morestring=[d]",%
|
|
|
morestring=[d]'% 2001 Robert Denham
|
|
|
}%
|
|
|
|
|
|
%решаем проблему с кириллицей в комментариях (в pdflatex) https://tex.stackexchange.com/a/103712
|
|
|
\lstset{extendedchars=true,keepspaces=true,literate={Ö}{{\"O}}1
|
|
|
{Ä}{{\"A}}1
|
|
|
{Ü}{{\"U}}1
|
|
|
{ß}{{\ss}}1
|
|
|
{ü}{{\"u}}1
|
|
|
{ä}{{\"a}}1
|
|
|
{ö}{{\"o}}1
|
|
|
{~}{{\textasciitilde}}1
|
|
|
{а}{{\selectfont\char224}}1
|
|
|
{б}{{\selectfont\char225}}1
|
|
|
{в}{{\selectfont\char226}}1
|
|
|
{г}{{\selectfont\char227}}1
|
|
|
{д}{{\selectfont\char228}}1
|
|
|
{е}{{\selectfont\char229}}1
|
|
|
{ё}{{\"e}}1
|
|
|
{ж}{{\selectfont\char230}}1
|
|
|
{з}{{\selectfont\char231}}1
|
|
|
{и}{{\selectfont\char232}}1
|
|
|
{й}{{\selectfont\char233}}1
|
|
|
{к}{{\selectfont\char234}}1
|
|
|
{л}{{\selectfont\char235}}1
|
|
|
{м}{{\selectfont\char236}}1
|
|
|
{н}{{\selectfont\char237}}1
|
|
|
{о}{{\selectfont\char238}}1
|
|
|
{п}{{\selectfont\char239}}1
|
|
|
{р}{{\selectfont\char240}}1
|
|
|
{с}{{\selectfont\char241}}1
|
|
|
{т}{{\selectfont\char242}}1
|
|
|
{у}{{\selectfont\char243}}1
|
|
|
{ф}{{\selectfont\char244}}1
|
|
|
{х}{{\selectfont\char245}}1
|
|
|
{ц}{{\selectfont\char246}}1
|
|
|
{ч}{{\selectfont\char247}}1
|
|
|
{ш}{{\selectfont\char248}}1
|
|
|
{щ}{{\selectfont\char249}}1
|
|
|
{ъ}{{\selectfont\char250}}1
|
|
|
{ы}{{\selectfont\char251}}1
|
|
|
{ь}{{\selectfont\char252}}1
|
|
|
{э}{{\selectfont\char253}}1
|
|
|
{ю}{{\selectfont\char254}}1
|
|
|
{я}{{\selectfont\char255}}1
|
|
|
{А}{{\selectfont\char192}}1
|
|
|
{Б}{{\selectfont\char193}}1
|
|
|
{В}{{\selectfont\char194}}1
|
|
|
{Г}{{\selectfont\char195}}1
|
|
|
{Д}{{\selectfont\char196}}1
|
|
|
{Е}{{\selectfont\char197}}1
|
|
|
{Ё}{{\"E}}1
|
|
|
{Ж}{{\selectfont\char198}}1
|
|
|
{З}{{\selectfont\char199}}1
|
|
|
{И}{{\selectfont\char200}}1
|
|
|
{Й}{{\selectfont\char201}}1
|
|
|
{К}{{\selectfont\char202}}1
|
|
|
{Л}{{\selectfont\char203}}1
|
|
|
{М}{{\selectfont\char204}}1
|
|
|
{Н}{{\selectfont\char205}}1
|
|
|
{О}{{\selectfont\char206}}1
|
|
|
{П}{{\selectfont\char207}}1
|
|
|
{Р}{{\selectfont\char208}}1
|
|
|
{С}{{\selectfont\char209}}1
|
|
|
{Т}{{\selectfont\char210}}1
|
|
|
{У}{{\selectfont\char211}}1
|
|
|
{Ф}{{\selectfont\char212}}1
|
|
|
{Х}{{\selectfont\char213}}1
|
|
|
{Ц}{{\selectfont\char214}}1
|
|
|
{Ч}{{\selectfont\char215}}1
|
|
|
{Ш}{{\selectfont\char216}}1
|
|
|
{Щ}{{\selectfont\char217}}1
|
|
|
{Ъ}{{\selectfont\char218}}1
|
|
|
{Ы}{{\selectfont\char219}}1
|
|
|
{Ь}{{\selectfont\char220}}1
|
|
|
{Э}{{\selectfont\char221}}1
|
|
|
{Ю}{{\selectfont\char222}}1
|
|
|
{Я}{{\selectfont\char223}}1
|
|
|
{і}{{\selectfont\char105}}1
|
|
|
{ї}{{\selectfont\char168}}1
|
|
|
{є}{{\selectfont\char185}}1
|
|
|
{ґ}{{\selectfont\char160}}1
|
|
|
{І}{{\selectfont\char73}}1
|
|
|
{Ї}{{\selectfont\char136}}1
|
|
|
{Є}{{\selectfont\char153}}1
|
|
|
{Ґ}{{\selectfont\char128}}1
|
|
|
}
|
|
|
|
|
|
% Ширина текста минус ширина надписи 999
|
|
|
\newlength{\twless}
|
|
|
\newlength{\lmarg}
|
|
|
\setlength{\lmarg}{\widthof{999}} % ширина надписи 999
|
|
|
\setlength{\twless}{\textwidth-\lmarg}
|
|
|
|
|
|
\lstset{ %
|
|
|
% language=R, % Язык указать здесь, если во всех листингах преимущественно один язык, в результате часть настроек может пойти только для этого языка
|
|
|
numbers=left, % where to put the line-numbers
|
|
|
numberstyle=\fontsize{12pt}{14pt}\selectfont\color{Gray}, % the style that is used for the line-numbers
|
|
|
firstnumber=1, % в этой и следующей строках задаётся поведение нумерации 5, 10, 15...
|
|
|
stepnumber=5, % the step between two line-numbers. If it's 1, each line will be numbered
|
|
|
numbersep=5pt, % how far the line-numbers are from the code
|
|
|
backgroundcolor=\color{white}, % choose the background color. You must add \usepackage{color}
|
|
|
showspaces=false, % show spaces adding particular underscores
|
|
|
showstringspaces=false, % underline spaces within strings
|
|
|
showtabs=false, % show tabs within strings adding particular underscores
|
|
|
frame=leftline, % adds a frame of different types around the code
|
|
|
rulecolor=\color{black}, % if not set, the frame-color may be changed on line-breaks within not-black text (e.g. commens (green here))
|
|
|
tabsize=2, % sets default tabsize to 2 spaces
|
|
|
captionpos=t, % sets the caption-position to top
|
|
|
breaklines=true, % sets automatic line breaking
|
|
|
breakatwhitespace=false, % sets if automatic breaks should only happen at whitespace
|
|
|
% title=\lstname, % show the filename of files included with \lstinputlisting;
|
|
|
% also try caption instead of title
|
|
|
basicstyle=\fontsize{12pt}{14pt}\selectfont\ttfamily,% the size of the fonts that are used for the code
|
|
|
% keywordstyle=\color{blue}, % keyword style
|
|
|
commentstyle=\color{ForestGreen}\emph,% comment style
|
|
|
stringstyle=\color{Mahogany}, % string literal style
|
|
|
escapeinside={\%*}{*)}, % if you want to add a comment within your code
|
|
|
morekeywords={*,...}, % if you want to add more keywords to the set
|
|
|
inputencoding=utf8, % кодировка кода
|
|
|
xleftmargin={\lmarg}, % Чтобы весь код и полоска с номерами строк была смещена влево, так чтобы цифры не вылезали за пределы текста слева
|
|
|
}
|
|
|
|
|
|
%http://tex.stackexchange.com/questions/26872/smaller-frame-with-listings
|
|
|
% Окружение, чтобы листинг был компактнее обведен рамкой, если она задается, а не на всю ширину текста
|
|
|
\makeatletter
|
|
|
\newenvironment{SmallListing}[1][]
|
|
|
{\lstset{#1}\VerbatimEnvironment\begin{VerbatimOut}{VerbEnv.tmp}}
|
|
|
{\end{VerbatimOut}\settowidth\@tempdima{%
|
|
|
\lstinputlisting{VerbEnv.tmp}}
|
|
|
\minipage{\@tempdima}\lstinputlisting{VerbEnv.tmp}\endminipage}
|
|
|
\makeatother
|
|
|
|
|
|
\DefineVerbatimEnvironment% с шрифтом 12 пт
|
|
|
{Verb}{Verbatim}
|
|
|
{fontsize=\fontsize{12pt}{14pt}\selectfont}
|
|
|
|
|
|
\newfloat[chapter]{ListingEnv}{lol}{Листинг}
|
|
|
|
|
|
\renewcommand{\lstlistingname}{Листинг}
|
|
|
|
|
|
%Общие счётчики окружений листингов
|
|
|
%http://tex.stackexchange.com/questions/145546/how-to-make-figure-and-listing-share-their-counter
|
|
|
% Если смешивать плавающие и не плавающие окружения, то могут быть проблемы с нумерацией
|
|
|
\makeatletter
|
|
|
\AfterEndPreamble{% https://tex.stackexchange.com/a/252682
|
|
|
\let\c@ListingEnv\relax % drop existing counter "ListingEnv"
|
|
|
\newaliascnt{ListingEnv}{lstlisting} % команда требует пакет aliascnt
|
|
|
\let\ftype@lstlisting\ftype@ListingEnv % give the floats the same precedence
|
|
|
}
|
|
|
\makeatother
|
|
|
|
|
|
% значок С++ — используйте команду \cpp
|
|
|
\newcommand{\cpp}{%
|
|
|
C\nolinebreak\hspace{-.05em}%
|
|
|
\raisebox{.2ex}{+}\nolinebreak\hspace{-.10em}%
|
|
|
\raisebox{.2ex}{+}%
|
|
|
}
|
|
|
|
|
|
%%% Чересстрочное форматирование таблиц
|
|
|
%% http://tex.stackexchange.com/questions/278362/apply-italic-formatting-to-every-other-row
|
|
|
\newcounter{rowcnt}
|
|
|
\newcommand\altshape{\ifnumodd{\value{rowcnt}}{\color{red}}{\vspace*{-1ex}\itshape}}
|
|
|
% \AtBeginEnvironment{tabular}{\setcounter{rowcnt}{1}}
|
|
|
% \AtEndEnvironment{tabular}{\setcounter{rowcnt}{0}}
|
|
|
|
|
|
%%% Ради примера во второй главе
|
|
|
\let\originalepsilon\epsilon
|
|
|
\let\originalphi\phi
|
|
|
\let\originalkappa\kappa
|
|
|
\let\originalle\le
|
|
|
\let\originalleq\leq
|
|
|
\let\originalge\ge
|
|
|
\let\originalgeq\geq
|
|
|
\let\originalemptyset\emptyset
|
|
|
\let\originaltan\tan
|
|
|
\let\originalcot\cot
|
|
|
\let\originalcsc\csc
|
|
|
|
|
|
%%% Русская традиция начертания математических знаков
|
|
|
\renewcommand{\le}{\ensuremath{\leqslant}}
|
|
|
\renewcommand{\leq}{\ensuremath{\leqslant}}
|
|
|
\renewcommand{\ge}{\ensuremath{\geqslant}}
|
|
|
\renewcommand{\geq}{\ensuremath{\geqslant}}
|
|
|
\renewcommand{\emptyset}{\varnothing}
|
|
|
|
|
|
%%% Русская традиция начертания математических функций (на случай копирования из зарубежных источников)
|
|
|
\renewcommand{\tan}{\operatorname{tg}}
|
|
|
\renewcommand{\cot}{\operatorname{ctg}}
|
|
|
\renewcommand{\csc}{\operatorname{cosec}}
|
|
|
|
|
|
%%% Русская традиция начертания греческих букв (греческие буквы вертикальные, через пакет upgreek)
|
|
|
\renewcommand{\epsilon}{\ensuremath{\upvarepsilon}} % русская традиция записи
|
|
|
\renewcommand{\phi}{\ensuremath{\upvarphi}}
|
|
|
%\renewcommand{\kappa}{\ensuremath{\varkappa}}
|
|
|
\renewcommand{\alpha}{\upalpha}
|
|
|
\renewcommand{\beta}{\upbeta}
|
|
|
\renewcommand{\gamma}{\upgamma}
|
|
|
\renewcommand{\delta}{\updelta}
|
|
|
\renewcommand{\varepsilon}{\upvarepsilon}
|
|
|
\renewcommand{\zeta}{\upzeta}
|
|
|
\renewcommand{\eta}{\upeta}
|
|
|
\renewcommand{\theta}{\uptheta}
|
|
|
\renewcommand{\vartheta}{\upvartheta}
|
|
|
\renewcommand{\iota}{\upiota}
|
|
|
\renewcommand{\kappa}{\upkappa}
|
|
|
\renewcommand{\lambda}{\uplambda}
|
|
|
\renewcommand{\mu}{\upmu}
|
|
|
\renewcommand{\nu}{\upnu}
|
|
|
\renewcommand{\xi}{\upxi}
|
|
|
\renewcommand{\pi}{\uppi}
|
|
|
\renewcommand{\varpi}{\upvarpi}
|
|
|
\renewcommand{\rho}{\uprho}
|
|
|
%\renewcommand{\varrho}{\upvarrho}
|
|
|
\renewcommand{\sigma}{\upsigma}
|
|
|
%\renewcommand{\varsigma}{\upvarsigma}
|
|
|
\renewcommand{\tau}{\uptau}
|
|
|
\renewcommand{\upsilon}{\upupsilon}
|
|
|
\renewcommand{\varphi}{\upvarphi}
|
|
|
\renewcommand{\chi}{\upchi}
|
|
|
\renewcommand{\psi}{\uppsi}
|
|
|
\renewcommand{\omega}{\upomega}
|