プログラムパッケージ!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}

関連情報