更新

更新

我有三个章节,我使用 pdfpages 将它们合并成一篇论文:如此链接所示

合并多篇论文

这样就满足了我 95% 的需求,唯一还需要的是一个包含每章所有小节的目录,以及一个列出所有三章表格和图表的表格。

最简单的方法是什么?所有三章单独编译都没有问题。

我也尝试过使用:

何时应使用 \input 和 \include?

\input 和 \include

\documentclass{article}
\begin{document}
\input{Introduction}
\end{document}

但是当我尝试这个时,它包含了文档中 tex 文件中的所有前置内容?

此外,一些方程式显示得更大,因此超出了页面范围!在使用 \input 生成的文件中,但是当 tex 文件被编译为独立文档时,它们显示正常?

请注意,我真的不太擅长使用 Latex,所以请提供最简单的解决方案。

很高兴发布您喜欢的任何代码,但 tex 文件相当大。

@ Jean

我厌倦了你的代码,这是朝着正确方向迈出的一步。有一个目录。但是只有第一章出现在输出中,无论是在目录中还是作为文件,第二章都没有出现在任何地方。并且所有 \usepackage 序言都打印在文档的内容和第一章的开头之间

\documentclass{article}
\begin{document} \tableofcontents
\chapter{Chapter One} \input{Introduction.tex}
\chapter{Chapter Two} \input{rv-NSS.tex}
\end{document} `

目录第一行有重叠条目

\documentclass{article}
\usepackage{fancyvrb}
\DefineVerbatimEnvironment{code}{Verbatim}{fontsize=\small}
\DefineVerbatimEnvironment{example}{Verbatim}{fontsize=\small}
\usepackage{natbib}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{bm}
\usepackage{grffile}
\usepackage{graphicx}
\usepackage{epstopdf}
\usepackage{booktabs}
\usepackage{siunitx}
\usepackage{longtable}
\usepackage{graphicx}
\usepackage{url}
\usepackage{graphics}
\usepackage{titlesec}
\def\UrlBreaks{\do\/\do-}
\usepackage[%
 font=small,
 labelfont=bf,
 figurewithin=section,
 tablewithin=section,
 tableposition=top
]{caption}
 \numberwithin{equation}{section}

\makeatletter
\def\env@matrix{\hskip -\arraycolsep
 \let\@ifnextchar\new@ifnextchar
 \array{*\c@MaxMatrixCols l}}
\makeatother


\begin{document}
\input{title.tex}
\tableofcontents
\clearpage
\chapter\addtocontents{toc}{Chapter One}\input{Introduction.tex}
\end{document}

答案1

只编译一个“主”文档的方法对您不起作用吗?

像 mainTexFile.tex...应该有\begin{document}参数等等....其余的将是带有章节、章节等的简单 tex 文件......

像这样...

“主” tex 文件的代码。

\begin{document}
\tableofcontents

\chapter{Chapter One}
\input{\...path_to_a_file...\chapterOne.tex}

\chapter{Chapter Two}
\input{\...path_to_a_file...\chapterTwo.tex}

\chapter{Chapter Three}
\input{\...path_to_a_file...\chapterThree.tex}

\end{document}

这应该可行...对我而言可行。

答案2

下面是使用的示例文档通关。这样就无需从包含的文件中删除前言,这意味着它们在适当的时候仍可以独立编译。本质上,该docmute包会导致包含或输入到主文件中的文件的前言被完全忽略。

\documentclass{book}
\usepackage{filecontents}% only so I can include the 'separate' chapters here for convenience (LaTeX writes new files with the given names on compilation which are then \input below)
\begin{filecontents}{ch1.tex}
  \documentclass{article}
  \begin{document}
    \kant[1-4]
  \end{document}
\end{filecontents}
\begin{filecontents}{ch2.tex}
  \documentclass{article}
  \begin{document}
    \kant[5-9]
  \end{document}
\end{filecontents}
\usepackage{kantlipsum}% only to provide filler text for the example
\usepackage{docmute}
\title{Thesis}
\author{You}
\begin{document}
\maketitle
\tableofcontents
\chapter{First Chapter}
\input{ch1}% preamble will be ignored
\chapter{Second Chapter}
\input{ch2}% preamble will be ignored
\end{document}

合并不带前言的文件

更新

附录可用于为每章添加附录。例如,这将为第一章添加一个附录,为第二章添加两个附录:

\documentclass{book}
\usepackage{filecontents}
\begin{filecontents}{ch1.tex}
  \documentclass{article}
  \begin{document}
    \kant[1-4]
    \begin{subappendices}
      \section{Appendix for First Chapter}
        \kant[10]
    \end{subappendices}
  \end{document}
\end{filecontents}
\begin{filecontents}{ch2.tex}
  \documentclass{article}
  \begin{document}
    \kant[5-9]
    \begin{subappendices}
      \section{First Appendix for Second Chapter}
        \kant[11]
      \section{Second Appendix for Second Chapter}
        \kant[12]
    \end{subappendices}
  \end{document}
\end{filecontents}
\usepackage{kantlipsum}
\usepackage{docmute,appendix}
\title{Thesis}
\author{You}
\begin{document}
\maketitle
\tableofcontents
\chapter{First Chapter}
\input{ch1}
\chapter{Second Chapter}
\input{ch2}
\end{document}

第一章附录

有关定制方法的详细信息,请参阅软件包文档。

答案3

除了使用 @cfr 链接的软件包外,我认为可以通过将序言和内容适当地分成不同的文件来实现这一点。如果您在 中编写了作品的序言,也许还有标题页和目录,而在 中编写了work1_main.tex内容,work1_content.tex您可以单独编译它,也可以将内容包含在更大的文档中。

假设我们有 n 个独立的作品,我们想分别和一起编译它们。将文件放在具有类似以下结构的文件夹中是明智的:

-main.tex
+work1
--work1_main.tex
--work1_content.tex
--bibliography1.bib
+work2
--work2_main.tex
--work2_content.tex
--bibliography2.bib
+workn
--workn_main.tex
--workn_content.tex
--bibliographyn.bib

内容如下:

主文本

\documentclass[a4paper]{report}

%all the packages required for the large document (all the works)
%load bibliography1.bib, bibliography2.bib and bibliography3.bib

\begin{document}

%titlepage, tableofcontents...

\chapter{Introduction} %optional
%Introduction text

\chapter{Work 1}
\input{./work1/work1_content.tex}
\chapter{Work 2}
\input{./work2/work2_content.tex}
\chapter{Work n}
\input{./work2/workn_content.tex}

%globalbibliography

\end{document}

工作表_main.tex

\documentclass[a4paper]{article}

%all the packages required for work n

\begin{document}

%titlepage, tableofcontents...

\input{work1_content.tex}

\end{document}

工作内容.tex

\section{Introduction to work n}
%Text,figure, tables, subsections, other sections...

%bibliography of work n

这样,如果你编译,main.tex你将得到包含所有作品的大文档。如果你编译,workn_main.tex你将只得到作品 n。虽然处理更多文件乍一看似乎很乏味,但我认为在必须合并或更改格式时它会有所帮助。为了使所有作品作为章节加载更容易,你可以定义一个命令。例如:

主要内容

\documentclass[a4paper]{report}

%all the packages required for the large document (all the works)
%load bibliography1.bib, bibliography2.bib and bibliography3.bib

\newcommand\importchapter[2]{
 \chapter{#1}
 \input{#2}
}

\begin{document}

%titlepage, tableofcontents...

\importchapter{Work 1}{./work1/work1_content.tex}
\importchapter{Work 2}{./work1/work2_content.tex}
\importchapter{Work n}{./work1/workn_content.tex} 

%globalbibliography

\end{document}

既然你说你不擅长 LaTeX,我试着让例子简单一点。如果你愿意采用这种方法,我们可以添加如何跟上appendices和参考书目。


和---关联这个问题和你遇到的类似,你可以为每个工作创建和。如果你试图在主程序的序言中输入所有文件,它可能会崩溃。你应该检查这些文件以仅加载每个包一次workn_main.texworkn_preamble.texworkn_content.texwork?_preamble

相关内容