Cómo definir las cabeceras de knitr en un documento LaTeX
Cómo definir las cabeceras de knitr en un documento LaTeX
Cuando se emplean documentos .Rnw o .tex con cabeceras precompiladas (Precompilar un preámbulo en LaTeX)
conviene introducir el preámbulo que incorpora el paquete knitr de R cuando compila un fichero .Rnw. Además, el color del marginnote
se vuelve chiflado con el knitr, por lo que conviene redefinirlo.
%% mifichero.tex \documentclass[a4paper,nobib,notoc]{tufte-book} %% ============================================================ %% knitr %% ============================================================ \usepackage[]{graphicx}\usepackage[]{xcolor} \usepackage{alltt} \IfFileExists{upquote.sty}{\usepackage{upquote}}{} \makeatletter \@ifundefined{hlnum}{ \makeatletter % maxwidth is the original width if it is less than linewidth % otherwise use linewidth (to make sure the graphics do not exceed the margin) \def\maxwidth{ % \ifdim\Gin@nat@width>\linewidth \linewidth \else \Gin@nat@width \fi } \makeatother%maxwidth \definecolor{fgcolor}{rgb}{0.345, 0.345, 0.345} \newcommand{\hlnum}[1]{\textcolor[rgb]{0.686,0.059,0.569}{#1}}% \newcommand{\hlstr}[1]{\textcolor[rgb]{0.192,0.494,0.8}{#1}}% \newcommand{\hlcom}[1]{\textcolor[rgb]{0.678,0.584,0.686}{\textit{#1}}}% \newcommand{\hlopt}[1]{\textcolor[rgb]{0,0,0}{#1}}% \newcommand{\hlstd}[1]{\textcolor[rgb]{0.345,0.345,0.345}{#1}}% \newcommand{\hlkwa}[1]{\textcolor[rgb]{0.161,0.373,0.58}{\textbf{#1}}}% \newcommand{\hlkwb}[1]{\textcolor[rgb]{0.69,0.353,0.396}{#1}}% \newcommand{\hlkwc}[1]{\textcolor[rgb]{0.333,0.667,0.333}{#1}}% \newcommand{\hlkwd}[1]{\textcolor[rgb]{0.737,0.353,0.396}{\textbf{#1}}}% \let\hlipl\hlkwb \usepackage{framed} \makeatletter \newenvironment{kframe}{% \def\at@end@of@kframe{}% \ifinner\ifhmode% \def\at@end@of@kframe{\end{minipage}}% \begin{minipage}{\columnwidth}% \fi\fi% \def\FrameCommand##1{\hskip\@totalleftmargin \hskip-\fboxsep \colorbox{shadecolor}{##1}\hskip-\fboxsep % There is no \\@totalrightmargin, so: \hskip-\linewidth \hskip-\@totalleftmargin \hskip\columnwidth}% \MakeFramed {\advance\hsize-\width \@totalleftmargin\z@ \linewidth\hsize \@setminipage}}% {\par\unskip\endMakeFramed% \at@end@of@kframe} \makeatother%kframe \definecolor{shadecolor}{rgb}{.97, .97, .97} \definecolor{messagecolor}{rgb}{0, 0, 0} \definecolor{warningcolor}{rgb}{1, 0, 1} \definecolor{errorcolor}{rgb}{1, 0, 0} \newenvironment{knitrout}{}{} % an empty environment to be redefined in TeX }{} % Fin knitr \makeatother%hlnum %% ============================================================ %% knitr y marginnote %% ============================================================ %% El marginnote se vuelve tonto con los colores con el knitr. Hemos introducido el color{black} \makeatletter \renewcommand\marginnote[2][0pt]{% \ifthenelse{\boolean{@tufte@loadnatbib}}{% \let\cite\@tufte@infootnote@cite% use the in-sidenote \cite command }{}% \gdef\@tufte@citations{}% clear out any old citations \marginpar{\hbox{}\vspace*{#1}\@tufte@marginnote@font\@tufte@marginnote@justification\@tufte@margin@par\vspace*{-1\baselineskip}\noindent\color{black} #2}% \@tufte@print@citations% print any citations \ifthenelse{\boolean{@tufte@loadnatbib}}{% \let\cite\@tufte@normal@cite% go back to using normal in-text \cite command }{}% } \makeatother \begin{document} \begin{knitrout} \definecolor{shadecolor}{rgb}{0.969, 0.969, 0.969}\color{fgcolor}\begin{kframe} \begin{alltt} \hlnum{1}\hlopt{:}\hlnum{10} \end{alltt} \begin{verbatim} ## [1] 1 2 3 4 5 6 7 8 9 10 \end{verbatim} \end{kframe} \end{knitrout} \end{document}