7月 8, 2009

敗北

リスト表示の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

これだと、簡単なマクロで、リストにも表組みにも対応できるのだ。既に実験済み。というか、どうして環境だと出来ないのか謎である。

Windowsで印刷トラブル

いやあ、こういうことが起こるからWindowsは使いたくないのだが・・・。

かみさんから頼まれていた文書(ダウンロードしたもの)を印刷することに。PDFならUbuntuから印刷するのだが、拡張子が .doc のファイル。これって、MS Word ですよね。もちろん Open Office で開くこともできるのだが、微妙な違いが出ることを恐れて Windows から印刷することにした。ところが、プリンターが見つからないよ〜と、エラーを吐く。

いろいろやった挙句、結局、プリンターのプロパティーからプリンターのローカルIPを直接指定することで解決。というか、今までこんなことしたことないんだけどさ。何故に今回、こういう羽目になったのでしょうか。

それに、うちの場合、ローカルIPはルーターが自動で振っているから、次回ログインのときに変わっていないとも限らない。そのたびにIPの設定をするのも面倒だし。いっそ、ローカルIPを固定するかとも考えるが、UbuntuとMacでもその設定をするかと思うと、それも憂鬱。Windows以外では、とくに問題はないのだしね。

まったく Windows には腹が立つ。やれやれ。