我正在用 LaTeX 写论文,我是 LaTeX 的初学者。我读过关于将文件合并到主文件的文章,但它对我没有多大帮助,我的问题仍然存在。我给出了我想要做的最少的代码。请帮我解决这个问题。当编译器遇到表格或图形代码时,它不会编译文件,而且似乎 \usepackage 对单个文件也是必要的。
%MAIN.tex
\documentclass[a4paper,12pt,oneside,openright,draft]{book}
\input{preamble}
\begin{document}
\frontmatter
\tableofcontents
\listoffigures
\listoftables
\mainmatter
\include{Chapter1}
\include{Chapter2}
\end{document}
%% end of MAIN.tex-------------------------
%%preamble.tex
\usepackage{microtype}
\usepackage[demo]{graphicx}
\usepackage{index}
\usepackage{ctable}
\usepackage{tabls}
\newcommand{\head}[1]{\textbf{#1}}
%%end of preamble.tex-------------------------
%%starting chapter1.tex
\chapter{Main chapter}
\section{First section of the first chapter}
\subsection{subsec 1}
\subsubsection{subsubsec 1}
\subsubsection{subsubsec 2}
\subsection{subsec 2}
{\Large Here's figure} \\
\begin{figure}[h!]
\centering
\includegraphics{test}
\caption{test {\index {new figures}}}
\label{fig:test1}
\end{figure}
%%end of chapter1.tex-------------------------
%%starting chapter2.tex
\chapter{Tables}
\begin{tabular}{cccc}
& \multicolumn{2}{c}{Input} & \multicolumn{1}{c}{Output}\\
& \head{A} & \head{B} & \head{C} \\
\cmidrule[1pt](l){1-3} \cmidrule[1pt](lr){4-4}
\multirow{3}{*}{Data} & 10 & 20 & 30\\
& 40 & 60 & 100\\
& 25 & 50 & 75\\
\bottomrule[1.5pt]
\vspace{2mm}
\caption{My table}
\end{tabular}
%end
谢谢你的建议。我修改了我的代码,但仍然有错误。我不知道我哪里出错了。当我编译第 2 章时,没有错误。但当我将它合并到主文件时,出现了错误
!missing \cr inserted
主文件:
\documentclass[a4paper,12pt,oneside,openright,draft]{book}
\input{preamble}
\begin{document}
\newcommand{\head}[1]{\textbf{#1}}
\frontmatter
\tableofcontents
\listoffigures
\listoftables
\mainmatter
\include{Chapter1}
\include{Chapter2}
\end{document}
第1章
\chapter{Main chapter}
\section{First section of the first chapter}
\subsection{subsec 1}
\subsubsection{subsubsec 1}
\subsubsection{subsubsec 2}
\subsection{subsec 2}
{\Large Here's figure} \\
\begin{figure}[h!]
\centering
\includegraphics{test}
\caption{test}
\label{fig:test1}
\end{figure}
第2章
\chapter{Tables}
\begin{table}
\begin{tabular}{cccc}
& \multicolumn{2}{c}{Input} & \multicolumn{1}{c}{Output}\\
& \head{A} & \head{B} & \head{C} \\
\cmidrule[1pt](l){1-3} \cmidrule[1pt](lr){4-4}
\multirow{3}{*}{Data} & 10 & 20 & 30\\
& 40 & 60 & 100\\
& 25 & 50 & 75\\
\bottomrule[1.5pt]
\end{tabular}
\vspace{2mm}
\caption{My table}
答案1
我认为您的问题不是由于外部文件引起的,而仅仅是因为使用的标记与包不匹配。
我收到一个错误
! LaTeX Error: Index type `default' undefined.
除非我注释掉index
您使用\multirow
但multirow
包没有加载包tabls
似乎与您在第 2 章中的表中显然正确的标题行不兼容所以我删除了它
然后你就有了间距,\caption
其中tabular
有一个错误,我把它们移动到了一个table
环境中。
运行没有错误。
main
然后chapter1
如上所述
前言:
%preamble.tex
\usepackage{microtype}
\usepackage[demo]{graphicx}
%\usepackage{index}
\usepackage{ctable}
%\usepackage{tabls}
\usepackage{multirow}
\newcommand{\head}[1]{\textbf{#1}}
第2章
%starting chapter2.tex
\chapter{Tables}
\begin{table}
\begin{tabular}{cccc}
& \multicolumn{2}{c}{Input} & \multicolumn{1}{c}{Output}\\
& \head{A} & \head{B} & \head{C} \\
\cmidrule[1pt](l){1-3} \cmidrule[1pt](lr){4-4}
\multirow{3}{*}{Data} & 10 & 20 & 30\\
& 40 & 60 & 100\\
& 25 & 50 & 75\\
\bottomrule[1.5pt]
\end{tabular}
\vspace{2mm}
\caption{My table}
\end{table}
%end