仅包含 TEX 文件的一部分

仅包含 TEX 文件的一部分

我正在写一份报告,想在其中包含另一个 TEX 文件,我会单独更新它。我使用输入命令

\documentclass[11pt,a4paper]{report}
\usepackage{amsmath,amssymb}
\usepackage{pdfpages}
\usepackage{float}
\begin{document}
...
\input{extra.tex}
...
\end{document}

在这个 extra.tex 文件中,我只需要文档的某个部分,即 BEGIN 和 END 之间的文档主体或某个部分。特别是,我不需要包含文件的标题。

\documentclass[11pt,a4paper]{report}
% header
\usepackage{amsmath,amssymb}
\usepackage{pdfpages}
\usepackage{float}
\begin{document}
...
% include only
I want to include only this, $E = mc^2$.
% end include
...
I don't want to include this.
...
\end{document}

如何在主报告 report.tex 中仅包含此 extra.tex 文件的某个部分?

答案1

这实际上是两个问题。我们来举一个main.tex你想包括以下内容的问题extra.tex


问题 1 的答案:

我不需要包含文件的标题。

Sharelatex 很好地概述了如何处理多个文件。你可以找到它这里。在这里我将使用standalone主文件中的包,它应该按照你想要的方式执行:

\documentclass{article}
\usepackage[subpreambles=true]{standalone}
\begin{document}
  \input{extra}
\end{document}

问题 2 的答案

如何在主报告 report.tex 中仅包含此 extra.tex 文件的某个部分?

我认为最好的方法是将您想要切换的部分包装到您可以控制的环境中。在这里我建议使用以下comments包:

% extra.tex
\documentclass{article}
\usepackage{comment}
% Make new environments `hide' and `keep'.
% You could make more of these for the parts you want to toggle!
\excludecomment{hide}
\includecomment{keep}
\begin{document}
  \begin{keep}
      This text will be shown $E = mc^2$.
  \end{keep}
  \begin{hide}
      This text will be hidden.
  \end{hide}
\end{document}

答案2

将 分成extra.tex两个文件,一个包含前言和命令\begin{document}\end{document},另一个包含内容。这样,您就可以input毫无问题地将内容放入新文档中。

如果你只想选择性地包含文本片段,请使用conditional compilation选择/标记所需的片段。

相关内容