這是我在這裡發表的第一篇文章,所以如果我做錯了什麼,請原諒。
\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}
這是結果:
我知道這是由於使用 Arial 作為字體引起的問題,但我將非常感謝任何建議,以防止這種情況發生,同時仍然使用 Arial 作為主要字體。
我還想在大多數文件中使用 siunitx-package,因此我使用 mathfont-package 以便在使用 例如 時實作 Arial 作為字體\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
一種方法是僅將分隔符號定義為具有更美觀分隔符號的不同字體。該mathfont
軟體包有用於此目的的命令,即\mathfont[delimiters]{Name Of Font}
.但是,如果您已經設定了字體,\usepackage[Name Of Different Font]{mathfont}
那麼它將不起作用,並且您會收到一條警告,表示分隔符號的字體已設定。您可以在使用 之前將對應的布林值(稱為 )設為\M@delimiters
false 來強制重新定義\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}
結果: