リスト表示のLaTeXコードを書き換えずに表組にするマクロを作ろうと、しばらく格闘したが敗北。詳しい理由は分からないが、どうも \begin{hoge} ... \end{hoge} の環境の処理あたりに原因があると推測。ワタシの力ではダメでした・・・。
目的は次の通り。すでにリスト表示することを前提に、次のような文書が作ってあるとする。
\section{はじめに}
\begin{itemize}
\item なんとか
\item かんとか
\item かくかく
\item しかじか
\end{itemize}
\section{つづいて}
\begin{itemize}
\item あれや
\item これや
\end{itemize}
こんな調子でかなりのページが組んであるのだ。ところが、気が変わって、表組みにしたくなったとする。つまり次のような感じ。
\begin{tabular}{|c|c|c|}
\hline
はじめに & & \\ \hline
& なんとか & \\ \hline
& かんとか & \\ \hline
& かくかく & \\ \hline
& しかじか & \\ \hline
つづいて & & \\ \hline
& あれや & \\ \hline
& これや & \\ \hline
\end{tabular}
もちろん、Perlとかで変換することも考えたのだが、なんとかマクロ処理で出来ないかと思ったのだった。簡単だと思ったんだがなあ。環境の処理の仕方をソースコードを読んで理解してから、また挑戦という選択肢もあるにはあるが・・・。
とりあえず、次善の策として、もう少し汎用性のある形式に Perl で変換しておこうと思う。例えば、
\contents
\section{はじめに}
\itemize
\item なんとか \enditem
\item かんとか \enditem
\item かくかく \enditem
\item しかじか \enditem
\enditemize
\endsection
\section{つづいて}
\itemize
\item あれや \enditem
\item これや \enditem
\enditemize
\endsection
\endcontents
これだと、簡単なマクロで、リストにも表組みにも対応できるのだ。既に実験済み。というか、どうして環境だと出来ないのか謎である。