базовый синтаксис для файла .sty

базовый синтаксис для файла .sty

Я пытаюсь создать .sty файл со всеми пакетами и вещами, которые я часто использую, но получаю огромное количество ошибок. Большинство из них связаны с конкретными пакетами, которые я использую

(например: Ошибка геометрии пакета: \paperwidth (0.0pt) слишком короткая.) хотя эти пакеты не вызывают проблем в моих других документах,

но я считаю, что самое важное — это «Аварийная остановка. <*> main.sty *** (задание прервано, не найдено законного \end)»

Вот код:

\RequirePackage[utf8]{inputenc}
\RequirePackage{ upgreek }
.... %a whole bunch of packages
\newcommand{\R}{\mathbb{R}}
.... %a whole bunch of commands
\endinput

Я пробовал разные случайные вещи, такие как удаление \endinput и добавление \begin{document} \end{document} в конец, а также добавление \documentclass{article} в начало, но я не совсем понимаю, что делаю, и ни одна из этих вещей не сработала.

Я использую оборотную сторону, если это имеет значение.

решение1

Эта ошибка (скорее всего) означает, что вы запускаете latex main.styвместо того, чтобы запустить его на документе, который включает пакет через

\documentclass{article}
\usepackage{main}
\begin{document}
...
\end{document}

По сути, ошибка говорит о том, что достигнут конец ввода, но не удалось увидеть \end{document}.

решение2

Вам нужно удалить ... из вашего хлева, тогда это заработает:

\documentclass{article}

\begin{filecontents*}[overwrite]{mypackages.sty}
\RequirePackage[utf8]{inputenc}
\RequirePackage{ upgreek }
%.... %a whole bunch of packages
\newcommand{\R}{\mathbb{R}}
%.... %a whole bunch of commands
\endinput
\end{filecontents*}

\usepackage{mypackages}

\begin{document}

test

\end{document}

Связанный контент