当我使用包含时,我必须仅在一个文件中有序言?

当我使用包含时,我必须仅在一个文件中有序言?

我有个问题。我尝试将一个 .tex 文件包含到另一个 .tex 文件中。我的第一个文件

\documentclass{beamer}


\mode<presentation>
{
    \usetheme{Warsaw}
    \setbeamercovered{dynamic}
    \usefonttheme[onlymath]{serif}
}

\include{presentation1}

我的第二个文件

\mode<presentation>
{
  \usetheme{Warsaw}
  \setbeamercovered{dynamic}
  \usefonttheme[onlymath]{serif}
}
\usepackage{pgf,pgfarrows,pgfnodes,pgfautomata,pgfheaps,pgfshade}
\usepackage[UTF8]{inputenc}
\usepackage[polish]{babel}
\usepackage[OT4]{fontenc}
\usepackage{graphicx}
\usepackage{beamerthemesplit}
\usecolortheme{default}
\usepackage{url}
\usepackage{color}
\usepackage{multimedia}



\begin{document}


\end{document}

当我把 \documentclass{beamer} 放在我的第二个文件中时

\documentclass{beamer}

\mode<presentation>
{
  \usetheme{Warsaw}
  \setbeamercovered{dynamic}
  \usefonttheme[onlymath]{serif}
}
\usepackage{pgf,pgfarrows,pgfnodes,pgfautomata,pgfheaps,pgfshade}
\usepackage[cp1250]{inputenc}
\usepackage[polish]{babel}
\usepackage[OT4]{fontenc}
\usepackage{graphicx}
\usepackage{beamerthemesplit}
\usecolortheme{default}
\usepackage{url}
\usepackage{color}
\usepackage{multimedia}



\begin{document}


\end{document}

我运行第一个文件(包含文件)时出现错误,如 ! LaTeX 错误:两个 \documentclass 或 \documentstyle 命令。软件包 pgfarrows 警告:此软件包已过时。pgf.sty 将加载 arrow ma 等

所以当我使用包含时我必须始终从源文件中删除前言或做其他事情?

答案1

没有必要删除包含文件中的序言,而是可以使用包subfiles来忽略序言。

这样,您就可以包含本身具有\documentclass{}等的文件,但您还需要在主文件中加载所有包和其他设置。它们不会从包含的文件中继承。

\documentclass{beamer}

\usepackage{subfiles}

\begin{document}
    
\subfile{document}
    
\end{document}

相关内容