お知らせ+活動記録+たわごと

HP と Twitter を補完するとともに、互いの密接な連携を図るため、本ブログを開設した。三位一体を目指す。情報提供、広報活動、教育・啓蒙活動の一環として、肩の力を抜き、冗長性を廃し、簡にして要を得た文章を書くよう心がける。
<< April 2017 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 >>
 
MOBILE
qrcode
PROFILE
無料ブログ作成サービス JUGEM
 
えり抜きエントリー選集
  • 2011.03.03: 世界の材料科学者トップ100にランクイン
  • その他 | 21:30 | comments(0) | - | - |
    13 回目の恒例行事 at 神楽坂 (2017)
    1996年以来ほぼ一年おきに催し、好評を博してきた粉末X線回折の講習会を今年の夏も開講します。

    日本結晶学会講習会「粉末X線解析の実際」


    日時: 2017年 7月12日(水)・13日(木)・14日(金)
    場所: 東京理科大学 神楽坂キャンパス 1号館

    同講習会の来歴については、ブログエントリー 「粉末X線回折講習会の歴史」をご参照ください。前回同様、私が独断でプログラムを編成しました。第一線で活動中の研究者に目新しい内容を教授していただくとともに粉末X線回折の新潮流に対応するため、実績のあるベテラン研究者(虎谷秀穂、河野正規)と新進気鋭の若手(冨中悟史)に講師を依頼しました。

    虎谷先生にはAコースで二つの講義を担当して頂きます。Aコース最後の講義では、リートベルト法を使わずに済む新定量分析技術を紹介されます。多相結晶質試料の定量は反応生成物や工業材料のキャラクタリゼーション、工程管理などに広く使われています。昨年末にお会いしたとき、リートベルト法に勝るとも劣らない分析結果が得られると胸を張っておられました。

    河野先生(Cコース)は多孔性配位高分子 (金属有機構造体) の専門家です。近年、非対称単位内の原子数が多い配位高分子の結晶構造をシンクロトロン粉末X線回折により次々に決定されました。幾何学的パラメーターに抑制条件を課す構造精密化に長く RIETAN-FP を使って頂いているのは光栄です。原子数の多い有機化合物の未知構造を解くための手続きとノウハウを詳しく教えてくださるでしょう。

    冨中先生がCコースで講義される二体分布関数 (Pair Distribution Function: PDF) の解析は将来有望な手法です。PDF 解析は短波長のシンクロトロンX線や Ag Kα 特性X線で測定した広い Q 範囲の強度データを解析することにより古典的構造精密化法であるリートベルト法を補完してくれます。詳しくは2016年10月21日のブログエントリー「第10回 結晶性萌芽材料 粉末回折研究会開催のお知らせ」と当該研究会のアブストラクトをお読みください。冨中先生が鋭意開発中の PDF 解析ソフトはいずれ無償配付される予定であり、RIETAN~FP の行列サイズ拡張版が組み込まれるため、個人的にもその登場を心待ちにしています。胸を張って自作プログラムについて語る講師が増えるのは誠に喜ばしいです。

    私はBコースにおける午後の講義「RIETAN-FPと周辺プログラムとの連携」で RIETAN-FP が出力するファイルを通じた ALBAsuperflipEXPO2014Dysnomia などとの連携について話します。リートベルト解析やパターン分解の枠を超えた高度な解析を通じて、粉末回折データからさらに構造情報を引き出せます。

    よんどころない事情から井田 隆先生にはAコースからCコースに移って頂きました。粉末回折における新たなトレンドとしてベイズ推定による構造解析について解説されます。ベイズ推定については「構造解析におけるベイズ推定の応用」を参照してください。

    「粉末X線回折講習会の歴史」に記したように、過去3回の本講習会では、A・Bコースで定員を上回る参加申込みがありました。とくにBコースは RIETAN-FP によるリートベルト解析に焦点を当てているため、常に人気 No. 1 です。A・Bコースの受講を希望する方は早めの参加登録をお奨めします。

    本講習会は他に類を見ないほど多くの参加者を引き寄せてきましたが、来年以降も(主催者、名称、内容などを変えて)続くのか否かについては、見通しが立ちません。いずれにせよ、神楽坂キャンパスで開催し、私が企画とプロモーションにコミットするのはこれが最後となるでしょう。
    Mac ユーザーのための粉末構造解析講習会
    2017年3月21日(火)・22日(水)に神戸大学で無料講習会「RIETAN-FP•VENUS システムと外部プログラムによる粉末構造解析」を開催することになりました。二日間にわたる出前講習会は龍谷大学岡山大学に続き3回目です。奮ってご参加ください。

    拙作ソフトの実習に Mac を使うのはこれが初めてです。後述のように Windows ユーザーが講義だけでも聴講する意義があるよう配慮しました。

    実習には Jedit X (+RIETAN-FP・VENUS 統合支援環境), RIETAN-FP v2.84 (未公開), FOX, VESTA, gnuplot, ORFFE, lst2cif, refln, cif2ins, ALBA, superflip, EDMA, Dysnomia + MPF_multi などの無料プログラムたちを総動員します。ピークサーチ、指数づけ、バックグラウンドの評価に使うソフトは WinPLOTR から FOX に切り換えます。FOX にはベイズ推定によりバックグラウンドを見積もれるというメリットがあります。得られた離散バックグラウンド強度を含む XML ファイル hoge.xml を RIETAN-FP で直接読み込み、hoge.bkg を自動的に作成できるようにしました。

    さらに、最近開発した未公開ユーティリティー
    • 多相リートベルト解析用入力ファイル自動作成マクロ combins
    • 正規表現置換エンジン(sed, perl, ruby など)を駆使する逐次リートベルト解析マクロ sda
    をお披露目し、両者の秀逸なパフォーマンスを実感していただきます。いずれも RIETAN-FP を日常的に利用している現場で絶大な威力を発揮し、解析に要する労力と時間を大幅に減らすと確信しています。

    参加者には講義に使う全スライド (PDF ファイル)、インストーラー、チュートーリアルを事前に配付します。チュートーリアルは macOS 用に一部を書き直します。本講習会では参加者数を度外視していますが、圧倒的多数派である Windows ユーザーのために Windows 用のインストーラーとチュートーリアルのアーカイブファイルも講習会終了後に配付し、波及効果の最大化を図ります。さらに、Mac を持ち合わせていないため初日の講義だけ聴講するという方にも Windows 用アーカイブファイルを差し上げます。

    macOS・Windows 用チュートーリアルは計98ページの力作です。懇切丁寧に書かれた LaTeX 文書であり、これらを参照するだけで実習内容を自習できます。実習以外の有用な情報についても多数言及しています。

    参考までに RIETAN に関する論文二報の被引用数の年次変化を下図に示します。「RIETAN vs. Z-Rietveld」中のグラフと多少異なっているのは、Web of ScienceScopus を文献収集能力で凌駕している Google Scholar で調べたためです。日本発の研究成果が徐々にシュリンクしていく中で、全体として増加傾向にあるのは驚きです。RIETAN-FP や周辺ソフトが未だに進化の歩みを止めていないのが功を奏しているのでしょう。

    GNU sed 4.4 の公開
    Mac 用 RIETAN-FP・VENUS システム用のシェルスクリプトでは、文字列の置換や行の抽出・削除などにストリーム・エディター sed を使いまくっている。grep や awk よりも利用頻度がはるかに高い。

    E2J.command では、英語 → 日本語置換のためにパイプ経由で sed を繰り返し実行することにより、LaTeX 文書の「和訳」を実現した。パイプによる並列処理はきわめて高速で、E2J における律速段階は pLaTeX による組版の方だ。反射リストからデータを抽出して CIF を作成するシェルスクリプト refln.command では、反射リストと数値の抽出に sed を使用する。極め付けは逐次リートベルト解析用スクリプトsda.commandで、ユーザーが正規表現対応の置換エンジンとして sed コマンドを自分で入力する仕組みとなっている。

    それほどお世話になっている sed が最近 v4.3 にバージョンアップしたことを知り、小躍りしたのは言うまでもない。その直後に早くも v4.4 にマイナー・アップデートされた。v4.3以降では、正規表現マッチング速度が約10倍高速化したそうだ。

    v4.4は次の手続きに従ってビルドできる。
    1. GNU sed の Web サイトから sed-4.4.tar.xz をダウンロードする。
    2. sed-4.4.tar.xz をダブルクリックして解凍すると、sed-4.4 フォルダーが生成する。
    3. sed-4.4/INSTALL(テキストファイル)に記載されている手続きに従ってビルドする。
    4. 実行可能プログラム sed-4.4/sed/sed が生成する。
    Mac 用 RIETAN-FP・VENUS 統合支援環境のシェルスクリプトはすべて sed 4.4 を使うよう変更した。今後も積極的に sed を活用していく所存である。
    第10回 結晶性萌芽材料 粉末回折研究会開催のお知らせ
    名古屋工業大学の福田功一郎先生のご尽力により、毎年恒例の粉末回折研究会(一般公開)を開催します。

    第10回 結晶性萌芽材料 粉末回折研究会
    日時: 2016年12月2日(金)15:00〜18:00
    開催場所: 名古屋工業大学(御器所キャンパス)2号館

    プログラム
    15:00〜15:30 泉 富士夫「粉末構造解析結果のドキュメンテーション」
    15:30〜17:00 冨中悟史「PDF を用いたナノ材料の未知構造解析手法」
    17:00〜18:00 質疑応答および懇談会                

    私の話は岡山大学での講演「英文執筆とテキストデータ処理 ― 私の流儀」の後半部分を焼き直したものに過ぎず、メインイベントは冨中氏の講演です。詳しくはアブストラクトをお読みください。十分広い教室で開催するため、事前の参加登録は必要ありません。聴講は無料です。

    二体分布関数 (Pair Distribution Function: PDF) の解析は、古くから無定形物質や液体などの構造解析に利用されてきました。PDF 解析は周期的構造からの「ずれ」を把握するためにブラッグ反射と散漫散乱成分の両方を解析することから、全散乱 (total scattering) 法とも呼ばれています。近年、放射光源やパルス中性子源で高強度ビームが使えるようになった結果、PDF 解析は結晶質材料にも広く適用されつつあります。PDF 解析は古典的構造精密化法であるリートベルト法を補完する役割を担えます。コンベンショナルな解析技術で得られた平均構造だけでは物性や化学的性質を理解し難い物質・材料への応用が期待できます。

    冨中氏は既成ソフトに対する不満点を解消するため独自の PDF 解析プログラムを鋭意製作中であり、完成の暁には無償でネット配付するそうです。名前はまだありません。X線リートベルト解析エンジンとして RIETAN-FP を組み込みます。

    長年にわたり膨大な数の研究成果に貢献してきた RIETAN、論文の被引用数/年が1000の大台に迫る勢いの VESTA に続く NIMS 発の著名ソフトウェア第3弾にまで成長することを願い、私はこの PDF 解析プログラムのプロモーションに全面協力しています。それが希少価値と波及効果を兼ね備えていると直感したためです。陳腐化・コモディティ化したリートベルト法にだけしがみついている時代は過ぎ去りました。本研究会を皮切りに、今後、講演会や講習会などを通じて宣伝・教育することにより知名度を高め、普及に努めていきます。ご期待ください。

    上記研究会に来訪していただいたお客様を手ぶらで帰すわけには行きません。出し惜しみをしないところが私の美点なので、正体不明「謎のプレゼント」を差し上げます。RIETAN-FP・VENUS システムの徹底活用に直接役立つものとだけ申し上げておきます。
    岡山大学での講習会と講演会(まとめ)
    「泉 富士夫の粉末回折情報館」の新着情報に掲示した岡山大学での講習会・講演会(2016年7月11〜13日)に関する会告と開催報告に加え、同大学の関連 Web ページへのリンクを合体したのが本エントリーである。

    1. 2016年6月3日(金)講習・講演会(岡山大学)のお知らせ

    2016年7月11日(月)・12日(火)に岡山大学工学部

    「RIETAN-FP・VENUS システムと外部プログラムによる粉末構造解析」講習会
    ポスター | 要旨

    を開催することが決まりました。日本中の学生、研究者、技術者の(再)教育を目指しているため、学外の方でも参加登録さえしていただければ受講できます。

    11日はリートベルト法、パターン分解、構造モデルの構築、最大エントロピー法 (MEM) などの粉末回折データ解析技術について初心者向きに講義し、12日を実習に当てます。Windows 上での実習には秀丸エディタ (+統合支援環境), RIETAN-FP v2.82, VESTA v3.3.8, gnuplot v5.0.3, WinPLOTR, DICVOL, ORFFE, lst2cif, cif2ins, ALBA, superflip, EDMA, FOX, Dysnomia + MPF_multi などの無料プログラムを使います。昨年10月に龍谷大学で開催した「RIETAN-FP・VENUS システムと外部プログラムによる粉末構造解析」で使用した無料プログラム群の一部を更新し FOX を追加したものに相当し、特製インストーラーにより C:¥Program Files フォルダーに一挙にインストールできます。このインストーラーは後日、自分の Windows PC でもお使い頂けます。

    講義には百数十枚のスライドを使いますが、カラー印刷の経費と手間をカットするため、参加者にはその PDF ファイルを配付します。実習では上に列挙したプログラムをインストールした後、次から次へと実行していくため、メモをとり続けるのは大変です。そこで実習時の操作を箇条書き形式で逐一記述した LaTeX 文書を参加者に配付し、後で各自が実習内容を再現できるよう配慮します。これほど出し惜しみしない講習会は希でしょう。

    7月13日(水)には理工系の方々を対象に

    「英文執筆とテキストデータ処理 ― 私の流儀」

    と題して講演します。前半は長く英語論文の添削に従事してきた経験に基づいてまとめた理工学一般で通用するチュートリアル「科学英語論文執筆の手引き」を眺めながら、キーポイントを解説していきます。後半はテキストファイルを sed や awk などの UNIX ツールや gnuplot や LaTeX などのフリーソフトウェアにより CUI (Character User Interface) を通じて処理することの重要性と効率の高さを説きます。余興として裏技 mcz を披露した後、RIETAN-FP の解析結果から CIF (Crystallographic Information File) 、グラフ、結晶模型、電子密度分布図などを作成し、それらを LaTeX で PDF ファイルとして統合し、さらには和訳するという一連の手続きを実演します。すべて自前のソフトで作成したデータだということを誇りに思います。

    参加者には「科学英語論文執筆の手引き」、プレゼンテーション用 PDF ファイル、謎の超弩級プレゼント(希望者限定)を差し上げます。講習・講演会のいずれも参加登録費は無料です。個人的社会貢献として催すため、講義・講演料もゼロ円とするよう大学にお願いしました。

    三日連続で人前に立つのはかなりきついですが、体調を崩さぬよう気をつけます。盛会となれば馬力が一段と上がりますので、奮ってご参加ください。

    2. 2016年7月16日(土)全力講習会・講演会の開催報告

    岡山大学工学部で7月11・12日に開催した「RIETAN-FP・VENUS システムと外部プログラムによる粉末構造解析」講習会と翌日の講演会は延べ90名以上の参加者を集め、盛会裏に終わりました。学外の受講者がかなり多かったのが特徴です。中国四国・近畿・中部・関東・東北の各地方はもとより、なんと外国在住の方までおられ、明らかにローカルな催しからの脱却を果たしていました。当初会場に予定していた教室では受講者を収容し切れなくなったため、より広い教室に変更したにもかかわらず、そこもほぼ満杯という望外の人気を博しました。

    12日の実習は昼食抜きの過酷なデスマッチとなりました。多少のトラブルこそ勃発したものの、渾身の力を振り絞った実地指導と LaTeX で箇条書きにした手順書は好評だったようです。翌13日の「英文執筆とテキストデータ処理 ― 私の流儀」講習会は、力余って予定時間(1時間半)を60分近く超過してしまいました。やや冗長な上、脱線気味だったことを反省しています。

    再配布禁止条件の下で参加者だけに差し上げる「謎の超弩級プレゼント」とは、RIETAN-FP_manual.pdf をタイプセットするのに必要な全ファイル(*.tex, *.bib, my.bst, *.pdf)のアーカイブファイル(56.7 MB)に他なりません。私はもう先が短いです。これらを死蔵したままこの世を去るよりは、多数の図、表、数式、文献を含む巨大文書の高品質・高速組版技術の公開を通じて社会に貢献すべきだという心境を抱くに至りました。

    事前の予想を大幅に超す参加登録者数に励まされつつ体力の限界に挑み、三日間のワンマンショー(+懇親会)を無事乗り切りました。献身的に支援して頂いた教職員の方々と受講者の皆様に厚く御礼申し上げます。今回の成功に意を強くしましたので、来年度も実習主体、参加費無料、無報酬の講習会を中部地方以西で開催するつもりです。ご期待ください。

    3. 2016年8月19日(金)岡山大学の関連 Web ページ(新着ニュース)

    共同利用機器利用講習会「RIETAN-FP・VENUSシステムと外部プログラムによる粉末構造解析」を開催
    RIETAN-FP v2.8X リリース時の掲示(まとめ)
    RIETAN-FP ユーザーのために便宜を図るべく、「泉 富士夫の粉末回折情報館」の新着情報に掲示した RIETAN-FP v2.8X に関する全記事を一つのエントリーとして合体した。RIETAN-FP v2.8 が小刻みに改善され v2.82 にまで至った経緯が把握できよう。

    1. 2016年5月6日(金)新 RIETAN-FP・VENUS システム配付ファイルの公開

    RIETAN-FP v2.8 の完成を受け、Windows・OS X 用 RIETAN-FP・VENUS システムの配付ファイル三つを先ほどアップロードしました。遅れに遅れて約半年ぶりのリリースとなったのは、人材育成事業(Nanotech CUPAL)を優先せざるを得なかったためです。中でも百数中枚に達するスライドの英訳には疲れ果てました。

    主な変更点は RIETAN-FP_manual.pdf の最終パート「多目的パターンフィッティング・システム RIETAN-FP の新機能について」中の
    5 X線分散補正項と質量減衰係数のグラフ化
    27.5 反射リストを CIF に追加するマクロ refln(「反射リストからデータを抽出して CIF を作成するシェルスクリプト」参照)
    27.6 LaTeX 関係のマクロ
    に記しました。RIETAN-FP_manual.pdf は documents.zip の展開により生成する documents フォルダーに入っています。同フォルダー中の Readme_*.pdf 4つも改訂しました。Windows 版に同梱しているフリーソフトウェアのうち、gnuplot は v5.0.3 に、Ghostscript は v9.19 にバージョンアップしました。OS X 版のユーザーは gnuplot を v5.0.3 にアップデートしてお使いください(「RIETAN-FP への gnuplot の導入」参照)。Plot と xdc を使うには最新版が必要です。Windows 版ではさらに RIETAN_VENUS¥Commands フォルダーにプログラミング言語 AWK の処理系 gawk.exe (refln で使用) と pdftk.exe (PDF ファイル処理コマンド、Windows 用 cif2pdf で使用) を追加しました。

    92元素に対する質量減衰係数(mass attenuation coefficient)ρm のフォトン・エネルギー依存性をテキストファイル mac.tbl として保存しました。これに伴い、多相試料でミクロ吸収 (microabsorption) を補正する際、構成元素の ρm が自動計算されるよう改善されました。

    hoge.ins で NPRINT = 2 に設定して RIETAN-FP を実行した後、xdc マクロを選択し元素名を指定すると、X線分散(俗に言う異常分散)の実数項 f ' と虚数項 f ''、ρm が波長(フォトン・エネルギー)の関数としてプロットされます(下図)。



    吸収端の波長をブラウザーで表示するという離れ業も楽しめます。この新機能は放射光だけでなく特性X線でも使えます。hoge.ins において純粋な化学種 (pure chemical species) として任意の元素名をダミー入力して当該元素のグラフを描くという裏技も忍ばせました。一般に物質によるX線の吸収スペクトルを測定すると、吸収端より高エネルギー側で吸収が激増します。急激に吸収が強まる端っこという意味で吸収端と呼ばれます。これは 殻電子のような内殻電子を励起するのに必要なエネルギーに他なりません。吸収端より高エネルギー側では、 殻や 殻から電子が落ちてくるとき発生する蛍光X線も強まります。xdc が出力するグラフはたとえば Cu Kα 特性X線で粉末回折データを測定するとき Ni フィルターで Cu Kβ 線をカットし、Fe を主成分として含む試料でバックグラウンドが高まるといった現象の理解に役立ちます。Nanotech CUPAL と名工大向けの教材として本新機能を支援環境に加えました。

    LaTeX 用マクロ cif2pdf は
    1. hoge-cif: lst2cif と refln で作成した結晶構造データ、幾何学的パラメーター、反射リストなどの CIF (Crystallographic Information File)、
    2. hoge.pdf: RIETAN-FP によるリートベルト解析結果に基づいて Plot マクロで作成した観測・計算・差パターン、
    3. hoge-struct.pdf: VESTA で作画した結晶模型、
    4. hoge-density.pdf: VESTA で描いた電子・干渉性散乱長密度分布のイメージ、
    5. hoge-mscs.pdf: MSCS マクロで作成した Williamson–Hall あるいは Halder–Wagner プロットのグラフ、
    6. append.pdf: hoge-report.pdf の末尾に追加すべき PDF(たとえば xdc の出力 xdc-*.pdf や "International Tables for Crystallograhy," Vol. A 中の特定空間群のページ)
    を合体し、hoge-report.pdf(英語)を作成します。cif2pdf のhoge-report.tex作成部分の実体は FORTRAN 90 プログラム cif2ins に他なりません。引き続き E2J を実行すると、日本語文書 hoge-report-j.pdf に「翻訳」されます。組版エンジンには高速性を重視し pdflatex (cif2pdf) と platex + dvipdfmx (E2J) を採用しました。両マクロを使うのに必要不可欠な TeX Live のインストールについては「OS X・Windows 用 TeX Live のインストール」を参照してください。

    CIF は単なるテキストファイルに過ぎず、科学情報を過不足なく伝えるだけの表現力を持ち合わせていません。理工系文書に頻出するイタリック、上付き、下付き、ボールド、オーバーライン、ギリシャ文字などの書体や数式については、完全にお手上げです。そこで CIF を文書化するプログラムが過去に多数出現しましたが、図や付録を自動挿入できる上、日本語に「翻訳」までしてくれる cif2pdf + E2J のような賢いソフトは寡聞にして存じません。画期的なユーティリティーと言ってよいでしょう。

    簡易タイプセット用マクロ Typeset, BibTeX, MakeIndex による手っ取り早く高速な組版も実現しました(「Jedit X 用 LaTeX 組版支援環境」参照)。OS X では PDF ファイル閲覧プログラム Skim をインストールしてから、お使いください。これら三つはあくまで自分用のマクロであり、人様に使って頂くことは念頭に置かずに設計・製作しました。従来、LaTeX 文書のタイプセットには TeXShop を愛用してきましたが、タブでウィンドウを切り換えられない旧態依然の GUI には失望していました。TeXShop の使用を前提とする「Mac 用 TeX による英文・和文のタイプセット」という文書を公開している自分ですが、TeXShop にはもう見向きもしていません。ここまで LaTeX に肩入れするのは、商用ソフト(Microsoft Word)の鈍重さと不適切なカーニングに日ごろ辟易していることに加え、優れた無償ソフトを普及させたいと願っているためです。cif2pdf や E2J で LaTeX に慣れ親しんでおけば、自ずと LaTeX の世界に引き込まれていくと思われます。

    グラフではセリフでなくサンセリフを選択することが望ましいという "Gnuplot in Action" 中での指摘に触発され、Plot, MSCS, xdc マクロで作成するグラフ中のフォントを Times から Helvetica に変えました。gnuplot スクリプトファイル hoge.plt を書き直せば、欧文基本35書体の PostScript フォントに変更できます。フォント名は RIETAN-FP_manual.pdf の17.7.1に列挙しておきました。さらに上図と同様に、リートベルト解析パターンの横軸(上部)に格子面間隔 d の目盛、数値、ラベル(d/Å)を付けられるようにしました:



    このグラフではタイトルと信頼度の指標4つも表示しています。ご覧のように、計算パターンの色は cyan に戻しました。

    Windows 用プログラムの起動に使うバッチファイルのうち cif2ins.bat, Plot.bat, refln.bat, RIETAN.bat, Typeset.bat は FINDSTR + (&& or ||)(「FINDSTR 実行後の ERRORLEVEL に応じた条件分岐」参照)により文字列検索後に場合分けするよう改善しました。洗練されていない FOR 文が減ったのは実に良い気分です。UNIX 系コマンドがインストール済みの環境で MPF_multi.command が正常に動作しないという不具合を修正しました。PATH 指定の順番が不適切でした。また念のために Plot.bat で遅延環境変数を展開するよう改めました。

    RIETAN-FP の入力ファイル hoge.ins のひな形に多少手を入れました。とくに ORFFE 用入力(「ORFFE による結合角と二面角の計算」参照)の部分には大なたを振るいました。適切な最大結合距離を指示した 201 命令さえ hoge.ins に含まれていれば、ORFFE を2回続けて実行するだけで全結合角を計算できることを考慮しました。それでもまだ完璧からは程遠いでしょう。意味不明な箇所や誤りがありましたら、遠慮なくご指摘ください。なお、Cimetidine のリートベルト解析において構造パラメーターを固定していたことに気づき、すべての可変パラメーターを精密化するよう Cimetidine.ins を変更しました。

    その他、細かい修正は多数にのぼりますが、省略します。

    従来、OS X 版では RIETAN_VENUS/template_commands フォルダーに入っているシェルスクリプト *.command のひな形から解析ファイル専用のシェルスクリプトを RIETAN_VENUS/commands フォルダーに生成するサービスを提供してきましたが、今回、廃棄処分に踏み切りました。MPF_multi.command は commands_common フォルダーに移しました。Jedit X 上で動作する RIETAN-FP・VENUS 統合支援環境に比べると使い勝手が今一つだからです。老骨に鞭打って孤軍奮闘している自分としては、メンテナンスの手間を省けるのは助かります。

    これまで OS X 用支援環境におけるショートカットの設定には BetterTouchTool の使用を推奨してきましたが、システム環境設定の [キーボード] で [ショートカット] タブをクリックして設定するオーソドックスな手続きに立ち戻ることにしました(Readme_scpt.pdf, 2.3.3参照)。 [キーボード] で設定したショートカットがしばしば無効になるという不具合が El Capitan では解消したためです。[キーボード] による設定には、登録したショートカットがマクロのプルダウンメニューに表示されるという利点があります。

    2. 2016年5月15日(日)RIETAN-FP・VENUS システムの更新

    RIETAN-FP を v2.81 にバージョンアップし、9日前に公開したばかりの RIETAN-FP・VENUS システムを早々とマイナーチェンジしました。

    Gnuplot が "terminal postscript eps ....." コマンド("gnuplot 5.0 ― An Interactive Plotting Program", p. 225参照)により EPS 形式の PostScript ファイルを出力するよう変更した結果、Windows・OS X 版のいずれにおいても pdfcrop によるマージンの切り取りが不要になりました。すなわち TeX Live をインストールしていなくても、余白のない PDF ファイルが得られます。処理速度が遅い pdfcrop を実行せずに済むため、グラフが表示されるまでの時間がかなり短縮されます。

    Windows 版では、32ビット版 Ghostscript、すなわち gswin32c.exe によって PostScript ファイルを PDF ファイルに変換するよう変更しました。Ghostscript パッケージに含まれる pdfcrop や pdfcrop14 などは EPS ファイルを正常に処理できないためです。

    hoge.ins 中で NPRINT = 2 に設定すると "_pd_peak_intensity = ....." が2回出力され、その結果 refln マクロでトラブルが発生するというバグを解決しました。

    その他、5つのマニュアルと RIETAN-FP 用入力ファイルのひな形 hoge.ins を少しずつ修正しました。



    ここ何年か、RIETAN-FP の新バージョンを公開するたびに講演会や研究会でお披露目するのが恒例となっています。それらの集会までに RIETAN-FP をバージョンアップせねばならぬという状況に自らを追い込むべく、意識的にそう心がけてきました。偶然ですが、今回も RIETAN-FP v2.81 と過去一年間に開発・改善した周辺ソフトについて紹介する機会に恵まれました:

    「RIETAN-FP・VENUS システム ― 最近の進歩」
    日時:6月1日(水)16:30〜17:30、場所: ファインセラミックスセンター(名古屋市熱田区)

    MacBook Pro による実演を交えながら熱弁を振るいます。当日までに gnuplot の pdfcairo ターミナルを使うスクリプトファイル hoge.plt を出力する RIETAN-FP v2.82 を完成させ、GUI 抜きのグラフ化エンジン gnuplot+cairo+pango 複合体の利点、すなわち高速性と高品質イメージ・フォントを最大限に活かせるようにします。また OS X 用 gnuplot が専用インストーラで使えるようになります。

    部外者のご来聴も歓迎します。ご希望の方はあらかじめ担当者(小西)に参加登録のメールをお送りください。折り返し、アブストラクトを添付した受付メールをお送りします。

    3. 2016年5月20日(金)RIETAN-FP・VENUS システムの微修正

    5月16日以降、
    • バッチファイル Plot.bat, cif2ins.bat, cif2pdf.bat(Windows 版)
    • それらに相当するシェルスクリプト Plot.command, cif2ins.command, cif2pdf.command(OS X版)
    • RIETAN-FP のひな形ファイル BiCoO3.ins と Cu3Fe4P6.ins
    に誤りが見つかったため、以下のように修正し、急遽 Windows_versions_20160520.zip とOS_X_versions_20160520.dmg を RIETAN-FP・VENUS システム配布ファイルにアップロードしました。

    Plot.bat と Plot.command で裏技が正常に動作しないのを修正しました。Gnuplot スクリプトファイル hoge.plt 中で set terminal postscript eps ..... に乗り換えたのを反映させていなかったのが原因です。

    cif2ins.bat, cif2pdf.bat, cif2ins.command, cif2pdf.command において cif2ins 実行形式プログラムの引数(ファイル名)が一部間違っていたのを正しました。pdfcrop を使用していた時のファイル名に留まっていた他、余分な引数が一つぶら下がっているスクリプトがありました。

    RIETAN-FP v2.8 以降、不要になった質量減衰係数の入力行が多相試料のひな形ファイル BiCoO3.ins と Cu3Fe4P6.ins に残存していたことがパワーユーザーから指摘されたため、削除しました。

    4. 2016年6月14日(火)RIETAN-FP v2.82 のリリース

    RIETAN-FP を v2.82 にマイナーチェンジし、RIETAN-FP・VENUS システムの配付ファイル三つを更新しました。

    v2.82 では gnuplot における terminal(出力先)を古典的な postscript eps から pdfcairo に変更しました。4月中旬に入手した "Gnuplot in Action", 2nd ed. が pdfcairo への移行を促してくれました。pdfcairo の採用に伴い、フォントやマークのサイズは元通りになりました。目盛がグラフの境界線に比べ約半分の線幅に固定されてしまうという postscript eps 使用時の深刻な不具合も解消しました。また pdfcairo はグラフの余白を自動的に切り取るため、TeX Live の pdfcrop や Ghostscript の gswin32c コマンドはもはや不要です。したがって、これまで Windows 版に同梱していた Ghostscript は削除しました。

    pdfcairo は余白をカットした後、PostScript コードを経由せずに PDF ファイルを直接出力するため、Plot, MSCS, xdc マクロの実行時間が大幅に減りました。

    pdfcairo への切換時に獲得した重要な知識と情報はすべてブログエントリー「OS X 用 gnuplot で pdfcairo ターミナルを使うための手続き」に記録しておきました。pdfcairo 活用の一助となれば幸甚です。

    従来はタイトルや軸のラベルの一部が欠落しないよう一部の文字列の先頭あるいは末尾に "¥n"(改行コード)を挿入していました。このような苦し紛れの対症療法は好ましくないと判断し、gnuplot スクリプトファイル *.plt 中に "set margins <left>, <right>, <bottom>, <top>" コマンドを挿入しました。

    OS X 上では gnuplot を Homebrew でなくスタンドアローンのインストーラーで Applications フォルダーにインストールするよう変更しました。この gnuplot は二次元グラフィックス・ライブラリー cairo と多言語テキスト配置・レンダリング用ライブラリー pango を包含しています。旧バージョンの Mac ユーザーはお手数ですが、上記エントリーの記述に従って gnuplot をアンインストール・再インストールするようお願いします。

    5月6・15日と本日の最新情報から、gnuplot の徹底活用を目指し私がいかに精進してきたかを読み取れるでしょう。力不足のために短期間に3回も配付ファイルを更新し、拙作ソフトのユーザー様を徒に混乱させたことをお詫びします。

    5. 2016年7月19日(火)RIETAN-FP・VENUS システムの微修正

    RIETAN-FP・VENUS システムのマニュアル類を収めたアーカイブファイル documents.zip を更新しました。RIETAN-FP_manual.pdf 中のタイプミスを修正するとともに、数値–単位間のスペースを一文字分の空白の 3/18(LaTeX では '¥,')に統一しました。

    6. 2016年8月10日(水)秀丸エディタ用設定ファイルの改訂

    Windows 用 RIETAN-FP・VENUS システムをほんの少しだけ改善し、Windows_versions_20160810.zip としてアップロードしました。といっても、RIETAN-FP のバージョンは 2.82 のままです。

    秀丸エディタ用設定ファイル RIETAN-FP.key と RIETAN-FP.reg を単一ファイル RIETAN_VENUS.hmereg に統合しました。「その他 > 設定内容の保存/復元」で "設定情報をファイルから復元する" のラジオボタンをチェックした後、RIETAN_VENUS.hmereg を読み込み、レジストリに設定情報を書き戻します。統合支援環境のセットアップ時間が少しだけ短縮されます。つい最近まで拡張子 .hmereg のファイルに全設定を保存できることを寡聞にして存じませんでした。詳しくは、秀丸エディタヘルプ中の「秀丸エディタにおける設定内容の保存/復元」をお読みください。Readme_macros.pdf にもその変更点を反映させ、マニュアル類のアーカイブファイル documents.zip を更新しました。

    なお、mcz.bat という謎のバッチファイルを Batch_files フォルダーに忍ばせておきました。実習時の余興用なので、マニュアルには記載していません。

    7. 2016年8月25日(木)RIETAN-FP・VENUS システムの配付ファイル二つを更新

    最新の Windows 10 上で RIETAN-FP・VENUS システムをインストールまたはアンインストールしようとしても、コマンドプロンプト窓にフォルダー・ファイルを処理するためのコマンドがまったく表示されないという不具合が見つかりました。Install_RIETAN_VENUS.bat と Uninstall_RIETAN_VENUS.bat のダブルクリックだけでインストール・アンインストールできるようにしたのが裏目に出たようです。

    そこでバッチファイルを右クリックしてから「管理者として実行」を選び、ユーザーアカウント制御 (UAC) の下でインストール・アンインストールするよう変更しました。さらに Readme_Win.pdf 中の関連する記述を修正しました。

    8. 2016年11月28日(月)RIETAN-FP v2.83 のリリース

    RIETAN-FP を v2.83 にバージョンアップし、RIETAN-FP・VENUS システムの配付ファイル三つを更新しました。新機能はとくになく、v2.8を熟成させただけです。OS X から macOS への改称に対応するため、Mac 用配付ファイル OS_X_versions_YYYYMMDD.dmg(YYYY: 年、MM: 月、DD: 日)は macOS_versions_YYYYMMDD に改名しました。

    主な変更点は以下の通りです。
    1. hoge.ins 中の変数とラベルの名前が規則に従っていない場合は、誤りを指摘するようにした。
    2. 変数名はアルファベットの大文字、数字、"@" からなり、ラベル名は英数字と "@" からなると正式に定めた。"@" を使えるようにしたのは、近日中に作成する多相リートベルト解析用 hoge.ins 生成マクロ combins の仕様を考慮したためである。
    3. hoge.ins から一部のデータを入力中にエラーが発生した場合、エラーメッセージを出力するよう改善した。
    4. 放射光の波長が 0.413 280 7 Å より短いときは、自分でX線分散の補正項 f' と f" を入力するよう促すことにした。
    5. MEM 解析などに用いる a, b, c 軸方向の分割数(NVOXA, NVOXB, NVOXC)を第一相の格子定数 a, b, c と比較し、大小関係が不適切だったらプログラムを終了するよう改訂した。Voxel データを使わないのにエラーメッセージに煩わされるときは、すべてゼロを入力しておけばよい。
    6. 共役方向法のサイクル数を3桁まで出力するよう修正した。
    7. 多相試料の放射光粉末回折データをリートベルト法で解析する際には構成元素の質量減衰係数 (mass attenuation coefficient) を入力しないよう hoge.ins を改訂した。
    8. Nanotech CUPAL などにおける MPF 解析の実習用に使うために、ひな形ファイル Cimetidine.ins 中に水素原子の構造パラメーターを追加するとともに、選択配向は補正しないよう変更した。
    9. gnuplot スクリプトファイル中の DLW と BLW のデフォールト値を1.0に変更した。
    10. gnuplot スクリプトファイル xdc.plt 中に gnuplot 5.0.5 以降で使える命令 "set minussign"(負の値における先頭のハイフンをマイナスに置き換える命令)を注釈として挿入した。
    11. Windows 用 gnuplot でリートベルト解析・シミュレーションのパターンをプロットする際、ピーク位置を表す縦棒の中心に小さなセンターシンボル()が現れるというバグを修正した。
    12. Windows 上で lst2cif を実行した後、一時ファイル hoge.tmp が残存するという瑕疵を取り去った。これは Fortran コンパイラーに起因する障害のように見える。
    13. Windows 用の自作プログラムはすべて64ビット版に統一した。32ビット版 Windows 機へのインストールは拒絶する。
    14. Windows 用配付ファイルに同梱している gnuplot 5.0.4 を64ビット版に替えた。
    今回のバージョンアップにあたり、32ビット版 Windows(時代遅れ!)は惜しげもなく切り捨てました。まだレガシー OS ではありませんが、孤立無援状態に陥っている今、余計な手間は能う限り省きたいのです。今どき32ビット CPU の PC など、ほとんど生き残っていないでしょう。必要なら、Zinstall WinWin のような引っ越しソフトを使って、64ビット Windows に入れ換えればいいだけのことです。暫定的に残している前配付ファイル Windows_versions_20160825.zip は、いずれ予告なしに削除します。
    Gnuplot で pdfcairo ターミナルを使うための手続き
    最近購入した "Gnuplot in Action", 2nd ed. を流し読みしていたとき、
    A major breakthrough is the development of a family of terminals that are all based on a single set of contemporary libraries for graphics and text rendering. Because these terminals all share the same back end, you can now create bitmaps (PNG), vector images (PDF), and graphs for interactive viewing (wxWidgets) with consistent appearance across all formats. Gnuplot takes advantage of the cotemporary features of the underlying libraries to produce high-quality graphs through the use of over-sampling, anti-aliasing, and so on.
    .....
    In the past, gnuplot's support for PDF was relatively weak, particularly in comparison to the very full-featureed PostScript terminal. This situation has now been reversed, and the Cairo-based PDF terminal is probably to be preferred over the classic PostScript terminal.
    という指摘(14ページ)が目に付いた。213, 214, 220, 233ページでも 2D グラフィックス・ライブラリー cairo に基づくターミナルに言及している。その的確な現状認識に触発され、RIETAN-FP v2.81 に至るまで長く出力先に指定してきた gnuplot の postscript ターミナルを pdfcairo ターミナルに切り換えようと決意した。グラフの枠と目盛りの線幅を同一にできないという postscript ターミナルの欠陥には我慢がならなかった。古くからあるターミナルだが、未だに枯れきっていないのである。PDF ファイルへの変換に余計な時間がかかるのも気に入らなかった。一方、pdfcairo なら直接 PDF ファイルが生成する。

    以前 pdfcairo の利用を検討した際には、Homebrew を通じて macOS 上で gnuplot と cairo とを連携させる方法が突き止められず、あえなく挫折した。今回は不退転の覚悟で臨み、徹底的に調査した。その結果、習い覚えたノウハウとテクニックを以下に報告する。

    macOS 用 gnuplot は、次の手続きに従ってインストールすることを推奨する:
    1. すでに gnuplot をインストール済みだったら、必ずアンインストールする。たとえば Homebrew でインストールした場合は、ターミナルで "brew uninstall gnuplot" と入力してアンインストールする。
    2. 古いバージョンの gnuplot が残っている場合は削除用コマンドが指示されるので、その通り入力する。
    3. Gnuplot の Web サイトの contributed executables for OSX でインストーラー gnuplot-5.0.5-quartz.pkg をダウンロードする。
    4. gnuplot-5.0.5-quartz.pkg をダブルクリックして gnuplot 5.0.5 をインストールする。
    5. Applications フォルダーに gnuplot(実体は Gnuplot.app パッケージ)が生成したことを確認する。
    gnuplot をダブルクリックし、"gnuplot> set terminal" と入力すると利用できるターミナルが出力されるが、その中に pdfcairo, epscairo, pngcairo, wxt といった cairo と pango ライブラリーを使うターミナルも含まれている。

    こうしてインストールした gnuplot は cairo に加え多言語テキスト配置・レンダリング用ライブラリー pango も包含し、フォント選択には fontconfig ユーティリティーを使用する。この gnuplot は pdfcairo を出力先とする RIETAN-FP v2.82 以降と互換性がある。macOS 版 RIETAN-FP の出力する hoge.plt における文字のシフトやマージンはこの gnuplot 用に最適化されている。シェルスクリプト中では
    /Applications/Gnuplot.app/Contents/Resources/bin/gnuplot-run.sh
    を gnuplot コマンドとして使えばよい。gnuplot-run.sh 中で11個の環境変数が定義された後、同じフォルダー内の(環境変数を設定できない)実行形式ファイル gnuplot が起動する。/usr/local/bin/gnuplot が存在しなければ、起動可能な /usr/local/bin/gnuplot が置かれるが、以前インストールした gnuplot が残っていると、それが実行されてしまう。したがって絶対パス付きの gnuplot-run.sh を実行する方が安全・確実である。Gnuplot スクリプトファイル *.plt は cat コマンドでテキストデータに変えた後、パイプを通じて gnuplot-run.sh に渡すか、gnuplot-run.sh の引数にすればよい。たとえば hoge.plt を入力して hoge.pdf を生成する場合、
    cat hoge.plt | /Applications/Gnuplot.app/Contents/Resources/bin/gnuplot-run.sh > hoge.pdf
    とする。

    Windows 用インストーラーは SourceForge からダウンロードできる。Windows 用 RIETAN-FP・VENUS システムに同梱している gnuplot は、インストーラーの実行によって生成した gnuplot フォルダーを RIETAN_VENUS フォルダーの下にコピーしたものに他ならない。ありがたいことに、その gnuplot では cairo + pango、ひいては pdfcairo が標準で使える。ただし、fontscale と offset の最適値は macOS 用と微妙に異なる。

    出力先として pdfcairo を指定したとき、gnuplot スクリプトファイル中でギリシャ文字や記号などをどのように記述すればいいのかについては、"Gnuplot in Action" の10.2.3を参照されたい。RIETAN-FP v2.82 以降が出力する *.plt も恰好の手本となる。その際の手間を減らすために、RIETAN-FP・VENUS システムのマクロが出力する *.plt ファイル中の8進コード(\+3桁の8進数の繰り返し)を以下に列挙しておく:
    \316\261: α
    \316\262: β
    \316\270: θ
    \316\273: λ
    \316\274: μ
    \302\260: ° (度)
    \303\205: Å
    \342\210\222: −(マイナス; UNICODE: U+2212)
    \342\200\262: ′ (プライム)
    \342\200\262: ̋ (ダブルプライム)
    特定文字の8進コードを知るには、二つの Web ページ「UTF8エンコードをデコードする」「文字コード変換」で変換するとよい。その際には「Unicode 対応 文字コード表」も役立つ。イタリックの書体にするには、たとえば θ の場合 "{/:Italic \316\270}" と入力する。

    一般にグラフ中のラベルや数値には sans-serif 系のフォントが適している。terminal pdfcairo のデフォールトは sans である。"Gnuplot in Action" の215ページには
    If a sans-serif font is selected as the default font for a terminal, then the font subsystem will attempt to find sans-serif glyphs for all requested characters even for special symbols.
    と書かれている。実際、デフォールト・フォントのまま8進コードを書くと、ギリシャ文字なども sans-serif 書体となる。ただし Windows 10 ではたとえば
    set terminal pdfcairo ..... font "Arial" fontscale 0.5
    というように sans-serif 系フォントを明示するべきである。デフォールトのフォントが斜体のフォントスタイルを含んでいないと、標準文字が出力されてしまうためだ。C:¥Windows¥Fonts フォルダー内の Arial を見ればわかるように、標準、極太、斜体、太字、太字・斜体の TrueType フォントが使える。Arial を指定した場合もギリシャ文字などが sans-serif 書体で出力されることに変わりはない。なお、fontscale のデフォールトは0.5だが、これの変更により実質的なフォント・サイズを一挙に変えられる。

    イタリックでない文字は、たとえば
    {/Symbol \260}: ° (度)
    {/Symbol \242}: ′ (プライム)
    というように PostScript 文字コードを書いてもよい。ただし sans-serif 書体にはならない。

    上述の8進コードや PostScript 文字コード (Symbol) は macOS、Windows を問わずに通用する。Unicode のテキストファイルを出力できない高級言語でビルドしたプログラムで gnuplot スクリプトファイルを出力する場合に役立つ。一方、テキストエディターでスクリプトファイルを編集するのであれば、「RIETAN vs. Z-Rietveld」に例示したように "set encoding utf8" という行を挿入し、それ以降にギリシャ文字、記号、かな漢字などを直接書いて、UTF-8エンコーディングでファイルを保存する方がはるかに楽だ。

    Gnuplot 5.0.4以前の pdfcairo には major tics(主目盛)に対する数値が負のとき、数字の前にマイナスでなくハイフンが付いてしまうという瑕疵があった。Gnuplot 5.0.5からは "set minussign" コマンドによりハイフンでなくマイナス (UNICODE: U+2212) を出力できるようになった。ただし、UTF-8 エンコーディングが必要不可欠なため、
    set encoding utf8
    set minussign
    という二つの命令をペアで実行しなければならない。

    ターミナル pdfcairo はフォントを指定しなければ、英数字はもとよりギリシャ文字や記号などもグラフに最適の sans-serif 書体に統一して出力するという利点を持つ。terminal pdfcairo には crop オプションがなく、pdfcairo へのグラフ出力ではデフォールトで余白が切り取られることも、利便性の高さと処理時間の短縮に寄与する。タイトルやラベルの一部が隠れてしまうようだったら、
    set margins <left>, <right>, <bottom>, <top>
    という命令で余白を微調整すればよい。負の値だと gnuplot が決めたマージンが使われる。

    ターミナル pdfcairo への出力で得られた PDF ファイルは LaTeX, Microsoft Word, Keynote などの文書に直接挿入できる。文書に貼り付ける図は PDF ファイルに統一しているし、余白を切り取ったグラフが出力されるのも好都合なため、今後は pdfcairo をフル活用していく。

    なお、"Gnuplot in Action" 中の一節(213〜214ページ)、
    Because an entire family of terminals(注: pngcairo, pdfcairo, epscairo, wxt のこと)shares a common back end, it's now possible to generate bitmap (PNG), vector (PDF and EPS), and interactive (wxWidgets) versions of the same graph, with only minor differences between them.
    では cairo・pango ライブラリーを使うターミナルの互換性の高さが強調されているが、そう簡単にターミナルを変更できる訳ではない。グラフの見かけ、とりわけラベルや数値の offset を最適化するには、十分時間をかけて試行錯誤する必要がある。

    (C) 2017 ブログ JUGEM Some Rights Reserved.