chemfig パッケージを使用した区切り文字の問題

chemfig パッケージを使用した区切り文字の問題

初めての投稿ですので、何か間違ったことをしたらご容赦ください。

\chemleftコマンドとコマンドの使用に問題があります\chemright。コンパイルには LuaLaTeX を使用しています。下記の MWE をコンパイルしようとすると、区切り文字が予想と違って見えます。

\documentclass[11pt]{scrarticle}

\usepackage[no-math]{fontspec}
\setmainfont{Arial}
\usepackage[Arial]{mathfont}

\usepackage{chemfig}
\usepackage{siunitx}

\begin{document}
\chemleft[\chemfig{H-[1]O-[7]H}\chemright]

\qty{1}{\mole}
\end{document}

結果は次のとおりです。

MWEの出力

これは Arial をフォントとして使用することによって発生する問題であることは承知していますが、Arial をメイン フォントとして使用しながらこの問題の発生を防ぐためのアドバイスがあれば、大変ありがたく思います。

また、ほとんどのドキュメントで siunitx パッケージを使用したいので、たとえば を使用するときに Arial をフォントとして使用できるように、mathfont パッケージを使用します\qty{}{}

私の問題に対するアイデアや解決策があれば、ぜひ教えてください。よろしくお願いします。

編集: 区切り文字の希望する出力は次のようになります。

ここに画像の説明を入力してください

これは、mathfont パッケージを除外することで実現されました。

\documentclass[a4paper,11pt]{scrarticle}


\usepackage[]{fontspec}
\setmainfont{Arial}
% \usepackage[Arial]{mathfont}

\usepackage{chemfig}
\usepackage{siunitx}

\begin{document}
\chemleft[\chemfig{H-[1]O-[7]H}\chemright]

\qty{1}{\mole}
\end{document}

しかし、もちろん、これは siunitx パッケージの望ましい出力ではありません。Arial はフォントとして使用されなくなるためです。

答え1

1 つの方法は、区切り文字のみを、より見栄えの良い区切り文字を持つ別のフォントで定義することです。mathfontパッケージには、これを行うためのコマンド があります\mathfont[delimiters]{Name Of Font}。ただし、 でフォントをすでに設定している場合は、このコマンドは機能せず、区切り文字のフォントがすでに設定されているという警告が表示されます。を使用する前に、 と呼ばれる対応するブール値を false に\usepackage[Name Of Different Font]{mathfont}設定することで、強制的に再定義できます。\M@delimiters\mathfont

MWE、メインおよび数学フォントとして Nimbus Sans L (Arial クローン) を使用し、区切りフォントとして STIXSizeOneSym を使用します。

\documentclass[a4paper,11pt]{scrarticle}
\usepackage[no-math]{fontspec}
\setmainfont{Nimbus Sans L}
\usepackage[Nimbus Sans L]{mathfont}
\makeatletter
\M@delimitersfalse
\makeatother
\mathfont[delimiters]{STIXSizeOneSym}
\usepackage{chemfig}
\usepackage{siunitx}

\begin{document}
\chemleft[\chemfig{H-[1]O-[7]H}\chemright]

\qty{1}{\mole}

\end{document}

結果:

ここに画像の説明を入力してください

関連情報