Programmpaket ! Extra }, oder vergessen \endgroup

Programmpaket ! Extra }, oder vergessen \endgroup

Ich habe die STY-Dateien (elsarticle.zip) vom folgenden Link genommen - http://www.elsevier.com/wps/find/authorsview.authors/elsarticle#models

Ich verwende ein Programmpaket und möchte die Schlüsselwörter in meine Arbeit aufnehmen. Allerdings erhalte ich jedes Mal eine Fehlermeldung, wenn ich das Programmpaket einbinde.

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

Hier ist mein Latex-Code, den ich auf Fehler reduziert habe. Wenn ich das Programmpaket entferne, funktioniert es einwandfrei. Oder wenn ich den Teil mit den Schlüsselwörtern entferne, wird es auch einwandfrei kompiliert. Ich brauche jedoch beide. Kann mir bitte jemand helfen?

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

Antwort1

Mit folgendem Trick kann man die Syntax zum Laden beibehalten program:

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

Dann kann man immer noch sagen

\begin{frontmatter}

\title{Title of my report}

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

\end{frontmatter}

und verwenden Sie es \keywordwie definiert programim Textkörper Ihres Dokuments. Ich denke, dass die Redakteure der Zeitschrift, bei der Sie den Artikel einreichen, zufriedener sein werden, wenn die Syntax nicht geändert wird.

Antwort2

Die keywordUmgebungsmakros können unter einem anderen Namen gespeichert werden, bevor Sie das programPaket laden, das sein eigenes \keywordMakro definiert:

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

verwandte Informationen