# Insert a TeX file created with knitr into a main TeX file [duplicate]

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
% There is no \\@totalrightmargin, so:
\hskip-\linewidth \hskip-\@totalleftmargin \hskip\columnwidth}%
\@totalleftmargin\z@ \linewidth\hsize
\@setminipage}}%
{\par\unskip\endMakeFramed%
\at@end@of@kframe}
\makeatother

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

• 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

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
\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
% There is no \\@totalrightmargin, so:
\hskip-\linewidth \hskip-\@totalleftmargin \hskip\columnwidth}%
\@totalleftmargin\z@ \linewidth\hsize
\@setminipage}}%
{\par\unskip\endMakeFramed%
\at@end@of@kframe}
\makeatother

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

• 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