我刚刚意识到,当使用fe将文档字体更改为 时,\ce{...}
命令中的键周围会有空格。由于空格的存在,双键看起来像等号。text-mode
fontspec
Linux Libertine O
\ce{..}
所附的 MWE 演示了在text-mode
和 中使用时原子键段的外观,math-mode
以及在使用纯净text-mode
(不带\ce{..}
)时原子键段的外观。可以看出,只有在使用 时才会出现\ce{...}
空格text-mode
。
有没有办法调整原子和键之间的间距mhchem
,从而使其看起来像整齐的text-mode
(或者math-mode
它们无论如何都是完全相同的)。
% !TeX program = lualatex
\documentclass[a4paper]{report}
\usepackage{amsmath}
\usepackage{fontspec}
\usepackage{unicode-math}
\setmainfont{Linux Libertine O}
\setmathfont{Libertinus Math}
\usepackage[version=4]{mhchem}
\mhchemoptions{
minus-text-sidebearing-left = {0.14em},
minus-text-sidebearing-right = {0.22em},
minus-math-sidebearing-left = {0.04em},
minus-math-sidebearing-right = {0.08em},
}
\begin{document}
\begin{tabular}{lll}
\ce{A\bond{-}B\bond{=}C\bond{#}D} & \ce{A\bond{~}B\bond{~-}C} & \ce{A\bond{...}B\bond{....}C} \\
\( \ce{A\bond{-}B\bond{=}C\bond{#}D} \) & \( \ce{A\bond{~}B\bond{~-}C} \) & \( \ce{A\bond{...}B\bond{....}C} \) \\
A--B=C & {} & {} \\
{} & {} & {} \\
\ce{A\bond{1}B\bond{2}C\bond{3}D} & \ce{A\bond{~--}B\bond{~=}C\bond{-~-}D} & \ce{A\bond{->}B\bond{<-}C} \\
\( \ce{A\bond{1}B\bond{2}C\bond{3}D} \) & \( \ce{A\bond{~--}B\bond{~=}C\bond{-~-}D} \) & \( \ce{A\bond{->}B\bond{<-}C} \) \\
A--B=C & {} & A\rightarrow{}B\leftarrow{}C \\
\end{tabular}
\end{document}
答案1
您可以通过设置键来调整间距textminus
:
\documentclass[a4paper]{report}
\usepackage{amsmath}
\usepackage{fontspec}
\usepackage{unicode-math}
\setmainfont{Linux Libertine O}
\setmathfont{Libertinus Math}
\setsansfont{Linux Libertine O}
\usepackage[version=4]{mhchem}
\mhchemoptions{
minus-text-sidebearing-left = {0.14em},
minus-text-sidebearing-right = {0.22em},
minus-math-sidebearing-left = {0.04em},
minus-math-sidebearing-right = {0.08em},
}
\begin{document}
\begin{tabular}{lll}
\ce{A\bond{-}B\bond{=}C\bond{#}D}\\
\mhchemoptions{textminus=--} % default : { \hspace{0.3ex} -- \hspace{0.3ex} }
\ce{A\bond{-}B\bond{=}C\bond{#}D}
\end{tabular}
\end{document}