pacote de programas! Extra } ou esquecido \endgroup

pacote de programas! Extra } ou esquecido \endgroup

Peguei os arquivos STY (elsarticle.zip) do seguinte link - http://www.elsevier.com/wps/find/authorsview.authors/elsarticle#models

Estou usando o pacote de programas e quero incluir as palavras-chave em meu artigo. No entanto, sempre que incluo o pacote do programa, recebo um erro.

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

Aqui está meu código de látex, que desmontei para ver se houve algum erro. Se eu remover o pacote do programa, ele funcionará perfeitamente. Caso contrário, se eu remover a parte de palavras-chave, ela também será compilada perfeitamente. No entanto, preciso dos dois. Alguém poderia ajudar?

\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}

Responder1

Você pode manter a sintaxe com o seguinte truque para carregar program:

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

Então você ainda pode dizer

\begin{frontmatter}

\title{Title of my report}

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

\end{frontmatter}

e use \keywordconforme definido programno corpo do seu documento. Acho que os editores da revista para a qual você está enviando o artigo ficarão mais felizes se a sintaxe não for modificada.

Responder2

As keywordmacros de ambiente podem ser salvas com um nome diferente, antes de carregar o programpacote, que define sua própria \keywordmacro:

\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}

informação relacionada