4

I want to insert a knitr output file (created in RStudio as .rnw file, then I compiled, it creates the .tex file) into my main .tex file. But I got an error, how we can do this?

Knitter Tex file:

\documentclass{article}\usepackage[]{graphicx}\usepackage[]{color}
%% maxwidth is the original width if it is less than linewidth
%% otherwise use linewidth (to make sure the graphics do not exceed the margin)
\makeatletter
\def\maxwidth{ %
  \ifdim\Gin@nat@width>\linewidth
    \linewidth
  \else
    \Gin@nat@width
  \fi
}
\makeatother

\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}}}%

\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

\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

\usepackage{alltt}
\IfFileExists{upquote.sty}{\usepackage{upquote}}{}

\begin{document}

The log returns are calculated from the theoritical distrbutions. Then we consider the autocorraltion of the entire series. 

\begin{knitrout}
\definecolor{shadecolor}{rgb}{0.969, 0.969, 0.969}\color{fgcolor}
\includegraphics[width=\maxwidth]{figure/acf} 

\end{knitrout}


The lag 1 significnat autocorrelation -0.5053 found. 

\end{document}

Main TeX file:

% edited by JG on 31/10/13 to 6/11/13
\documentclass[12pt,a4paper]{article}

\usepackage{amssymb}
\usepackage{amsfonts}
\usepackage{multirow} 
\usepackage{lscape}
\usepackage{graphicx}
\usepackage{hyperref}
\usepackage{lettrine}
\usepackage{setspace}
\usepackage[authoryear]{natbib}
\usepackage{caption}
\usepackage{subcaption}

\doublespacing
% page layout
\addtolength{\topmargin}{-20mm}
\addtolength{\textheight}{35mm}
\setlength{\textwidth}{150mm}
\setlength{\oddsidemargin}{8mm}
\hyphenation{Shew-hart}

\begin{document}

\title{Applying quality improvement techniques to analyze the asymmetric behavior in stock returns}

\section{ACF}

\input{ThirdPaper_Autocorrelation} % name of the knitter file                       


\end{document}

marked as duplicate by Adam Liter, ChrisS, Heiko Oberdiek, jub0bs, Paul Gaborit Apr 30 '14 at 22:56

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

  • welcome to tex.sx, nite that you can use the {} button in the editor to format code sections, as in my edit. – David Carlisle Jan 8 '14 at 22:12
  • Technical remark: You can always edit your own questions (and answers). You are not forced to ask a new question. – Speravir Jan 8 '14 at 23:09
2

just move the preamble of the file to be included to the main document, and just leave the body of the document to be included in the file to be input:

\documentclass[12pt,a4paper]{article}

\usepackage{amssymb}
\usepackage{amsfonts}
\usepackage{multirow} 
\usepackage{lscape}
\usepackage{graphicx}
\usepackage{hyperref}
\usepackage{lettrine}
\usepackage{setspace}
\usepackage[authoryear]{natbib}
\usepackage{caption}
\usepackage{subcaption}

\doublespacing
% page layout
\addtolength{\topmargin}{-20mm}
\addtolength{\textheight}{35mm}
\setlength{\textwidth}{150mm}
\setlength{\oddsidemargin}{8mm}
\hyphenation{Shew-hart}

%%%%
\usepackage[]{color}
%% maxwidth is the original width if it is less than linewidth
%% otherwise use linewidth (to make sure the graphics do not exceed the margin)
\makeatletter
\def\maxwidth{ %
  \ifdim\Gin@nat@width>\linewidth
    \linewidth
  \else
    \Gin@nat@width
  \fi
}
\makeatother

\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}}}%

\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

\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

\usepackage{alltt}
\IfFileExists{upquote.sty}{\usepackage{upquote}}{}

%%%%

\begin{document}

\title{Applying quality improvement techniques to analyze the asymmetric behavior in stock returns}

\section{ACF}

\input{ThirdPaper_Autocorrelation} % name of the knitter file                       


\end{document}

The log returns are calculated from the theoritical distrbutions. Then we consider the autocorraltion of the entire series. 

\begin{knitrout}
\definecolor{shadecolor}{rgb}{0.969, 0.969, 0.969}\color{fgcolor}
\includegraphics[width=\maxwidth]{figure/acf} 

\end{knitrout}


The lag 1 significnat autocorrelation -0.5053 found.
  • Thanks.!Can we avoide preamble within RStudio? Otherwise, it is always needs to do manually . – Nadeeka Jan 8 '14 at 22:26
  • @Nadeeka sorry I don't know about R's latex interface – David Carlisle Jan 8 '14 at 22:34
  • @Nadeeka Perhaps \input only part of a file does help. – Speravir Jan 8 '14 at 22:56
  • @Nadeeka I don't think you can omit the preamble from the knitr output, but you could reorganize your files so that you included the 'main' document into the Rnw, rather than the other way around. That would save you having to manually edit the knitr output. – Tyler Feb 13 '14 at 23:19
  • knitr can solve this straightforwardly and thus provides a preferable solution that avoids having to manually chop out preambles. It can solve this problem via its knit_child() function or via the chunk option child. See here and here. – Adam Liter Apr 30 '14 at 20:46

Not the answer you're looking for? Browse other questions tagged or ask your own question.