lualatexでもceo.styを使いたい

lualatexでもceo.styを使いたい

- takamasa 23 の投稿
返信数: 8

ceo関連で何度も投稿してすみません。

以前ここで unicode-mathを用いて数式部分だけでも、と思い質問させていただきアルファベットや一部符号などの部分で実現できたのですが、Σや∮といった部分で元のもののようには実現できませんでした。(cloudlatexを使用しています。)

そこで、元のceo.styを書き換えて使えるようにできないかと思い、一度そのままの ceo.stylualatexで読み込んで確認してみると単位部分でエラーが発生したので zw\zwへと変更したのですが、そのエラーが消えたあと

! error: (file cesq) (type 3): font cesq at 600 not found

! ==> Fatal error occurred, no output PDF file produced!

というエラーが出てしまいました。 LuaLaTeXではtype1フォントを指定できないということなのでしょうか? ceo.styと同じくLuaLaTeXで使用できなかったemath.styに関しては作者様がLuaLaTeX対応版を作成してくださったことで使えるようになったのと同じようにceo.styも少しの書き換えでLuaLaTeXに対応させることはできないのでしょうか?

※まずはフォント関連部分のみ解決したいので優先度の低いceo.styに付属する枠作成のパッケージについては無視して考えております。

takamasa 23 への返信

Re: lualatexでもceo.styを使いたい

- Z. R. の投稿
>LuaLaTeXではtype1フォントを指定できないということなのでしょうか?

これについてですが、LuaLaTeXでもType1フォントは使えます

実際、ceoのパッケージを普通に※インストールすると、(パッケージファイルはともかくとして)フォントは使えるようになりました。以下は「cesqの符号位置"50の文字を出力する」というテスト文書です。

% 敢えてLuaTeX-jaが有効な状態でテストする
\documentclass[a4paper]{ltjsarticle}
% TeXレベルでcesqを直接指定
\newfont\fTest{cesq}
\begin{document}
% cesqの"50の文字を出力する
{\fTest\symbol{"50}}
\end{document}

LuaLaTeXでタイプセットすると添付の画像のような結果が得られます。


※インストール手順

  • マニュアルの通りにファイルを配置する。(自分はtexmf-local以下に配置しました)
  • updmapを実行してceo.mapを有効化する。
    ※恐らく環境ごとに操作が異なるのでマニュアルに載ってない。ただしpLaTeXであってもこの手順は必要のはず。
添付 image-ceocesq-1.png
Z. R. への返信

Re: lualatexでもceo.styを使いたい

- takamasa 23 の投稿
回答ありがとうございます。

私はCloudLaTeXを使用しているのですが、頂いたコードをコンパイルしても同様のエラーが出てしまいます。CloudLaTeXでは既にceo.styのインストールが済んでいるようなのですが、添付していただいたような出力をLuaLaTeXで得るにはpLaTeX環境でceo.sty(のフォント)を使用するための操作に加えて何かをしなければならないということなのでしょうか?

pLaTeX環境でのインストールについてマニュアルを読み返したところupdmapに関する記述がなかったので「updmap」の実行が必要、ということでしょうか?
Z. R. への返信

Re: lualatexでもceo.styを使いたい

- takamasa 23 の投稿
ローカル環境で試したところwaku.sty等の部分・および文字化けしている(?)と思われる部分をceo.styからコメントアウトして「myceo.sty」を作成したところ数式部分はすべて問題なく元の「ceo.styを使用してupLaTeXでコンパイルした結果」と何ら変わらずに出力できました。

しかし、同じtexファイルをCloudLaTeXにてコンパイルした結果、当初のエラーが出力されたため、原因はCloudLaTeXにてupdmapなどが行われていないことなのではないかと思います。

Z.R.様、今回は検証およびサンプルコードの提示などしていただき大変勉強になりました。本当にありがとうございました。
takamasa 23 への返信

Re: lualatexでもceo.styを使いたい

- 奥村 晴彦 の投稿
遅ればせながら私も試してみました。

まずceo関連ファイルをUTF-8に変換して、zw→\zw と置換して、

\documentclass{ltjsarticle}
\usepackage{ceo}
\pdfextension mapfile {+ceo.map}
\begin{document}

アインシュタインは $E=mc^2$ と言った。

\[ \left( \int_0^\infty \frac{\sin x}{\sqrt{x}} dx \right)^2 =
\sum_{k=0}^\infty \frac{(2k)!}{2^{2k}(k!)^2} \frac{1}{2k+1} =
\prod_{k=1}^\infty \frac{4k^2}{4k^2 - 1} = \frac{\pi}{2} \]

\end{document}

というファイルを lualatex にかけたら、できたようです。
奥村 晴彦 への返信

Re: lualatexでもceo.styを使いたい

- takamasa 23 の投稿

奥村様

本当にありがとうございます。CloudLaTeXを主として使っているため、ローカル環境のみでの実行では実用できないと思っていたのですが \pdfextension mapfile {+ceo.map}の追記と同じフォルダにceo.mapを手動で追加することで(今のところ)問題なく実行できています。ceo.styは私がTeXを始めるきっかけであり、LuaLaTeXに移行後、長きにわたって実現したかった「LuaLTeXでのceo.styの利用」をついに達成できました。

私は文字化け部分(?)でエラーが出てしまって思い切ってコメントアウトしてしまった不完全版なのですが、もしよろしければUTF-8に変換し、zwを\zwにしたものを添付していただけないでしょうか?

takamasa 23 への返信

Re: lualatexでもceo.styを使いたい

- 奥村 晴彦 の投稿
できることを確認して消しちゃいました。UTF-8への変換のしかた、文字列の一括置換のしかたはご存じですよね?
奥村 晴彦 への返信

Re: lualatexでもceo.styを使いたい

- takamasa 23 の投稿
色々LuaLaTeXにおける数式部分のceo.styによる出力もエラーがなく順調で、困っているわけではなく、既に私のこの質問における目標は達成されておりますので、残りの部分はTeXとの関連も薄く、これ以上、お手を煩わせるわけにもいかないので文字コード(?)の部分は私の方で調べてゆっくり解決したいと思います。

本件に回答・検証していただいた皆様、本当にありがとうございました。