test.tex
\documentclass[pdflatex,ja=standard]{bxjsarticle}
\usepackage{siunitx}
\begin{document}
※ほげ
\end{document}
pdflatex test
! Undefined control sequence.
<argument> \textreferencemark
bxjscls v1.1 2016/02/14
siunitx Released 2016/01/19
pdfTeX Version 3.14159265-2.6-1.40.16
※が\textreferencemarkと解釈されているっぽい?
siunitxパッケージを使わなければエラーは出ない。
※を消してsiunitxパッケージを使ってもエラーはでません。
pdflatexを使っているのはpdfxパッケージを使いたいからです。
以下でも再現しますね.
\documentclass[pdflatex,ja=standard]{bxjsarticle}
\DeclareFontEncoding{TS1}{}{}
\begin{document}
※ほげ
\end{document}
こうすると ts1enc.dfu というファイルが読み込まれるのですが,
この中で U+203B が \textreferencemark に紐付けられ,しかし
\textreferencemark は未定義なのでエラーということになるようです.
textcomp を読み込めば \textreferencemark が定義されますが,
フォントが変わってしまいます.とりあえず
\documentclass[pdflatex,ja=standard]{bxjsarticle}
\def\DeclareUnicodeCharacter#1#2{}
\usepackage{siunitx}
\begin{document}
※ほげ
\end{document}
とでもしておけば ts1enc.dfu の読み込みを無効化できそうです.
\documentclass[pdflatex,ja=standard]{bxjsarticle}
\DeclareFontEncoding{TS1}{}{}
\begin{document}
※ほげ
\end{document}
こうすると ts1enc.dfu というファイルが読み込まれるのですが,
この中で U+203B が \textreferencemark に紐付けられ,しかし
\textreferencemark は未定義なのでエラーということになるようです.
textcomp を読み込めば \textreferencemark が定義されますが,
フォントが変わってしまいます.とりあえず
\documentclass[pdflatex,ja=standard]{bxjsarticle}
\def\DeclareUnicodeCharacter#1#2{}
\usepackage{siunitx}
\begin{document}
※ほげ
\end{document}
とでもしておけば ts1enc.dfu の読み込みを無効化できそうです.
BXJS クラス + pdflatex では bxcjkjatype パッケージが使われるので、その機能を利用することができます。
\CJKforced{<文字1つ>}
で和文文字として出力できます。\documentclass[pdflatex,ja=standard]{bxjsarticle} \usepackage{siunitx} \begin{document} \CJKforced{※}ほげ \end{document}
\CJKforce{<文字列>}
を実行すると、引数に書いた全ての文字が、それ以降和文として扱われます。\documentclass[pdflatex,ja=standard]{bxjsarticle} \usepackage{siunitx} \CJKforce{※} \begin{document} ※ほげ \end{document}
(おまけ) 実は BXJS クラスに \jsJaChar
という命令があり、これはエンジン共通で使えます。
\documentclass[pdflatex,ja=standard]{bxjsarticle} \usepackage{siunitx} \begin{document} \jsJaChar{※}ほげ \end{document}
ただしこちらは undocumented であり将来変更される可能性があります。