Это прекрасно работает:
\documentclass{scrartcl}
\usepackage{float}
\begin{document}
Text
\end{document}
Но это не скомпилируется:
\RequirePackage{float}
\documentclass{scrartcl}
\begin{document}
Text
\end{document}
Ошибка при выводе:
Class scrartcl Info: Redefining `\numberline' on input line 5319.
! LaTeX Error: Command \float@listhead already defined.
Or name \end... illegal, see p.192 of the manual.
Если вы спросите, почему я просто не использую первый вариант: я сейчас пишу программу, которая работает следующим образом:
Входной сигнал:
\documentclass{Some latex class}
\begin{document}
Some latex source code
выход
\RequirePackage{float}
\RequirePackage{other required packages}
\documentclass{Some Latex Class}
\begin{document}
Some latex source code
Some latex code that uses the float package
\end{document}
И я думаю, что сканирование \ documentclass и вставка \ usepackages после того, как мне это показалось немного грязным.