我有个问题。我尝试将一个 .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}