chemfigについて

chemfigについて

- かじさん の投稿
返信数: 2
初めて質問させていただきます。
chemfigで日本語を出力したい場合にそのままではコンパイルできないので、
UTFコードに変換して入力すると今まで問題なく出力できていたのですが、
今回、目的の記号が出力できません。
具体的には次のソースです。

\documentclass[dvipdfmx]{jsarticle}
\usepackage{etex}
\usepackage[deluxe]{otf}
\usepackage[dvipdfmx]{graphicx}
\usepackage[dvipdfmx,dvipsnames]{xcolor}
\usepackage{chemfig,tikz}
\usetikzlibrary{calc}
\unitlength=0.06pt
\setchemfig{atom sep=16pt}
\setchemfig{bond offset=1pt}
\setchemfig{cram width=2pt,cram dash width=0.7pt,cram dash sep=0.7pt}
\begin{document}
\chemfig{-[,1.2,,,dash pattern=on 1pt off 2pt]-[,0.8]CH(-[6]NH_2)(-[2,0.7,,,draw=none]\UTF{203B})-COOH}

\UTF{203B}

\end{document}

\UTF{203B}は「※」を表示するはずなのですが、
chemfig内だと「磯」という字を出力してしまいます。
解決法がありましたらご教示お願いいたします。
かじさん への返信

Re: chemfigについて

- Z. R. の投稿

chemfigでatomを出力する時には数式モードが適用されるようです(マニュアルII.4節)。一方、\UTF命令は数式モードをサポートしません。これが失敗の原因です。

ちゃんとマニュアルを読み込んだわけでないので正確な仕様は不明ですが、取りあえず、\mboxで数式モードから抜けるとうまくいくようです。

\chemfig{-[,1.2,,,dash pattern=on 1pt off 2pt]-[,0.8]CH(-[6]NH_2)(-[2,0.7,,,draw=none]\mbox{\UTF{203B}})-COOH}

ところで、「\chemfig中で和文文字を書けない」のは、一旦和文文字をマクロにしておくと回避できるのかもしれません。

\newcommand*{\myREFMK}{\mbox{※}}
%\newcommand*{\myREFMK}{※}%敢えて"和文数式文字"にしたい場合
\chemfig{-[,1.2,,,dash pattern=on 1pt off 2pt]-[,0.8]CH(-[6]NH_2)(-[2,0.7,,,draw=none]\myREFMK)-COOH}
Z. R. への返信

Re: chemfigについて

- かじさん の投稿
\mbox{}で囲むとうまく行きました。
思いつかなかった自分が恥ずかしいです。
ご教授いただいたZ.R.様、本当にどうもありがとうございました。