пакет программ ! Extra }, или забыт \endgroup

пакет программ ! Extra }, или забыт \endgroup

Я взял файлы STY (elsarticle.zip) по следующей ссылке - http://www.elsevier.com/wps/find/authorsview.authors/elsarticle#models

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

! Extra }, or forgotten \endgroup.
\endkeyword ->\par \egroup                            
l.34 \end{keyword}

Вот мой код latex, который я разобрал, чтобы посмотреть, нет ли ошибок. Если я удалю пакет программы, он будет работать отлично. Или, в противном случае, если я удалю часть ключевых слов, он также будет компилироваться отлично. Однако мне нужны оба. Может ли кто-нибудь помочь?

\documentclass[preprint,1p]{elsarticle}
\usepackage{etex}
\usepackage{amssymb,amsmath}
\usepackage{cite}
\usepackage{array}
\usepackage{url}
\usepackage{multirow}
\usepackage{listings}
\usepackage{epstopdf}
\usepackage{color}
\usepackage{tikz}
\usepackage{program}
\usepackage{pgfplots}
\usepackage[tight,footnotesize]{subfigure}
\usepackage{comment}
\usepackage{soul}
\graphicspath{{./Figures/}}
\journal{Microprocessors and Microsystems}
\begin{document}
\begin{frontmatter}

\title{Title of my report}

\begin{keyword}
 keyword1 \sep keyword2 \sep keyword3 \sep keyword4
\end{keyword}

\end{frontmatter}
\end{document}

решение1

Вы можете сохранить синтаксис, используя следующий трюк для загрузки program:

\makeatletter
\let\elsarticle@keyword\keyword
\g@addto@macro\frontmatter{\let\keyword\elsarticle@keyword}
\makeatother
\usepackage{program}

Тогда вы все еще можете сказать

\begin{frontmatter}

\title{Title of my report}

\begin{keyword}
 keyword1 \sep keyword2 \sep keyword3 \sep keyword4
\end{keyword}

\end{frontmatter}

и используйте, \keywordкак определено programв тексте вашего документа. Я думаю, что редакторы журнала, в который вы отправляете статью, будут счастливее, если синтаксис не будет изменен.

решение2

Макросы среды keywordможно сохранить под другим именем перед загрузкой пакета program, который определяет свой собственный \keywordмакрос:

\let\elskeyword\keyword
\let\endelskeyword\endkeyword
\usepackage{program}
...
\begin{frontmatter}
\title{Title of my report}
\begin{elskeyword}
  keyword1 \sep keyword2 \sep keyword3 \sep keyword4
\end{elskeyword}
\end{frontmatter}

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