LaTeX 软件包是否需要标头保护?如果需要,如何实现?

LaTeX 软件包是否需要标头保护?如果需要,如何实现?

某些编程语言使用标头保护来避免重复导入同一文件。以下是 LaTeX 中此场景的一个示例:假设我们在一个目录中header1.styheader2.sty和。main.tex

内容header1.sty

% Define macros

内容header2.sty

% Something before this line
\usepackage{header1}
% Makes use of header1 macros

内容main.tex

\documentclass{article}
\usepackage{header1,header2}
\begin{document}
% Document body
\end{document}

那么在我看来它header1被导入了两次。

以下是我的问题:

  1. 这样的重复导入会破坏任何东西吗(即导致编译错误)?
  2. 即使它不会破坏任何东西,实现头保护是否能通过让编译器减少无用的代码来加速编译?
  3. 是否有一种惯用的方法来实现 LaTeX 中的标题保护?
  4. 是否存在已知在重复导入时会损坏的现有软件包?如果有的话,可以做些什么?

相关内容