在独立文件中包括序言

在独立文件中包括序言

我需要制作许多使用相同序言的图像。为了制作这些图像,我使用文档类 standalone。我的目标是创建一个文件 preamble.tex 并将其包含在其他文件中,如下所示:

%preamble.tex
\usepackage[frenchb]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}

\usepackage{graphicx}
\usepackage{tikz,pgf}

%drawing tools

%image.tex
\documentclass{standalone}

\include{preamble}

\begin{document}
\begin{tikzpicture}
%draw my picture
\end{tikzpicture}
\end{document}

但它对我来说似乎不起作用。

答案1

对于这种情况,当它不是文档的整个部分(可能单独编译,例如章节或部分内容)时,您应该使用\input而不是。请参阅\include这个问题了解详情。特别注意,您不能\include在序言中使用。

\documentclass{standalone}

\input{preamble}

\begin{document}
  \begin{tikzpicture}
    \node {ABC};
  \end{tikzpicture}
\end{document}

或者,按照 David Carlisle 的建议,将序言打包成一个文件:

\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{mypreamble}

\usepackage[frenchb]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}    
\usepackage{graphicx}
\usepackage{tikz}% loads pgf

\endinput

然后像加载其他包一样加载它:

\documentclass{standalone}

\usepackage{mypreamble}

\begin{document}
  \begin{tikzpicture}
    \node {ABC};
  \end{tikzpicture}
\end{document}

我不太明白为什么这比使用“更合乎逻辑” \input,但我远非专家。

相关内容